~vcs-imports/gawk/master

« back to all changes in this revision

Viewing changes to extension/m4/lib-ld.m4

  • Committer: Arnold D. Robbins
  • Date: 2020-07-20 18:59:49 UTC
  • mto: This revision was merged to the branch mainline in revision 1399.
  • Revision ID: git-v1:0e199c11bb9d404dd513eccdda5598f0d45f995f
Update to gettext 0.20.2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# lib-ld.m4 serial 6
2
 
dnl Copyright (C) 1996-2003, 2009-2015 Free Software Foundation, Inc.
 
1
# lib-ld.m4 serial 9
 
2
dnl Copyright (C) 1996-2003, 2009-2020 Free Software Foundation, Inc.
3
3
dnl This file is free software; the Free Software Foundation
4
4
dnl gives unlimited permission to copy and/or distribute it,
5
5
dnl with or without modifications, as long as this notice is preserved.
47
47
       }
48
48
fi
49
49
 
50
 
ac_prog=ld
51
 
if test "$GCC" = yes; then
52
 
  # Check if gcc -print-prog-name=ld gives a path.
 
50
if test -n "$LD"; then
 
51
  AC_MSG_CHECKING([for ld])
 
52
elif test "$GCC" = yes; then
53
53
  AC_MSG_CHECKING([for ld used by $CC])
54
 
  case $host in
55
 
  *-*-mingw*)
56
 
    # gcc leaves a trailing carriage return which upsets mingw
57
 
    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
58
 
  *)
59
 
    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
60
 
  esac
61
 
  case $ac_prog in
62
 
    # Accept absolute paths.
63
 
    [[\\/]]* | ?:[[\\/]]*)
64
 
      re_direlt='/[[^/]][[^/]]*/\.\./'
65
 
      # Canonicalize the pathname of ld
66
 
      ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
67
 
      while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
68
 
        ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
69
 
      done
70
 
      test -z "$LD" && LD="$ac_prog"
71
 
      ;;
72
 
  "")
73
 
    # If it fails, then pretend we aren't using GCC.
74
 
    ac_prog=ld
75
 
    ;;
76
 
  *)
77
 
    # If it is relative, then search for the first ld in PATH.
78
 
    with_gnu_ld=unknown
79
 
    ;;
80
 
  esac
81
54
elif test "$with_gnu_ld" = yes; then
82
55
  AC_MSG_CHECKING([for GNU ld])
83
56
else
84
57
  AC_MSG_CHECKING([for non-GNU ld])
85
58
fi
86
 
AC_CACHE_VAL([acl_cv_path_LD],
87
 
[if test -z "$LD"; then
88
 
  acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
89
 
  for ac_dir in $PATH; do
90
 
    IFS="$acl_save_ifs"
91
 
    test -z "$ac_dir" && ac_dir=.
92
 
    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
93
 
      acl_cv_path_LD="$ac_dir/$ac_prog"
94
 
      # Check to see if the program is GNU ld.  I'd rather use --version,
95
 
      # but apparently some variants of GNU ld only accept -v.
96
 
      # Break only if it was the GNU/non-GNU ld that we prefer.
97
 
      case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
98
 
      *GNU* | *'with BFD'*)
99
 
        test "$with_gnu_ld" != no && break
100
 
        ;;
101
 
      *)
102
 
        test "$with_gnu_ld" != yes && break
103
 
        ;;
104
 
      esac
105
 
    fi
106
 
  done
107
 
  IFS="$acl_save_ifs"
 
59
if test -n "$LD"; then
 
60
  # Let the user override the test with a path.
 
61
  :
108
62
else
109
 
  acl_cv_path_LD="$LD" # Let the user override the test with a path.
110
 
fi])
111
 
LD="$acl_cv_path_LD"
 
63
  AC_CACHE_VAL([acl_cv_path_LD],
 
64
  [
 
65
    acl_cv_path_LD= # Final result of this test
 
66
    ac_prog=ld # Program to search in $PATH
 
67
    if test "$GCC" = yes; then
 
68
      # Check if gcc -print-prog-name=ld gives a path.
 
69
      case $host in
 
70
        *-*-mingw*)
 
71
          # gcc leaves a trailing carriage return which upsets mingw
 
72
          acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
 
73
        *)
 
74
          acl_output=`($CC -print-prog-name=ld) 2>&5` ;;
 
75
      esac
 
76
      case $acl_output in
 
77
        # Accept absolute paths.
 
78
        [[\\/]]* | ?:[[\\/]]*)
 
79
          re_direlt='/[[^/]][[^/]]*/\.\./'
 
80
          # Canonicalize the pathname of ld
 
81
          acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'`
 
82
          while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do
 
83
            acl_output=`echo $acl_output | sed "s%$re_direlt%/%"`
 
84
          done
 
85
          # Got the pathname. No search in PATH is needed.
 
86
          acl_cv_path_LD="$acl_output"
 
87
          ac_prog=
 
88
          ;;
 
89
        "")
 
90
          # If it fails, then pretend we aren't using GCC.
 
91
          ;;
 
92
        *)
 
93
          # If it is relative, then search for the first ld in PATH.
 
94
          with_gnu_ld=unknown
 
95
          ;;
 
96
      esac
 
97
    fi
 
98
    if test -n "$ac_prog"; then
 
99
      # Search for $ac_prog in $PATH.
 
100
      acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
 
101
      for ac_dir in $PATH; do
 
102
        IFS="$acl_save_ifs"
 
103
        test -z "$ac_dir" && ac_dir=.
 
104
        if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
 
105
          acl_cv_path_LD="$ac_dir/$ac_prog"
 
106
          # Check to see if the program is GNU ld.  I'd rather use --version,
 
107
          # but apparently some variants of GNU ld only accept -v.
 
108
          # Break only if it was the GNU/non-GNU ld that we prefer.
 
109
          case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
 
110
            *GNU* | *'with BFD'*)
 
111
              test "$with_gnu_ld" != no && break
 
112
              ;;
 
113
            *)
 
114
              test "$with_gnu_ld" != yes && break
 
115
              ;;
 
116
          esac
 
117
        fi
 
118
      done
 
119
      IFS="$acl_save_ifs"
 
120
    fi
 
121
    case $host in
 
122
      *-*-aix*)
 
123
        AC_COMPILE_IFELSE(
 
124
          [AC_LANG_SOURCE(
 
125
             [[#if defined __powerpc64__ || defined _ARCH_PPC64
 
126
                int ok;
 
127
               #else
 
128
                error fail
 
129
               #endif
 
130
             ]])],
 
131
          [# The compiler produces 64-bit code. Add option '-b64' so that the
 
132
           # linker groks 64-bit object files.
 
133
           case "$acl_cv_path_LD " in
 
134
             *" -b64 "*) ;;
 
135
             *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;;
 
136
           esac
 
137
          ], [])
 
138
        ;;
 
139
      sparc64-*-netbsd*)
 
140
        AC_COMPILE_IFELSE(
 
141
          [AC_LANG_SOURCE(
 
142
             [[#if defined __sparcv9 || defined __arch64__
 
143
                int ok;
 
144
               #else
 
145
                error fail
 
146
               #endif
 
147
             ]])],
 
148
          [],
 
149
          [# The compiler produces 32-bit code. Add option '-m elf32_sparc'
 
150
           # so that the linker groks 32-bit object files.
 
151
           case "$acl_cv_path_LD " in
 
152
             *" -m elf32_sparc "*) ;;
 
153
             *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;;
 
154
           esac
 
155
          ])
 
156
        ;;
 
157
    esac
 
158
  ])
 
159
  LD="$acl_cv_path_LD"
 
160
fi
112
161
if test -n "$LD"; then
113
162
  AC_MSG_RESULT([$LD])
114
163
else
115
164
  AC_MSG_RESULT([no])
 
165
  AC_MSG_ERROR([no acceptable ld found in \$PATH])
116
166
fi
117
 
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
118
167
AC_LIB_PROG_LD_GNU
119
168
])