X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=configure.in;h=463db7a9cea5da7a8697bf07372af95ab565ed03;hb=9c14acb80f91778d5d99a100d872c23398b67e2d;hp=b4e8099cbb072896d8b2236e629f052a9bf0ad77;hpb=5b474aa89ab1bc0ebbd9572f556106f0014acfbb;p=deliverable%2Fbinutils-gdb.git diff --git a/configure.in b/configure.in index b4e8099cbb..463db7a9ce 100644 --- a/configure.in +++ b/configure.in @@ -136,7 +136,7 @@ libgcj="target-libffi \ # these libraries are built for the target environment, and are built after # the host libraries and the host tools (which may be a cross compiler) # -target_libs="target-libiberty \ +target_libraries="target-libiberty \ target-libgloss \ target-newlib \ target-libstdc++-v3 \ @@ -144,10 +144,10 @@ target_libs="target-libiberty \ ${libgcj} \ target-libobjc" -# these tools are built using the target libs, and are intended to run only -# in the target environment +# these tools are built using the target libraries, and are intended to +# run only in the target environment # -# note: any program that *uses* libraries that are in the "target_libs" +# note: any program that *uses* libraries that are in the "target_libraries" # list belongs in this list. those programs are also very likely # candidates for the "native_only" list which follows # @@ -162,7 +162,17 @@ target_tools="target-examples target-groff target-gperf target-rda" ## ${target_configdirs} is directories we build using the target tools. # configdirs=`echo ${host_libs} ${host_tools}` -target_configdirs=`echo ${target_libs} ${target_tools}` +target_configdirs=`echo ${target_libraries} ${target_tools}` + +# Only make build modules if build != host. +# This should be done more generally, but at the moment it doesn't matter. +if test ${host_alias} != ${build_alias} ; then + # This is the only build module. + build_modules=libiberty +else + build_modules= +fi + ################################################################################ @@ -179,9 +189,8 @@ else is_cross_compiler=yes fi -# We always want to use the same name for this directory, so that dejagnu -# can reliably find it. -target_subdir=${target_alias} +# Find the build and target subdirs. +GCC_TOPLEV_SUBDIRS if test ! -d ${target_subdir} ; then if mkdir ${target_subdir} ; then true @@ -191,9 +200,6 @@ if test ! -d ${target_subdir} ; then fi fi -build_prefix=build- -build_subdir=${build_prefix}${build_alias} - if test x"${build_alias}" != x"${host}" ; then if test ! -d ${build_subdir} ; then if mkdir ${build_subdir} ; then true @@ -278,17 +284,17 @@ case "${host}" in hppa*64*-*-*) noconfigdirs="$noconfigdirs byacc" ;; - i[[3456]]86-*-vsta) + i[[3456789]]86-*-vsta) noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl itcl tix gnuserv gettext" ;; - i[[3456]]86-*-go32* | i[[3456]]86-*-msdosdjgpp*) + i[[3456789]]86-*-go32* | i[[3456789]]86-*-msdosdjgpp*) noconfigdirs="tcl tk expect dejagnu send-pr uudecode guile itcl tix gnuserv libffi" ;; - i[[3456]]86-*-mingw32*) + i[[3456789]]86-*-mingw32*) # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl itcl tix gnuserv" noconfigdirs="expect dejagnu autoconf automake send-pr rcs guile perl texinfo libtool" ;; - i[[3456]]86-*-beos*) + i[[3456789]]86-*-beos*) noconfigdirs="$noconfigdirs tk itcl tix libgui gdb" ;; *-*-cygwin*) @@ -448,22 +454,22 @@ case "${target}" in noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib" ;; cris-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" ;; d10v-*-*) noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" ;; d30v-*-*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs ${libgcj} gdb" ;; fr30-*-elf*) - noconfigdirs="$noconfigdirs ${libgcj}" + noconfigdirs="$noconfigdirs ${libgcj} gdb" ;; frv-*-*) noconfigdirs="$noconfigdirs ${libgcj}" ;; h8300*-*-*) - noconfigdirs="$noconfigdirs target-libgloss" + noconfigdirs="$noconfigdirs target-libgloss ${libgcj} target-libf2c" ;; h8500-*-*) noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} target-libf2c" @@ -487,6 +493,9 @@ case "${target}" in # build on HP-UX 10.20. noconfigdirs="$noconfigdirs ld shellutils ${libgcj}" ;; + i960-*-*) + noconfigdirs="$noconfigdirs ${libgcj} gdb" + ;; ia64*-*-elf*) # No gdb support yet. noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb" @@ -495,13 +504,13 @@ case "${target}" in # No gdb or ld support yet. noconfigdirs="$noconfigdirs tix readline mmalloc libgui itcl gdb ld" ;; - i[[3456]]86-*-coff | i[[3456]]86-*-elf) + i[[3456789]]86-*-coff | i[[3456789]]86-*-elf) noconfigdirs="$noconfigdirs ${libgcj}" ;; - i[[34567]]86-*-freebsd*) + i[[3456789]]86-*-freebsd*) noconfigdirs="$noconfigdirs target-newlib target-libgloss" ;; - i[[3456]]86-*-linux*) + i[[3456789]]86-*-linux*) # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's # not build java stuff by default. case "${target}" in @@ -520,13 +529,13 @@ case "${target}" in # if the --with-newlib option has been given, because otherwise # 'target-newlib' will appear in skipdirs. ;; - i[[3456]]86-*-mingw32*) + i[[3456789]]86-*-mingw32*) target_configdirs="$target_configdirs target-mingw" noconfigdirs="$noconfigdirs expect target-libgloss ${libgcj}" # Can't build gdb for mingw32 if not native. case "${host}" in - i[[3456]]86-*-mingw32) ;; # keep gdb tcl tk expect etc. + i[[3456789]]86-*-mingw32) ;; # keep gdb tcl tk expect etc. *) noconfigdirs="$noconfigdirs gdb tcl tk expect itcl tix gnuserv" ;; esac @@ -544,26 +553,29 @@ case "${target}" in ;; esac ;; - i[[3456]]86-*-pe) + i[[3456789]]86-*-pe) noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}" ;; - i[[3456]]86-*-sco3.2v5*) + i[[3456789]]86-*-sco3.2v5*) # The linker does not yet know about weak symbols in COFF, # and is not configured to handle mixed ELF and COFF. noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}" ;; - i[[3456]]86-*-sco*) + i[[3456789]]86-*-sco*) noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}" ;; - i[[3456]]86-*-solaris2*) + i[[3456789]]86-*-solaris2*) noconfigdirs="$noconfigdirs target-libgloss" ;; - i[[3456]]86-*-sysv4*) + i[[3456789]]86-*-sysv4*) noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;; - i[[3456]]86-*-beos*) + i[[3456789]]86-*-beos*) noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}" ;; + m32r-*-*) + noconfigdirs="$noconfigdirs ${libgcj} gdb" + ;; m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*) noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}" ;; @@ -607,11 +619,6 @@ case "${target}" in powerpc-*-eabi) noconfigdirs="$noconfigdirs ${libgcj}" ;; - powerpc64*-*-linux*) - noconfigdirs="$noconfigdirs target-newlib target-libgloss" - # not yet ported. - noconfigdirs="$noconfigdirs target-libffi" - ;; rs6000-*-lynxos*) noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}" ;; @@ -655,9 +662,9 @@ case "${target}" in ;; sh-*-*) case "${host}" in - i[[3456]]86-*-vsta) ;; # don't add gprof back in - i[[3456]]86-*-go32*) ;; # don't add gprof back in - i[[3456]]86-*-msdosdjgpp*) ;; # don't add gprof back in + i[[3456789]]86-*-vsta) ;; # don't add gprof back in + i[[3456789]]86-*-go32*) ;; # don't add gprof back in + i[[3456789]]86-*-msdosdjgpp*) ;; # don't add gprof back in *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;; esac noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" @@ -798,7 +805,7 @@ do *) add_this_lang=no ;; esac if test x"${add_this_lang}" = xyes; then - eval target_libs='"$target_libs "'\"$this_lang_libs\" + : else eval noconfigdirs='"$noconfigdirs "'\"$this_lang_libs $this_lang_dirs\" fi @@ -1052,19 +1059,19 @@ case "${host}" in i370-ibm-opened*) tentative_cc="c89" ;; - i[[3456]]86-*-sysv5*) + i[[3456789]]86-*-sysv5*) host_makefile_frag="config/mh-sysv5" ;; - i[[3456]]86-*-dgux*) + i[[3456789]]86-*-dgux*) tentative_cc="gcc -Wall -ansi -D__using_DGUX" host_makefile_frag="config/mh-dgux386" ;; - i[[3456]]86-ncr-sysv4.3*) + i[[3456789]]86-ncr-sysv4.3*) # The MetaWare compiler will generate a copyright message unless you # turn it off by adding the -Hnocopyr flag. tentative_cc="cc -Hnocopyr" ;; - i[[3456]]86-ncr-sysv4*) + i[[3456789]]86-ncr-sysv4*) # for an NCR 3000 (i486/SVR4) system. # The NCR 3000 ships with a MetaWare compiler installed as /bin/cc. # This compiler not only emits obnoxious copyright messages every time @@ -1073,21 +1080,21 @@ case "${host}" in tentative_cc="/usr/ccs/ATT/cc" host_makefile_frag="config/mh-ncr3000" ;; - i[[3456]]86-*-sco3.2v5*) + i[[3456789]]86-*-sco3.2v5*) ;; - i[[3456]]86-*-sco*) + i[[3456789]]86-*-sco*) # The native C compiler botches some simple uses of const. Unfortunately, # it doesn't defined anything like "__sco__" for us to test for in ansidecl.h. tentative_cc="cc -Dconst=" host_makefile_frag="config/mh-sco" ;; - i[[3456]]86-*-udk*) + i[[3456789]]86-*-udk*) host_makefile_frag="config/mh-sysv5" ;; - i[[3456]]86-*-solaris2*) + i[[3456789]]86-*-solaris2*) host_makefile_frag="config/mh-sysv4" ;; - i[[3456]]86-*-msdosdjgpp*) + i[[3456789]]86-*-msdosdjgpp*) host_makefile_frag="config/mh-djgpp" ;; *-cygwin*) @@ -1137,7 +1144,7 @@ extra_nmflags_for_target= extra_ranlibflags_for_target= target_makefile_frag=/dev/null case "${target}" in - i[[3456]]86-*-netware*) + i[[3456789]]86-*-netware*) target_makefile_frag="config/mt-netware" ;; powerpc-*-netware*) @@ -1229,10 +1236,6 @@ fi # Default to using --with-stabs for certain targets. if test x${with_stabs} = x ; then case "${target}" in - mips*-*-irix6*o32) - with_stabs=yes; - extra_host_args="${extra_host_args} --with-stabs" - ;; mips*-*-irix6*) ;; mips*-*-* | alpha*-*-osf*) @@ -1271,7 +1274,7 @@ fi # Some systems (e.g., one of the i386-aix systems the gas testers are # using) don't handle "\$" correctly, so don't use it here. -tooldir='$(exec_prefix)'/${target_alias} +tooldir='${exec_prefix}'/${target_alias} build_tooldir=${tooldir} # Generate a default definition for YACC. This is used if the makefile can't @@ -1609,59 +1612,14 @@ esac target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'` # This is the final value for target_configdirs. configdirs already -# has its final value. It's time to create some lists of valid targets. - -# While at that, we remove Makefiles if we were started for recursive -# configuration, such that the top-level Makefile reconfigures them, -# like we used to do when configure itself was recursive. +# has its final value, as does build_modules. It's time to create some +# lists of valid targets. all_build_modules= configure_build_modules= -# Only make build modules if build != host. -# This should be done more generally, but at the moment it doesn't matter. -if test ${host_alias} != ${build_alias} ; then - for module in libiberty ; do - all_build_modules=all-build-${module} - configure_build_modules=configure-build-${module} - if test -z "${no_recursion}" \ - && test -f ${build_subdir}/${module}/Makefile; then - echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure" - rm -f ${build_subdir}/${module}/Makefile - fi - done -fi - -all_host_modules= -check_host_modules= -install_host_modules= -configure_host_modules= -for module in ${configdirs} ; do - all_host_modules="${all_host_modules} all-${module}" - check_host_modules="${check_host_modules} check-${module}" - install_host_modules="${install_host_modules} install-${module}" - configure_host_modules="${configure_host_modules} configure-${module}" - if test -z "${no_recursion}" \ - && test -f ${module}/Makefile; then - echo 1>&2 "*** removing ${module}/Makefile to force reconfigure" - rm -f ${module}/Makefile - fi -done -install_host_modules_nogcc=`echo "${install_host_modules}" | sed -e 's/install-gcc//g'` - -all_target_modules= -check_target_modules= -install_target_modules= -configure_target_modules= -for module in ${target_configdirs} ; do - all_target_modules="${all_target_modules} all-target-${module}" - check_target_modules="${check_target_modules} check-target-${module}" - install_target_modules="${install_target_modules} install-target-${module}" - configure_target_modules="${configure_target_modules} configure-target-${module}" - if test -z "${no_recursion}" \ - && test -f ${target_subdir}/${module}/Makefile; then - echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure" - rm -f ${target_subdir}/${module}/Makefile - fi +for module in ${build_modules} ; do + all_build_modules=all-build-${module} + configure_build_modules=configure-build-${module} done # Determine whether gdb needs tk/tcl or not. @@ -1691,13 +1649,50 @@ case "$enable_gdbtk" in esac # Create the 'maybe dependencies'. This uses a temporary file. + +# While at that, we remove Makefiles if we were started for recursive +# configuration, so that the top-level Makefile reconfigures them, +# like we used to do when configure itself was recursive. rm -f maybedep.tmp echo '# maybedep.tmp' > maybedep.tmp -for item in ${all_build_modules} ${all_host_modules} ${all_target_modules} \ - ${install_host_modules} ${install_target_modules} \ - ${configure_build_modules} ${configure_host_modules} ${configure_target_modules} \ - ; do - echo "maybe-${item}: ${item}" >> maybedep.tmp + +# Make-targets which may need maybe dependencies. +mts="configure all install check clean distclean dvi info install-info" +mts="${mts} installcheck mostlyclean maintainer-clean TAGS" + +# Loop over modules and make-targets. +for module in ${build_modules} ; do + if test -z "${no_recursion}" \ + && test -f ${build_subdir}/${module}/Makefile; then + echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure" + rm -f ${build_subdir}/${module}/Makefile + fi + for mt in ${mts} ; do + case ${mt} in + install) ;; # No installing build modules. + *) echo "maybe-${mt}-build-${module}: ${mt}-build-${module}" >> maybedep.tmp ;; + esac + done +done +for module in ${configdirs} ; do + if test -z "${no_recursion}" \ + && test -f ${module}/Makefile; then + echo 1>&2 "*** removing ${module}/Makefile to force reconfigure" + rm -f ${module}/Makefile + fi + for mt in ${mts} ; do + echo "maybe-${mt}-${module}: ${mt}-${module}" >> maybedep.tmp + done +done +for module in ${target_configdirs} ; do + if test -z "${no_recursion}" \ + && test -f ${target_subdir}/${module}/Makefile; then + echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure" + rm -f ${target_subdir}/${module}/Makefile + fi + for mt in ${mts} ; do + echo "maybe-${mt}-target-${module}: ${mt}-target-${module}" >> maybedep.tmp + done done maybe_dependencies=maybedep.tmp AC_SUBST_FILE(maybe_dependencies) @@ -1705,18 +1700,25 @@ AC_SUBST_FILE(maybe_dependencies) # Create the serialization dependencies. This uses a temporary file. AC_ARG_ENABLE([serial-configure], -[ --disable-serial-[{host,target,build}-]configure - Don't force sequential configuration of +[ --enable-serial-[{host,target,build}-]configure + Force sequential configuration of sub-packages for the host, target or build - machine, or of any sub-packages at all]) + machine, or all sub-packages]) + +case ${enable_serial_configure} in + yes) + enable_serial_build_configure=yes + enable_serial_host_configure=yes + enable_serial_target_configure=yes + ;; +esac # These force 'configure's to be done one at a time, to avoid problems # with contention over a shared config.cache. rm -f serdep.tmp echo '# serdep.tmp' > serdep.tmp olditem= -test "x${enable_serial_configure}" = xno || -test "x${enable_serial_build_configure}" = xno || +test "x${enable_serial_build_configure}" = xyes && for item in ${build_configdirs} ; do case ${olditem} in "") ;; @@ -1725,8 +1727,7 @@ for item in ${build_configdirs} ; do olditem=${item} done olditem= -test "x${enable_serial_configure}" = xno || -test "x${enable_serial_host_configure}" = xno || +test "x${enable_serial_host_configure}" = xyes && for item in ${configdirs} ; do case ${olditem} in "") ;; @@ -1735,8 +1736,7 @@ for item in ${configdirs} ; do olditem=${item} done olditem= -test "x${enable_serial_configure}" = xno || -test "x${enable_serial_target_configure}" = xno || +test "x${enable_serial_target_configure}" = xyes && for item in ${target_configdirs} ; do case ${olditem} in "") ;; @@ -1762,7 +1762,7 @@ baseargs=`echo " ${ac_configure_args} " | \ -e 's/ -host[[= ]][[^ ]]* / /' \ -e 's/ -build[[= ]][[^ ]]* / /' \ -e 's/ -target[[= ]][[^ ]]* / /' \ - -e 's/ [[^ -][^ ]*] / /' \ + -e "s/ [[^' -][^ ]*] / /" \ -e 's/^ *//;s/ *$//'` # For the build-side libraries, we just need to pretend we're native, @@ -1832,7 +1832,7 @@ case " $target_configdirs " in *" --with-newlib "*) case "$target" in *-cygwin*) - FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/include -isystem $$s/winsup/cygwin/include -isystem $$s/winsup/w32api/include -isystem $$s/newlib/libc/sys/cygwin -isystem $$s/newlib/libc/sys/cygwin32' ;; + FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(TARGET_SUBDIR)/winsup -L$$r/$(TARGET_SUBDIR)/winsup/cygwin -L$$r/$(TARGET_SUBDIR)/winsup/w32api/lib -isystem $$s/winsup/include -isystem $$s/winsup/cygwin/include -isystem $$s/winsup/w32api/include' ;; esac # If we're not building GCC, don't discard standard headers. @@ -1859,7 +1859,7 @@ case " $target_configdirs " in fi case "${target}-${is_cross_compiler}" in - i[[3456]]86-*-linux*-no) + i[[3456789]]86-*-linux*-no) # Here host == target, so we don't need to build gcc, # so we don't want to discard standard headers. FLAGS_FOR_TARGET=`echo " $FLAGS_FOR_TARGET " | sed -e 's/ -nostdinc / /'` @@ -1914,7 +1914,7 @@ fi GCJ_FOR_TARGET=$GCJ_FOR_TARGET' $(FLAGS_FOR_TARGET)' # Don't use libstdc++-v3's flags to configure/build itself. -libstdcxx_flags='`test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs' +libstdcxx_flags='`test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs' raw_libstdcxx_flags=' -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs' if test "x${CXX_FOR_TARGET+set}" = xset; then @@ -1982,7 +1982,6 @@ AC_SUBST(gxx_include_dir) AC_SUBST(libstdcxx_incdir) # Build module lists & subconfigure args. -AC_SUBST(build_subdir) AC_SUBST(build_configargs) AC_SUBST(configure_build_modules) AC_SUBST(all_build_modules) @@ -1990,20 +1989,10 @@ AC_SUBST(all_build_modules) # Host module lists & subconfigure args. AC_SUBST(host_configargs) AC_SUBST(configdirs) -AC_SUBST(configure_host_modules) -AC_SUBST(all_host_modules) -AC_SUBST(check_host_modules) -AC_SUBST(install_host_modules) -AC_SUBST(install_host_modules_nogcc) # Target module lists & subconfigure args. -AC_SUBST(target_subdir) AC_SUBST(target_configargs) AC_SUBST(target_configdirs) -AC_SUBST(configure_target_modules) -AC_SUBST(all_target_modules) -AC_SUBST(check_target_modules) -AC_SUBST(install_target_modules) # Build tools. AC_SUBST(BISON)