X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=bfd%2Fconfigure.host;h=c824a47d45d78f66b1755287776fd4d4e93bab69;hb=d49e5065ed43ec88627fd8cc6ab9e45fcc0e538a;hp=d843c904c79b37e061702286d01beee4e4e02615;hpb=fa803dc60f0bf01297674c41d001798e18ade4dc;p=binutils-gdb.git diff --git a/bfd/configure.host b/bfd/configure.host index d843c904c79..c824a47d45d 100644 --- a/bfd/configure.host +++ b/bfd/configure.host @@ -1,9 +1,26 @@ +# +# Copyright (C) 2012-2020 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: @@ -11,53 +28,57 @@ # 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= +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[3456]86-sequent-bsd*) HDEFINES=-Dshared=genshared ;; -i[3456]86-sequent-sysv4*) ;; -i[3456]86-sequent-sysv*) HDEFINES=-Dshared=genshared ;; +ia64-*-hpux*) HDEFINES=-D_LARGEFILE64_SOURCE + host64=true;; +ia64-*-*) host64=true;; -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" ;; +# 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;; -m68*-hp-hpux*) HDEFINES=-DHOST_HP300HPUX ;; +i[3-7]86-sequent-bsd*) HDEFINES=-Dshared=genshared ;; +i[3-7]86-sequent-sysv4*) ;; +i[3-7]86-sequent-sysv*) HDEFINES=-Dshared=genshared ;; -*-*-solaris*) HOST_64BIT_TYPE="long long" - HOST_U_64BIT_TYPE="unsigned long long" - ;; +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" ;; + +# 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*) - 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 @@ -70,97 +91,10 @@ m68*-hp-hpux*) HDEFINES=-DHOST_HP300HPUX ;; 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 - -# 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