X-Git-Url: https://repo.jachan.dev/binutils.git/blobdiff_plain/9ea9e1af482fc3487a1698b8258caf4a8bfe9812..6c8fa8e62cd3a5872fd98269ccd4d7da6e26a459:/configure.in diff --git a/configure.in b/configure.in index 2a8c7a8128..dbaec0c2d8 100644 --- a/configure.in +++ b/configure.in @@ -79,6 +79,9 @@ configdirs=`echo ${host_libs} ${host_tools} ${target_libs} ${target_tools}` srctrigger=move-if-change srcname="gnu development package" +# This gets set non-empty for some net releases of packages. +appdirs="" + # per-host: # Work in distributions that contain no compiler tools, like Autoconf. @@ -95,12 +98,14 @@ case "${host}" in mips*-sgi-irix3*) host_makefile_frag=config/mh-sysv ;; mips*-*-sysv4*) host_makefile_frag=config/mh-sysv4 ;; mips*-*-sysv*) host_makefile_frag=config/mh-riscos ;; + i[34]86-ncr-sysv43) host_makefile_frag=config/mh-ncrsvr43 ;; i[34]86-ncr-sysv4*) host_makefile_frag=config/mh-ncr3000 ;; i[34]86-*-sco*) host_makefile_frag=config/mh-sco ;; i[34]86-*-isc*) host_makefile_frag=config/mh-sysv ;; i[34]86-*-linux*) host_makefile_frag=config/mh-linux ;; i[34]86-*-solaris2*) host_makefile_frag=config/mh-sysv4 ;; i[34]86-*-aix*) host_makefile_frag=config/mh-aix386 ;; + i[34]86-*-go32*) host_makefile_frag=config/mh-go32 ;; vax-*-ultrix2*) host_makefile_frag=config/mh-vaxult2 ;; *-ibm-aix*) host_makefile_frag=config/mh-aix ;; *-bull-bosx*) host_makefile_frag=config/mh-aix ;; @@ -109,7 +114,7 @@ case "${host}" in *-sun-*) host_makefile_frag=config/mh-sun ;; *-hp-hpux*) host_makefile_frag=config/mh-hpux ;; *-*-hiux*) host_makefile_frag=config/mh-hpux ;; - rs6000-*-lynxos*) host_makefile_frag=config/mh-lynxosrs6k ;; + rs6000-*-lynxos*) host_makefile_frag=config/mh-lynxrs6k ;; *-*-lynxos*) host_makefile_frag=config/mh-lynxos ;; *-*-sysv4*) host_makefile_frag=config/mh-sysv4 ;; *-*-sysv*) host_makefile_frag=config/mh-sysv ;; @@ -143,20 +148,31 @@ esac # toolchains, we add some directories that should only be useful in a # cross-compiler. +is_cross_compiler= + if [ x"${host}" = x"${target}" ] ; then # when doing a native toolchain, don't build the targets # that are in the 'cross only' list for i in ${cross_only} ; do configdirs=`echo " ${configdirs} " | sed -e "s/ $i / /"` done + is_cross_compiler=no else # similarly, don't build the targets in the 'native only' # list when building a cross compiler for i in ${native_only} ; do configdirs=`echo " ${configdirs} " | sed -e "s/ $i / /"` done + is_cross_compiler=yes fi +# Configure extra directories which are host specific + +case "${host}" in + i[34]86-*-go32*) + configdirs="$configdirs dosrel" ;; +esac + # Remove more programs from consideration, based on the host or # target this usually means that a port of the program doesn't # exist yet. @@ -175,6 +191,10 @@ case "${host}" in ;; esac + + + + case "${target}" in alpha-dec-osf1*) noconfigdirs="$noconfigdirs emacs fileutils grep newlib" @@ -201,7 +221,9 @@ case "${target}" in ;; i[34]86-*-go32) # add the go32 support tools to the list + # but don't build gdb configdirs=`echo go32 ${configdirs}` + noconfigdirs="$noconfigdirs gdb libg++ libio" ;; i[34]86-*-sco*) noconfigdirs="$noconfigdirs gprof" @@ -220,20 +242,22 @@ case "${target}" in esac # but that's okay since emacs doesn't work anyway noconfigdirs="$noconfigdirs emacs" - - # static versions of several key libraries are not available, - # so building our entire toolchain is impossible until - # the GNU linker supports shared libraries - noconfigdirs="$noconfigdirs ld" ;; powerpc-*-aix*) # copied from rs6000-*-* entry noconfigdirs="$noconfigdirs ld binutils gprof textutils cvs" ;; - rs6000-*-*) + rs6000-*-lynxos*) # a gcc built textutils will cause the linker to hang on 'join' # The CVS server code doesn't work on the RS/6000 - noconfigdirs="$noconfigdirs ld binutils gprof textutils cvs" + # Newlib makes problems for libg++ in crosses. + noconfigdirs="$noconfigdirs gas ld newlib gprof textutils cvs" + use_gnu_ld=no + use_gnu_as=no + ;; + rs6000-*-*) + # a gcc built textutils will cause the linker to hang on 'join' + noconfigdirs="$noconfigdirs ld binutils gprof textutils" ;; m68k-apollo-*) noconfigdirs="$noconfigdirs ld binutils gprof" @@ -263,11 +287,11 @@ case "${target}" in esac ;; sparc-*-sunos4*) - use_gnu_ld=no - ;; - sparc-*-solaris2*) - # See i386-*-solaris2* above. - noconfigdirs="$noconfigdirs ld" + if [ x${is_cross_compiler} != xno ] ; then + noconfigdirs="$noconfigdirs gdb gdbtest newlib sim dejagnu expect tcl" + else + use_gnu_ld=no + fi ;; vax-*-vms) noconfigdirs="$noconfigdirs bfd binutils gdb ld newlib opcodes" @@ -275,9 +299,6 @@ case "${target}" in vax-*-*) noconfigdirs="$noconfigdirs newlib" ;; - *-*-sysv4) - use_gnu_ld=no - ;; *-*-lynxos*) # Newlib makes problems for libg++ in crosses. noconfigdirs="$noconfigdirs newlib" @@ -300,6 +321,24 @@ done # supported by the one or two programs in a package. if [ -n "${notsupp}" ] && [ -z "${norecursion}" ]; then + # If $appdirs is non-empty, at least one of those directories must still + # be configured, or we error out. (E.g., if the gas release supports a + # specified target in some subdirs but not the gas subdir, we shouldn't + # pretend that all is well.) + if [ -n "$appdirs" ]; then + for dir in $appdirs ; do + if [ -r $dir/Makefile.in ] && echo "# ${configdirs} #" | grep "${dir} " >/dev/null 2>&1 ; then + appdirs="" + break + fi + done + if [ -n "$appdirs" ]; then + echo "*** This configuration is not supported by this package." 1>&2 + exit 1 + fi + fi + # Okay, some application will build, or we don't care to check. Still + # notify of subdirs not getting built. echo "*** This configuration is not supported in the following subdirectories:" 1>&2 echo " ${notsupp}" 1>&2 echo " (Any other directories should still work fine.)" 1>&2