Print WITH_STDIO if -t options
[deliverable/binutils-gdb.git] / bfd / configure.host
index ce583473503e7918f7a570a538e64fa708176432..320faa4df71d3f8e155cf06fa5876114506589c9 100644 (file)
-# This file is a shell script that supplies the information necessary
-# to tailor a template configure script into the configure script
-# appropriate for this directory.  For more information, check any
-# existing configure script.
+# This file is a shell script that overrides some of the tools and
+# flags used on a host specific basis.
 
 # Since the "bfd/hosts" directory is shared by the bfd, opcodes, and
 # binutils directories (at least), the index to it is also shared.
 # This is that index.  Each configure.in file should source this file
 # in its per-host part.
 
-case "${host}" in
-# WHEN ADDING ENTRIES TO THIS MATRIX:
-#  Make sure that the left side always has two dashes.  Otherwise you
-#  can get spurious matches.  Even for unambiguous cases, do this as a
-#  convention, else the table becomes a real mess to understand and maintain.
-#
-# Note that these entries cannot be fully alphabetical.  Don't try.
-# The order of matching is critical when multiple lines could match.
-
-alpha-*-*)             my_host=alphaosf ; host64=true ;;
-a29k-*-*)              my_host=ultra3 ;;
-
-hppa*-*-hpux*)         my_host=hppahpux ;;
-hppa*-*-hiux*)         my_host=hppahpux ;;
-hppa*-*-bsd*)          my_host=hppabsd ;;
-hppa*-*-osf*)          my_host=hppaosf ;;
-
-i[34]86-sequent-bsd*)  my_host=symmetry ;;
-i[34]86-sequent-sysv4*)        my_host=sysv4 ;;
-i[34]86-sequent-sysv*) my_host=symmetry ;;
-i[34]86-*-bsd*)                my_host=i386bsd ;;
-i[34]86-*-netbsd*)     my_host=i386bsd ;;
-i[34]86-ncr*-sysv4*)   my_host=ncr3000 ;;
-i[34]86-*-go32*)       my_host=go32 ;;
-i[34]86-esix-sysv3*)   my_host=esix ;;
-i[34]86-*-sysv4*)      my_host=i386v4 ;;
-i[34]86-*-sysv*)       my_host=i386v ;;
-i[34]86-*-solaris*)    my_host=i386v ;;
-i[34]86-*-sco*)                my_host=i386sco ;;
-i[34]86-*-mach*)       my_host=i386mach3 ;;
-i[34]86-*-osf1mk*)     my_host=i386osf1mk ;;
-i[34]86-*-msdos*)      my_host=dose ;;
-i[34]86-*-linux*)      my_host=i386linux ;;
-i[34]86-*-lynxos*)     my_host=i386lynx ;;
-i[34]86-*-isc*)                my_host=i386sco ;;
-i[34]86-*-aix*)                my_host=i386aix ;;
-
-i860-*-*)              my_host=stratus ;;
-
-mips-dec-bsd*)          my_host=mipsbsd ;;
-mips-dec-*)            my_host=decstation ;;
-mips-sgi-irix3*)       my_host=irix3 ;;
-mips-sgi-irix4*)       my_host=irix4 ;;
-mips-sgi-irix5*)       my_host=irix5 ;;
-mips-*-sysv*)          my_host=riscos ;;
-mips-*-riscos*)                my_host=riscos ;;
-mips-sony-bsd*)                my_host=news-mips ;;
+# This sets the following shell variables:
+#  HDEFINES            host specific compiler options
+#  host64              set to true if this is a 64 bit host
+#  HOST_64BIT_TYPE     host 64 bit type
+#  SHLIB_CC            compiler to use when building shared library
+#  SHLIB_CFLAGS                flags to use when building shared library
+#  PICFLAG             may be set to flag to use to compile PIC
+#  SHLINK              may be set to the name to link the shared library to
+#  ALLLIBS             may be set to libraries to build
+#  HLDFLAGS            LDFLAGS specific to the host
+#  RPATH_ENVVAR                environment variable used to find shared libraries
+
+HDEFINES=
+host64=false
+HOST_64BIT_TYPE=
 
-m68*-apollo*-sysv*)    my_host=apollov68 ;;
-m68*-apollo*-bsd*)     my_host=apollo68 ;;
-m68*-bull*-sysv*)      my_host=dpx2 ;;
-m68*-convergent-sysv*) my_host=miniframe ;;
-m68*-cbm-amigados*)    my_host=amigados ;;
-m68*-cbm-sysv4*)       my_host=amix ;;
-m68*-hp-hpux*)         my_host=hp300 ;;
-m68*-hp-bsd*)          my_host=hp300bsd ;;
-m68*-*-lynxos*)                my_host=m68klynx ;;
-m68*-motorola-sysv*)   my_host=delta68 ;;
-m68*-sony-*)           my_host=news ;;
-m68*-sun-*)            my_host=sun3 ;;
-
-m88*-*-sysv4*)         my_host=delta88v4 ;;
-m88*-motorola-sysv*)   my_host=delta88 ;;
-m88*-harris-*)         my_host=harris ;;
-m88*-*-dgux*)          my_host=dgux ;;
-
-# Apparently the same config file as for 386 works.
-ns32k-*-mach*)         my_host=i386mach3 ;;
-
-romp-*-*)              my_host=rtbsd ;;
+case "${host}" in
 
-rs6000-*-lynx*)                my_host=rs6000lynx ;;
+alpha-*-*)             host64=true; HOST_64BIT_TYPE=long ;;
 
-rs6000-*-*)            my_host=rs6000 ;;
+hppa*-*-hpux*)         HDEFINES=-DHOST_HPPAHPUX ;;
+hppa*-*-hiux*)         HDEFINES=-DHOST_HPPAHPUX ;;
+hppa*-*-bsd*)          HDEFINES=-DHOST_HPPABSD ;;
+hppa*-*-osf*)          HDEFINES=-DHOST_HPPAOSF ;;
 
-sparc-*-lynxos*)       my_host=sparclynx ;;
-sparc-*-sunos64*)      my_host=sparc-ll ;;
-sparc-*-sysv4*)                my_host=sysv4 ;;
-sparc-*-solaris2*)     my_host=solaris2 ;;
-sparc-*-sysv64*)       my_host=sysv4-ll ;;
-sparc-*-*)             my_host=sparc ;;
+i[345]86-sequent-bsd*) HDEFINES=-Dshared=genshared ;;
+i[345]86-sequent-sysv4*) ;;
+i[345]86-sequent-sysv*)        HDEFINES=-Dshared=genshared ;;
 
-tahoe-*-*)             my_host=tahoe ;;
+mips-dec-netbsd*)      ;;
+mips-dec-*)            HDEFINES="-G 4" ;;
+mips-sgi-irix3*)       HDEFINES="-G 4" ;;
+mips-sgi-irix4*)       HDEFINES="-G 4" ;;
+mips-*-sysv4*)         ;;
+mips-*-sysv*)          HDEFINES="-G 4" ;;
+mips-*-riscos*)                HDEFINES="-G 4" ;;
 
-vax-*-ultrix2*)                my_host=vaxult2 ;;
-vax-*-ultrix*)         my_host=vaxult ;;
-vax-*-*)               my_host=vaxbsd ;;
+m68*-hp-hpux*)         HDEFINES=-DHOST_HP300HPUX ;;
 
-we32k-*-*)             my_host=we32k ;;
+esac
 
+# If we are configuring with --enable-shared, adjust the shared
+# library support based on the host.  This support must work for both
+# the BFD and the opcodes libraries.
+HLDFLAGS=
+RPATH_ENVVAR=LD_LIBRARY_PATH
+SHLIB_CC='$(CC)'
+SHLIB_CFLAGS='-shared'
+if [ "${shared}" = "true" ]; then
+  case "${host}" in
+  hppa*-*-*)           picfrag=../config/mh-papic ;;
+  i[3456]86-*-*)       picfrag=../config/mh-x86pic ;;
+  *-*-*)               picfrag=../config/mh-${host_cpu}pic ;;
+  esac
+  if [ -f "${picfrag}" ]; then
+    pic=`sed -n -e 's/^PICFLAG[        ]*=[    ]*\(.*\)$/\1/p' ${picfrag}`
+    if [ -n "${pic}" ]; then
+      PICFLAG=${pic}
+    fi
+  fi
+
+  case "${host}" in
+  *-dec-osf*)
+    # -fpic is not needed on the Alpha.
+    PICFLAG=
+    ;;
+  *-*-hpux*)
+    # HP/UX uses .sl for shared libraries.
+    SHLINK=`echo ${SHLINK} | sed -e 's/so$/sl/'`
+    SHLIB_CFLAGS='-shared $(PICFLAG)'
+    HLDFLAGS='-Wl,+s,+b,$(libdir)'
+    RPATH_ENVVAR=SHLIB_PATH
+    ;;
+  *-*-irix5*)
+    # -fpic is not needed on Irix 5.
+    PICFLAG=
+    SHLIB_CFLAGS='-shared -Wl,-soname,$(SONAME)'
+    HLDFLAGS='-Wl,-rpath,$(libdir)'
+    ;;
+  *-*-linux*aout*)
+    ;;
+  *-*-linux*)
+    SHLIB_CFLAGS='-shared -Wl,-soname,$(SONAME)'
+    HLDFLAGS='-Wl,-rpath,$(libdir)'
+    ;;
+  *-*-sysv4* | *-*-solaris*)
+    SHLIB_CFLAGS='-shared -h $(SONAME)'
+    HLDFLAGS='-R $(libdir)'
+    ;;
+  *-*-sunos*)
+    # Build a libTARGET-bfd.so.VERSION symlink in the object directory.
+    ALLLIBS=`echo ${ALLLIBS} | sed -e 's/\$(SHLINK)/stamp-tshlink/'`
+    ;;
+  esac
+fi
+
+# On SunOS, if the linker supports the -rpath option, use it to
+# prevent ../bfd and ../opcodes from being included in the run time
+# search path.
+case "${host}" in
+  *-*-sunos*)
+    echo 'main () { }' > conftest.c
+    ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
+    if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
+      :
+    elif grep 'No such file' conftest.t >/dev/null 2>&1; then
+      :
+    elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
+      :
+    elif [ "${shared}" = "true" ]; then
+      HLDFLAGS='-Wl,-rpath=$(libdir)'
+    else
+      HLDFLAGS='-Wl,-rpath='
+    fi
+    rm -f conftest.t conftest.c conftest
+    ;;
 esac
This page took 0.043019 seconds and 4 git commands to generate.