source: rtems/c/src/configure.ac @ c8dcdf54

5
Last change on this file since c8dcdf54 was d584269, checked in by Sebastian Huber <sebastian.huber@…>, on 04/04/18 at 14:44:52

bsps: Remove librtemsbsp.a wrapup

This patch is a part of the BSP source reorganization.

Update #3285.

  • Property mode set to 100644
File size: 4.6 KB
RevLine 
[d7aecdc]1## Process this file with autoconf to produce a configure script.
[33a105fb]2##
[d7aecdc]3
[0f77281]4AC_PREREQ([2.69])
[12072880]5AC_INIT([rtems-c-src],[_RTEMS_VERSION],[https://devel.rtems.org/newticket])
[4b28d3c]6AC_CONFIG_SRCDIR([lib])
[d7aecdc]7RTEMS_TOP(../..)
[2afb22b]8RTEMS_SOURCE_TOP
9RTEMS_BUILD_TOP
[d7aecdc]10
11RTEMS_ENABLE_CXX
12RTEMS_ENABLE_NETWORKING
13
14RTEMS_CANONICAL_TARGET_CPU
15
[bb2b825]16AM_INIT_AUTOMAKE([no-define subdir-objects no-exeext foreign 1.12.2])
[d7aecdc]17AM_MAINTAINER_MODE
18
[02ccf4a]19RTEMS_ENABLE_MULTIPROCESSING
[9a4eca5]20RTEMS_ENABLE_CXX
[d7aecdc]21RTEMS_ENV_RTEMSBSP
[51d35b2]22
[d7aecdc]23RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
24
[4108ae8]25RTEMS_CHECK_POSIX_API(RTEMS_BSP)
26
[f0d7515]27AC_MSG_NOTICE([setting up make/custom])
28
29AS_MKDIR_P([make/custom])
[9bb5b9d]30AM_SET_DEPDIR
31test -d ${DEPDIR} || mkdir ${DEPDIR}
32
33rm -f ${DEPDIR}/cfg.P
[31eae558]34cp ${srcdir}/make/custom/default.cfg.in make/custom/default.cfg
35cat << EOF > ${DEPDIR}/cfg.P
36# Do not edit - automatically generated by $0
37make/custom/default.cfg: \$(srcdir)/make/custom/default.cfg.in
38        @\$(MKDIR_P) make/custom
39        cp \$(srcdir)/make/custom/default.cfg.in make/custom/default.cfg
40EOF
[f0d7515]41
[309dbd0]42# Collect and copy the BSP's make/custom/*.cfg files from the toplevel make
[f0d7515]43# directory into the build tree's <bsp>/make/custom subdirectories
[9bb5b9d]44CUSTOM_CFG_FILES=
[d8bbc3e]45f="${RTEMS_BSP}.cfg"
[f0d7515]46while test -n "$f"; do
[9bb5b9d]47  cfg_file=
48  _RTEMS_CHECK_CUSTOM_BSP([$f],cfg_file)
49  if test -n "${cfg_file}"; then
[d8bbc3e]50    cp ${cfg_file} make/custom/$f
[31eae558]51cat << EOF >> ${DEPDIR}/cfg.P
[d8bbc3e]52make/custom/$f: ${cfg_file} make/custom/default.cfg
53        cp ${cfg_file} make/custom/$f
[31eae558]54EOF
[d8bbc3e]55    CUSTOM_CFG_FILES="$CUSTOM_CFG_FILES make/custom/$f"
[9bb5b9d]56    f=`grep "^include.*make/custom" ${cfg_file} \
[f0d7515]57    | sed \
58      -e 's%^.*custom\/%%' \
[d8bbc3e]59      -e 's%default\.cfg%%'`;
[f0d7515]60  else break; fi;
61done
62
63AC_MSG_NOTICE([creating make/${RTEMS_BSP}.cache])
[f21ccd2]64${MAKE-make} -f ${srcdir}/make/bsp.mak \
65RTEMS_BSP=${RTEMS_BSP} \
[f0d7515]66RTEMS_ROOT=. make/${RTEMS_BSP}.cache
67
68# Read back the cache
[9346df0]69AC_CACHE_CHECK([for RTEMS_CPU_MODEL], [ac_cv_env_RTEMS_CPU_MODEL],
[da499ad]70[. ./make/${RTEMS_BSP}.cache])
[9346df0]71RTEMS_CPU_MODEL=$ac_cv_env_RTEMS_CPU_MODEL
[028792e8]72AC_SUBST(RTEMS_CPU_MODEL)
[d4181d5]73test -n "${RTEMS_CPU_MODEL}" && \
74  ac_configure_args="$ac_configure_args 'RTEMS_CPU_MODEL=${RTEMS_CPU_MODEL}'"
[028792e8]75
[9346df0]76AC_CACHE_CHECK([for RTEMS_BSP_FAMILY],[ac_cv_env_RTEMS_BSP_FAMILY],
[67bb173]77[RTEMS_BSP_ALIAS([${RTEMS_BSP}],[ac_cv_env_RTEMS_BSP_FAMILY])])
[9346df0]78RTEMS_BSP_FAMILY=$ac_cv_env_RTEMS_BSP_FAMILY
[028792e8]79AC_SUBST(RTEMS_BSP_FAMILY)
[d4181d5]80test -n "${RTEMS_BSP_FAMILY}" && \
81  ac_configure_args="$ac_configure_args 'RTEMS_BSP_FAMILY=${RTEMS_BSP_FAMILY}'"
[028792e8]82
[9346df0]83AC_CACHE_CHECK([for CPU_CFLAGS],[ac_cv_env_CPU_CFLAGS],
[da499ad]84[. ./make/${RTEMS_BSP}.cache])
[9346df0]85CPU_CFLAGS=$ac_cv_env_CPU_CFLAGS
[028792e8]86
[9346df0]87AC_CACHE_CHECK([for CFLAGS_OPTIMIZE_V],[ac_cv_env_CFLAGS_OPTIMIZE_V],
[da499ad]88[. ./make/${RTEMS_BSP}.cache])
[9346df0]89CFLAGS_OPTIMIZE_V=$ac_cv_env_CFLAGS_OPTIMIZE_V
[f8235c07]90
[1a44f1b]91# Was CFLAGS set?
92rtems_cv_CFLAGS_set="${CFLAGS+set}"
93
[f8235c07]94CFLAGS="${CFLAGS-${CPU_CFLAGS} ${CFLAGS_OPTIMIZE_V}}"
[028792e8]95
[3801246]96RTEMS_PROG_CC_FOR_TARGET
[9a4eca5]97RTEMS_PROG_CXX_FOR_TARGET
[d844a182]98AM_PROG_CC_C_O
[033f0686]99RTEMS_PROG_CCAS
[9346df0]100RTEMS_CANONICALIZE_TOOLS
[382e1eb3]101
[1a44f1b]102# Append warning flags if CFLAGS wasn't set.
103AS_IF([test "$GCC" = yes && test "$rtems_cv_CFLAGS_set" != set],
[d71462b]104[CFLAGS="$CFLAGS -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs"])
[1a44f1b]105
106AS_IF([test -n "${CFLAGS}"],[
107ac_configure_args="$ac_configure_args 'CFLAGS=${CFLAGS}'"])
108
[d71ab7fd]109RTEMS_CHECK_GCC_WEAK
110
[f0d7515]111AC_SUBST(CUSTOM_CFG_FILES)
112
[4b28d3c]113RTEMS_ENABLE_MULTILIB
[e7495ae]114
[789694a1]115BSP_SUBDIRS=
[a03c1ab]116## Configure ${srcdir}/../../cpukit as cpukit/ if multilibs are disabled
[789694a1]117RTEMS_BSP_CONFIG_SUBDIR(
118  [cpukit],[../../cpukit],
[850c88d]119  ['--with-project-root=${with_project_root}../$RTEMS_BSP/' \
[cdf41b07]120   '--includedir=${exec_prefix}/${RTEMS_BSP}/lib/include' \
[ea3f559]121   '--libdir=${exec_prefix}/${RTEMS_BSP}/lib' \
[6c2b5324]122  ],
[259c516]123  [test x"$multilib" = xno])
[02ccf4a]124
[94f4a9ba]125## Note: the order of the directories below is essential
126AC_CONFIG_SUBDIRS([make])
[85a8933]127BSP_SUBDIRS="$BSP_SUBDIRS make"
[dd984c0]128
129# Is there code where there should be for this BSP?
[57b823d6]130RTEMS_CPU_SUBDIRS([lib/libbsp])
131AC_SUBST(libbsp_cpu_subdir,$RTEMS_CPU)
[dd984c0]132
[699fee43]133BSP_SUBDIRS="$BSP_SUBDIRS lib/libbsp"
[a456af96]134
[2afb22b]135# Build testsuites
[3f74676]136RTEMS_BSP_CONFIG_SUBDIR(
137  [testsuites],[../../testsuites],
138  ['--enable-rtems-root=../' \
139   '--enable-project-root=${with_project_root}../$RTEMS_BSP' \
[850c88d]140   '--with-project-top=${with_project_top}../' \
[789694a1]141   '--enable-rtemsbsp=$RTEMS_BSP' \
[3136ff03]142   '--includedir=${exec_prefix}/${RTEMS_BSP}/lib/include' \
143   '--libdir=${exec_prefix}/${RTEMS_BSP}/lib' \
[6c2b5324]144  ],
[2afb22b]145  [test x"$enable_tests" != x"no"])
[41fc78d]146
[85a8933]147AC_SUBST([BSP_SUBDIRS],[$BSP_SUBDIRS])
[d7aecdc]148
[259c516]149AS_IF([test "$host_cpu" = sparc],[
[babba25a]150  AC_DEFINE_UNQUOTED([CPU_U32_FIX],[1],
151    [whether to enable ipalignment work-around])
152])
153
[d7aecdc]154RTEMS_PROJECT_ROOT
[b826c3a]155
[d7aecdc]156# Explicitly list all Makefiles here
[f0d7515]157AC_CONFIG_FILES([Makefile],
158[${MAKE} make/${RTEMS_BSP}.cache],
159[RTEMS_BSP=${RTEMS_BSP}
160 MAKE=${MAKE}])
161
[babba25a]162AC_CONFIG_FILES([
[dd984c0]163lib/libbsp/Makefile
[babba25a]164])
[94f4a9ba]165
[d7aecdc]166AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.