X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Fconfigure.host;h=bfbce2b9e3a3c6bd5429e3b31254daa6e8f1a0ad;hb=aa989b27d0bad451455416953c0e5026e229863a;hp=004873aa94f101aabc4694cfb81654f8947a7ac7;hpb=ab659fd6de3f0e9068f9bb72dbb5bedff64cc220;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/configure.host b/bfd/configure.host index 004873aa94..bfbce2b9e3 100644 --- a/bfd/configure.host +++ b/bfd/configure.host @@ -1,133 +1,100 @@ +# +# Copyright (C) 2012-2019 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: # 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 -# INSTALL_SHLIB install a shared library +# 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 -alpha-*-*) host64=true; HOST_64BIT_TYPE=long ;; - -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 ;; - -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" ;; +ia64-*-hpux*) HDEFINES=-D_LARGEFILE64_SOURCE + host64=true;; +ia64-*-*) host64=true;; -m68*-hp-hpux*) HDEFINES=-DHOST_HP300HPUX ;; +# 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;; -esac +i[3-7]86-sequent-bsd*) HDEFINES=-Dshared=genshared ;; +i[3-7]86-sequent-sysv4*) ;; +i[3-7]86-sequent-sysv*) HDEFINES=-Dshared=genshared ;; -# 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' -INSTALL_SHLIB='$(INSTALL_PROGRAM) $$f $(libdir)/$$tf;' -if [ "${shared}" = "true" ]; then - case "${host}" in - hppa*-*-*) picfrag=${srcdir}/../config/mh-papic ;; - i[3456]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 +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" ;; - 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 - ;; - *-*-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 +# 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 ;; -# 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 - ;; +*-*-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 + ;; esac