X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fconfigure.host;h=0fdad6e0eb91b7f02d48ca2879b8df7de8aa8517;hb=f4e0d9f40b21fb42bbf7da07917683fb1cc16e8e;hp=2fac0ed4b273526a31e3618f515ae72649ca9e69;hpb=1429341983f47e7b1dff93c936534d394b4bdb53;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/configure.host b/bfd/configure.host index 2fac0ed4b2..0fdad6e0eb 100644 --- a/bfd/configure.host +++ b/bfd/configure.host @@ -1,160 +1,102 @@ +# +# Copyright (C) 2012-2016 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; see the file COPYING3. If not see +# . +# # 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 +# This is that index. Each configure.ac file should source this file # in its per-host part. # This sets the following shell variables: -# CC compiler to use (only if needed and not already set) -# CFLAGS override CFLAGS (only if needed and not already set) -# LDFLAGS override LDFLAGS (only if needed and not already set) -# AR archiver to use (only if needed and not already set) -# RANLIB ranlib to use (only if needed and not already set) # HDEFINES host specific compiler options -# host64 set to true if this is a 64 bit host +# host64 set to true if 64 bit types are as fast as 32 bit # 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 +# HOST_U_64BIT_TYPE unsigned 64 bit type (not needed if 64BIT_TYPE is long) HDEFINES= host64=false HOST_64BIT_TYPE= +HOST_U_64BIT_TYPE= 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-*-*) host64=true; HOST_64BIT_TYPE=long ;; - -a29k-*-*) CC=${CC-u3cc}; AR=${AR-u3ar} ;; - -hppa*-*-hpux*) HDEFINES=-DHOST_HPPAHPUX ;; +hppa*64*-*-hpux*) # HP/UX's ftello64 et.al. declarations are only + # visible when _LARGEFILE64_SOURCE is defined. + # Without those declarations, real_ftell et.al. + # get mis-compiled. + HDEFINES="-DHOST_HPPAHPUX -D_LARGEFILE64_SOURCE" + host64=true;; +hppa*-*-hpux*) HDEFINES="-DHOST_HPPAHPUX -D_LARGEFILE64_SOURCE" ;; hppa*-*-hiux*) HDEFINES=-DHOST_HPPAHPUX ;; +hppa*-*-mpeix*) HDEFINES=-DHOST_HPPAMPEIX ;; hppa*-*-bsd*) HDEFINES=-DHOST_HPPABSD ;; hppa*-*-osf*) HDEFINES=-DHOST_HPPAOSF ;; -i[345]86-sequent-bsd*) HDEFINES=-Dshared=genshared ;; -i[345]86-sequent-sysv4*) ;; -i[345]86-sequent-sysv*) HDEFINES=-Dshared=genshared ;; -i[345]86-ncr*-sysv4*) CC=${CC-/usr/ccs/ATT/cc} - test -z "$CFLAGS" && CFLAGS=" " - ;; - -mips-dec-netbsd*) ;; -mips-dec-*) HDEFINES="-G 4" ;; -mips-sgi-irix3*) HDEFINES="-G 4" - test -z "$LDFLAGS" && LDFLAGS=-lmalloc - ;; -mips-sgi-irix4*) HDEFINES="-G 4" - test -z "$LDFLAGS" && LDFLAGS=-lmalloc - ;; -mips-*-sysv4*) ;; -mips-*-sysv*) HDEFINES="-G 4" ;; -mips-*-riscos*) HDEFINES="-G 4" ;; +ia64-*-hpux*) HDEFINES=-D_LARGEFILE64_SOURCE + host64=true;; +ia64-*-*) host64=true;; + +# Workaround for limitations on win9x where file contents are +# not zero'd out if you seek past the end and then write. +i[3-7]86-*-mingw32*) HDEFINES=-D__USE_MINGW_FSEEK;; + +i[3-7]86-sequent-bsd*) HDEFINES=-Dshared=genshared ;; +i[3-7]86-sequent-sysv4*) ;; +i[3-7]86-sequent-sysv*) HDEFINES=-Dshared=genshared ;; + +mips*-*-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;; +mips64*-*-linux*) host64=true;; +mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu) host64=true;; +mips*-*-sysv4*) ;; +mips*-*-sysv*) HDEFINES="-G 4" ;; +mips*-*-riscos*) HDEFINES="-G 4" ;; -m68*-apollo*-sysv*) # sef@cygnus.com says this is how to compile - # on an apollo in the SysV environment. - test -z "$CC" && CC="cc -A nansi -A cpu,3000 -A runtype,any -A systype,any -DSHORT_ENUM_BUG -DUSG -U__STDC__ -Dm68000=mc68000" - ;; m68*-hp-hpux*) HDEFINES=-DHOST_HP300HPUX ;; -m88*-*-dgux*) test -z "$CC" && CC="gcc -Wall -ansi -D__using_DGUX" - ;; - -romp-*-*) # hc/pcc just can't cut it - CC=${CC-gcc} +# Some Solaris systems (osol0906 at least) have a libc that doesn't recognise +# the "MS-ANSI" code page name, so we define an override for CP_ACP (sets the +# default code page used by windres/windmc when not specified by a commandline +# option) to select the "WINDOWS-1252" name instead. See PR11280 for details. +*-*-solaris2.11) HDEFINES=-DCP_ACP=1 ;; + +*-*-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_func_getuid=no + ac_cv_func_getgid=no + ac_cv_header_sys_file_h=no + ac_cv_header_sys_time_h=no + ac_cv_header_unistd_h=no ;; - -rs6000-*-aix4) HDEFINES=-DHOST_AIX ;; -rs6000-*-*) HDEFINES=-DHOST_AIX ;; -powerpc-*-aix4*) HDEFINES=-DHOST_AIX ;; -powerpc-*-aix*) HDEFINES=-DHOST_AIX ;; - -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-gcc} -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 [ "${shared}" = "true" ]; then - HLDFLAGS='-Wl,-rpath=$(libdir)' - else - HLDFLAGS='-Wl,-rpath=' - fi - rm -f conftest.t conftest.c conftest - ;; esac