Annotation of GNUtools/libg++/configure.in, revision 1.1.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.