#### This script is meant to be sourced by ltconfig. # ltcf-gcj.sh - Create a GCJ compiler specific configuration # # Copyright (C) 1996-1999, 2000, 2001, 2003 Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 1996 # # Original GCJ support by: # Alexandre Oliva # # 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 2 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; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Source file extension for Java test sources. setglobal ac_ext = 'java' # Object file extension for compiled Java test sources. setglobal objext = 'o' # Code to be used in simple compile tests setglobal lt_simple_compile_test_code = '"class foo {}'" # Code to be used in simple link tests setglobal lt_simple_link_test_code = ''public class conftest { public static void main(String[] argv) {}; }'' ## Linker Characteristics match $host_os { with cygwin* | mingw* # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test $with_gcc != yes { setglobal with_gnu_ld = 'no' } } setglobal ld_shlibs = 'yes' if test $with_gnu_ld = yes { # If archive_cmds runs LD, not CC, wlarc should be empty setglobal wlarc = ''${wl}'' # See if GNU ld supports shared libraries. match $host_os { with aix3* | aix4* | aix5* # On AIX/PPC, the GNU linker is very broken if test $host_cpu != ia64 { setglobal ld_shlibs = 'no' cat <&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. EOF } with amigaos* setglobal 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)'' setglobal hardcode_libdir_flag_spec = ''-L$libdir'' setglobal hardcode_minus_L = 'yes' # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can use # them. setglobal ld_shlibs = 'no' with beos* if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null { setglobal allow_undefined_flag = 'unsupported' # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME setglobal archive_cmds = ''$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'' } else { setglobal ld_shlibs = 'no' } with cygwin* | mingw* # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. setglobal hardcode_libdir_flag_spec = ''-L$libdir'' setglobal allow_undefined_flag = 'unsupported' setglobal always_export_symbols = 'yes' setglobal extract_expsyms_cmds = ''test -f $output_objdir/impgen.c || \ sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //; p; }" -e d < $0 > $output_objdir/impgen.c~ test -f $output_objdir/impgen.exe || (cd $output_objdir && \ if test "x$BUILD_CC" != "x" ; then $BUILD_CC -o impgen impgen.c ; \ else $CC -o impgen impgen.c ; fi)~ $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def'' setglobal old_archive_from_expsyms_cmds = ''$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib'' # cygwin and mingw dlls have different entry points and sets of symbols # to exclude. # FIXME: what about values for MSVC? setglobal dll_entry = '__cygwin_dll_entry@12' setglobal dll_exclude_symbols = 'DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~' match $host_os { with mingw* # mingw values setglobal dll_entry = '_DllMainCRTStartup@12' setglobal dll_exclude_symbols = 'DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~' } # mingw and cygwin differ, and it's simplest to just exclude the union # of the two symbol sets. setglobal dll_exclude_symbols = 'DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12' # recent cygwin and mingw systems supply a stub DllMain which the user # can override, but on older systems we have to supply one (in ltdll.c) if test "x$lt_cv_need_dllmain" = "xyes" { setglobal ltdll_obj = "'$output_objdir/$soname-ltdll.'"$objext "" setglobal 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~ test -f $output_objdir/$soname-ltdll.$objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'' } else { setglobal ltdll_obj = '' setglobal ltdll_cmds = '' } # Extract the symbol export list from an `--export-all' def file, # then regenerate the def file from the symbol export list, so that # the compiled dll only exports the symbol export list. # Be careful not to strip the DATA tag left be newer dlltools. setglobal export_symbols_cmds = ""$ltdll_cmds"' $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols"' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is. # If DATA tags from a recent dlltool are present, honour them! setglobal archive_expsym_cmds = "'if test "x`head -1 $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname-def; else echo EXPORTS > $output_objdir/$soname-def; _lt_hint=1; cat $export_symbols | while read symbol; do set dummy \$symbol; case \[$]# in 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;; esac; _lt_hint=`expr 1 + \$_lt_hint`; done; fi~ '"$ltdll_cmds"' $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~ $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~ $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~ $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~ $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags"' with netbsd* if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null { setglobal archive_cmds = ''$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'' setglobal wlarc = '' } else { setglobal archive_cmds = ''$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'' setglobal archive_expsym_cmds = ''$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'' } with solaris* | sysv5* if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null { setglobal ld_shlibs = 'no' cat <&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. EOF } elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null { setglobal archive_cmds = ''$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'' setglobal archive_expsym_cmds = ''$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'' } else { setglobal ld_shlibs = 'no' } with sunos4* setglobal archive_cmds = ''$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'' setglobal wlarc = '' setglobal hardcode_direct = 'yes' setglobal hardcode_shlibpath_var = 'no' with * if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null { setglobal archive_cmds = ''$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'' setglobal archive_expsym_cmds = ''$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'' } else { setglobal ld_shlibs = 'no' } } if test $ld_shlibs = yes { setglobal runpath_var = 'LD_RUN_PATH' setglobal hardcode_libdir_flag_spec = ''${wl}--rpath ${wl}$libdir'' setglobal export_dynamic_flag_spec = ''${wl}--export-dynamic'' match $host_os { with cygwin* | mingw* # dlltool doesn't understand --whole-archive et. al. setglobal whole_archive_flag_spec = '' with * # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null { setglobal whole_archive_flag_spec = ""$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive"' } else { setglobal whole_archive_flag_spec = '' } } } } else { # PORTME fill in a description of your system's linker (not GNU ld) match $host_os { with aix3* setglobal allow_undefined_flag = 'unsupported' setglobal always_export_symbols = 'yes' setglobal 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'' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. setglobal hardcode_minus_L = 'yes' if test $with_gcc = yes && test -z $link_static_flag { # Neither direct hardcoding nor static linking is supported with a # broken collect2. setglobal hardcode_direct = 'unsupported' } with aix4* | aix5* setglobal hardcode_direct = 'yes' setglobal hardcode_libdir_separator = '':'' setglobal link_all_deplibs = 'yes' # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. if test $with_gcc = yes { match $host_os { with aix4.[012]|aix4.[012].* # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ setglobal collect2name = $[$(CC) -print-prog-name=collect2] if test -f $collect2name && \ strings $collect2name | grep resolve_lib_name >/dev/null { # We have reworked collect2 setglobal hardcode_direct = 'yes' } else { # We have old collect2 setglobal hardcode_direct = 'unsupported' # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking setglobal hardcode_minus_L = 'yes' setglobal hardcode_libdir_flag_spec = ''-L$libdir'' setglobal hardcode_libdir_separator = '' } } setglobal shared_flag = ''-shared'' } else { # not using gcc if test $host_cpu = ia64 { setglobal shared_flag = ''${wl}-G'' } else { setglobal shared_flag = ''${wl}-bM:SRE'' } } if test $host_cpu = ia64 { # On IA64, the linker does run time linking by default, so we don't # have to do anything special. setglobal aix_use_runtimelinking = 'no' if test $with_gnu_ld = no { setglobal exp_sym_flag = ''-Bexport'' setglobal no_entry_flag = ''"" } } else { # Test if we are trying to use run time linking, or normal AIX style linking. # If -brtl is somewhere in LDFLAGS, we need to do run time linking. setglobal aix_use_runtimelinking = 'no' for ld_flag in [$LDFLAGS] { if shell {test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl" } { setglobal aix_use_runtimelinking = 'yes' break } } setglobal exp_sym_flag = ''-bexport'' setglobal no_entry_flag = ''-bnoentry'' } # -bexpall does not export symbols beginning with underscore (_) setglobal always_export_symbols = 'yes' if test $aix_use_runtimelinking = yes { # Warning - without using the other run time loading flags (-brtl), -berok will # link without error, but may produce a broken library. setglobal allow_undefined_flag = '' ${wl}-berok'' setglobal hardcode_libdir_flag_spec = ''${wl}-blibpath:$libdir:/usr/lib:/lib'' setglobal 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"" } else { if test $host_cpu = ia64 { if test $with_gnu_ld = no { setglobal hardcode_libdir_flag_spec = ''${wl}-R $libdir:/usr/lib:/lib'' setglobal allow_undefined_flag = '"-z nodefs'" setglobal 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"" } } else { setglobal allow_undefined_flag = '' ${wl}-berok'' # -bexpall does not export symbols beginning with underscore (_) setglobal always_export_symbols = 'yes' # Exported symbols can be pulled into shared objects from archives setglobal whole_archive_flag_spec = '' '' setglobal build_libtool_need_lc = 'yes' setglobal hardcode_libdir_flag_spec = ''${wl}-blibpath:$libdir:/usr/lib:/lib'' # This is similar to how AIX traditionally builds it's shared libraries. setglobal 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"' } } with amigaos* setglobal 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)'' setglobal hardcode_libdir_flag_spec = ''-L$libdir'' setglobal hardcode_minus_L = 'yes' # see comment about different semantics on the GNU ld section setglobal ld_shlibs = 'no' with cygwin* | mingw* # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. setglobal hardcode_libdir_flag_spec = '' '' setglobal allow_undefined_flag = 'unsupported' # Tell ltmain to make .lib files, not .a files. setglobal libext = 'lib' # FIXME: Setting linknames here is a bad hack. setglobal archive_cmds = ''$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '''''s/ -lc$//'''''` -link -dll~linknames='' # The linker will automatically build a .lib file if we build a DLL. setglobal old_archive_from_new_cmds = ''true'' # FIXME: Should let the user specify the lib program. setglobal old_archive_cmds = ''lib /OUT:$oldlib$oldobjs$old_deplibs'' setglobal fix_srcfile_path = ''`cygpath -w "$srcfile"`'' with freebsd1* setglobal ld_shlibs = 'no' # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). with freebsd2.2* setglobal archive_cmds = ''$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'' setglobal hardcode_libdir_flag_spec = ''-R$libdir'' setglobal hardcode_direct = 'yes' setglobal hardcode_shlibpath_var = 'no' # Unfortunately, older versions of FreeBSD 2 do not have this feature. with freebsd2* setglobal archive_cmds = ''$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'' setglobal hardcode_direct = 'yes' setglobal hardcode_minus_L = 'yes' setglobal hardcode_shlibpath_var = 'no' # FreeBSD 3 and greater uses gcc -shared to do shared libraries. with freebsd* setglobal archive_cmds = ''$CC -shared -o $lib $libobjs $deplibs $compiler_flags'' setglobal hardcode_libdir_flag_spec = ''-R$libdir'' setglobal hardcode_direct = 'yes' setglobal hardcode_shlibpath_var = 'no' with hpux9* | hpux10* | hpux11* match $host_os { with hpux9* setglobal 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'' with * setglobal archive_cmds = ''$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'' } setglobal hardcode_libdir_flag_spec = ''${wl}+b ${wl}$libdir'' setglobal hardcode_libdir_separator = ':' setglobal hardcode_direct = 'yes' setglobal hardcode_minus_L = 'yes' # Not in the search PATH, but as the default # location of the library. setglobal export_dynamic_flag_spec = ''${wl}-E'' with irix5* | irix6* if test $with_gcc = yes { setglobal 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'' } else { setglobal archive_cmds = ''$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib'' } setglobal hardcode_libdir_flag_spec = ''${wl}-rpath ${wl}$libdir'' setglobal hardcode_libdir_separator = ':' setglobal link_all_deplibs = 'yes' with netbsd* if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null { setglobal archive_cmds = ''$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'' # a.out } else { setglobal archive_cmds = ''$LD -shared -nodefaultlibs -o $lib $libobjs $deplibs $linker_flags'' # ELF } setglobal hardcode_libdir_flag_spec = ''${wl}-R$libdir'' setglobal hardcode_direct = 'yes' setglobal hardcode_shlibpath_var = 'no' with openbsd* setglobal archive_cmds = ''$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'' setglobal hardcode_libdir_flag_spec = ''-R$libdir'' setglobal hardcode_direct = 'yes' setglobal hardcode_shlibpath_var = 'no' with os2* setglobal hardcode_libdir_flag_spec = ''-L$libdir'' setglobal hardcode_minus_L = 'yes' setglobal allow_undefined_flag = 'unsupported' setglobal 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'' setglobal old_archive_from_new_cmds = ''emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'' with osf3* if test $with_gcc = yes { setglobal allow_undefined_flag = '' ${wl}-expect_unresolved ${wl}\*'' setglobal 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'' } else { setglobal allow_undefined_flag = '' -expect_unresolved \*'' setglobal 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'' } setglobal hardcode_libdir_flag_spec = ''${wl}-rpath ${wl}$libdir'' setglobal hardcode_libdir_separator = ':' with osf4* | osf5* # as osf3* with the addition of -msym flag if test $with_gcc = yes { setglobal allow_undefined_flag = '' ${wl}-expect_unresolved ${wl}\*'' setglobal 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'' } else { setglobal allow_undefined_flag = '' -expect_unresolved \*'' setglobal 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'' } setglobal hardcode_libdir_flag_spec = ''${wl}-rpath ${wl}$libdir'' setglobal hardcode_libdir_separator = ':' with sco3.2v5* setglobal archive_cmds = ''$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'' setglobal hardcode_shlibpath_var = 'no' setglobal runpath_var = 'LD_RUN_PATH' setglobal hardcode_runpath_var = 'yes' with solaris* setglobal no_undefined_flag = '' ${wl}-z ${wl}defs'' setglobal archive_cmds = ''$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'' setglobal archive_expsym_cmds = ''$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. setglobal output_verbose_link_cmds = ""$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L"\"" setglobal hardcode_libdir_flag_spec = ''${wl}-R $wl$libdir'' setglobal hardcode_shlibpath_var = 'no' match $host_os { with solaris2.[0-5] | solaris2.[0-5].* with * # Supported since Solaris 2.6 (maybe 2.5.1?) setglobal whole_archive_flag_spec = ''${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'' } setglobal link_all_deplibs = 'yes' with sunos4* setglobal archive_cmds = ''$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'' setglobal hardcode_libdir_flag_spec = ''-L$libdir'' setglobal hardcode_direct = 'yes' setglobal hardcode_minus_L = 'yes' setglobal hardcode_shlibpath_var = 'no' with sysv4 setglobal archive_cmds = ''$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'' setglobal runpath_var = ''LD_RUN_PATH'' setglobal hardcode_shlibpath_var = 'no' setglobal hardcode_direct = 'no' #Motorola manual says yes, but my tests say they lie with sysv4.3* setglobal archive_cmds = ''$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'' setglobal hardcode_shlibpath_var = 'no' setglobal export_dynamic_flag_spec = ''-Bexport'' with sysv5* setglobal no_undefined_flag = '' -z text'' # $CC -shared without GNU ld will not create a library from C++ # object files and a static libstdc++, better avoid it by now setglobal archive_cmds = ''$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'' setglobal archive_expsym_cmds = ''$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'' setglobal hardcode_libdir_flag_spec = '' setglobal hardcode_shlibpath_var = 'no' setglobal runpath_var = ''LD_RUN_PATH'' with uts4* setglobal archive_cmds = ''$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'' setglobal hardcode_libdir_flag_spec = ''-L$libdir'' setglobal hardcode_shlibpath_var = 'no' with dgux* setglobal archive_cmds = ''$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'' setglobal hardcode_libdir_flag_spec = ''-L$libdir'' setglobal hardcode_shlibpath_var = 'no' with sysv4*MP* if test -d /usr/nec { setglobal archive_cmds = ''$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'' setglobal hardcode_shlibpath_var = 'no' setglobal runpath_var = 'LD_RUN_PATH' setglobal hardcode_runpath_var = 'yes' setglobal ld_shlibs = 'yes' } with sysv4.2uw2* setglobal archive_cmds = ''$LD -G -o $lib $libobjs $deplibs $linker_flags'' setglobal hardcode_direct = 'yes' setglobal hardcode_minus_L = 'no' setglobal hardcode_shlibpath_var = 'no' setglobal hardcode_runpath_var = 'yes' setglobal runpath_var = 'LD_RUN_PATH' with sysv5uw7* | unixware7* setglobal no_undefined_flag = ''${wl}-z ${wl}text'' if test $GCC = yes { setglobal archive_cmds = ''$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'' } else { setglobal archive_cmds = ''$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'' } setglobal runpath_var = ''LD_RUN_PATH'' setglobal hardcode_shlibpath_var = 'no' with * setglobal ld_shlibs = 'no' } } ## Compiler Characteristics: PIC flags, static flags, etc # We don't use cached values here since only the C compiler # characteristics should be cached. setglobal ac_cv_prog_cc_pic = '' setglobal ac_cv_prog_cc_shlib = '' setglobal ac_cv_prog_cc_wl = '' setglobal ac_cv_prog_cc_static = '' setglobal ac_cv_prog_cc_no_builtin = '' setglobal ac_cv_prog_cc_can_build_shared = $can_build_shared setglobal ac_cv_prog_cc_wl = ''-Wl,'' setglobal ac_cv_prog_cc_static = ''-static'' match $host_os { with beos* | irix5* | irix6* | osf3* | osf4* | osf5* # PIC is the default for these OSes. with aix* # Below there is a dirty hack to force normal static linking with -ldl # The problem is because libdl dynamically linked with both libc and # libC (AIX C++ library), which obviously doesn't included in libraries # list by gcc. This cause undefined symbols with -static flags. # This hack allows C programs to be linked with "-static -ldl", but # we not sure about C++ programs. setglobal ac_cv_prog_cc_static = ""$ac_cv_prog_cc_static $(ac_cv_prog_cc_wl)-lC"" with *djgpp* # DJGPP does not suppot shared libraries at all setglobal ac_cv_prog_cc_pic = '' with cygwin* | mingw* | os2* # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). setglobal ac_cv_prog_cc_pic = ''-DDLL_EXPORT'' with amigaos* # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. setglobal ac_cv_prog_cc_pic = ''-m68020 -resident32 -malways-restore-a4'' with sysv4*MP* if test -d /usr/nec { setglobal ac_cv_prog_cc_pic = '-Kconform_pic' } with * setglobal ac_cv_prog_cc_pic = ''-fPIC'' } # GCJ did not exist at the time GCC didn't implicitly link libc in. setglobal need_lc = 'no' # All existing releases of GCJ support `-c -o'. setglobal lt_cv_compiler_c_o = 'yes'