OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [newlib-1.10.0/] [ltcf-gcj.sh] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1005 ivang
#### This script is meant to be sourced by ltconfig.
2
 
3
# ltcf-gcj.sh - Create a GCJ compiler specific configuration
4
#
5
# Copyright (C) 1996-1999, 2000, 2001 Free Software Foundation, Inc.
6
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
7
#
8
# Original GCJ support by:
9
#    Alexandre Oliva <oliva@lsd.ic.unicamp.br>
10
#
11
# This file is free software; you can redistribute it and/or modify it
12
# under the terms of the GNU General Public License as published by
13
# the Free Software Foundation; either version 2 of the License, or
14
# (at your option) any later version.
15
#
16
# This program is distributed in the hope that it will be useful, but
17
# WITHOUT ANY WARRANTY; without even the implied warranty of
18
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19
# General Public License for more details.
20
#
21
# You should have received a copy of the GNU General Public License
22
# along with this program; if not, write to the Free Software
23
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24
#
25
# As a special exception to the GNU General Public License, if you
26
# distribute this file as part of a program that contains a
27
# configuration script generated by Autoconf, you may include it under
28
# the same distribution terms that you use for the rest of that program.
29
 
30
 
31
# Source file extension for Java test sources.
32
ac_ext=java
33
 
34
# Object file extension for compiled Java test sources.
35
objext=o
36
 
37
# Code to be used in simple compile tests
38
lt_simple_compile_test_code="class foo {}"
39
 
40
# Code to be used in simple link tests
41
lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
42
 
43
## Linker Characteristics
44
case $host_os in
45
cygwin* | mingw*)
46
  # FIXME: the MSVC++ port hasn't been tested in a loooong time
47
  # When not using gcc, we currently assume that we are using
48
  # Microsoft Visual C++.
49
  if test "$with_gcc" != yes; then
50
    with_gnu_ld=no
51
  fi
52
  ;;
53
 
54
esac
55
 
56
ld_shlibs=yes
57
if test "$with_gnu_ld" = yes; then
58
  # If archive_cmds runs LD, not CC, wlarc should be empty
59
  wlarc='${wl}'
60
 
61
  # See if GNU ld supports shared libraries.
62
  case $host_os in
63
  aix3* | aix4* | aix5*)
64
    # On AIX/PPC, the GNU linker is very broken
65
    if test "$host_cpu" != ia64; then
66
      ld_shlibs=no
67
      cat <<EOF 1>&2
68
 
69
*** Warning: the GNU linker, at least up to release 2.9.1, is reported
70
*** to be unable to reliably create shared libraries on AIX.
71
*** Therefore, libtool is disabling shared libraries support.  If you
72
*** really care for shared libraries, you may want to modify your PATH
73
*** so that a non-GNU linker is found, and then restart.
74
 
75
EOF
76
    fi
77
    ;;
78
 
79
  amigaos*)
80
    archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
81
    hardcode_libdir_flag_spec='-L$libdir'
82
    hardcode_minus_L=yes
83
 
84
    # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
85
    # that the semantics of dynamic libraries on AmigaOS, at least up
86
    # to version 4, is to share data among multiple programs linked
87
    # with the same dynamic library.  Since this doesn't match the
88
    # behavior of shared libraries on other platforms, we can use
89
    # them.
90
    ld_shlibs=no
91
    ;;
92
 
93
  beos*)
94
    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
95
      allow_undefined_flag=unsupported
96
      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
97
      # support --undefined.  This deserves some investigation.  FIXME
98
      archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
99
    else
100
      ld_shlibs=no
101
    fi
102
    ;;
103
 
104
  cygwin* | mingw*)
105
    # hardcode_libdir_flag_spec is actually meaningless, as there is
106
    # no search path for DLLs.
107
    hardcode_libdir_flag_spec='-L$libdir'
108
    allow_undefined_flag=unsupported
109
    always_export_symbols=yes
110
 
111
    extract_expsyms_cmds='test -f $output_objdir/impgen.c || \
112
      sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //; p; }" -e d < $0 > $output_objdir/impgen.c~
113
      test -f $output_objdir/impgen.exe || (cd $output_objdir && \
114
      if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \
115
      else $CC -o impgen impgen.c ; fi)~
116
      $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'
117
 
118
    old_archive_from_expsyms_cmds='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'
119
 
120
    # cygwin and mingw dlls have different entry points and sets of symbols
121
    # to exclude.
122
    # FIXME: what about values for MSVC?
123
    dll_entry=__cygwin_dll_entry@12
124
    dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~
125
    case $host_os in
126
    mingw*)
127
      # mingw values
128
      dll_entry=_DllMainCRTStartup@12
129
      dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~
130
      ;;
131
    esac
132
 
133
    # mingw and cygwin differ, and it's simplest to just exclude the union
134
    # of the two symbol sets.
135
    dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12
136
 
137
    # recent cygwin and mingw systems supply a stub DllMain which the user
138
    # can override, but on older systems we have to supply one (in ltdll.c)
139
    if test "x$lt_cv_need_dllmain" = "xyes"; then
140
      ltdll_obj='$output_objdir/$soname-ltdll.'"$objext "
141
      ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $output_objdir/$soname-ltdll.c~
142
        test -f $output_objdir/$soname-ltdll.$objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
143
    else
144
      ltdll_obj=
145
      ltdll_cmds=
146
    fi
147
 
148
    # Extract the symbol export list from an `--export-all' def file,
149
    # then regenerate the def file from the symbol export list, so that
150
    # the compiled dll only exports the symbol export list.
151
    # Be careful not to strip the DATA tag left be newer dlltools.
152
    export_symbols_cmds="$ltdll_cmds"'
153
      $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
154
      sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
155
 
156
    # If the export-symbols file already is a .def file (1st line
157
    # is EXPORTS), use it as is.
158
    # If DATA tags from a recent dlltool are present, honour them!
159
    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
160
        cp $export_symbols $output_objdir/$soname-def;
161
      else
162
        echo EXPORTS > $output_objdir/$soname-def;
163
        _lt_hint=1;
164
        cat $export_symbols | while read symbol; do
165
         set dummy \$symbol;
166
         case \[$]# in
167
           2) echo "   \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
168
           *) echo "     \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
169
         esac;
170
         _lt_hint=`expr 1 + \$_lt_hint`;
171
        done;
172
      fi~
173
      '"$ltdll_cmds"'
174
      $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
175
      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~
176
      $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
177
      $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~
178
      $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
179
    ;;
180
 
181
  netbsd*)
182
    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
183
      archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
184
      wlarc=
185
    else
186
      archive_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
187
      archive_expsym_cmds='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
188
    fi
189
    ;;
190
 
191
  solaris* | sysv5*)
192
    if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then
193
      ld_shlibs=no
194
      cat <<EOF 1>&2
195
 
196
*** Warning: The releases 2.8.* of the GNU linker cannot reliably
197
*** create shared libraries on Solaris systems.  Therefore, libtool
198
*** is disabling shared libraries support.  We urge you to upgrade GNU
199
*** binutils to release 2.9.1 or newer.  Another option is to modify
200
*** your PATH or compiler configuration so that the native linker is
201
*** used, and then restart.
202
 
203
EOF
204
    elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
205
      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
206
      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
207
    else
208
      ld_shlibs=no
209
    fi
210
    ;;
211
 
212
  sunos4*)
213
    archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
214
    wlarc=
215
    hardcode_direct=yes
216
    hardcode_shlibpath_var=no
217
    ;;
218
 
219
  *)
220
    if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
221
      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
222
      archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
223
    else
224
      ld_shlibs=no
225
    fi
226
    ;;
227
  esac
228
 
229
  if test "$ld_shlibs" = yes; then
230
    runpath_var=LD_RUN_PATH
231
    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
232
    export_dynamic_flag_spec='${wl}--export-dynamic'
233
    case $host_os in
234
    cygwin* | mingw*)
235
      # dlltool doesn't understand --whole-archive et. al.
236
      whole_archive_flag_spec=
237
      ;;
238
    *)
239
      # ancient GNU ld didn't support --whole-archive et. al.
240
      if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then
241
        whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
242
      else
243
        whole_archive_flag_spec=
244
      fi
245
      ;;
246
    esac
247
  fi
248
else
249
  # PORTME fill in a description of your system's linker (not GNU ld)
250
  case $host_os in
251
  aix3*)
252
    allow_undefined_flag=unsupported
253
    always_export_symbols=yes
254
    archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
255
    # Note: this linker hardcodes the directories in LIBPATH if there
256
    # are no directories specified by -L.
257
    hardcode_minus_L=yes
258
    if test "$with_gcc" = yes && test -z "$link_static_flag"; then
259
      # Neither direct hardcoding nor static linking is supported with a
260
      # broken collect2.
261
      hardcode_direct=unsupported
262
    fi
263
    ;;
264
 
265
  aix4* | aix5*)
266
    hardcode_direct=yes
267
    hardcode_libdir_separator=':'
268
    link_all_deplibs=yes
269
    # When large executables or shared objects are built, AIX ld can
270
    # have problems creating the table of contents.  If linking a library
271
    # or program results in "error TOC overflow" add -mminimal-toc to
272
    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
273
    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
274
    if test "$with_gcc" = yes; then
275
      case $host_os in aix4.[012]|aix4.[012].*)
276
      # We only want to do this on AIX 4.2 and lower, the check
277
      # below for broken collect2 doesn't work under 4.3+
278
        collect2name=`${CC} -print-prog-name=collect2`
279
        if test -f "$collect2name" && \
280
           strings "$collect2name" | grep resolve_lib_name >/dev/null
281
        then
282
          # We have reworked collect2
283
          hardcode_direct=yes
284
        else
285
          # We have old collect2
286
          hardcode_direct=unsupported
287
          # It fails to find uninstalled libraries when the uninstalled
288
          # path is not listed in the libpath.  Setting hardcode_minus_L
289
          # to unsupported forces relinking
290
          hardcode_minus_L=yes
291
          hardcode_libdir_flag_spec='-L$libdir'
292
          hardcode_libdir_separator=
293
        fi
294
      esac
295
      shared_flag='-shared'
296
    else
297
      # not using gcc
298
      if test "$host_cpu" = ia64; then
299
        shared_flag='${wl}-G'
300
      else
301
        shared_flag='${wl}-bM:SRE'
302
      fi
303
    fi
304
 
305
    if test "$host_cpu" = ia64; then
306
      # On IA64, the linker does run time linking by default, so we don't
307
      # have to do anything special.
308
      aix_use_runtimelinking=no
309
      if test $with_gnu_ld = no; then
310
        exp_sym_flag='-Bexport'
311
        no_entry_flag=""
312
      fi
313
    else
314
      # Test if we are trying to use run time linking, or normal AIX style linking.
315
      # If -brtl is somewhere in LDFLAGS, we need to do run time linking.
316
      aix_use_runtimelinking=no
317
      for ld_flag in $LDFLAGS; do
318
        if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl" ); then
319
          aix_use_runtimelinking=yes
320
          break
321
        fi
322
      done
323
      exp_sym_flag='-bexport'
324
      no_entry_flag='-bnoentry'
325
    fi
326
    # -bexpall does not export symbols beginning with underscore (_)
327
    always_export_symbols=yes
328
    if test "$aix_use_runtimelinking" = yes; then
329
      # Warning - without using the other run time loading flags (-brtl), -berok will
330
      #           link without error, but may produce a broken library.
331
      allow_undefined_flag=' ${wl}-berok'
332
      hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
333
      archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
334
    else
335
      if test "$host_cpu" = ia64; then
336
        if test $with_gnu_ld = no; then
337
          hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
338
          allow_undefined_flag="-z nodefs"
339
          archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
340
        fi
341
      else
342
        allow_undefined_flag=' ${wl}-berok'
343
        # -bexpall does not export symbols beginning with underscore (_)
344
        always_export_symbols=yes
345
        # Exported symbols can be pulled into shared objects from archives
346
        whole_archive_flag_spec=' '
347
        build_libtool_need_lc=yes
348
        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
349
        # This is similar to how AIX traditionally builds it's shared libraries.
350
        archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
351
      fi
352
    fi
353
  ;;
354
 
355
  amigaos*)
356
    archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
357
    hardcode_libdir_flag_spec='-L$libdir'
358
    hardcode_minus_L=yes
359
    # see comment about different semantics on the GNU ld section
360
    ld_shlibs=no
361
    ;;
362
 
363
  cygwin* | mingw*)
364
    # When not using gcc, we currently assume that we are using
365
    # Microsoft Visual C++.
366
    # hardcode_libdir_flag_spec is actually meaningless, as there is
367
    # no search path for DLLs.
368
    hardcode_libdir_flag_spec=' '
369
    allow_undefined_flag=unsupported
370
    # Tell ltmain to make .lib files, not .a files.
371
    libext=lib
372
    # FIXME: Setting linknames here is a bad hack.
373
    archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames='
374
    # The linker will automatically build a .lib file if we build a DLL.
375
    old_archive_from_new_cmds='true'
376
    # FIXME: Should let the user specify the lib program.
377
    old_archive_cmds='lib /OUT:$oldlib$oldobjs$old_deplibs'
378
    fix_srcfile_path='`cygpath -w "$srcfile"`'
379
    ;;
380
 
381
  freebsd1*)
382
    ld_shlibs=no
383
    ;;
384
 
385
  # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
386
  # support.  Future versions do this automatically, but an explicit c++rt0.o
387
  # does not break anything, and helps significantly (at the cost of a little
388
  # extra space).
389
  freebsd2.2*)
390
    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
391
    hardcode_libdir_flag_spec='-R$libdir'
392
    hardcode_direct=yes
393
    hardcode_shlibpath_var=no
394
    ;;
395
 
396
  # Unfortunately, older versions of FreeBSD 2 do not have this feature.
397
  freebsd2*)
398
    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
399
    hardcode_direct=yes
400
    hardcode_minus_L=yes
401
    hardcode_shlibpath_var=no
402
    ;;
403
 
404
  # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
405
  freebsd*)
406
    archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
407
    hardcode_libdir_flag_spec='-R$libdir'
408
    hardcode_direct=yes
409
    hardcode_shlibpath_var=no
410
    ;;
411
 
412
  hpux9* | hpux10* | hpux11*)
413
    case $host_os in
414
    hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;;
415
    *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;;
416
    esac
417
    hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
418
    hardcode_libdir_separator=:
419
    hardcode_direct=yes
420
    hardcode_minus_L=yes # Not in the search PATH, but as the default
421
                         # location of the library.
422
    export_dynamic_flag_spec='${wl}-E'
423
    ;;
424
 
425
  irix5* | irix6*)
426
    if test "$with_gcc" = yes; then
427
      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
428
    else
429
      archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
430
    fi
431
    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
432
    hardcode_libdir_separator=:
433
    link_all_deplibs=yes
434
    ;;
435
 
436
  netbsd*)
437
    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
438
      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
439
    else
440
      archive_cmds='$LD -shared -nodefaultlibs -o $lib $libobjs $deplibs $linker_flags'      # ELF
441
    fi
442
    hardcode_libdir_flag_spec='${wl}-R$libdir'
443
    hardcode_direct=yes
444
    hardcode_shlibpath_var=no
445
    ;;
446
 
447
  openbsd*)
448
    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
449
    hardcode_libdir_flag_spec='-R$libdir'
450
    hardcode_direct=yes
451
    hardcode_shlibpath_var=no
452
    ;;
453
 
454
  os2*)
455
    hardcode_libdir_flag_spec='-L$libdir'
456
    hardcode_minus_L=yes
457
    allow_undefined_flag=unsupported
458
    archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
459
    old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
460
    ;;
461
 
462
  osf3*)
463
    if test "$with_gcc" = yes; then
464
      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
465
      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
466
    else
467
      allow_undefined_flag=' -expect_unresolved \*'
468
      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
469
    fi
470
    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
471
    hardcode_libdir_separator=:
472
    ;;
473
 
474
  osf4* | osf5*)        # as osf3* with the addition of -msym flag
475
    if test "$with_gcc" = yes; then
476
      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
477
      archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
478
    else
479
      allow_undefined_flag=' -expect_unresolved \*'
480
      archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'
481
    fi
482
    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
483
    hardcode_libdir_separator=:
484
    ;;
485
 
486
  sco3.2v5*)
487
    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
488
    hardcode_shlibpath_var=no
489
    runpath_var=LD_RUN_PATH
490
    hardcode_runpath_var=yes
491
    ;;
492
 
493
  solaris*)
494
    no_undefined_flag=' ${wl}-z ${wl}defs'
495
    archive_cmds='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib'
496
    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
497
      $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp'
498
 
499
    # Commands to make compiler produce verbose output that lists
500
    # what "hidden" libraries, object files and flags are used when
501
    # linking a shared library.
502
    output_verbose_link_cmds="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\""
503
 
504
    hardcode_libdir_flag_spec='${wl}-R $wl$libdir'
505
    hardcode_shlibpath_var=no
506
    case $host_os in
507
    solaris2.[0-5] | solaris2.[0-5].*) ;;
508
    *) # Supported since Solaris 2.6 (maybe 2.5.1?)
509
      whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;;
510
    esac
511
    link_all_deplibs=yes
512
    ;;
513
 
514
  sunos4*)
515
    archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
516
    hardcode_libdir_flag_spec='-L$libdir'
517
    hardcode_direct=yes
518
    hardcode_minus_L=yes
519
    hardcode_shlibpath_var=no
520
    ;;
521
 
522
  sysv4)
523
    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
524
    runpath_var='LD_RUN_PATH'
525
    hardcode_shlibpath_var=no
526
    hardcode_direct=no #Motorola manual says yes, but my tests say they lie
527
    ;;
528
 
529
  sysv4.3*)
530
    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
531
    hardcode_shlibpath_var=no
532
    export_dynamic_flag_spec='-Bexport'
533
    ;;
534
 
535
  sysv5*)
536
    no_undefined_flag=' -z text'
537
    # $CC -shared without GNU ld will not create a library from C++
538
    # object files and a static libstdc++, better avoid it by now
539
    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
540
    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
541
                $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
542
    hardcode_libdir_flag_spec=
543
    hardcode_shlibpath_var=no
544
    runpath_var='LD_RUN_PATH'
545
    ;;
546
 
547
  uts4*)
548
    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
549
    hardcode_libdir_flag_spec='-L$libdir'
550
    hardcode_shlibpath_var=no
551
    ;;
552
 
553
  dgux*)
554
    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
555
    hardcode_libdir_flag_spec='-L$libdir'
556
    hardcode_shlibpath_var=no
557
    ;;
558
 
559
  sysv4*MP*)
560
    if test -d /usr/nec; then
561
      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
562
      hardcode_shlibpath_var=no
563
      runpath_var=LD_RUN_PATH
564
      hardcode_runpath_var=yes
565
      ld_shlibs=yes
566
    fi
567
    ;;
568
 
569
  sysv4.2uw2*)
570
    archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
571
    hardcode_direct=yes
572
    hardcode_minus_L=no
573
    hardcode_shlibpath_var=no
574
    hardcode_runpath_var=yes
575
    runpath_var=LD_RUN_PATH
576
    ;;
577
 
578
  sysv5uw7* | unixware7*)
579
    no_undefined_flag='${wl}-z ${wl}text'
580
    if test "$GCC" = yes; then
581
      archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
582
    else
583
      archive_cmds='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
584
    fi
585
    runpath_var='LD_RUN_PATH'
586
    hardcode_shlibpath_var=no
587
    ;;
588
 
589
  *)
590
    ld_shlibs=no
591
    ;;
592
  esac
593
fi
594
 
595
## Compiler Characteristics: PIC flags, static flags, etc
596
 
597
# We don't use cached values here since only the C compiler
598
# characteristics should be cached.
599
  ac_cv_prog_cc_pic=
600
  ac_cv_prog_cc_shlib=
601
  ac_cv_prog_cc_wl=
602
  ac_cv_prog_cc_static=
603
  ac_cv_prog_cc_no_builtin=
604
  ac_cv_prog_cc_can_build_shared=$can_build_shared
605
 
606
    ac_cv_prog_cc_wl='-Wl,'
607
    ac_cv_prog_cc_static='-static'
608
 
609
    case $host_os in
610
    beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
611
      # PIC is the default for these OSes.
612
      ;;
613
    aix*)
614
      # Below there is a dirty hack to force normal static linking with -ldl
615
      # The problem is because libdl dynamically linked with both libc and
616
      # libC (AIX C++ library), which obviously doesn't included in libraries
617
      # list by gcc. This cause undefined symbols with -static flags.
618
      # This hack allows C programs to be linked with "-static -ldl", but
619
      # we not sure about C++ programs.
620
      ac_cv_prog_cc_static="$ac_cv_prog_cc_static ${ac_cv_prog_cc_wl}-lC"
621
      ;;
622
    *djgpp*)
623
      # DJGPP does not suppot shared libraries at all
624
      ac_cv_prog_cc_pic=
625
      ;;
626
    cygwin* | mingw* | os2*)
627
      # This hack is so that the source file can tell whether it is being
628
      # built for inclusion in a dll (and should export symbols for example).
629
      ac_cv_prog_cc_pic='-DDLL_EXPORT'
630
      ;;
631
    amigaos*)
632
      # FIXME: we need at least 68020 code to build shared libraries, but
633
      # adding the `-m68020' flag to GCC prevents building anything better,
634
      # like `-m68040'.
635
      ac_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
636
      ;;
637
    sysv4*MP*)
638
      if test -d /usr/nec; then
639
         ac_cv_prog_cc_pic=-Kconform_pic
640
      fi
641
      ;;
642
    *)
643
      ac_cv_prog_cc_pic='-fPIC'
644
      ;;
645
    esac
646
 
647
# GCJ did not exist at the time GCC didn't implicitly link libc in.
648
need_lc=no
649
 
650
# All existing releases of GCJ support `-c -o'.
651
lt_cv_compiler_c_o=yes

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.