Annotation of GNUtools/libg++/configure.in, revision 1.1

1.1     ! root        1: ##############################################################################
        !             2: 
        !             3: ## This file is a shell script fragment that supplies the information
        !             4: ## necessary to tailor a template configure script into the configure
        !             5: ## script appropriate for this directory.  For more information, check
        !             6: ## any existing configure script.  
        !             7: 
        !             8: ## Be warned, there are two types of configure.in files.  There are those
        !             9: ## used by Autoconf, which are macros which are expanded into a configure
        !            10: ## script by autoconf.  The other sort, of which this is one, is executed
        !            11: ## by Cygnus configure.  
        !            12: 
        !            13: ## For more information on these two systems, check out the documentation
        !            14: ## for 'Autoconf' (autoconf.texi) and 'Configure' (configure.texi).  
        !            15: 
        !            16: ##############################################################################
        !            17: 
        !            18: ### To add a new directory to the tree, first choose whether it is a target
        !            19: ### or a host dependent tool.  Then put it into the appropriate list
        !            20: ### (library or tools, host or target), doing a dependency sort.  For
        !            21: ### example, gdb requires that byacc (or bison) be built first, so it is in
        !            22: ### the ${host_tools} list after byacc and bison.  
        !            23: 
        !            24: 
        !            25: # these libraries are used by various programs built for the host environment
        !            26: #
        !            27: host_libs="mmalloc libiberty opcodes bfd readline gash tcl tk tclX"
        !            28: 
        !            29: # these tools are built for the host environment
        !            30: #
        !            31: host_tools="byacc flex bison binutils ld gas gcc gdb make patch
        !            32:            prms send-pr gprof gdbtest tgas etc expect dejagnu sim
        !            33:             m4 autoconf ispell grep diff rcs cvs fileutils shellutils
        !            34:            textutils wdiff find emacs uudecode hello tar gzip indent
        !            35:            recode release sed utils"
        !            36: 
        !            37: 
        !            38: # these libraries are built for the target environment, and are built after
        !            39: # the host libraries and the host tools (which may be a cross compiler)
        !            40: #
        !            41: target_libs="libm xiberty newlib libio libg++"
        !            42: 
        !            43: 
        !            44: # these tools are built using the target libs, and are intended to run only
        !            45: # in the target environment.  we currently have none.
        !            46: #
        !            47: # note: any program that *uses* libraries that are in the "target_libs"
        !            48: # list belongs in this list.  those programs are also very likely
        !            49: # candidates for the "native_only" list which follows
        !            50: #
        !            51: target_tools="groff"
        !            52: 
        !            53: ################################################################################
        !            54: 
        !            55: ## These two lists are of directories that are to be removed from the
        !            56: ## ${configdirs} list for either cross-compilations or for native-
        !            57: ## compilations.  For example, it doesn't make that much sense to
        !            58: ## cross-compile Emacs, nor is it terribly useful to compile xiberty in
        !            59: ## a native environment.  
        !            60: 
        !            61: # directories to be built in the native environment only
        !            62: #
        !            63: native_only="autoconf cvs emacs fileutils find grep groff gzip hello indent
        !            64:              ispell m4 rcs recode sed shellutils tar textutils gash tk uudecode wdiff 
        !            65:             gprof"
        !            66: 
        !            67: # directories to be built in a cross environment only
        !            68: #
        !            69: cross_only="xiberty newlib"
        !            70: 
        !            71: ## All tools belong in one of the four categories, and are assigned above
        !            72: #
        !            73: configdirs="${host_libs} ${host_tools} ${target_libs} ${target_tools}"
        !            74: 
        !            75: ################################################################################
        !            76: 
        !            77: srctrigger=move-if-change
        !            78: srcname="gnu development package"
        !            79: 
        !            80: # per-host:
        !            81: 
        !            82: case "${host}" in
        !            83:   m68k-hp-hpux*)         host_makefile_frag=config/mh-hp300 ;;
        !            84:   m68k-apollo-sysv*)      host_makefile_frag=config/mh-apollo68 ;;
        !            85:   m68k-apollo-bsd*)       host_makefile_frag=config/mh-a68bsd ;;
        !            86:   m88k-motorola-sysv*)    host_makefile_frag=config/mh-delta88;;
        !            87:   m88k-dg-dgux*)         host_makefile_frag=config/mh-dgux ;;
        !            88:   mips*-dec-ultrix*)      host_makefile_frag=config/mh-decstation ;;
        !            89:   mips*-sgi-irix5*)       host_makefile_frag=config/mh-irix5 ;;
        !            90:   mips*-sgi-irix4*)       host_makefile_frag=config/mh-irix4 ;;
        !            91:   mips*-sgi-irix3*)       host_makefile_frag=config/mh-sysv ;;
        !            92:   mips*-*-sysv*)         host_makefile_frag=config/mh-riscos ;;
        !            93:   i[34]86-ncr-sysv4*)     host_makefile_frag=config/mh-ncr3000 ;;
        !            94:   i[34]86-*-sco*)         host_makefile_frag=config/mh-sco ;;
        !            95:   i[34]86-*-isc*)        host_makefile_frag=config/mh-sysv ;;
        !            96:   i[34]86-*-linux*)       host_makefile_frag=config/mh-linux ;;
        !            97:   i[34]86-*-solaris2*)    host_makefile_frag=config/mh-sysv4 ;;
        !            98:   i[34]86-*-aix*)        host_makefile_frag=config/mh-aix386 ;;
        !            99:   vax-*-ultrix2*)         host_makefile_frag=config/mh-vaxult2 ;;
        !           100:   *-ibm-aix*)             host_makefile_frag=config/mh-aix ;;
        !           101:   *-bull-bosx*)           host_makefile_frag=config/mh-aix ;;
        !           102:   *-*-solaris2*)          host_makefile_frag=config/mh-solaris ;;
        !           103:   m68k-sun-*)            host_makefile_frag=config/mh-sun3 ;;
        !           104:   *-sun-*)               host_makefile_frag=config/mh-sun ;;
        !           105:   *-hp-hpux*)             host_makefile_frag=config/mh-hpux ;;
        !           106:   *-*-hiux*)              host_makefile_frag=config/mh-hpux ;;
        !           107:   *-*-lynxos*)           host_makefile_frag=config/mh-lynxos
        !           108:                                cross_only="xiberty" ;;
        !           109:   *-*-sysv4*)             host_makefile_frag=config/mh-sysv4 ;;
        !           110:   *-*-sysv*)              host_makefile_frag=config/mh-sysv ;;
        !           111: esac
        !           112: 
        !           113: # per-target:
        !           114: 
        !           115: gasdir=gas
        !           116: use_gnu_ld=
        !           117: use_gnu_as=
        !           118: 
        !           119: case "${target}" in
        !           120:   hppa*-hp-hpux*)        target_makefile_frag=config/mt-hppa ;;
        !           121: esac
        !           122: 
        !           123: # some tools are so dependent upon X11 that if we're not building with X, 
        !           124: # it's not even worth trying to configure, much less build, that tool.
        !           125: 
        !           126: case ${with_x} in
        !           127:   yes | "")  # the default value for this tree is that X11 is available
        !           128:        ;;
        !           129:   no)
        !           130:        configdirs=`echo ${configdirs} | sed -e 's/tk//;/gash//'`
        !           131:        ;;
        !           132:   *)
        !           133:        echo "*** bad value \"${with_x}\" for -with-x flag; ignored" 1>&2
        !           134:        ;;
        !           135: esac
        !           136: 
        !           137: 
        !           138: 
        !           139: # Some tools are only suitable for building in a "native" situation.
        !           140: # Those are added when we have a host==target configuration.  For cross
        !           141: # toolchains, we add some directories that should only be useful in a
        !           142: # cross-compiler.
        !           143: 
        !           144: if [ x"${host}" = x"${target}" ] ; then
        !           145:        # when doing a native toolchain, don't build the targets
        !           146:        # that are in the 'cross only' list
        !           147:        for i in ${cross_only} ; do
        !           148:          configdirs=`echo ${configdirs} | sed -e "s/$i//"`
        !           149:        done
        !           150: else
        !           151:        # similarly, don't build the targets in the 'native only' 
        !           152:        # list when building a cross compiler
        !           153:        for i in ${native_only} ; do
        !           154:          configdirs=`echo ${configdirs} | sed -e "s/$i//"`
        !           155:        done
        !           156: fi     
        !           157: 
        !           158: # Remove more programs from consideration, based on the host or 
        !           159: # target this usually means that a port of the program doesn't
        !           160: # exist yet.
        !           161: 
        !           162: noconfigdirs=""
        !           163: 
        !           164: case "${host}" in
        !           165:   i[34]86-*-netbsd*)
        !           166:     noconfigdirs="tk fileutils"
        !           167:     ;;
        !           168:   i[34]86-*-go32)
        !           169:     noconfigdirs="tcl expect deja-gnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff"
        !           170:     ;;
        !           171: esac
        !           172: 
        !           173: case "${target}" in
        !           174:   alpha-dec-osf1*)
        !           175:     noconfigdirs="$noconfigdirs emacs fileutils grep libg++ libio newlib"
        !           176:     ;; 
        !           177:   alpha*-*-*)
        !           178:     noconfigdirs="$noconfigdirs gas libg++ libio newlib"
        !           179:     ;;    
        !           180:   h8300*-*-* | \
        !           181:   h8500-*-*)
        !           182:     noconfigdirs="$noconfigdirs libg++ libio"
        !           183:     ;;
        !           184:   hppa*-*-osf)
        !           185:     # Do configure ld/binutils/gas for this case.
        !           186:     ;;
        !           187:   hppa*-*-*)
        !           188:     # HP's C compiler doesn't handle Emacs correctly (but on BSD and Mach
        !           189:     # cc is gcc, and on any system a user should be able to link cc to
        !           190:     # whatever they want.  FIXME, emacs).
        !           191:     case "${CC}" in
        !           192:        "" | cc*) noconfigdirs="$noconfigdirs emacs" ;;
        !           193:         *) ;;
        !           194:     esac
        !           195:     noconfigdirs="$noconfigdirs ld binutils shellutils"
        !           196:     if [ -f ${srcdir}/pagas/configure.in ]; then
        !           197:       configdirs=`echo ${configdirs} | sed -e 's/gas /pagas /'`
        !           198:     else
        !           199:       # It'll still DTRT if "gas" directory isn't here either.
        !           200:       noconfigdirs="$noconfigdirs gas"
        !           201:     fi
        !           202:     gasdir=pagas
        !           203:     ;;
        !           204:   i[34]86-*-go32)
        !           205:     # add the go32 support tools to the list
        !           206:     configdirs=`echo go32 ${configdirs}`
        !           207:     ;;
        !           208:   i[34]86-*-solaris2*)
        !           209:     # The linker does static linking correctly, but the Solaris C library
        !           210:     # has bugs such that some important functions won't work when statically
        !           211:     # linked.  (See man pages for getpwuid, for example.)
        !           212:     noconfigdirs="$noconfigdirs ld"
        !           213:     ;;
        !           214:   i[34]86-*-sysv4*)
        !           215:     # The SYSV4 C compiler doesn't handle Emacs correctly
        !           216:     case "${CC}" in
        !           217:        "" | cc*) noconfigdirs="$noconfigdirs emacs" ;;
        !           218:         *) ;;
        !           219:     esac
        !           220:     # but that's okay since emacs doesn't work anyway
        !           221:     noconfigdirs="$noconfigdirs emacs"
        !           222: 
        !           223:     # static versions of several key libraries are not available, 
        !           224:     # so building our entire toolchain is impossible until 
        !           225:     # the GNU linker supports shared libraries
        !           226:     noconfigdirs="$noconfigdirs ld"
        !           227:     ;;
        !           228:   rs6000-*-*)
        !           229:     # a gcc built textutils will cause the linker to hang on 'join'
        !           230:     # The CVS server code doesn't work on the RS/6000
        !           231:     noconfigdirs="$noconfigdirs ld binutils gas gprof textutils cvs"
        !           232:     ;;
        !           233:   m68k-apollo-*)
        !           234:     noconfigdirs="$noconfigdirs ld binutils gprof"
        !           235:     ;;
        !           236:   mips*-*-irix5*)
        !           237:     # The GNU linker does not support shared libraries.
        !           238:     noconfigdirs="$noconfigdirs ld gprof"
        !           239:     ;;
        !           240:   mips*-*-*)
        !           241:     noconfigdirs="$noconfigdirs gprof"
        !           242:     ;;
        !           243:   sh-*-*)
        !           244:     case "${host}" in
        !           245:       i[34]86-*-go32) ;; # don't add gprof back in
        !           246:       *) configdirs=`echo gprof ${configdirs}` ;;
        !           247:     esac
        !           248:     ;;
        !           249:   sparc-*-sunos4*)
        !           250:     use_gnu_ld=no
        !           251:     ;;
        !           252:   sparc-*-solaris2*)
        !           253:     # See i386-*-solaris2* above.
        !           254:     noconfigdirs="$noconfigdirs ld"
        !           255:     ;;
        !           256:   i[34]86-*-sco*)
        !           257:     noconfigdirs="$noconfigdirs gprof"
        !           258:     ;;
        !           259:   *-*-sysv4)
        !           260:     use_gnu_ld=no
        !           261:     ;;
        !           262:   *-*-vms)
        !           263:     noconfigdirs="$noconfigdirs bfd ld binutils gdb"
        !           264:     ;;
        !           265: esac
        !           266: 
        !           267: notsupp=""
        !           268: for dir in . $noconfigdirs ; do
        !           269:   if [ $dir != . ] && echo "# ${configdirs} #" | grep "${dir} " >/dev/null 2>&1 ; then
        !           270:     configdirs=`echo $configdirs | sed -e "s/${dir} / /"`
        !           271:     if [ -r $srcdir/$dir/configure ] || [ -r $srcdir/$dir/configure.in ]; then
        !           272:       notsupp="$notsupp $dir"
        !           273:     fi
        !           274:   fi
        !           275: done
        !           276: 
        !           277: # Produce a warning message for the subdirs we can't configure.
        !           278: # This isn't especially interesting in the Cygnus tree, but in the individual
        !           279: # FSF releases, it's important to let people know when their machine isn't
        !           280: # supported by the one or two programs in a package.
        !           281: 
        !           282: if [ x"${notsupp}" != x ]; then
        !           283:   echo "*** This configuration is not supported in the following subdirectories:" 1>&2
        !           284:   echo "    ${notsupp}" 1>&2
        !           285:   echo "    (Any other directories should still work fine.)" 1>&2
        !           286: fi
        !           287: 
        !           288: # Set with_gnu_as and with_gnu_ld as appropriate.
        !           289: #
        !           290: # This is done by determining whether or not the appropriate directory
        !           291: # is available, and by checking whether or not specific configurations
        !           292: # have requested that this magic not happen.
        !           293: # 
        !           294: # The command line options always override the explicit settings in 
        !           295: # configure.in, and the settings in configure.in override this magic.
        !           296: #
        !           297: # If the default for a toolchain is to use GNU as and ld, and you don't 
        !           298: # want to do that, then you should use the --without-gnu-as and
        !           299: # --without-gnu-ld options for the configure script.
        !           300: 
        !           301: if [ x${use_gnu_as} = x ] ; then
        !           302:   if [ x${with_gnu_as} != xno ] && echo ${configdirs} | grep "${gasdir} " > /dev/null 2>&1 && [ -d ${srcdir}/${gasdir} ] ; then
        !           303:     with_gnu_as=yes
        !           304:     withoptions="$withoptions --with-gnu-as"
        !           305:   fi
        !           306: fi
        !           307: 
        !           308: if [ x${use_gnu_ld} = x ] ; then
        !           309:   if [ x${with_gnu_ld} != xno ] && echo ${configdirs} | grep ld > /dev/null 2>&1 && [ -d ${srcdir}/ld ] ; then
        !           310:     with_gnu_ld=yes
        !           311:     withoptions="$withoptions --with-gnu-ld"
        !           312:   fi
        !           313: fi
        !           314: 
        !           315: #
        !           316: # Local Variables:
        !           317: # fill-column: 131
        !           318: # End:
        !           319: #

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.