Diff for /embedaddon/libiconv/srcm4/relocatable.m4 between versions 1.1 and 1.1.1.3

version 1.1, 2012/02/21 22:57:49 version 1.1.1.3, 2021/03/17 13:38:46
Line 1 Line 1
# relocatable.m4 serial 14# relocatable.m4 serial 23
dnl Copyright (C) 2003, 2005-2007, 2009 Free Software Foundation, Inc.dnl Copyright (C) 2003, 2005-2007, 2009-2019 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation  dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,  dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.  dnl with or without modifications, as long as this notice is preserved.
Line 14  AC_DEFUN([gl_RELOCATABLE], Line 14  AC_DEFUN([gl_RELOCATABLE],
 [  [
   AC_REQUIRE([gl_RELOCATABLE_BODY])    AC_REQUIRE([gl_RELOCATABLE_BODY])
   gl_RELOCATABLE_LIBRARY    gl_RELOCATABLE_LIBRARY
   if test $RELOCATABLE = yes; then  
     AC_LIBOBJ([progreloc])  
   fi  
   : ${RELOCATABLE_CONFIG_H_DIR='$(top_builddir)'}    : ${RELOCATABLE_CONFIG_H_DIR='$(top_builddir)'}
   RELOCATABLE_SRC_DIR="\$(top_srcdir)/$gl_source_base"    RELOCATABLE_SRC_DIR="\$(top_srcdir)/$gl_source_base"
   RELOCATABLE_BUILD_DIR="\$(top_builddir)/$gl_source_base"    RELOCATABLE_BUILD_DIR="\$(top_builddir)/$gl_source_base"
Line 25  dnl The guts of gl_RELOCATABLE. Needs to be expanded o Line 22  dnl The guts of gl_RELOCATABLE. Needs to be expanded o
 AC_DEFUN([gl_RELOCATABLE_BODY],  AC_DEFUN([gl_RELOCATABLE_BODY],
 [  [
   AC_REQUIRE([AC_PROG_INSTALL])    AC_REQUIRE([AC_PROG_INSTALL])
   
   dnl This AC_BEFORE invocation leads to unjustified autoconf warnings    dnl This AC_BEFORE invocation leads to unjustified autoconf warnings
   dnl when gl_RELOCATABLE_BODY is invoked more than once.    dnl when gl_RELOCATABLE_BODY is invoked more than once.
     dnl
   dnl We need this AC_BEFORE because AC_PROG_INSTALL is documented to    dnl We need this AC_BEFORE because AC_PROG_INSTALL is documented to
   dnl overwrite earlier settings of INSTALL and INSTALL_PROGRAM (even    dnl overwrite earlier settings of INSTALL and INSTALL_PROGRAM (even
   dnl though in autoconf-2.52..2.60 it doesn't do so), but we want this    dnl though in autoconf-2.52..2.60 it doesn't do so), but we want this
   dnl macro's setting of INSTALL_PROGRAM to persist.    dnl macro's setting of INSTALL_PROGRAM to persist.
  AC_BEFORE([AC_PROG_INSTALL],[gl_RELOCATABLE_BODY])  dnl Arghh: AC_BEFORE does not work in this setting :-(
   dnl AC_BEFORE([AC_PROG_INSTALL],[gl_RELOCATABLE_BODY])
   dnl
   dnl LT_INIT sets LIBTOOL, but we want this macro's setting of LIBTOOL to
   dnl persist.
   dnl Arghh: AC_BEFORE does not work in this setting :-(
   dnl AC_BEFORE([LT_INIT],[gl_RELOCATABLE_BODY])
 
   AC_REQUIRE([AC_LIB_LIBPATH])    AC_REQUIRE([AC_LIB_LIBPATH])
   AC_REQUIRE([gl_RELOCATABLE_LIBRARY_BODY])    AC_REQUIRE([gl_RELOCATABLE_LIBRARY_BODY])
     AC_REQUIRE([AC_CANONICAL_HOST])
   is_noop=no    is_noop=no
   use_elf_origin_trick=no    use_elf_origin_trick=no
     use_macos_tools=no
     use_wrapper=no
   if test $RELOCATABLE = yes; then    if test $RELOCATABLE = yes; then
     # --enable-relocatable implies --disable-rpath      # --enable-relocatable implies --disable-rpath
     enable_rpath=no      enable_rpath=no
Line 43  AC_DEFUN([gl_RELOCATABLE_BODY], Line 52  AC_DEFUN([gl_RELOCATABLE_BODY],
     AC_CHECK_FUNCS([_NSGetExecutablePath])      AC_CHECK_FUNCS([_NSGetExecutablePath])
     case "$host_os" in      case "$host_os" in
       mingw*) is_noop=yes ;;        mingw*) is_noop=yes ;;
      linux*) use_elf_origin_trick=yes ;;      # For the platforms that support $ORIGIN, see
       # <https://lekensteyn.nl/rpath.html>.
       # glibc systems, Linux with musl libc: yes. Android: no.
       linux*-android*) ;;
       linux* | kfreebsd*) use_elf_origin_trick=yes ;;
       # Hurd: <http://lists.gnu.org/archive/html/bug-hurd/2019-02/msg00049.html>
       # only after the glibc commit from 2018-01-08
       # <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=311ba8dc4416467947eff2ab327854f124226309>
       gnu*)
         # Test for a glibc version >= 2.27.
         AC_CHECK_FUNCS([copy_file_range])
         if test $ac_cv_func_copy_file_range = yes; then
           use_elf_origin_trick=yes
         fi
         ;;
 changequote(,)dnl
       # FreeBSD >= 7.3, DragonFly >= 3.0: yes.
       freebsd | freebsd[1-7] | freebsd[1-6].* | freebsd7.[0-2]) ;;
       dragonfly | dragonfly[1-2] | dragonfly[1-2].*) ;;
       freebsd* | dragonfly*) use_elf_origin_trick=yes ;;
       # NetBSD >= 8.0: yes.
       netbsd | netbsd[1-7] | netbsd[1-7].*) ;;
       netbsdelf | netbsdelf[1-7] | netbsdelf[1-7].*) ;;
       netbsd*) use_elf_origin_trick=yes ;;
       # OpenBSD >= 5.4: yes.
       openbsd | openbsd[1-5] | openbsd[1-4].* | openbsd5.[0-3]) ;;
       openbsd*) use_elf_origin_trick=yes ;;
       # Solaris >= 10: yes.
       solaris | solaris2.[1-9] | solaris2.[1-9].*) ;;
       solaris*) use_elf_origin_trick=yes ;;
       # Haiku: yes.
       haiku*) use_elf_origin_trick=yes ;;
       # On Mac OS X 10.4 or newer, use Mac OS X tools. See
       # <https://wincent.com/wiki/@executable_path,_@load_path_and_@rpath>.
       darwin | darwin[1-7].*) ;;
       darwin*) use_macos_tools=yes ;;
 changequote([,])dnl
     esac      esac
     if test $is_noop = yes; then      if test $is_noop = yes; then
       RELOCATABLE_LDFLAGS=:        RELOCATABLE_LDFLAGS=:
       AC_SUBST([RELOCATABLE_LDFLAGS])        AC_SUBST([RELOCATABLE_LDFLAGS])
     else      else
      if test $use_elf_origin_trick = yes; then      if test $use_elf_origin_trick = yes || test $use_macos_tools = yes; then
         dnl Use the dynamic linker's support for relocatable programs.          dnl Use the dynamic linker's support for relocatable programs.
         case "$ac_aux_dir" in          case "$ac_aux_dir" in
           /*) reloc_ldflags="$ac_aux_dir/reloc-ldflags" ;;            /*) reloc_ldflags="$ac_aux_dir/reloc-ldflags" ;;
Line 57  AC_DEFUN([gl_RELOCATABLE_BODY], Line 102  AC_DEFUN([gl_RELOCATABLE_BODY],
         esac          esac
         RELOCATABLE_LDFLAGS="\"$reloc_ldflags\" \"\$(host)\" \"\$(RELOCATABLE_LIBRARY_PATH)\""          RELOCATABLE_LDFLAGS="\"$reloc_ldflags\" \"\$(host)\" \"\$(RELOCATABLE_LIBRARY_PATH)\""
         AC_SUBST([RELOCATABLE_LDFLAGS])          AC_SUBST([RELOCATABLE_LDFLAGS])
           if test $use_macos_tools = yes; then
             dnl Use a libtool wrapper that uses Mac OS X tools.
             case "$ac_aux_dir" in
               /*) LIBTOOL="${CONFIG_SHELL-$SHELL} $ac_aux_dir/libtool-reloc $LIBTOOL" ;;
               *) LIBTOOL="${CONFIG_SHELL-$SHELL} \$(top_builddir)/$ac_aux_dir/libtool-reloc $LIBTOOL" ;;
             esac
           fi
       else        else
           use_wrapper=yes
         dnl Unfortunately we cannot define INSTALL_PROGRAM to a command          dnl Unfortunately we cannot define INSTALL_PROGRAM to a command
         dnl consisting of more than one word - libtool doesn't support this.          dnl consisting of more than one word - libtool doesn't support this.
         dnl So we abuse the INSTALL_PROGRAM_ENV hook, originally meant for the          dnl So we abuse the INSTALL_PROGRAM_ENV hook, originally meant for the
Line 72  AC_DEFUN([gl_RELOCATABLE_BODY], Line 125  AC_DEFUN([gl_RELOCATABLE_BODY],
     fi      fi
   fi    fi
   AM_CONDITIONAL([RELOCATABLE_VIA_LD],    AM_CONDITIONAL([RELOCATABLE_VIA_LD],
    [test $is_noop = yes || test $use_elf_origin_trick = yes])    [test $is_noop = yes || test $use_elf_origin_trick = yes || test $use_macos_tools = yes])
   AM_CONDITIONAL([RELOCATABLE_VIA_WRAPPER], [test $use_wrapper = yes])
   
   dnl RELOCATABLE_LIBRARY_PATH can be set in configure.ac. Default is empty.    dnl RELOCATABLE_LIBRARY_PATH can be set in configure.ac. Default is empty.
   AC_SUBST([RELOCATABLE_LIBRARY_PATH])    AC_SUBST([RELOCATABLE_LIBRARY_PATH])
   
   AC_SUBST([RELOCATABLE_CONFIG_H_DIR])    AC_SUBST([RELOCATABLE_CONFIG_H_DIR])
   AC_SUBST([RELOCATABLE_SRC_DIR])    AC_SUBST([RELOCATABLE_SRC_DIR])
   AC_SUBST([RELOCATABLE_BUILD_DIR])    AC_SUBST([RELOCATABLE_BUILD_DIR])
   
     dnl Ensure RELOCATABLE_STRIP is defined in Makefiles (at least those
     dnl generated by automake), with value ':'.
     RELOCATABLE_STRIP=':'
     AC_SUBST([RELOCATABLE_STRIP])
 ])  ])
   
 dnl Determine the platform dependent parameters needed to use relocatability:  dnl Determine the platform dependent parameters needed to use relocatability:

Removed from v.1.1  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>