summaryrefslogtreecommitdiffstats
path: root/contrib/binutils/bfd/configure.host
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/binutils/bfd/configure.host')
-rw-r--r--contrib/binutils/bfd/configure.host171
1 files changed, 171 insertions, 0 deletions
diff --git a/contrib/binutils/bfd/configure.host b/contrib/binutils/bfd/configure.host
new file mode 100644
index 0000000..2983274
--- /dev/null
+++ b/contrib/binutils/bfd/configure.host
@@ -0,0 +1,171 @@
+# 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.
+
+# 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
+# SHLIB_LIBS libraries 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=
+
+case "${host}" in
+
+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*-*-openbsd*) ;;
+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*)
+ 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'
+SHLIB_LIBS=
+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
+ # On Linux, apparently, linking against -lc lets ldconfig figure
+ # out which version of libc should be used.
+ SHLIB_LIBS=-lc
+ ;;
+ *-*-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
OpenPOWER on IntegriCloud