* config/tc-alpha.c (md_shortopts, md_longopts, md_parse_option):
[deliverable/binutils-gdb.git] / bfd / configure.host
index 4ff421ef3ae4cd19f8da689dd7f4ab19f6139d97..d843c904c79b37e061702286d01beee4e4e02615 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-*-mach3*)      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-mach3*)        my_host=mipsmach3 ;;
-mips-dec-*)            my_host=decstation ;;
-mips-sgi-irix3*)       my_host=irix3 ;;
-mips-sgi-irix4*)       my_host=irix4 ;;
-mips-sgi-irix5*)       my_host=irix5 ;;
-mips-*-mach3*)         my_host=mipsmach3 ;;
-mips-*-sysv4*)         my_host=sysv4 ;;
-mips-*-sysv*)          my_host=riscos ;;
-mips-*-riscos*)                my_host=riscos ;;
-mips-sony-bsd*)                my_host=news-mips ;;
-
-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 ;;
-m88*-*-mach3*)         my_host=m88kmach3 ;;
-
-ns32k-pc532-mach)      my_host=pc532mach ;;
-ns32k-pc532-netbsd*)    my_host=pc532mach ;;
+# This sets the following shell variables:
+#  HDEFINES            host specific compiler options
+#  host64              set to true if 64 bit types are as fast as 32 bit
+#  HOST_64BIT_TYPE     host 64 bit type
+#  HOST_U_64BIT_TYPE   unsigned 64 bit type (not needed if 64BIT_TYPE is long)
+#  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
+#  HLDENV              environment variable to set when linking for the host
+#  RPATH_ENVVAR                environment variable used to find shared libraries
+#  INSTALL_SHLIB       install a shared library
+
+HDEFINES=
+host64=false
+HOST_64BIT_TYPE=
 
-romp-*-*)              my_host=rtbsd ;;
-
-rs6000-*-lynx*)                my_host=rs6000lynx ;;
-
-rs6000-*-*)            my_host=rs6000 ;;
-
-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 ;;
-
-tahoe-*-*)             my_host=tahoe ;;
-
-vax-*-ultrix2*)                my_host=vaxult2 ;;
-vax-*-ultrix*)         my_host=vaxult ;;
-vax-*-*)               my_host=vaxbsd ;;
+case "${host}" in
 
-we32k-*-*)             my_host=we32k ;;
+alpha-*-*)             host64=true; HOST_64BIT_TYPE=long ;;
+
+hppa*-*-hpux*)         HDEFINES=-DHOST_HPPAHPUX ;;
+hppa*-*-hiux*)         HDEFINES=-DHOST_HPPAHPUX ;;
+hppa*-*-bsd*)          HDEFINES=-DHOST_HPPABSD ;;
+hppa*-*-osf*)          HDEFINES=-DHOST_HPPAOSF ;;
+
+i[3456]86-sequent-bsd*)        HDEFINES=-Dshared=genshared ;;
+i[3456]86-sequent-sysv4*) ;;
+i[3456]86-sequent-sysv*)       HDEFINES=-Dshared=genshared ;;
+
+mips-dec-netbsd*)      ;;
+mips-dec-*)            HDEFINES="-G 4" ;;
+mips-sgi-irix3*)       HDEFINES="-G 4" ;;
+mips-sgi-irix4*)       HDEFINES="-G 4" ;;
+mips-sgi-irix6*)       host64=true
+                       HOST_64BIT_TYPE="long long";
+                       HOST_U_64BIT_TYPE="unsigned long long";
+                       ;;
+mips-*-sysv4*)         ;;
+mips-*-sysv*)          HDEFINES="-G 4" ;;
+mips-*-riscos*)                HDEFINES="-G 4" ;;
+
+m68*-hp-hpux*)         HDEFINES=-DHOST_HP300HPUX ;;
+
+*-*-solaris*)          HOST_64BIT_TYPE="long long"
+                       HOST_U_64BIT_TYPE="unsigned long long"
+                       ;;
+
+*-*-windows*)
+                       host64=true
+                       HOST_64BIT_TYPE=__int64
+                       HOST_U_64BIT_TYPE="unsigned __int64"
+# The following krock is necessary because we can't run the build compiler
+# (MSVC) on the configure host, so we have to explicitly set the values here.
+# Note that this file is never run through autoconf, so we can't use any
+# autoconf macros here.  Because of this, we have to muck with autoconf
+# variables explicitly.
+                       ac_cv_func_mmap_fixed_mapped=no
+                       ac_cv_header_time=no
+                       ac_cv_func_getpagesize=no
+                       ac_cv_func_madvise=no
+                       ac_cv_func_mprotect=no
+                       ac_cv_header_sys_file_h=no
+                       ac_cv_header_sys_time_h=no
+                       ac_cv_header_unistd_h=no
+                       ;;
+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=
+HLDENV=
+RPATH_ENVVAR=LD_LIBRARY_PATH
+SHLIB_CC='$(CC)'
+SHLIB_CFLAGS='-shared'
+INSTALL_SHLIB='$(INSTALL_PROGRAM) $$f $(libdir)/$$tf;'
+if [ "${shared}" = "true" ]; then
+  case "${host}" in
+  hppa*-*-*)           picfrag=${srcdir}/../config/mh-papic ;;
+  i[34566]86-*-*)      picfrag=${srcdir}/../config/mh-x86pic ;;
+  *-*-*)               picfrag=${srcdir}/../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=
+    HLDFLAGS='-rpath $(libdir)'
+    SHLIB_CFLAGS='-shared -Wl,-soname,$(SONAME)'
+    ;;
+  *-*-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
+    INSTALL_SHLIB='$(INSTALL_PROGRAM) $$f $(libdir)/$$tf; chmod -w $(libdir)/$$tf;'
+    ;;
+  *-*-irix[56]*)
+    # -fpic is not needed on Irix 5 or 6.
+    PICFLAG=
+    SHLIB_CFLAGS='-shared -Wl,-soname,$(SONAME)'
+    HLDFLAGS='-Wl,-rpath,$(libdir)'
+    ;;
+  *-*-linux*aout*)
+    ;;
+  *-*-linux*)
+    SHLIB_CFLAGS='-shared -Wl,-soname,$(SONAME)'
+    case "${libdir}" in
+      /lib | /usr/lib) ;;
+      *) HLDFLAGS='-Wl,-rpath,$(libdir)' ;;
+    esac
+    ;;
+  *-*-solaris*)
+    SHLIB_CFLAGS='-shared -h $(SONAME)'
+    HLDFLAGS='-R $(libdir)'
+    ;;
+  *-*-sysv4*)
+    SHLIB_CFLAGS='-shared -h $(SONAME)'
+    HLDENV='if test -z "$${LD_RUN_PATH}"; then LD_RUN_PATH=$(libdir); else LD_RUN_PATH=$${LD_RUN_PATH}:$(libdir); fi; export LD_RUN_PATH;'
+    ;;
+  *-*-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.026096 seconds and 4 git commands to generate.