diff options
author | Arch Librarian <arch@canonical.com> | 2004-09-20 16:55:36 +0000 |
---|---|---|
committer | Arch Librarian <arch@canonical.com> | 2004-09-20 16:55:36 +0000 |
commit | 1cecba4d13975dcc4933b5c28c175ce78907bb64 (patch) | |
tree | e00e9aa2edfe9f7be79b5ed89c3a9985f147c469 | |
parent | 69e7d3b27309e7e69994f0e761d7f608a1680683 (diff) |
More portability thingies
Author: jgg
Date: 1999-12-21 07:37:56 GMT
More portability thingies
-rw-r--r-- | COMPILING | 22 | ||||
-rw-r--r-- | buildlib/config.h.in | 16 | ||||
-rwxr-xr-x | buildlib/config.sub | 383 | ||||
-rw-r--r-- | buildlib/environment.mak.in | 1 | ||||
-rw-r--r-- | buildlib/makefile.in | 7 | ||||
-rw-r--r-- | buildlib/netdb.h.in | 3 | ||||
-rw-r--r-- | configure.in | 46 |
7 files changed, 379 insertions, 99 deletions
@@ -30,9 +30,13 @@ Current shims: * C9x integer types 'inttypes.h' * sys/statvfs.h to convert from BSD/Linux statfs to SUS statvfs * rfc2553 hostname resolution (methods/rfc*), shims to normal gethostbyname. + The more adventerous could steal the KAME IPv6 enabled resolvers for those + OS's with IPv6 support but no rfc2553 (why?) + * define _XOPEN_EXTENDES_SOURCE to bring in h_errno on HP-UX + * socklen_t shim in netdb.h if the OS does not have socklen_t The only completely non-shimed OS is Linux with glibc2.1, glibc2.0 requires -all three shims. +the first three shims. Platform Notes ~~~~~~~~~~~~~~ @@ -42,7 +46,7 @@ Debian GNU Linux 'potato' - Works flawlessly - You will want to have debiandoc-sgml and yodl installed to get best results. - - No IPv6 Support in glibc's < 2.1 + - No IPv6 Support in glibc's < 2.1. Sun Solaris SunOS cab101 5.7 Generic_106541-04 sun4u sparc @@ -52,7 +56,8 @@ Sun Solaris OpenBSD OpenBSD gsb086 2.5 CMPUT#0 i386 unknown - Works fine - - OS needs 'ranlib' to generate the symbol table after 'ar'.. + - OS needs 'ranlib' to generate the symbol table after 'ar'.. (not using + GNU ar with the gnu tool chain :<) - Note, no IPv6 Support, OS lacks RFC 2553 hostname resolution HP-UX @@ -61,15 +66,6 @@ HP-UX 1) snprintf exists but is not prototyped, ignore spurios warnings 2) No socklen_t 3) Requires -D_XOPEN_SOURCE_EXTENDED for h_errno - configure attempts to detect items 2 and 3, and tries to fix them. If - not, you can add the following into(patches welcome to configure.in) - build/include/netdb.h: - - #define _XOPEN_SOURCE_EXTENDED - #define socklen_t size_t - #include_next <netdb.h> - - A similar techinque can be used for snprintf/vsprintf if you dislike - the warnings + configure should fix the last two (see above) - Note, no IPv6 Support, OS lacks RFC 2553 hostname resolution diff --git a/buildlib/config.h.in b/buildlib/config.h.in index 7e738af52..6606a84d4 100644 --- a/buildlib/config.h.in +++ b/buildlib/config.h.in @@ -2,6 +2,8 @@ byte first (like Motorola and SPARC, unlike Intel and VAX). */ #undef WORDS_BIGENDIAN +/* The following 4 are only used by inttypes.h shim if the system lacks + inttypes.h */ /* The number of bytes in a usigned char. */ #undef SIZEOF_CHAR @@ -23,6 +25,7 @@ /* Define if we have the X11 windowing system. */ #undef HAVE_X11 +/* These two are used by the statvfs shim for glibc2.0 and bsd */ /* Define if we have sys/vfs.h */ #undef HAVE_VFS_H @@ -32,20 +35,9 @@ /* Define if we have enabled pthread support */ #undef HAVE_PTHREAD -/* Define if h_errno is in netdb.h */ -#undef HAVE_NETDB_H - -/* Define if socklen_t is in sys/socket.h This does not mean we - shouldn't include sys/socket.h tho! */ -#undef HAVE_SYS_SOCKET_H - -/* If there is no socklen_t, define this(might want to update - configure.in. */ +/* If there is no socklen_t, define this for the netdb shim */ #undef NEED_SOCKLEN_T_DEFINE -/* Define on HP-UX */ -#undef NEED_XOPEN_NETDB_H - /* Define the architecture name string */ #undef ARCHITECTURE diff --git a/buildlib/config.sub b/buildlib/config.sub index 043252494..e4944414b 100755 --- a/buildlib/config.sub +++ b/buildlib/config.sub @@ -1,6 +1,6 @@ #! /bin/sh # Configuration validation subroutine script, version 1.1. -# Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc. +# Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc. # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. @@ -98,11 +98,21 @@ case $os in os= basic_machine=$1 ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=vxworks + basic_machine=$1 + ;; -hiux*) os=-hiuxwe2 ;; -sco5) - os=sco3.2v5 + os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) @@ -121,6 +131,9 @@ case $os in os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -149,19 +162,27 @@ esac case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. - tahoe | i860 | m68k | m68000 | m88k | ns32k | arm \ - | arme[lb] | pyramid \ - | tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \ - | alpha | we32k | ns16k | clipper | i370 | sh \ - | powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \ - | pdp11 | mips64el | mips64orion | mips64orionel \ - | sparc | sparclet | sparclite | sparc64) + tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \ + | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \ + | 580 | i960 | h8300 \ + | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ + | alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \ + | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \ + | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \ + | mips64orion | mips64orionel | mipstx39 | mipstx39el \ + | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \ + | mips64vr5000 | miprs64vr5000el | mcore \ + | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \ + | thumb | d10v) basic_machine=$basic_machine-unknown ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65) + ;; + # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. - i[3456]86) + i[34567]86) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. @@ -170,23 +191,45 @@ case $basic_machine in exit 1 ;; # Recognize the basic CPU types with company name. - vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \ - | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \ - | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \ - | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \ - | hppa-* | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \ - | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \ - | pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \ - | mips64el-* | mips64orion-* | mips64orionel-* | f301-*) + # FIXME: clean up the formatting here. + vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \ + | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \ + | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ + | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ + | xmp-* | ymp-* \ + | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \ + | alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \ + | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ + | clipper-* | orion-* \ + | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ + | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \ + | mips64el-* | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ + | mipstx39-* | mipstx39el-* | mcore-* \ + | f301-* | armv*-* | t3e-* \ + | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ + | thumb-* | v850-* | d30v-* | tic30-* | c30-* ) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; alliant | fx80) basic_machine=fx80-alliant ;; @@ -204,9 +247,9 @@ case $basic_machine in amiga | amiga-*) basic_machine=m68k-cbm ;; - amigados) + amigaos | amigados) basic_machine=m68k-cbm - os=-amigados + os=-amigaos ;; amigaunix | amix) basic_machine=m68k-cbm @@ -216,6 +259,10 @@ case $basic_machine in basic_machine=m68k-apollo os=-sysv ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; aux) basic_machine=m68k-apple os=-aux @@ -292,6 +339,10 @@ case $basic_machine in encore | umax | mmax) basic_machine=ns32k-encore ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; fx2800) basic_machine=i860-alliant ;; @@ -310,6 +361,14 @@ case $basic_machine in basic_machine=h8300-hitachi os=-hms ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; harris) basic_machine=m88k-harris os=-sysv3 @@ -325,13 +384,30 @@ case $basic_machine in basic_machine=m68k-hp os=-hpux ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; - hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7) + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) @@ -340,27 +416,51 @@ case $basic_machine in hppa-next) os=-nextstep3 ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; i370-ibm* | ibm*) basic_machine=i370-ibm os=-mvs ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? - i[3456]86v32) + i[34567]86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; - i[3456]86v4*) + i[34567]86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; - i[3456]86v) + i[34567]86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; - i[3456]86sol2) + i[34567]86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + i386-go32 | go32) + basic_machine=i386-unknown + os=-go32 + ;; + i386-mingw32 | mingw32) + basic_machine=i386-unknown + os=-mingw32 + ;; iris | iris4d) basic_machine=mips-sgi case $os in @@ -389,16 +489,44 @@ case $basic_machine in miniframe) basic_machine=m68000-convergent ;; + *mint | *MiNT) + basic_machine=m68k-atari + os=-mint + ;; + mipsel*-linux*) + basic_machine=mipsel-unknown + os=-linux-gnu + ;; + mips*-linux*) + basic_machine=mips-unknown + os=-linux-gnu + ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + msdos) + basic_machine=i386-unknown + os=-msdos + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-corel + os=-linux + ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos @@ -411,6 +539,10 @@ case $basic_machine in basic_machine=mips-sony os=-newsos ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; next | m*-next ) basic_machine=m68k-next case $os in @@ -436,9 +568,25 @@ case $basic_machine in basic_machine=i960-intel os=-nindy ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; np1) basic_machine=np1-gould ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 @@ -456,25 +604,23 @@ case $basic_machine in pc532 | pc532-*) basic_machine=ns32k-pc532 ;; - pentium | p5) - basic_machine=i586-intel + pentium | p5 | k5 | k6 | nexen) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86) + basic_machine=i686-pc ;; - pentiumpro | p6) - basic_machine=i686-intel + pentiumii | pentium2) + basic_machine=i786-pc ;; - pentium-* | p5-*) + pentium-* | p5-* | k5-* | k6-* | nexen-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - pentiumpro-* | p6-*) + pentiumpro-* | p6-* | 6x86-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - k5) - # We don't have specific support for AMD's K5 yet, so just call it a Pentium - basic_machine=i586-amd - ;; - nexen) - # We don't have specific support for Nexgen yet, so just call it a Pentium - basic_machine=i586-nexgen + pentiumii-* | pentium2-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould @@ -494,12 +640,20 @@ case $basic_machine in ps2) basic_machine=i386-ibm ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; sequent) basic_machine=i386-sequent ;; @@ -507,6 +661,10 @@ case $basic_machine in basic_machine=sh-hitachi os=-hms ;; + sparclite-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; sps7) basic_machine=m68k-bull os=-sysv2 @@ -514,6 +672,13 @@ case $basic_machine in spur) basic_machine=spur-unknown ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; sun2) basic_machine=m68000-sun ;; @@ -558,6 +723,16 @@ case $basic_machine in basic_machine=i386-sequent os=-dynix ;; + t3e) + basic_machine=t3e-cray + os=-unicos + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; tower | tower-32) basic_machine=m68k-ncr ;; @@ -569,6 +744,10 @@ case $basic_machine in basic_machine=a29k-nyu os=-sym1 ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; vaxv) basic_machine=vax-dec os=-sysv @@ -577,7 +756,7 @@ case $basic_machine in basic_machine=vax-dec os=-vms ;; - vpp*|vx|vx-*) + vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) @@ -592,6 +771,14 @@ case $basic_machine in basic_machine=a29k-wrs os=-vxworks ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; xmp) basic_machine=xmp-cray os=-unicos @@ -599,6 +786,10 @@ case $basic_machine in xps | xps100) basic_machine=xps100-honeywell ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; none) basic_machine=none-none os=-none @@ -606,8 +797,21 @@ case $basic_machine in # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; mips) - basic_machine=mips-mips + if [ x$os = x-linux-gnu ]; then + basic_machine=mips-unknown + else + basic_machine=mips-mips + fi ;; romp) basic_machine=romp-ibm @@ -624,7 +828,7 @@ case $basic_machine in we32k) basic_machine=we32k-att ;; - sparc) + sparc | sparcv9) basic_machine=sparc-sun ;; cydra) @@ -636,6 +840,16 @@ case $basic_machine in orion105) basic_machine=clipper-highlevel ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + c4x*) + basic_machine=c4x-none + os=-coff + ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 @@ -668,9 +882,12 @@ case $os in -solaris) os=-solaris2 ;; - -unixware* | svr4*) + -svr4*) os=-sysv4 ;; + -unixware*) + os=-sysv4.2uw + ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; @@ -681,17 +898,26 @@ case $os in -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ + | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -linux-gnu* | -uxpv*) + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -rhapsody* | -openstep* | -oskit*) # Remember, each alternative MUST END IN *, to match a version number. ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -macos* | -mpw* | -magic* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; @@ -716,6 +942,9 @@ case $os in -acis*) os=-aos ;; + -386bsd) + os=-bsd + ;; -ctix* | -uts*) os=-sysv ;; @@ -747,9 +976,18 @@ case $os in # This must come after -sysvr4. -sysv*) ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; -xenix) os=-xenix ;; + -*mint | -*MiNT) + os=-mint + ;; -none) ;; *) @@ -775,6 +1013,9 @@ case $basic_machine in *-acorn) os=-riscix1.2 ;; + arm*-corel) + os=-linux + ;; arm*-semi) os=-aout ;; @@ -796,15 +1037,36 @@ case $basic_machine in # default. # os=-sunos4 ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; + *-be) + os=-beos + ;; *-ibm) os=-aix ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; *-hp) os=-hpux ;; @@ -815,7 +1077,7 @@ case $basic_machine in os=-sysv ;; *-cbm) - os=-amigados + os=-amigaos ;; *-dg) os=-dgux @@ -868,6 +1130,18 @@ case $basic_machine in f301-fujitsu) os=-uxpv ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; *) os=-none ;; @@ -889,9 +1163,15 @@ case $basic_machine in -aix*) vendor=ibm ;; + -beos*) + vendor=be + ;; -hpux*) vendor=hp ;; + -mpeix*) + vendor=hp + ;; -hiux*) vendor=hitachi ;; @@ -919,6 +1199,15 @@ case $basic_machine in -aux*) vendor=apple ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -*MiNT) + vendor=atari + ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; diff --git a/buildlib/environment.mak.in b/buildlib/environment.mak.in index 12aaa7cba..e0f359c54 100644 --- a/buildlib/environment.mak.in +++ b/buildlib/environment.mak.in @@ -37,6 +37,7 @@ PTHREADLIB = @PTHREADLIB@ # Shim Headerfile control HAVE_C9X = @HAVE_C9X@ HAVE_STATVFS = @HAVE_STATVFS@ +NEED_SOCKLEN_T_DEFINE = @NEED_SOCKLEN_T_DEFINE@ # Shared library things HOST_OS = @host_os@ diff --git a/buildlib/makefile.in b/buildlib/makefile.in index 4eb64606c..fbad1ab07 100644 --- a/buildlib/makefile.in +++ b/buildlib/makefile.in @@ -34,8 +34,6 @@ dirs: @rm -f include/sys ifneq ($(words $(MISSING_DIRS)),0) @mkdir $(MISSING_DIRS) -else - @echo > /dev/null endif ifeq ($(HAVE_C9X),yes) @rm -f include/inttypes.h > /dev/null 2>&1 @@ -48,3 +46,8 @@ else @cp -p $(SRCDIR)/buildlib/statvfs.h.in include/statvfs.h ln -sf . include/sys endif +ifeq ($(NEED_SOCKLEN_T_DEFINE),yes) + @cp -p $(SRCDIR)/buildlib/netdb.h.in include/netdb.h +else + @rm -f include/netdb.h > /dev/null 2>&1 +endif diff --git a/buildlib/netdb.h.in b/buildlib/netdb.h.in index 1babd7657..0fa60e157 100644 --- a/buildlib/netdb.h.in +++ b/buildlib/netdb.h.in @@ -1,4 +1,5 @@ -/* Fix broken(?) unixen. */ +/* Fix broken unixen. */ +#include <config.h> #ifdef NEED_SOCKLEN_T_DEFINE #define socklen_t size_t #endif diff --git a/configure.in b/configure.in index 2981a5a4c..bc5560900 100644 --- a/configure.in +++ b/configure.in @@ -14,7 +14,7 @@ dnl configure.in correctly and can be run at any time AC_INIT(configure.in) AC_CONFIG_AUX_DIR(buildlib) -AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/netdb.h:buildlib/netdb.h.in) +AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in) dnl -- SET THIS TO THE RELEASE VERSION -- AC_DEFINE_UNQUOTED(VERSION,"0.3.15.1") @@ -108,8 +108,12 @@ if test x"$HAVE_STATVFS" != x"yes"; then fi dnl Check the sizes etc. of the architecture +dnl This is stupid, it should just use the AC macros like it does below +dnl Cross compilers can either get a real C library or preload the cache +dnl with their size values. changequote(,) -if archline="`grep \"^$archset\" $srcdir/buildlib/sizetable | cut -f 2- -d ' '`";then +archline="`grep \"^$archset\" $srcdir/buildlib/sizetable | cut -f 2- -d ' '`" +if test "x$archline" != "x"; then changequote([,]) set $archline if test "$1" = "little"; then @@ -123,12 +127,13 @@ if archline="`grep \"^$archset\" $srcdir/buildlib/sizetable | cut -f 2- -d ' '`" size_long=$5 fi -if test "$cross_compiling" = "yes" -a "$archline" = ""; then +dnl I wonder what AC_C_BIGENDIAN does if you cross compile... +if test "$cross_compiling" = "yes" -a "x$archline" = "x"; then AC_MSG_ERROR(When cross compiling, architecture must be present in sizetable) fi AC_C_BIGENDIAN -dnl We do not need this if we have inttypes.. +dnl We do not need this if we have inttypes! HAVE_C9X=yes if test x"$c9x_ints" = x"no"; then AC_CHECK_SIZEOF(char,$size_char) @@ -140,29 +145,22 @@ if test x"$c9x_ints" = x"no"; then AC_SUBST(HAVE_C9X) fi -AC_MSG_CHECKING(for socklen_t) -AC_EGREP_HEADER(socklen_t, sys/socket.h, [ - AC_DEFINE(HAVE_SYS_SOCKET_H) - AC_MSG_RESULT(sys/socket.h) -], [ +dnl HP-UX sux.. +AC_MSG_CHECKING(for missing socklen_t) +AC_EGREP_HEADER(socklen_t, sys/socket.h,[AC_MSG_RESULT(no)],[ AC_DEFINE(NEED_SOCKLEN_T_DEFINE) - AC_MSG_RESULT([socklen_t size_t]) -]) + NEED_SOCKLEN_T_DEFINE=yes + AC_MSG_RESULT(missing.)]) +AC_SUBST(NEED_SOCKLEN_T_DEFINE) +dnl HP-UX needs -d_XOPEN_SOURCE_EXTENDED for h_errno AC_MSG_CHECKING(for h_errno) -AC_EGREP_HEADER(h_errno, netdb.h, [AC_DEFINE(HAVE_NETDB_H) - AC_MSG_RESULT(found) -], [AC_TRY_COMPILE(netdb.h, h_errno foo, [AC_MSG_RESULT(found) - AC_MSG_RESULT(found) - ], [ah_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED" - AC_TRY_COMPILE([netdb.h], [h_errno foo], [AC_DEFINE(NEED_XOPEN_NETDB_H) - AC_MSG_RESULT([found, needed -D_XOPEN_SOURCE_EXTENDED]) - ], [CFLAGS="$ah_CFLAGS" - AC_MSG_ERROR(["not found."]) - ]) - ]) -]) +AC_EGREP_HEADER(h_errno, netdb.h, [AC_MSG_RESULT(normal)], + [CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" + AC_EGREP_HEADER(h_errno, netdb.h, + [AC_MSG_RESULT(needs _XOPEN_SOURCE_EXTENDED)], + [AC_MSG_ERROR("not found.")]) + ]) dnl Check for debiandoc AC_CHECK_PROG(DEBIANDOC_HTML,debiandoc2html,"yes","") |