aclocal.m4
上传用户:qaz666999
上传日期:2022-08-06
资源大小:2570k
文件大小:301k
源码类别:

数学计算

开发平台:

Unix_Linux

  1.       esac
  2.     fi
  3.   done
  4.   IFS="$lt_save_ifs"
  5. else
  6.   lt_cv_path_LD="$LD" # Let the user override the test with a path.
  7. fi])
  8. LD="$lt_cv_path_LD"
  9. if test -n "$LD"; then
  10.   AC_MSG_RESULT($LD)
  11. else
  12.   AC_MSG_RESULT(no)
  13. fi
  14. test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in $PATH])
  15. _LT_PATH_LD_GNU
  16. AC_SUBST([LD])
  17. _LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
  18. ])# LT_PATH_LD
  19. # Old names:
  20. AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
  21. AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
  22. dnl aclocal-1.4 backwards compatibility:
  23. dnl AC_DEFUN([AM_PROG_LD], [])
  24. dnl AC_DEFUN([AC_PROG_LD], [])
  25. # _LT_PATH_LD_GNU
  26. #- --------------
  27. m4_defun([_LT_PATH_LD_GNU],
  28. [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
  29. [# I'd rather use --version here, but apparently some GNU lds only accept -v.
  30. case `$LD -v 2>&1 </dev/null` in
  31. *GNU* | *'with BFD'*)
  32.   lt_cv_prog_gnu_ld=yes
  33.   ;;
  34. *)
  35.   lt_cv_prog_gnu_ld=no
  36.   ;;
  37. esac])
  38. with_gnu_ld=$lt_cv_prog_gnu_ld
  39. ])# _LT_PATH_LD_GNU
  40. # _LT_CMD_RELOAD
  41. # --------------
  42. # find reload flag for linker
  43. #   -- PORTME Some linkers may need a different reload flag.
  44. m4_defun([_LT_CMD_RELOAD],
  45. [AC_CACHE_CHECK([for $LD option to reload object files],
  46.   lt_cv_ld_reload_flag,
  47.   [lt_cv_ld_reload_flag='-r'])
  48. reload_flag=$lt_cv_ld_reload_flag
  49. case $reload_flag in
  50. "" | " "*) ;;
  51. *) reload_flag=" $reload_flag" ;;
  52. esac
  53. reload_cmds='$LD$reload_flag -o $output$reload_objs'
  54. case $host_os in
  55.   darwin*)
  56.     if test "$GCC" = yes; then
  57.       reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
  58.     else
  59.       reload_cmds='$LD$reload_flag -o $output$reload_objs'
  60.     fi
  61.     ;;
  62. esac
  63. _LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
  64. _LT_DECL([], [reload_cmds], [2])dnl
  65. ])# _LT_CMD_RELOAD
  66. # _LT_CHECK_MAGIC_METHOD
  67. # ----------------------
  68. # how to check for library dependencies
  69. #  -- PORTME fill in with the dynamic library characteristics
  70. m4_defun([_LT_CHECK_MAGIC_METHOD],
  71. [m4_require([_LT_DECL_EGREP])
  72. m4_require([_LT_DECL_OBJDUMP])
  73. AC_CACHE_CHECK([how to recognize dependent libraries],
  74. lt_cv_deplibs_check_method,
  75. [lt_cv_file_magic_cmd='$MAGIC_CMD'
  76. lt_cv_file_magic_test_file=
  77. lt_cv_deplibs_check_method='unknown'
  78. # Need to set the preceding variable on all platforms that support
  79. # interlibrary dependencies.
  80. # 'none' -- dependencies not supported.
  81. # `unknown' -- same as none, but documents that we really don't know.
  82. # 'pass_all' -- all dependencies passed with no checks.
  83. # 'test_compile' -- check by making test program.
  84. # 'file_magic [[regex]]' -- check by looking for files in library path
  85. # which responds to the $file_magic_cmd with a given extended regex.
  86. # If you have `file' or equivalent on your system and you're not sure
  87. # whether `pass_all' will *always* work, you probably want this one.
  88. case $host_os in
  89. aix[[4-9]]*)
  90.   lt_cv_deplibs_check_method=pass_all
  91.   ;;
  92. beos*)
  93.   lt_cv_deplibs_check_method=pass_all
  94.   ;;
  95. bsdi[[45]]*)
  96.   lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
  97.   lt_cv_file_magic_cmd='/usr/bin/file -L'
  98.   lt_cv_file_magic_test_file=/shlib/libc.so
  99.   ;;
  100. cygwin*)
  101.   # func_win32_libid is a shell function defined in ltmain.sh
  102.   lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
  103.   lt_cv_file_magic_cmd='func_win32_libid'
  104.   ;;
  105. mingw* | pw32*)
  106.   # Base MSYS/MinGW do not provide the 'file' command needed by
  107.   # func_win32_libid shell function, so use a weaker test based on 'objdump',
  108.   # unless we find 'file', for example because we are cross-compiling.
  109.   if ( file / ) >/dev/null 2>&1; then
  110.     lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
  111.     lt_cv_file_magic_cmd='func_win32_libid'
  112.   else
  113.     lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
  114.     lt_cv_file_magic_cmd='$OBJDUMP -f'
  115.   fi
  116.   ;;
  117. cegcc)
  118.   # use the weaker test based on 'objdump'. See mingw*.
  119.   lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
  120.   lt_cv_file_magic_cmd='$OBJDUMP -f'
  121.   ;;
  122. darwin* | rhapsody*)
  123.   lt_cv_deplibs_check_method=pass_all
  124.   ;;
  125. freebsd* | dragonfly*)
  126.   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
  127.     case $host_cpu in
  128.     i*86 )
  129.       # Not sure whether the presence of OpenBSD here was a mistake.
  130.       # Let's accept both of them until this is cleared up.
  131.       lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
  132.       lt_cv_file_magic_cmd=/usr/bin/file
  133.       lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
  134.       ;;
  135.     esac
  136.   else
  137.     lt_cv_deplibs_check_method=pass_all
  138.   fi
  139.   ;;
  140. gnu*)
  141.   lt_cv_deplibs_check_method=pass_all
  142.   ;;
  143. hpux10.20* | hpux11*)
  144.   lt_cv_file_magic_cmd=/usr/bin/file
  145.   case $host_cpu in
  146.   ia64*)
  147.     lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
  148.     lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
  149.     ;;
  150.   hppa*64*)
  151.     [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
  152.     lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
  153.     ;;
  154.   *)
  155.     lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
  156.     lt_cv_file_magic_test_file=/usr/lib/libc.sl
  157.     ;;
  158.   esac
  159.   ;;
  160. interix[[3-9]]*)
  161.   # PIC code is broken on Interix 3.x, that's why |.a not |_pic.a here
  162.   lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(.so|.a)$'
  163.   ;;
  164. irix5* | irix6* | nonstopux*)
  165.   case $LD in
  166.   *-32|*"-32 ") libmagic=32-bit;;
  167.   *-n32|*"-n32 ") libmagic=N32;;
  168.   *-64|*"-64 ") libmagic=64-bit;;
  169.   *) libmagic=never-match;;
  170.   esac
  171.   lt_cv_deplibs_check_method=pass_all
  172.   ;;
  173. # This must be Linux ELF.
  174. linux* | k*bsd*-gnu)
  175.   lt_cv_deplibs_check_method=pass_all
  176.   ;;
  177. netbsd*)
  178.   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
  179.     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(.so.[[0-9]]+.[[0-9]]+|_pic.a)$'
  180.   else
  181.     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(.so|_pic.a)$'
  182.   fi
  183.   ;;
  184. newos6*)
  185.   lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
  186.   lt_cv_file_magic_cmd=/usr/bin/file
  187.   lt_cv_file_magic_test_file=/usr/lib/libnls.so
  188.   ;;
  189. *nto* | *qnx*)
  190.   lt_cv_deplibs_check_method=pass_all
  191.   ;;
  192. openbsd*)
  193.   if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
  194.     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(.so.[[0-9]]+.[[0-9]]+|.so|_pic.a)$'
  195.   else
  196.     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(.so.[[0-9]]+.[[0-9]]+|_pic.a)$'
  197.   fi
  198.   ;;
  199. osf3* | osf4* | osf5*)
  200.   lt_cv_deplibs_check_method=pass_all
  201.   ;;
  202. rdos*)
  203.   lt_cv_deplibs_check_method=pass_all
  204.   ;;
  205. solaris*)
  206.   lt_cv_deplibs_check_method=pass_all
  207.   ;;
  208. sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
  209.   lt_cv_deplibs_check_method=pass_all
  210.   ;;
  211. sysv4 | sysv4.3*)
  212.   case $host_vendor in
  213.   motorola)
  214.     lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
  215.     lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
  216.     ;;
  217.   ncr)
  218.     lt_cv_deplibs_check_method=pass_all
  219.     ;;
  220.   sequent)
  221.     lt_cv_file_magic_cmd='/bin/file'
  222.     lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
  223.     ;;
  224.   sni)
  225.     lt_cv_file_magic_cmd='/bin/file'
  226.     lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
  227.     lt_cv_file_magic_test_file=/lib/libc.so
  228.     ;;
  229.   siemens)
  230.     lt_cv_deplibs_check_method=pass_all
  231.     ;;
  232.   pc)
  233.     lt_cv_deplibs_check_method=pass_all
  234.     ;;
  235.   esac
  236.   ;;
  237. tpf*)
  238.   lt_cv_deplibs_check_method=pass_all
  239.   ;;
  240. esac
  241. ])
  242. file_magic_cmd=$lt_cv_file_magic_cmd
  243. deplibs_check_method=$lt_cv_deplibs_check_method
  244. test -z "$deplibs_check_method" && deplibs_check_method=unknown
  245. _LT_DECL([], [deplibs_check_method], [1],
  246.     [Method to check whether dependent libraries are shared objects])
  247. _LT_DECL([], [file_magic_cmd], [1],
  248.     [Command to use when deplibs_check_method == "file_magic"])
  249. ])# _LT_CHECK_MAGIC_METHOD
  250. # LT_PATH_NM
  251. # ----------
  252. # find the pathname to a BSD- or MS-compatible name lister
  253. AC_DEFUN([LT_PATH_NM],
  254. [AC_REQUIRE([AC_PROG_CC])dnl
  255. AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
  256. [if test -n "$NM"; then
  257.   # Let the user override the test.
  258.   lt_cv_path_NM="$NM"
  259. else
  260.   lt_nm_to_check="${ac_tool_prefix}nm"
  261.   if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
  262.     lt_nm_to_check="$lt_nm_to_check nm"
  263.   fi
  264.   for lt_tmp_nm in $lt_nm_to_check; do
  265.     lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
  266.     for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
  267.       IFS="$lt_save_ifs"
  268.       test -z "$ac_dir" && ac_dir=.
  269.       tmp_nm="$ac_dir/$lt_tmp_nm"
  270.       if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
  271. # Check to see if the nm accepts a BSD-compat flag.
  272. # Adding the `sed 1q' prevents false positives on HP-UX, which says:
  273. #   nm: unknown option "B" ignored
  274. # Tru64's nm complains that /dev/null is an invalid object file
  275. case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
  276. */dev/null* | *'Invalid file or object type'*)
  277.   lt_cv_path_NM="$tmp_nm -B"
  278.   break
  279.   ;;
  280. *)
  281.   case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
  282.   */dev/null*)
  283.     lt_cv_path_NM="$tmp_nm -p"
  284.     break
  285.     ;;
  286.   *)
  287.     lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
  288.     continue # so that we can try to find one that supports BSD flags
  289.     ;;
  290.   esac
  291.   ;;
  292. esac
  293.       fi
  294.     done
  295.     IFS="$lt_save_ifs"
  296.   done
  297.   : ${lt_cv_path_NM=no}
  298. fi])
  299. if test "$lt_cv_path_NM" != "no"; then
  300.   NM="$lt_cv_path_NM"
  301. else
  302.   # Didn't find any BSD compatible name lister, look for dumpbin.
  303.   AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
  304.   AC_SUBST([DUMPBIN])
  305.   if test "$DUMPBIN" != ":"; then
  306.     NM="$DUMPBIN"
  307.   fi
  308. fi
  309. test -z "$NM" && NM=nm
  310. AC_SUBST([NM])
  311. _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
  312. AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
  313.   [lt_cv_nm_interface="BSD nm"
  314.   echo "int some_variable = 0;" > conftest.$ac_ext
  315.   (eval echo ""$as_me:__oline__: $ac_compile"" >&AS_MESSAGE_LOG_FD)
  316.   (eval "$ac_compile" 2>conftest.err)
  317.   cat conftest.err >&AS_MESSAGE_LOG_FD
  318.   (eval echo ""$as_me:__oline__: $NM \"conftest.$ac_objext\""" >&AS_MESSAGE_LOG_FD)
  319.   (eval "$NM "conftest.$ac_objext"" 2>conftest.err > conftest.out)
  320.   cat conftest.err >&AS_MESSAGE_LOG_FD
  321.   (eval echo ""$as_me:__oline__: output"" >&AS_MESSAGE_LOG_FD)
  322.   cat conftest.out >&AS_MESSAGE_LOG_FD
  323.   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
  324.     lt_cv_nm_interface="MS dumpbin"
  325.   fi
  326.   rm -f conftest*])
  327. ])# LT_PATH_NM
  328. # Old names:
  329. AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
  330. AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
  331. dnl aclocal-1.4 backwards compatibility:
  332. dnl AC_DEFUN([AM_PROG_NM], [])
  333. dnl AC_DEFUN([AC_PROG_NM], [])
  334. # LT_LIB_M
  335. # --------
  336. # check for math library
  337. AC_DEFUN([LT_LIB_M],
  338. [AC_REQUIRE([AC_CANONICAL_HOST])dnl
  339. LIBM=
  340. case $host in
  341. *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
  342.   # These system don't have libm, or don't need it
  343.   ;;
  344. *-ncr-sysv4.3*)
  345.   AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
  346.   AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
  347.   ;;
  348. *)
  349.   AC_CHECK_LIB(m, cos, LIBM="-lm")
  350.   ;;
  351. esac
  352. AC_SUBST([LIBM])
  353. ])# LT_LIB_M
  354. # Old name:
  355. AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
  356. dnl aclocal-1.4 backwards compatibility:
  357. dnl AC_DEFUN([AC_CHECK_LIBM], [])
  358. # _LT_COMPILER_NO_RTTI([TAGNAME])
  359. # -------------------------------
  360. m4_defun([_LT_COMPILER_NO_RTTI],
  361. [m4_require([_LT_TAG_COMPILER])dnl
  362. _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
  363. if test "$GCC" = yes; then
  364.   _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
  365.   _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
  366.     lt_cv_prog_compiler_rtti_exceptions,
  367.     [-fno-rtti -fno-exceptions], [],
  368.     [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
  369. fi
  370. _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
  371. [Compiler flag to turn off builtin functions])
  372. ])# _LT_COMPILER_NO_RTTI
  373. # _LT_CMD_GLOBAL_SYMBOLS
  374. # ----------------------
  375. m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
  376. [AC_REQUIRE([AC_CANONICAL_HOST])dnl
  377. AC_REQUIRE([AC_PROG_CC])dnl
  378. AC_REQUIRE([LT_PATH_NM])dnl
  379. AC_REQUIRE([LT_PATH_LD])dnl
  380. m4_require([_LT_DECL_SED])dnl
  381. m4_require([_LT_DECL_EGREP])dnl
  382. m4_require([_LT_TAG_COMPILER])dnl
  383. # Check for command to grab the raw symbol name followed by C symbol from nm.
  384. AC_MSG_CHECKING([command to parse $NM output from $compiler object])
  385. AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
  386. [
  387. # These are sane defaults that work on at least a few old systems.
  388. # [They come from Ultrix.  What could be older than Ultrix?!! ;)]
  389. # Character class describing NM global symbol codes.
  390. symcode='[[BCDEGRST]]'
  391. # Regexp to match symbols that can be accessed directly from C.
  392. sympat='([[_A-Za-z]][[_A-Za-z0-9]]*)'
  393. # Define system-specific variables.
  394. case $host_os in
  395. aix*)
  396.   symcode='[[BCDT]]'
  397.   ;;
  398. cygwin* | mingw* | pw32* | cegcc*)
  399.   symcode='[[ABCDGISTW]]'
  400.   ;;
  401. hpux*)
  402.   if test "$host_cpu" = ia64; then
  403.     symcode='[[ABCDEGRST]]'
  404.   fi
  405.   ;;
  406. irix* | nonstopux*)
  407.   symcode='[[BCDEGRST]]'
  408.   ;;
  409. osf*)
  410.   symcode='[[BCDEGQRST]]'
  411.   ;;
  412. solaris*)
  413.   symcode='[[BDRT]]'
  414.   ;;
  415. sco3.2v5*)
  416.   symcode='[[DT]]'
  417.   ;;
  418. sysv4.2uw2*)
  419.   symcode='[[DT]]'
  420.   ;;
  421. sysv5* | sco5v6* | unixware* | OpenUNIX*)
  422.   symcode='[[ABDT]]'
  423.   ;;
  424. sysv4)
  425.   symcode='[[DFNSTU]]'
  426.   ;;
  427. esac
  428. # If we're using GNU nm, then use its standard symbol codes.
  429. case `$NM -V 2>&1` in
  430. *GNU* | *'with BFD'*)
  431.   symcode='[[ABCDGIRSTW]]' ;;
  432. esac
  433. # Transform an extracted symbol line into a proper C declaration.
  434. # Some systems (esp. on ia64) link data and code symbols differently,
  435. # so use this general approach.
  436. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* (.*)$/extern int 1();/p' -e 's/^$symcode* .* (.*)$/extern char 1;/p'"
  437. # Transform an extracted symbol line into symbol name and symbol address
  438. lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: ([[^ ]]*) $/  {\"1\", (void *) 0},/p' -e 's/^$symcode* ([[^ ]]*) ([[^ ]]*)$/  {"2", (void *) &2},/p'"
  439. lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: ([[^ ]]*) $/  {\"1\", (void *) 0},/p' -e 's/^$symcode* ([[^ ]]*) (lib[[^ ]]*)$/  {"2", (void *) &2},/p' -e 's/^$symcode* ([[^ ]]*) ([[^ ]]*)$/  {"lib2", (void *) &2},/p'"
  440. # Handle CRLF in mingw tool chain
  441. opt_cr=
  442. case $build_os in
  443. mingw*)
  444.   opt_cr=`$ECHO 'x{0,1}' | tr x '15'` # option cr in regexp
  445.   ;;
  446. esac
  447. # Try without a prefix underscore, then with it.
  448. for ac_symprfx in "" "_"; do
  449.   # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
  450.   symxfrm="\1 $ac_symprfx\2 \2"
  451.   # Write the raw and C identifiers.
  452.   if test "$lt_cv_nm_interface" = "MS dumpbin"; then
  453.     # Fake it for dumpbin and say T for any non-static function
  454.     # and D for any global variable.
  455.     # Also find C++ and __fastcall symbols from MSVC++,
  456.     # which start with @ or ?.
  457.     lt_cv_sys_global_symbol_pipe="$AWK ['"
  458. "     {last_section=section; section=$ 3};"
  459. "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"
  460. "     $ 0!~/External *|/{next};"
  461. "     / 0+ UNDEF /{next}; / UNDEF ([^|])*()/{next};"
  462. "     {if(hide[section]) next};"
  463. "     {f=0}; $ 0~/().*|/{f=1}; {printf f ? "T " : "D "};"
  464. "     {split($ 0, a, /||r/); split(a[2], s)};"
  465. "     s[1]~/^[@?]/{print s[1], s[1]; next};"
  466. "     s[1]~prfx {split(s[1],t,"@"); print t[1], substr(t[1],length(prfx))}"
  467. "     ' prfx=^$ac_symprfx]"
  468.   else
  469.     lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[  ]]($symcode$symcode*)[[  ]][[  ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
  470.   fi
  471.   # Check to see that the pipe works correctly.
  472.   pipe_works=no
  473.   rm -f conftest*
  474.   cat > conftest.$ac_ext <<_LT_EOF
  475. #ifdef __cplusplus
  476. extern "C" {
  477. #endif
  478. char nm_test_var;
  479. void nm_test_func(void);
  480. void nm_test_func(void){}
  481. #ifdef __cplusplus
  482. }
  483. #endif
  484. int main(){nm_test_var='a';nm_test_func();return(0);}
  485. _LT_EOF
  486.   if AC_TRY_EVAL(ac_compile); then
  487.     # Now try to grab the symbols.
  488.     nlist=conftest.nm
  489.     if AC_TRY_EVAL(NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist) && test -s "$nlist"; then
  490.       # Try sorting and uniquifying the output.
  491.       if sort "$nlist" | uniq > "$nlist"T; then
  492. mv -f "$nlist"T "$nlist"
  493.       else
  494. rm -f "$nlist"T
  495.       fi
  496.       # Make sure that we snagged all the symbols we need.
  497.       if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
  498. if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
  499.   cat <<_LT_EOF > conftest.$ac_ext
  500. #ifdef __cplusplus
  501. extern "C" {
  502. #endif
  503. _LT_EOF
  504.   # Now generate the symbol file.
  505.   eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
  506.   cat <<_LT_EOF >> conftest.$ac_ext
  507. /* The mapping between symbol names and symbols.  */
  508. const struct {
  509.   const char *name;
  510.   void       *address;
  511. }
  512. lt__PROGRAM__LTX_preloaded_symbols[[]] =
  513. {
  514.   { "@PROGRAM@", (void *) 0 },
  515. _LT_EOF
  516.   $SED "s/^$symcode$symcode* (.*) (.*)$/  {"2", (void *) &2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
  517.   cat <<_LT_EOF >> conftest.$ac_ext
  518.   {0, (void *) 0}
  519. };
  520. /* This works around a problem in FreeBSD linker */
  521. #ifdef FREEBSD_WORKAROUND
  522. static const void *lt_preloaded_setup() {
  523.   return lt__PROGRAM__LTX_preloaded_symbols;
  524. }
  525. #endif
  526. #ifdef __cplusplus
  527. }
  528. #endif
  529. _LT_EOF
  530.   # Now try linking the two files.
  531.   mv conftest.$ac_objext conftstm.$ac_objext
  532.   lt_save_LIBS="$LIBS"
  533.   lt_save_CFLAGS="$CFLAGS"
  534.   LIBS="conftstm.$ac_objext"
  535.   CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
  536.   if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
  537.     pipe_works=yes
  538.   fi
  539.   LIBS="$lt_save_LIBS"
  540.   CFLAGS="$lt_save_CFLAGS"
  541. else
  542.   echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
  543. fi
  544.       else
  545. echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
  546.       fi
  547.     else
  548.       echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
  549.     fi
  550.   else
  551.     echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
  552.     cat conftest.$ac_ext >&5
  553.   fi
  554.   rm -rf conftest* conftst*
  555.   # Do not use the global_symbol_pipe unless it works.
  556.   if test "$pipe_works" = yes; then
  557.     break
  558.   else
  559.     lt_cv_sys_global_symbol_pipe=
  560.   fi
  561. done
  562. ])
  563. if test -z "$lt_cv_sys_global_symbol_pipe"; then
  564.   lt_cv_sys_global_symbol_to_cdecl=
  565. fi
  566. if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
  567.   AC_MSG_RESULT(failed)
  568. else
  569.   AC_MSG_RESULT(ok)
  570. fi
  571. _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
  572.     [Take the output of nm and produce a listing of raw symbols and C names])
  573. _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
  574.     [Transform the output of nm in a proper C declaration])
  575. _LT_DECL([global_symbol_to_c_name_address],
  576.     [lt_cv_sys_global_symbol_to_c_name_address], [1],
  577.     [Transform the output of nm in a C name address pair])
  578. _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
  579.     [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
  580.     [Transform the output of nm in a C name address pair when lib prefix is needed])
  581. ]) # _LT_CMD_GLOBAL_SYMBOLS
  582. # _LT_COMPILER_PIC([TAGNAME])
  583. # ---------------------------
  584. m4_defun([_LT_COMPILER_PIC],
  585. [m4_require([_LT_TAG_COMPILER])dnl
  586. _LT_TAGVAR(lt_prog_compiler_wl, $1)=
  587. _LT_TAGVAR(lt_prog_compiler_pic, $1)=
  588. _LT_TAGVAR(lt_prog_compiler_static, $1)=
  589. AC_MSG_CHECKING([for $compiler option to produce PIC])
  590. m4_if([$1], [CXX], [
  591.   # C++ specific cases for pic, static, wl, etc.
  592.   if test "$GXX" = yes; then
  593.     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  594.     _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
  595.     case $host_os in
  596.     aix*)
  597.       # All AIX code is PIC.
  598.       if test "$host_cpu" = ia64; then
  599. # AIX 5 now supports IA64 processor
  600. _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  601.       fi
  602.       ;;
  603.     amigaos*)
  604.       case $host_cpu in
  605.       powerpc)
  606.             # see comment about AmigaOS4 .so support
  607.             _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
  608.         ;;
  609.       m68k)
  610.             # FIXME: we need at least 68020 code to build shared libraries, but
  611.             # adding the `-m68020' flag to GCC prevents building anything better,
  612.             # like `-m68040'.
  613.             _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
  614.         ;;
  615.       esac
  616.       ;;
  617.     beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
  618.       # PIC is the default for these OSes.
  619.       ;;
  620.     mingw* | cygwin* | os2* | pw32* | cegcc*)
  621.       # This hack is so that the source file can tell whether it is being
  622.       # built for inclusion in a dll (and should export symbols for example).
  623.       # Although the cygwin gcc ignores -fPIC, still need this for old-style
  624.       # (--disable-auto-import) libraries
  625.       m4_if([$1], [GCJ], [],
  626. [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
  627.       ;;
  628.     darwin* | rhapsody*)
  629.       # PIC is the default on this platform
  630.       # Common symbols not allowed in MH_DYLIB files
  631.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
  632.       ;;
  633.     *djgpp*)
  634.       # DJGPP does not support shared libraries at all
  635.       _LT_TAGVAR(lt_prog_compiler_pic, $1)=
  636.       ;;
  637.     interix[[3-9]]*)
  638.       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
  639.       # Instead, we relocate shared libraries at runtime.
  640.       ;;
  641.     sysv4*MP*)
  642.       if test -d /usr/nec; then
  643. _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
  644.       fi
  645.       ;;
  646.     hpux*)
  647.       # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
  648.       # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
  649.       # sets the default TLS model and affects inlining.
  650.       case $host_cpu in
  651.       hppa*64*)
  652. ;;
  653.       *)
  654. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
  655. ;;
  656.       esac
  657.       ;;
  658.     *qnx* | *nto*)
  659.       # QNX uses GNU C++, but need to define -shared option too, otherwise
  660.       # it will coredump.
  661.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
  662.       ;;
  663.     *)
  664.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
  665.       ;;
  666.     esac
  667.   else
  668.     case $host_os in
  669.       aix[[4-9]]*)
  670. # All AIX code is PIC.
  671. if test "$host_cpu" = ia64; then
  672.   # AIX 5 now supports IA64 processor
  673.   _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  674. else
  675.   _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
  676. fi
  677. ;;
  678.       chorus*)
  679. case $cc_basename in
  680. cxch68*)
  681.   # Green Hills C++ Compiler
  682.   # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
  683.   ;;
  684. esac
  685. ;;
  686.       dgux*)
  687. case $cc_basename in
  688.   ec++*)
  689.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
  690.     ;;
  691.   ghcx*)
  692.     # Green Hills C++ Compiler
  693.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
  694.     ;;
  695.   *)
  696.     ;;
  697. esac
  698. ;;
  699.       freebsd* | dragonfly*)
  700. # FreeBSD uses GNU C++
  701. ;;
  702.       hpux9* | hpux10* | hpux11*)
  703. case $cc_basename in
  704.   CC*)
  705.     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  706.     _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
  707.     if test "$host_cpu" != ia64; then
  708.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
  709.     fi
  710.     ;;
  711.   aCC*)
  712.     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  713.     _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
  714.     case $host_cpu in
  715.     hppa*64*|ia64*)
  716.       # +Z the default
  717.       ;;
  718.     *)
  719.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
  720.       ;;
  721.     esac
  722.     ;;
  723.   *)
  724.     ;;
  725. esac
  726. ;;
  727.       interix*)
  728. # This is c89, which is MS Visual C++ (no shared libs)
  729. # Anyone wants to do a port?
  730. ;;
  731.       irix5* | irix6* | nonstopux*)
  732. case $cc_basename in
  733.   CC*)
  734.     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  735.     _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
  736.     # CC pic flag -KPIC is the default.
  737.     ;;
  738.   *)
  739.     ;;
  740. esac
  741. ;;
  742.       linux* | k*bsd*-gnu)
  743. case $cc_basename in
  744.   KCC*)
  745.     # KAI C++ Compiler
  746.     _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
  747.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
  748.     ;;
  749.   ecpc* )
  750.     # old Intel C++ for x86_64 which still supported -KPIC.
  751.     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  752.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
  753.     _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
  754.     ;;
  755.   icpc* )
  756.     # Intel C++, used to be incompatible with GCC.
  757.     # ICC 10 doesn't accept -KPIC any more.
  758.     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  759.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
  760.     _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
  761.     ;;
  762.   pgCC* | pgcpp*)
  763.     # Portland Group C++ compiler
  764.     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  765.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
  766.     _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  767.     ;;
  768.   cxx*)
  769.     # Compaq C++
  770.     # Make sure the PIC flag is empty.  It appears that all Alpha
  771.     # Linux and Compaq Tru64 Unix objects are PIC.
  772.     _LT_TAGVAR(lt_prog_compiler_pic, $1)=
  773.     _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
  774.     ;;
  775.   xlc* | xlC*)
  776.     # IBM XL 8.0 on PPC
  777.     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  778.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
  779.     _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
  780.     ;;
  781.   *)
  782.     case `$CC -V 2>&1 | sed 5q` in
  783.     *Sun C*)
  784.       # Sun C++ 5.9
  785.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
  786.       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  787.       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
  788.       ;;
  789.     esac
  790.     ;;
  791. esac
  792. ;;
  793.       lynxos*)
  794. ;;
  795.       m88k*)
  796. ;;
  797.       mvs*)
  798. case $cc_basename in
  799.   cxx*)
  800.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
  801.     ;;
  802.   *)
  803.     ;;
  804. esac
  805. ;;
  806.       netbsd*)
  807. ;;
  808.       *qnx* | *nto*)
  809.         # QNX uses GNU C++, but need to define -shared option too, otherwise
  810.         # it will coredump.
  811.         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
  812.         ;;
  813.       osf3* | osf4* | osf5*)
  814. case $cc_basename in
  815.   KCC*)
  816.     _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
  817.     ;;
  818.   RCC*)
  819.     # Rational C++ 2.4.1
  820.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
  821.     ;;
  822.   cxx*)
  823.     # Digital/Compaq C++
  824.     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  825.     # Make sure the PIC flag is empty.  It appears that all Alpha
  826.     # Linux and Compaq Tru64 Unix objects are PIC.
  827.     _LT_TAGVAR(lt_prog_compiler_pic, $1)=
  828.     _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
  829.     ;;
  830.   *)
  831.     ;;
  832. esac
  833. ;;
  834.       psos*)
  835. ;;
  836.       solaris*)
  837. case $cc_basename in
  838.   CC*)
  839.     # Sun C++ 4.2, 5.x and Centerline C++
  840.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
  841.     _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  842.     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
  843.     ;;
  844.   gcx*)
  845.     # Green Hills C++ Compiler
  846.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
  847.     ;;
  848.   *)
  849.     ;;
  850. esac
  851. ;;
  852.       sunos4*)
  853. case $cc_basename in
  854.   CC*)
  855.     # Sun C++ 4.x
  856.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
  857.     _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  858.     ;;
  859.   lcc*)
  860.     # Lucid
  861.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
  862.     ;;
  863.   *)
  864.     ;;
  865. esac
  866. ;;
  867.       sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
  868. case $cc_basename in
  869.   CC*)
  870.     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  871.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
  872.     _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  873.     ;;
  874. esac
  875. ;;
  876.       tandem*)
  877. case $cc_basename in
  878.   NCC*)
  879.     # NonStop-UX NCC 3.20
  880.     _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
  881.     ;;
  882.   *)
  883.     ;;
  884. esac
  885. ;;
  886.       vxworks*)
  887. ;;
  888.       *)
  889. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
  890. ;;
  891.     esac
  892.   fi
  893. ],
  894. [
  895.   if test "$GCC" = yes; then
  896.     _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  897.     _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
  898.     case $host_os in
  899.       aix*)
  900.       # All AIX code is PIC.
  901.       if test "$host_cpu" = ia64; then
  902. # AIX 5 now supports IA64 processor
  903. _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  904.       fi
  905.       ;;
  906.     amigaos*)
  907.       case $host_cpu in
  908.       powerpc)
  909.             # see comment about AmigaOS4 .so support
  910.             _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
  911.         ;;
  912.       m68k)
  913.             # FIXME: we need at least 68020 code to build shared libraries, but
  914.             # adding the `-m68020' flag to GCC prevents building anything better,
  915.             # like `-m68040'.
  916.             _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
  917.         ;;
  918.       esac
  919.       ;;
  920.     beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
  921.       # PIC is the default for these OSes.
  922.       ;;
  923.     mingw* | cygwin* | pw32* | os2* | cegcc*)
  924.       # This hack is so that the source file can tell whether it is being
  925.       # built for inclusion in a dll (and should export symbols for example).
  926.       # Although the cygwin gcc ignores -fPIC, still need this for old-style
  927.       # (--disable-auto-import) libraries
  928.       m4_if([$1], [GCJ], [],
  929. [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
  930.       ;;
  931.     darwin* | rhapsody*)
  932.       # PIC is the default on this platform
  933.       # Common symbols not allowed in MH_DYLIB files
  934.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
  935.       ;;
  936.     hpux*)
  937.       # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
  938.       # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
  939.       # sets the default TLS model and affects inlining.
  940.       case $host_cpu in
  941.       hppa*64*)
  942. # +Z the default
  943. ;;
  944.       *)
  945. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
  946. ;;
  947.       esac
  948.       ;;
  949.     interix[[3-9]]*)
  950.       # Interix 3.x gcc -fpic/-fPIC options generate broken code.
  951.       # Instead, we relocate shared libraries at runtime.
  952.       ;;
  953.     msdosdjgpp*)
  954.       # Just because we use GCC doesn't mean we suddenly get shared libraries
  955.       # on systems that don't support them.
  956.       _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
  957.       enable_shared=no
  958.       ;;
  959.     *nto* | *qnx*)
  960.       # QNX uses GNU C++, but need to define -shared option too, otherwise
  961.       # it will coredump.
  962.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
  963.       ;;
  964.     sysv4*MP*)
  965.       if test -d /usr/nec; then
  966. _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
  967.       fi
  968.       ;;
  969.     *)
  970.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
  971.       ;;
  972.     esac
  973.   else
  974.     # PORTME Check for flag to pass linker flags through the system compiler.
  975.     case $host_os in
  976.     aix*)
  977.       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  978.       if test "$host_cpu" = ia64; then
  979. # AIX 5 now supports IA64 processor
  980. _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  981.       else
  982. _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
  983.       fi
  984.       ;;
  985.     mingw* | cygwin* | pw32* | os2* | cegcc*)
  986.       # This hack is so that the source file can tell whether it is being
  987.       # built for inclusion in a dll (and should export symbols for example).
  988.       m4_if([$1], [GCJ], [],
  989. [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
  990.       ;;
  991.     hpux9* | hpux10* | hpux11*)
  992.       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  993.       # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
  994.       # not for PA HP-UX.
  995.       case $host_cpu in
  996.       hppa*64*|ia64*)
  997. # +Z the default
  998. ;;
  999.       *)
  1000. _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
  1001. ;;
  1002.       esac
  1003.       # Is there a better lt_prog_compiler_static that works with the bundled CC?
  1004.       _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
  1005.       ;;
  1006.     irix5* | irix6* | nonstopux*)
  1007.       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  1008.       # PIC (with -KPIC) is the default.
  1009.       _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
  1010.       ;;
  1011.     linux* | k*bsd*-gnu)
  1012.       case $cc_basename in
  1013.       # old Intel for x86_64 which still supported -KPIC.
  1014.       ecc*)
  1015. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  1016. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
  1017. _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
  1018.         ;;
  1019.       # icc used to be incompatible with GCC.
  1020.       # ICC 10 doesn't accept -KPIC any more.
  1021.       icc* | ifort*)
  1022. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  1023. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
  1024. _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
  1025.         ;;
  1026.       # Lahey Fortran 8.1.
  1027.       lf95*)
  1028. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  1029. _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
  1030. _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
  1031. ;;
  1032.       pgcc* | pgf77* | pgf90* | pgf95*)
  1033.         # Portland Group compilers (*not* the Pentium gcc compiler,
  1034. # which looks to be a dead project)
  1035. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  1036. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
  1037. _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  1038.         ;;
  1039.       ccc*)
  1040.         _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  1041.         # All Alpha code is PIC.
  1042.         _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
  1043.         ;;
  1044.       xl*)
  1045. # IBM XL C 8.0/Fortran 10.1 on PPC
  1046. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  1047. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
  1048. _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
  1049. ;;
  1050.       *)
  1051. case `$CC -V 2>&1 | sed 5q` in
  1052. *Sun C*)
  1053.   # Sun C 5.9
  1054.   _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
  1055.   _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  1056.   _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  1057.   ;;
  1058. *Sun F*)
  1059.   # Sun Fortran 8.3 passes all unrecognized flags to the linker
  1060.   _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
  1061.   _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  1062.   _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
  1063.   ;;
  1064. esac
  1065. ;;
  1066.       esac
  1067.       ;;
  1068.     newsos6)
  1069.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
  1070.       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  1071.       ;;
  1072.     *nto* | *qnx*)
  1073.       # QNX uses GNU C++, but need to define -shared option too, otherwise
  1074.       # it will coredump.
  1075.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
  1076.       ;;
  1077.     osf3* | osf4* | osf5*)
  1078.       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  1079.       # All OSF/1 code is PIC.
  1080.       _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
  1081.       ;;
  1082.     rdos*)
  1083.       _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
  1084.       ;;
  1085.     solaris*)
  1086.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
  1087.       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  1088.       case $cc_basename in
  1089.       f77* | f90* | f95*)
  1090. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
  1091.       *)
  1092. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
  1093.       esac
  1094.       ;;
  1095.     sunos4*)
  1096.       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
  1097.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
  1098.       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  1099.       ;;
  1100.     sysv4 | sysv4.2uw2* | sysv4.3*)
  1101.       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  1102.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
  1103.       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  1104.       ;;
  1105.     sysv4*MP*)
  1106.       if test -d /usr/nec ;then
  1107. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
  1108. _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  1109.       fi
  1110.       ;;
  1111.     sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
  1112.       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  1113.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
  1114.       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  1115.       ;;
  1116.     unicos*)
  1117.       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
  1118.       _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
  1119.       ;;
  1120.     uts4*)
  1121.       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
  1122.       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
  1123.       ;;
  1124.     *)
  1125.       _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
  1126.       ;;
  1127.     esac
  1128.   fi
  1129. ])
  1130. case $host_os in
  1131.   # For platforms which do not support PIC, -DPIC is meaningless:
  1132.   *djgpp*)
  1133.     _LT_TAGVAR(lt_prog_compiler_pic, $1)=
  1134.     ;;
  1135.   *)
  1136.     _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
  1137.     ;;
  1138. esac
  1139. AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
  1140. _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
  1141. [How to pass a linker flag through the compiler])
  1142. #
  1143. # Check to make sure the PIC flag actually works.
  1144. #
  1145. if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
  1146.   _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
  1147.     [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
  1148.     [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
  1149.     [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
  1150.      "" | " "*) ;;
  1151.      *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
  1152.      esac],
  1153.     [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
  1154.      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
  1155. fi
  1156. _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
  1157. [Additional compiler flags for building library objects])
  1158. #
  1159. # Check to make sure the static flag actually works.
  1160. #
  1161. wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag="$_LT_TAGVAR(lt_prog_compiler_static, $1)"
  1162. _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
  1163.   _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
  1164.   $lt_tmp_static_flag,
  1165.   [],
  1166.   [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
  1167. _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
  1168. [Compiler flag to prevent dynamic linking])
  1169. ])# _LT_COMPILER_PIC
  1170. # _LT_LINKER_SHLIBS([TAGNAME])
  1171. # ----------------------------
  1172. # See if the linker supports building shared libraries.
  1173. m4_defun([_LT_LINKER_SHLIBS],
  1174. [AC_REQUIRE([LT_PATH_LD])dnl
  1175. AC_REQUIRE([LT_PATH_NM])dnl
  1176. m4_require([_LT_FILEUTILS_DEFAULTS])dnl
  1177. m4_require([_LT_DECL_EGREP])dnl
  1178. m4_require([_LT_DECL_SED])dnl
  1179. m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
  1180. m4_require([_LT_TAG_COMPILER])dnl
  1181. AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
  1182. m4_if([$1], [CXX], [
  1183.   _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '''s/.* //''' | sort | uniq > $export_symbols'
  1184.   case $host_os in
  1185.   aix[[4-9]]*)
  1186.     # If we're using GNU nm, then we don't want the "-C" option.
  1187.     # -C means demangle to AIX nm, but means don't demangle with GNU nm
  1188.     if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
  1189.       _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '''{ if ((($ 2 == "T") || ($ 2 == "D") || ($ 2 == "B")) && ([substr]($ 3,1,1) != ".")) { print $ 3 } }''' | sort -u > $export_symbols'
  1190.     else
  1191.       _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '''{ if ((($ 2 == "T") || ($ 2 == "D") || ($ 2 == "B")) && ([substr]($ 3,1,1) != ".")) { print $ 3 } }''' | sort -u > $export_symbols'
  1192.     fi
  1193.     ;;
  1194.   pw32*)
  1195.     _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
  1196.   ;;
  1197.   cygwin* | mingw* | cegcc*)
  1198.     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '''/^[[BCDGRS]][[ ]]/s/.*[[ ]]([[^ ]]*)/1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__([[^ ]]*)[[ ]][[^ ]]*/1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //''' | sort | uniq > $export_symbols'
  1199.   ;;
  1200.   *)
  1201.     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '''s/.* //''' | sort | uniq > $export_symbols'
  1202.   ;;
  1203.   esac
  1204.   _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
  1205. ], [
  1206.   runpath_var=
  1207.   _LT_TAGVAR(allow_undefined_flag, $1)=
  1208.   _LT_TAGVAR(always_export_symbols, $1)=no
  1209.   _LT_TAGVAR(archive_cmds, $1)=
  1210.   _LT_TAGVAR(archive_expsym_cmds, $1)=
  1211.   _LT_TAGVAR(compiler_needs_object, $1)=no
  1212.   _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
  1213.   _LT_TAGVAR(export_dynamic_flag_spec, $1)=
  1214.   _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '''s/.* //''' | sort | uniq > $export_symbols'
  1215.   _LT_TAGVAR(hardcode_automatic, $1)=no
  1216.   _LT_TAGVAR(hardcode_direct, $1)=no
  1217.   _LT_TAGVAR(hardcode_direct_absolute, $1)=no
  1218.   _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
  1219.   _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
  1220.   _LT_TAGVAR(hardcode_libdir_separator, $1)=
  1221.   _LT_TAGVAR(hardcode_minus_L, $1)=no
  1222.   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
  1223.   _LT_TAGVAR(inherit_rpath, $1)=no
  1224.   _LT_TAGVAR(link_all_deplibs, $1)=unknown
  1225.   _LT_TAGVAR(module_cmds, $1)=
  1226.   _LT_TAGVAR(module_expsym_cmds, $1)=
  1227.   _LT_TAGVAR(old_archive_from_new_cmds, $1)=
  1228.   _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
  1229.   _LT_TAGVAR(thread_safe_flag_spec, $1)=
  1230.   _LT_TAGVAR(whole_archive_flag_spec, $1)=
  1231.   # include_expsyms should be a list of space-separated symbols to be *always*
  1232.   # included in the symbol list
  1233.   _LT_TAGVAR(include_expsyms, $1)=
  1234.   # exclude_expsyms can be an extended regexp of symbols to exclude
  1235.   # it will be wrapped by ` (' and `)$', so one must not match beginning or
  1236.   # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
  1237.   # as well as any symbol that contains `d'.
  1238.   _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
  1239.   # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
  1240.   # platforms (ab)use it in PIC code, but their linkers get confused if
  1241.   # the symbol is explicitly referenced.  Since portable code cannot
  1242.   # rely on this symbol name, it's probably fine to never include it in
  1243.   # preloaded symbol tables.
  1244.   # Exclude shared library initialization/finalization symbols.
  1245. dnl Note also adjust exclude_expsyms for C++ above.
  1246.   extract_expsyms_cmds=
  1247.   case $host_os in
  1248.   cygwin* | mingw* | pw32* | cegcc*)
  1249.     # FIXME: the MSVC++ port hasn't been tested in a loooong time
  1250.     # When not using gcc, we currently assume that we are using
  1251.     # Microsoft Visual C++.
  1252.     if test "$GCC" != yes; then
  1253.       with_gnu_ld=no
  1254.     fi
  1255.     ;;
  1256.   interix*)
  1257.     # we just hope/assume this is gcc and not c89 (= MSVC++)
  1258.     with_gnu_ld=yes
  1259.     ;;
  1260.   openbsd*)
  1261.     with_gnu_ld=no
  1262.     ;;
  1263.   esac
  1264.   _LT_TAGVAR(ld_shlibs, $1)=yes
  1265.   if test "$with_gnu_ld" = yes; then
  1266.     # If archive_cmds runs LD, not CC, wlarc should be empty
  1267.     wlarc='${wl}'
  1268.     # Set some defaults for GNU ld with shared library support. These
  1269.     # are reset later if shared libraries are not supported. Putting them
  1270.     # here allows them to be overridden if necessary.
  1271.     runpath_var=LD_RUN_PATH
  1272.     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
  1273.     _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
  1274.     # ancient GNU ld didn't support --whole-archive et. al.
  1275.     if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
  1276.       _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
  1277.     else
  1278.       _LT_TAGVAR(whole_archive_flag_spec, $1)=
  1279.     fi
  1280.     supports_anon_versioning=no
  1281.     case `$LD -v 2>&1` in
  1282.       * [[01]].* | * 2.[[0-9]].* | * 2.10.*) ;; # catch versions < 2.11
  1283.       * 2.11.93.0.2 *) supports_anon_versioning=yes ;; # RH7.3 ...
  1284.       * 2.11.92.0.12 *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
  1285.       * 2.11.*) ;; # other 2.11 versions
  1286.       *) supports_anon_versioning=yes ;;
  1287.     esac
  1288.     # See if GNU ld supports shared libraries.
  1289.     case $host_os in
  1290.     aix[[3-9]]*)
  1291.       # On AIX/PPC, the GNU linker is very broken
  1292.       if test "$host_cpu" != ia64; then
  1293. _LT_TAGVAR(ld_shlibs, $1)=no
  1294. cat <<_LT_EOF 1>&2
  1295. *** Warning: the GNU linker, at least up to release 2.9.1, is reported
  1296. *** to be unable to reliably create shared libraries on AIX.
  1297. *** Therefore, libtool is disabling shared libraries support.  If you
  1298. *** really care for shared libraries, you may want to modify your PATH
  1299. *** so that a non-GNU linker is found, and then restart.
  1300. _LT_EOF
  1301.       fi
  1302.       ;;
  1303.     amigaos*)
  1304.       case $host_cpu in
  1305.       powerpc)
  1306.             # see comment about AmigaOS4 .so support
  1307.             _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
  1308.             _LT_TAGVAR(archive_expsym_cmds, $1)=''
  1309.         ;;
  1310.       m68k)
  1311.             _LT_TAGVAR(archive_cmds, $1)='$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)'
  1312.             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
  1313.             _LT_TAGVAR(hardcode_minus_L, $1)=yes
  1314.         ;;
  1315.       esac
  1316.       ;;
  1317.     beos*)
  1318.       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  1319. _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
  1320. # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
  1321. # support --undefined.  This deserves some investigation.  FIXME
  1322. _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
  1323.       else
  1324. _LT_TAGVAR(ld_shlibs, $1)=no
  1325.       fi
  1326.       ;;
  1327.     cygwin* | mingw* | pw32* | cegcc*)
  1328.       # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
  1329.       # as there is no search path for DLLs.
  1330.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
  1331.       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
  1332.       _LT_TAGVAR(always_export_symbols, $1)=no
  1333.       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
  1334.       _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '''/^[[BCDGRS]][[ ]]/s/.*[[ ]]([[^ ]]*)/1 DATA/''' | $SED -e '''/^[[AITW]][[ ]]/s/.*[[ ]]//''' | sort | uniq > $export_symbols'
  1335.       if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
  1336.         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
  1337. # If the export-symbols file already is a .def file (1st line
  1338. # is EXPORTS), use it as is; otherwise, prepend...
  1339. _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
  1340.   cp $export_symbols $output_objdir/$soname.def;
  1341. else
  1342.   echo EXPORTS > $output_objdir/$soname.def;
  1343.   cat $export_symbols >> $output_objdir/$soname.def;
  1344. fi~
  1345. $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
  1346.       else
  1347. _LT_TAGVAR(ld_shlibs, $1)=no
  1348.       fi
  1349.       ;;
  1350.     interix[[3-9]]*)
  1351.       _LT_TAGVAR(hardcode_direct, $1)=no
  1352.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1353.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
  1354.       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
  1355.       # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
  1356.       # Instead, shared libraries are loaded at an image base (0x10000000 by
  1357.       # default) and relocated if they conflict, which is a slow very memory
  1358.       # consuming and fragmenting process.  To avoid this, we pick a random,
  1359.       # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
  1360.       # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
  1361.       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 * 262144 + 1342177280` -o $lib'
  1362.       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 * 262144 + 1342177280` -o $lib'
  1363.       ;;
  1364.     gnu* | linux* | tpf* | k*bsd*-gnu)
  1365.       tmp_diet=no
  1366.       if test "$host_os" = linux-dietlibc; then
  1367. case $cc_basename in
  1368.   diet *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
  1369. esac
  1370.       fi
  1371.       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null 
  1372.  && test "$tmp_diet" = no
  1373.       then
  1374. tmp_addflag=
  1375. tmp_sharedflag='-shared'
  1376. case $cc_basename,$host_cpu in
  1377.         pgcc*) # Portland Group C compiler
  1378.   _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience""; do test  -n "$conv" && new_convenience="$new_convenience,$conv"; done; $ECHO "$new_convenience"` ${wl}--no-whole-archive'
  1379.   tmp_addflag=' $pic_flag'
  1380.   ;;
  1381. pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
  1382.   _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience""; do test  -n "$conv" && new_convenience="$new_convenience,$conv"; done; $ECHO "$new_convenience"` ${wl}--no-whole-archive'
  1383.   tmp_addflag=' $pic_flag -Mnomain' ;;
  1384. ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
  1385.   tmp_addflag=' -i_dynamic' ;;
  1386. efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
  1387.   tmp_addflag=' -i_dynamic -nofor_main' ;;
  1388. ifc* | ifort*) # Intel Fortran compiler
  1389.   tmp_addflag=' -nofor_main' ;;
  1390. lf95*) # Lahey Fortran 8.1
  1391.   _LT_TAGVAR(whole_archive_flag_spec, $1)=
  1392.   tmp_sharedflag='--shared' ;;
  1393. xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
  1394.   tmp_sharedflag='-qmkshrobj'
  1395.   tmp_addflag= ;;
  1396. esac
  1397. case `$CC -V 2>&1 | sed 5q` in
  1398. *Sun C*) # Sun C 5.9
  1399.   _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience""; do test -z "$conv" || new_convenience="$new_convenience,$conv"; done; $ECHO "$new_convenience"` ${wl}--no-whole-archive'
  1400.   _LT_TAGVAR(compiler_needs_object, $1)=yes
  1401.   tmp_sharedflag='-G' ;;
  1402. *Sun F*) # Sun Fortran 8.3
  1403.   tmp_sharedflag='-G' ;;
  1404. esac
  1405. _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
  1406.         if test "x$supports_anon_versioning" = xyes; then
  1407.           _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
  1408.     cat $export_symbols | sed -e "s/(.*)/1;/" >> $output_objdir/$libname.ver~
  1409.     echo "local: *; };" >> $output_objdir/$libname.ver~
  1410.     $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
  1411.         fi
  1412. case $cc_basename in
  1413. xlf*)
  1414.   # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
  1415.   _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
  1416.   _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
  1417.   _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
  1418.   _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
  1419.   if test "x$supports_anon_versioning" = xyes; then
  1420.     _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
  1421.       cat $export_symbols | sed -e "s/(.*)/1;/" >> $output_objdir/$libname.ver~
  1422.       echo "local: *; };" >> $output_objdir/$libname.ver~
  1423.       $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
  1424.   fi
  1425.   ;;
  1426. esac
  1427.       else
  1428.         _LT_TAGVAR(ld_shlibs, $1)=no
  1429.       fi
  1430.       ;;
  1431.     netbsd*)
  1432.       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  1433. _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
  1434. wlarc=
  1435.       else
  1436. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
  1437. _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
  1438.       fi
  1439.       ;;
  1440.     solaris*)
  1441.       if $LD -v 2>&1 | $GREP 'BFD 2.8' > /dev/null; then
  1442. _LT_TAGVAR(ld_shlibs, $1)=no
  1443. cat <<_LT_EOF 1>&2
  1444. *** Warning: The releases 2.8.* of the GNU linker cannot reliably
  1445. *** create shared libraries on Solaris systems.  Therefore, libtool
  1446. *** is disabling shared libraries support.  We urge you to upgrade GNU
  1447. *** binutils to release 2.9.1 or newer.  Another option is to modify
  1448. *** your PATH or compiler configuration so that the native linker is
  1449. *** used, and then restart.
  1450. _LT_EOF
  1451.       elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  1452. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
  1453. _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
  1454.       else
  1455. _LT_TAGVAR(ld_shlibs, $1)=no
  1456.       fi
  1457.       ;;
  1458.     sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
  1459.       case `$LD -v 2>&1` in
  1460.         * [[01]].* | * 2.[[0-9]].* | * 2.1[[0-5]].*)
  1461. _LT_TAGVAR(ld_shlibs, $1)=no
  1462. cat <<_LT_EOF 1>&2
  1463. *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
  1464. *** reliably create shared libraries on SCO systems.  Therefore, libtool
  1465. *** is disabling shared libraries support.  We urge you to upgrade GNU
  1466. *** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
  1467. *** your PATH or compiler configuration so that the native linker is
  1468. *** used, and then restart.
  1469. _LT_EOF
  1470. ;;
  1471. *)
  1472.   # For security reasons, it is highly recommended that you always
  1473.   # use absolute paths for naming shared libraries, and exclude the
  1474.   # DT_RUNPATH tag from executables and libraries.  But doing so
  1475.   # requires that you compile everything twice, which is a pain.
  1476.   if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  1477.     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
  1478.     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
  1479.     _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
  1480.   else
  1481.     _LT_TAGVAR(ld_shlibs, $1)=no
  1482.   fi
  1483. ;;
  1484.       esac
  1485.       ;;
  1486.     sunos4*)
  1487.       _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
  1488.       wlarc=
  1489.       _LT_TAGVAR(hardcode_direct, $1)=yes
  1490.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1491.       ;;
  1492.     *)
  1493.       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  1494. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
  1495. _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
  1496.       else
  1497. _LT_TAGVAR(ld_shlibs, $1)=no
  1498.       fi
  1499.       ;;
  1500.     esac
  1501.     if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
  1502.       runpath_var=
  1503.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
  1504.       _LT_TAGVAR(export_dynamic_flag_spec, $1)=
  1505.       _LT_TAGVAR(whole_archive_flag_spec, $1)=
  1506.     fi
  1507.   else
  1508.     # PORTME fill in a description of your system's linker (not GNU ld)
  1509.     case $host_os in
  1510.     aix3*)
  1511.       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
  1512.       _LT_TAGVAR(always_export_symbols, $1)=yes
  1513.       _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
  1514.       # Note: this linker hardcodes the directories in LIBPATH if there
  1515.       # are no directories specified by -L.
  1516.       _LT_TAGVAR(hardcode_minus_L, $1)=yes
  1517.       if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
  1518. # Neither direct hardcoding nor static linking is supported with a
  1519. # broken collect2.
  1520. _LT_TAGVAR(hardcode_direct, $1)=unsupported
  1521.       fi
  1522.       ;;
  1523.     aix[[4-9]]*)
  1524.       if test "$host_cpu" = ia64; then
  1525. # On IA64, the linker does run time linking by default, so we don't
  1526. # have to do anything special.
  1527. aix_use_runtimelinking=no
  1528. exp_sym_flag='-Bexport'
  1529. no_entry_flag=""
  1530.       else
  1531. # If we're using GNU nm, then we don't want the "-C" option.
  1532. # -C means demangle to AIX nm, but means don't demangle with GNU nm
  1533. if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
  1534.   _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '''{ if ((($ 2 == "T") || ($ 2 == "D") || ($ 2 == "B")) && ([substr]($ 3,1,1) != ".")) { print $ 3 } }''' | sort -u > $export_symbols'
  1535. else
  1536.   _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '''{ if ((($ 2 == "T") || ($ 2 == "D") || ($ 2 == "B")) && ([substr]($ 3,1,1) != ".")) { print $ 3 } }''' | sort -u > $export_symbols'
  1537. fi
  1538. aix_use_runtimelinking=no
  1539. # Test if we are trying to use run time linking or normal
  1540. # AIX style linking. If -brtl is somewhere in LDFLAGS, we
  1541. # need to do runtime linking.
  1542. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
  1543.   for ld_flag in $LDFLAGS; do
  1544.   if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
  1545.     aix_use_runtimelinking=yes
  1546.     break
  1547.   fi
  1548.   done
  1549.   ;;
  1550. esac
  1551. exp_sym_flag='-bexport'
  1552. no_entry_flag='-bnoentry'
  1553.       fi
  1554.       # When large executables or shared objects are built, AIX ld can
  1555.       # have problems creating the table of contents.  If linking a library
  1556.       # or program results in "error TOC overflow" add -mminimal-toc to
  1557.       # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
  1558.       # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
  1559.       _LT_TAGVAR(archive_cmds, $1)=''
  1560.       _LT_TAGVAR(hardcode_direct, $1)=yes
  1561.       _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
  1562.       _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
  1563.       _LT_TAGVAR(link_all_deplibs, $1)=yes
  1564.       _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
  1565.       if test "$GCC" = yes; then
  1566. case $host_os in aix4.[[012]]|aix4.[[012]].*)
  1567. # We only want to do this on AIX 4.2 and lower, the check
  1568. # below for broken collect2 doesn't work under 4.3+
  1569.   collect2name=`${CC} -print-prog-name=collect2`
  1570.   if test -f "$collect2name" &&
  1571.    strings "$collect2name" | $GREP resolve_lib_name >/dev/null
  1572.   then
  1573.   # We have reworked collect2
  1574.   :
  1575.   else
  1576.   # We have old collect2
  1577.   _LT_TAGVAR(hardcode_direct, $1)=unsupported
  1578.   # It fails to find uninstalled libraries when the uninstalled
  1579.   # path is not listed in the libpath.  Setting hardcode_minus_L
  1580.   # to unsupported forces relinking
  1581.   _LT_TAGVAR(hardcode_minus_L, $1)=yes
  1582.   _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
  1583.   _LT_TAGVAR(hardcode_libdir_separator, $1)=
  1584.   fi
  1585.   ;;
  1586. esac
  1587. shared_flag='-shared'
  1588. if test "$aix_use_runtimelinking" = yes; then
  1589.   shared_flag="$shared_flag "'${wl}-G'
  1590. fi
  1591.       else
  1592. # not using gcc
  1593. if test "$host_cpu" = ia64; then
  1594. # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
  1595. # chokes on -Wl,-G. The following line is correct:
  1596.   shared_flag='-G'
  1597. else
  1598.   if test "$aix_use_runtimelinking" = yes; then
  1599.     shared_flag='${wl}-G'
  1600.   else
  1601.     shared_flag='${wl}-bM:SRE'
  1602.   fi
  1603. fi
  1604.       fi
  1605.       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
  1606.       # It seems that -bexpall does not export symbols beginning with
  1607.       # underscore (_), so it is better to generate a list of symbols to export.
  1608.       _LT_TAGVAR(always_export_symbols, $1)=yes
  1609.       if test "$aix_use_runtimelinking" = yes; then
  1610. # Warning - without using the other runtime loading flags (-brtl),
  1611. # -berok will link without error, but may produce a broken library.
  1612. _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
  1613.         # Determine the default libpath from the value encoded in an
  1614.         # empty executable.
  1615.         _LT_SYS_MODULE_PATH_AIX
  1616.         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
  1617.         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"${wl}$exp_sym_flag:$export_symbols $shared_flag"
  1618.       else
  1619. if test "$host_cpu" = ia64; then
  1620.   _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
  1621.   _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
  1622.   _LT_TAGVAR(archive_expsym_cmds, $1)="$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"${wl}$exp_sym_flag:$export_symbols"
  1623. else
  1624.  # Determine the default libpath from the value encoded in an
  1625.  # empty executable.
  1626.  _LT_SYS_MODULE_PATH_AIX
  1627.  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
  1628.   # Warning - without using the other run time loading flags,
  1629.   # -berok will link without error, but may produce a broken library.
  1630.   _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
  1631.   _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
  1632.   # Exported symbols can be pulled into shared objects from archives
  1633.   _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
  1634.   _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
  1635.   # This is similar to how AIX traditionally builds its shared libraries.
  1636.   _LT_TAGVAR(archive_expsym_cmds, $1)="$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
  1637. fi
  1638.       fi
  1639.       ;;
  1640.     amigaos*)
  1641.       case $host_cpu in
  1642.       powerpc)
  1643.             # see comment about AmigaOS4 .so support
  1644.             _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
  1645.             _LT_TAGVAR(archive_expsym_cmds, $1)=''
  1646.         ;;
  1647.       m68k)
  1648.             _LT_TAGVAR(archive_cmds, $1)='$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)'
  1649.             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
  1650.             _LT_TAGVAR(hardcode_minus_L, $1)=yes
  1651.         ;;
  1652.       esac
  1653.       ;;
  1654.     bsdi[[45]]*)
  1655.       _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
  1656.       ;;
  1657.     cygwin* | mingw* | pw32* | cegcc*)
  1658.       # When not using gcc, we currently assume that we are using
  1659.       # Microsoft Visual C++.
  1660.       # hardcode_libdir_flag_spec is actually meaningless, as there is
  1661.       # no search path for DLLs.
  1662.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
  1663.       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
  1664.       # Tell ltmain to make .lib files, not .a files.
  1665.       libext=lib
  1666.       # Tell ltmain to make .dll files, not .so files.
  1667.       shrext_cmds=".dll"
  1668.       # FIXME: Setting linknames here is a bad hack.
  1669.       _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '''s/ -lc$//'''` -link -dll~linknames='
  1670.       # The linker will automatically build a .lib file if we build a DLL.
  1671.       _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
  1672.       # FIXME: Should let the user specify the lib program.
  1673.       _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
  1674.       _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
  1675.       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
  1676.       ;;
  1677.     darwin* | rhapsody*)
  1678.       _LT_DARWIN_LINKER_FEATURES($1)
  1679.       ;;
  1680.     dgux*)
  1681.       _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  1682.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
  1683.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1684.       ;;
  1685.     freebsd1*)
  1686.       _LT_TAGVAR(ld_shlibs, $1)=no
  1687.       ;;
  1688.     # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
  1689.     # support.  Future versions do this automatically, but an explicit c++rt0.o
  1690.     # does not break anything, and helps significantly (at the cost of a little
  1691.     # extra space).
  1692.     freebsd2.2*)
  1693.       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
  1694.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
  1695.       _LT_TAGVAR(hardcode_direct, $1)=yes
  1696.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1697.       ;;
  1698.     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
  1699.     freebsd2*)
  1700.       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
  1701.       _LT_TAGVAR(hardcode_direct, $1)=yes
  1702.       _LT_TAGVAR(hardcode_minus_L, $1)=yes
  1703.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1704.       ;;
  1705.     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
  1706.     freebsd* | dragonfly*)
  1707.       _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
  1708.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
  1709.       _LT_TAGVAR(hardcode_direct, $1)=yes
  1710.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1711.       ;;
  1712.     hpux9*)
  1713.       if test "$GCC" = yes; then
  1714. _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
  1715.       else
  1716. _LT_TAGVAR(archive_cmds, $1)='$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'
  1717.       fi
  1718.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
  1719.       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
  1720.       _LT_TAGVAR(hardcode_direct, $1)=yes
  1721.       # hardcode_minus_L: Not really in the search PATH,
  1722.       # but as the default location of the library.
  1723.       _LT_TAGVAR(hardcode_minus_L, $1)=yes
  1724.       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
  1725.       ;;
  1726.     hpux10*)
  1727.       if test "$GCC" = yes -a "$with_gnu_ld" = no; then
  1728. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
  1729.       else
  1730. _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
  1731.       fi
  1732.       if test "$with_gnu_ld" = no; then
  1733. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
  1734. _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
  1735. _LT_TAGVAR(hardcode_libdir_separator, $1)=:
  1736. _LT_TAGVAR(hardcode_direct, $1)=yes
  1737. _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
  1738. _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
  1739. # hardcode_minus_L: Not really in the search PATH,
  1740. # but as the default location of the library.
  1741. _LT_TAGVAR(hardcode_minus_L, $1)=yes
  1742.       fi
  1743.       ;;
  1744.     hpux11*)
  1745.       if test "$GCC" = yes -a "$with_gnu_ld" = no; then
  1746. case $host_cpu in
  1747. hppa*64*)
  1748.   _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
  1749.   ;;
  1750. ia64*)
  1751.   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
  1752.   ;;
  1753. *)
  1754.   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
  1755.   ;;
  1756. esac
  1757.       else
  1758. case $host_cpu in
  1759. hppa*64*)
  1760.   _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
  1761.   ;;
  1762. ia64*)
  1763.   _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
  1764.   ;;
  1765. *)
  1766.   _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
  1767.   ;;
  1768. esac
  1769.       fi
  1770.       if test "$with_gnu_ld" = no; then
  1771. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
  1772. _LT_TAGVAR(hardcode_libdir_separator, $1)=:
  1773. case $host_cpu in
  1774. hppa*64*|ia64*)
  1775.   _LT_TAGVAR(hardcode_direct, $1)=no
  1776.   _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1777.   ;;
  1778. *)
  1779.   _LT_TAGVAR(hardcode_direct, $1)=yes
  1780.   _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
  1781.   _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
  1782.   # hardcode_minus_L: Not really in the search PATH,
  1783.   # but as the default location of the library.
  1784.   _LT_TAGVAR(hardcode_minus_L, $1)=yes
  1785.   ;;
  1786. esac
  1787.       fi
  1788.       ;;
  1789.     irix5* | irix6* | nonstopux*)
  1790.       if test "$GCC" = yes; then
  1791. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
  1792. # Try to use the -exported_symbol ld option, if it does not
  1793. # work, assume that -exports_file does not work either and
  1794. # implicitly export all symbols.
  1795.         save_LDFLAGS="$LDFLAGS"
  1796.         LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
  1797.         AC_LINK_IFELSE(int foo(void) {},
  1798.           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
  1799.         )
  1800.         LDFLAGS="$save_LDFLAGS"
  1801.       else
  1802. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
  1803. _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
  1804.       fi
  1805.       _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
  1806.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
  1807.       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
  1808.       _LT_TAGVAR(inherit_rpath, $1)=yes
  1809.       _LT_TAGVAR(link_all_deplibs, $1)=yes
  1810.       ;;
  1811.     netbsd*)
  1812.       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  1813. _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
  1814.       else
  1815. _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
  1816.       fi
  1817.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
  1818.       _LT_TAGVAR(hardcode_direct, $1)=yes
  1819.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1820.       ;;
  1821.     newsos6)
  1822.       _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  1823.       _LT_TAGVAR(hardcode_direct, $1)=yes
  1824.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
  1825.       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
  1826.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1827.       ;;
  1828.     *nto* | *qnx*)
  1829.       ;;
  1830.     openbsd*)
  1831.       if test -f /usr/libexec/ld.so; then
  1832. _LT_TAGVAR(hardcode_direct, $1)=yes
  1833. _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1834. _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
  1835. if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
  1836.   _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
  1837.   _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
  1838.   _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
  1839.   _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
  1840. else
  1841.   case $host_os in
  1842.    openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
  1843.      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
  1844.      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
  1845.      ;;
  1846.    *)
  1847.      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
  1848.      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
  1849.      ;;
  1850.   esac
  1851. fi
  1852.       else
  1853. _LT_TAGVAR(ld_shlibs, $1)=no
  1854.       fi
  1855.       ;;
  1856.     os2*)
  1857.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
  1858.       _LT_TAGVAR(hardcode_minus_L, $1)=yes
  1859.       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
  1860.       _LT_TAGVAR(archive_cmds, $1)='$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'
  1861.       _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
  1862.       ;;
  1863.     osf3*)
  1864.       if test "$GCC" = yes; then
  1865. _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}*'
  1866. _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
  1867.       else
  1868. _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved *'
  1869. _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
  1870.       fi
  1871.       _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
  1872.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
  1873.       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
  1874.       ;;
  1875.     osf4* | osf5*) # as osf3* with the addition of -msym flag
  1876.       if test "$GCC" = yes; then
  1877. _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}*'
  1878. _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
  1879. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
  1880.       else
  1881. _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved *'
  1882. _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
  1883. _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\n" -exported_symbol "$i" >> $lib.exp; done; printf "%s\n" "-hidden">> $lib.exp~
  1884. $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
  1885. # Both c and cxx compiler support -rpath directly
  1886. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
  1887.       fi
  1888.       _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
  1889.       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
  1890.       ;;
  1891.     solaris*)
  1892.       _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
  1893.       if test "$GCC" = yes; then
  1894. wlarc='${wl}'
  1895. _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
  1896. _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/(.*)/1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  1897.   $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
  1898.       else
  1899. case `$CC -V 2>&1` in
  1900. *"Compilers 5.0"*)
  1901.   wlarc=''
  1902.   _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
  1903.   _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/(.*)/1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  1904.   $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
  1905.   ;;
  1906. *)
  1907.   wlarc='${wl}'
  1908.   _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
  1909.   _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/(.*)/1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
  1910.   $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
  1911.   ;;
  1912. esac
  1913.       fi
  1914.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
  1915.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1916.       case $host_os in
  1917.       solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
  1918.       *)
  1919. # The compiler driver will combine and reorder linker options,
  1920. # but understands `-z linker_flag'.  GCC discards it without `$wl',
  1921. # but is careful enough not to reorder.
  1922. # Supported since Solaris 2.6 (maybe 2.5.1?)
  1923. if test "$GCC" = yes; then
  1924.   _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
  1925. else
  1926.   _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
  1927. fi
  1928. ;;
  1929.       esac
  1930.       _LT_TAGVAR(link_all_deplibs, $1)=yes
  1931.       ;;
  1932.     sunos4*)
  1933.       if test "x$host_vendor" = xsequent; then
  1934. # Use $CC to link under sequent, because it throws in some extra .o
  1935. # files that make .init and .fini sections work.
  1936. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
  1937.       else
  1938. _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
  1939.       fi
  1940.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
  1941.       _LT_TAGVAR(hardcode_direct, $1)=yes
  1942.       _LT_TAGVAR(hardcode_minus_L, $1)=yes
  1943.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1944.       ;;
  1945.     sysv4)
  1946.       case $host_vendor in
  1947. sni)
  1948.   _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  1949.   _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
  1950. ;;
  1951. siemens)
  1952.   ## LD is ld it makes a PLAMLIB
  1953.   ## CC just makes a GrossModule.
  1954.   _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
  1955.   _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
  1956.   _LT_TAGVAR(hardcode_direct, $1)=no
  1957.         ;;
  1958. motorola)
  1959.   _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  1960.   _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
  1961. ;;
  1962.       esac
  1963.       runpath_var='LD_RUN_PATH'
  1964.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1965.       ;;
  1966.     sysv4.3*)
  1967.       _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  1968.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1969.       _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
  1970.       ;;
  1971.     sysv4*MP*)
  1972.       if test -d /usr/nec; then
  1973. _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  1974. _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1975. runpath_var=LD_RUN_PATH
  1976. hardcode_runpath_var=yes
  1977. _LT_TAGVAR(ld_shlibs, $1)=yes
  1978.       fi
  1979.       ;;
  1980.     sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
  1981.       _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
  1982.       _LT_TAGVAR(archive_cmds_need_lc, $1)=no
  1983.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  1984.       runpath_var='LD_RUN_PATH'
  1985.       if test "$GCC" = yes; then
  1986. _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  1987. _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  1988.       else
  1989. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  1990. _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  1991.       fi
  1992.       ;;
  1993.     sysv5* | sco3.2v5* | sco5v6*)
  1994.       # Note: We can NOT use -z defs as we might desire, because we do not
  1995.       # link with -lc, and that would cause any symbols used from libc to
  1996.       # always be unresolved, which means just about no library would
  1997.       # ever link correctly.  If we're not using GNU ld we use -z text
  1998.       # though, which does catch some bad symbols but isn't as heavy-handed
  1999.       # as -z defs.
  2000.       _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
  2001.       _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
  2002.       _LT_TAGVAR(archive_cmds_need_lc, $1)=no
  2003.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  2004.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
  2005.       _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
  2006.       _LT_TAGVAR(link_all_deplibs, $1)=yes
  2007.       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
  2008.       runpath_var='LD_RUN_PATH'
  2009.       if test "$GCC" = yes; then
  2010. _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  2011. _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  2012.       else
  2013. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  2014. _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
  2015.       fi
  2016.       ;;
  2017.     uts4*)
  2018.       _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
  2019.       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
  2020.       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  2021.       ;;
  2022.     *)
  2023.       _LT_TAGVAR(ld_shlibs, $1)=no
  2024.       ;;
  2025.     esac
  2026.     if test x$host_vendor = xsni; then
  2027.       case $host in
  2028.       sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
  2029. _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
  2030. ;;
  2031.       esac
  2032.     fi
  2033.   fi
  2034. ])
  2035. AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
  2036. test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
  2037. _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
  2038. _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
  2039. _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
  2040. _LT_DECL([], [extract_expsyms_cmds], [2],
  2041.     [The commands to extract the exported symbol list from a shared archive])
  2042. #
  2043. # Do we need to explicitly link libc?
  2044. #
  2045. case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
  2046. x|xyes)
  2047.   # Assume -lc should be added
  2048.   _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
  2049.   if test "$enable_shared" = yes && test "$GCC" = yes; then
  2050.     case $_LT_TAGVAR(archive_cmds, $1) in
  2051.     *'~'*)
  2052.       # FIXME: we may have to deal with multi-command sequences.
  2053.       ;;
  2054.     '$CC '*)
  2055.       # Test whether the compiler implicitly links with -lc since on some
  2056.       # systems, -lgcc has to come before -lc. If gcc already passes -lc
  2057.       # to ld, don't add -lc before -lgcc.
  2058.       AC_MSG_CHECKING([whether -lc should be explicitly linked in])
  2059.       $RM conftest*
  2060.       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
  2061.       if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
  2062.         soname=conftest
  2063.         lib=conftest
  2064.         libobjs=conftest.$ac_objext
  2065.         deplibs=
  2066.         wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
  2067. pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
  2068.         compiler_flags=-v
  2069.         linker_flags=-v
  2070.         verstring=
  2071.         output_objdir=.
  2072.         libname=conftest
  2073.         lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
  2074.         _LT_TAGVAR(allow_undefined_flag, $1)=
  2075.         if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2>&1 | $GREP " -lc " >/dev/null 2>&1)
  2076.         then
  2077.   _LT_TAGVAR(archive_cmds_need_lc, $1)=no
  2078.         else
  2079.   _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
  2080.         fi
  2081.         _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
  2082.       else
  2083.         cat conftest.err 1>&5
  2084.       fi
  2085.       $RM conftest*
  2086.       AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
  2087.       ;;
  2088.     esac
  2089.   fi
  2090.   ;;
  2091. esac
  2092. _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
  2093.     [Whether or not to add -lc for building shared libraries])
  2094. _LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
  2095.     [enable_shared_with_static_runtimes], [0],
  2096.     [Whether or not to disallow shared libs when runtime libs are static])
  2097. _LT_TAGDECL([], [export_dynamic_flag_spec], [1],
  2098.     [Compiler flag to allow reflexive dlopens])
  2099. _LT_TAGDECL([], [whole_archive_flag_spec], [1],
  2100.     [Compiler flag to generate shared objects directly from archives])
  2101. _LT_TAGDECL([], [compiler_needs_object], [1],
  2102.     [Whether the compiler copes with passing no objects directly])
  2103. _LT_TAGDECL([], [old_archive_from_new_cmds], [2],
  2104.     [Create an old-style archive from a shared archive])
  2105. _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
  2106.     [Create a temporary old-style archive to link instead of a shared archive])
  2107. _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
  2108. _LT_TAGDECL([], [archive_expsym_cmds], [2])
  2109. _LT_TAGDECL([], [module_cmds], [2],
  2110.     [Commands used to build a loadable module if different from building
  2111.     a shared archive.])
  2112. _LT_TAGDECL([], [module_expsym_cmds], [2])
  2113. _LT_TAGDECL([], [with_gnu_ld], [1],
  2114.     [Whether we are building with GNU ld or not])
  2115. _LT_TAGDECL([], [allow_undefined_flag], [1],
  2116.     [Flag that allows shared libraries with undefined symbols to be built])
  2117. _LT_TAGDECL([], [no_undefined_flag], [1],
  2118.     [Flag that enforces no undefined symbols])
  2119. _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
  2120.     [Flag to hardcode $libdir into a binary during linking.
  2121.     This must work even if $libdir does not exist])
  2122. _LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
  2123.     [[If ld is used when linking, flag to hardcode $libdir into a binary
  2124.     during linking.  This must work even if $libdir does not exist]])
  2125. _LT_TAGDECL([], [hardcode_libdir_separator], [1],
  2126.     [Whether we need a single "-rpath" flag with a separated argument])
  2127. _LT_TAGDECL([], [hardcode_direct], [0],
  2128.     [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
  2129.     DIR into the resulting binary])
  2130. _LT_TAGDECL([], [hardcode_direct_absolute], [0],
  2131.     [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
  2132.     DIR into the resulting binary and the resulting library dependency is
  2133.     "absolute", i.e impossible to change by setting ${shlibpath_var} if the
  2134.     library is relocated])
  2135. _LT_TAGDECL([], [hardcode_minus_L], [0],
  2136.     [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
  2137.     into the resulting binary])
  2138. _LT_TAGDECL([], [hardcode_shlibpath_var], [0],
  2139.     [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
  2140.     into the resulting binary])
  2141. _LT_TAGDECL([], [hardcode_automatic], [0],
  2142.     [Set to "yes" if building a shared library automatically hardcodes DIR
  2143.     into the library and all subsequent libraries and executables linked
  2144.     against it])
  2145. _LT_TAGDECL([], [inherit_rpath], [0],
  2146.     [Set to yes if linker adds runtime paths of dependent libraries
  2147.     to runtime path list])
  2148. _LT_TAGDECL([], [link_all_deplibs], [0],
  2149.     [Whether libtool must link a program against all its dependency libraries])
  2150. _LT_TAGDECL([], [fix_srcfile_path], [1],
  2151.     [Fix the shell variable $srcfile for the compiler])
  2152. _LT_TAGDECL([], [always_export_symbols], [0],
  2153.     [Set to "yes" if exported symbols are required])
  2154. _LT_TAGDECL([], [export_symbols_cmds], [2],
  2155.     [The commands to list exported symbols])
  2156. _LT_TAGDECL([], [exclude_expsyms], [1],
  2157.     [Symbols that should not be listed in the preloaded symbols])
  2158. _LT_TAGDECL([], [include_expsyms], [1],
  2159.     [Symbols that must always be exported])
  2160. _LT_TAGDECL([], [prelink_cmds], [2],
  2161.     [Commands necessary for linking programs (against libraries) with templates])
  2162. _LT_TAGDECL([], [file_list_spec], [1],
  2163.     [Specify filename containing input files])
  2164. dnl FIXME: Not yet implemented
  2165. dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
  2166. dnl    [Compiler flag to generate thread safe objects])
  2167. ])# _LT_LINKER_SHLIBS
  2168. # _LT_LANG_C_CONFIG([TAG])
  2169. # ------------------------
  2170. # Ensure that the configuration variables for a C compiler are suitably
  2171. # defined.  These variables are subsequently used by _LT_CONFIG to write
  2172. # the compiler configuration to `libtool'.
  2173. m4_defun([_LT_LANG_C_CONFIG],
  2174. [m4_require([_LT_DECL_EGREP])dnl
  2175. lt_save_CC="$CC"
  2176. AC_LANG_PUSH(C)
  2177. # Source file extension for C test sources.
  2178. ac_ext=c
  2179. # Object file extension for compiled C test sources.
  2180. objext=o
  2181. _LT_TAGVAR(objext, $1)=$objext
  2182. # Code to be used in simple compile tests
  2183. lt_simple_compile_test_code="int some_variable = 0;"
  2184. # Code to be used in simple link tests
  2185. lt_simple_link_test_code='int main(){return(0);}'
  2186. _LT_TAG_COMPILER
  2187. # Save the default compiler, since it gets overwritten when the other
  2188. # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
  2189. compiler_DEFAULT=$CC
  2190. # save warnings/boilerplate of simple test code
  2191. _LT_COMPILER_BOILERPLATE
  2192. _LT_LINKER_BOILERPLATE
  2193. if test -n "$compiler"; then
  2194.   _LT_COMPILER_NO_RTTI($1)
  2195.   _LT_COMPILER_PIC($1)
  2196.   _LT_COMPILER_C_O($1)
  2197.   _LT_COMPILER_FILE_LOCKS($1)
  2198.   _LT_LINKER_SHLIBS($1)
  2199.   _LT_SYS_DYNAMIC_LINKER($1)
  2200.   _LT_LINKER_HARDCODE_LIBPATH($1)
  2201.   LT_SYS_DLOPEN_SELF
  2202.   _LT_CMD_STRIPLIB
  2203.   # Report which library types will actually be built
  2204.   AC_MSG_CHECKING([if libtool supports shared libraries])
  2205.   AC_MSG_RESULT([$can_build_shared])
  2206.   AC_MSG_CHECKING([whether to build shared libraries])
  2207.   test "$can_build_shared" = "no" && enable_shared=no
  2208.   # On AIX, shared libraries and static libraries use the same namespace, and
  2209.   # are all built from PIC.
  2210.   case $host_os in
  2211.   aix3*)
  2212.     test "$enable_shared" = yes && enable_static=no
  2213.     if test -n "$RANLIB"; then
  2214.       archive_cmds="$archive_cmds~$RANLIB $lib"
  2215.       postinstall_cmds='$RANLIB $lib'
  2216.     fi
  2217.     ;;
  2218.   aix[[4-9]]*)
  2219.     if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
  2220.       test "$enable_shared" = yes && enable_static=no
  2221.     fi
  2222.     ;;
  2223.   esac
  2224.   AC_MSG_RESULT([$enable_shared])
  2225.   AC_MSG_CHECKING([whether to build static libraries])
  2226.   # Make sure either enable_shared or enable_static is yes.
  2227.   test "$enable_shared" = yes || enable_static=yes
  2228.   AC_MSG_RESULT([$enable_static])
  2229.   _LT_CONFIG($1)
  2230. fi
  2231. AC_LANG_POP
  2232. CC="$lt_save_CC"
  2233. ])# _LT_LANG_C_CONFIG
  2234. # _LT_PROG_CXX
  2235. # ------------
  2236. # Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
  2237. # compiler, we have our own version here.
  2238. m4_defun([_LT_PROG_CXX],
  2239. [
  2240. pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
  2241. AC_PROG_CXX
  2242. if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
  2243.     ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
  2244.     (test "X$CXX" != "Xg++"))) ; then
  2245.   AC_PROG_CXXCPP
  2246. else
  2247.   _lt_caught_CXX_error=yes
  2248. fi
  2249. popdef([AC_MSG_ERROR])
  2250. ])# _LT_PROG_CXX
  2251. dnl aclocal-1.4 backwards compatibility:
  2252. dnl AC_DEFUN([_LT_PROG_CXX], [])
  2253. # _LT_LANG_CXX_CONFIG([TAG])
  2254. # --------------------------
  2255. # Ensure that the configuration variables for a C++ compiler are suitably
  2256. # defined.  These variables are subsequently used by _LT_CONFIG to write
  2257. # the compiler configuration to `libtool'.
  2258. m4_defun([_LT_LANG_CXX_CONFIG],
  2259. [AC_REQUIRE([_LT_PROG_CXX])dnl
  2260. m4_require([_LT_FILEUTILS_DEFAULTS])dnl
  2261. m4_require([_LT_DECL_EGREP])dnl
  2262. AC_LANG_PUSH(C++)
  2263. _LT_TAGVAR(archive_cmds_need_lc, $1)=no
  2264. _LT_TAGVAR(allow_undefined_flag, $1)=
  2265. _LT_TAGVAR(always_export_symbols, $1)=no
  2266. _LT_TAGVAR(archive_expsym_cmds, $1)=
  2267. _LT_TAGVAR(compiler_needs_object, $1)=no
  2268. _LT_TAGVAR(export_dynamic_flag_spec, $1)=
  2269. _LT_TAGVAR(hardcode_direct, $1)=no
  2270. _LT_TAGVAR(hardcode_direct_absolute, $1)=no
  2271. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
  2272. _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
  2273. _LT_TAGVAR(hardcode_libdir_separator, $1)=
  2274. _LT_TAGVAR(hardcode_minus_L, $1)=no
  2275. _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
  2276. _LT_TAGVAR(hardcode_automatic, $1)=no
  2277. _LT_TAGVAR(inherit_rpath, $1)=no
  2278. _LT_TAGVAR(module_cmds, $1)=
  2279. _LT_TAGVAR(module_expsym_cmds, $1)=
  2280. _LT_TAGVAR(link_all_deplibs, $1)=unknown
  2281. _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
  2282. _LT_TAGVAR(no_undefined_flag, $1)=
  2283. _LT_TAGVAR(whole_archive_flag_spec, $1)=
  2284. _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
  2285. # Source file extension for C++ test sources.
  2286. ac_ext=cpp
  2287. # Object file extension for compiled C++ test sources.
  2288. objext=o
  2289. _LT_TAGVAR(objext, $1)=$objext
  2290. # No sense in running all these tests if we already determined that
  2291. # the CXX compiler isn't working.  Some variables (like enable_shared)
  2292. # are currently assumed to apply to all compilers on this platform,
  2293. # and will be corrupted by setting them based on a non-working compiler.
  2294. if test "$_lt_caught_CXX_error" != yes; then
  2295.   # Code to be used in simple compile tests
  2296.   lt_simple_compile_test_code="int some_variable = 0;"
  2297.   # Code to be used in simple link tests
  2298.   lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
  2299.   # ltmain only uses $CC for tagged configurations so make sure $CC is set.
  2300.   _LT_TAG_COMPILER
  2301.   # save warnings/boilerplate of simple test code
  2302.   _LT_COMPILER_BOILERPLATE
  2303.   _LT_LINKER_BOILERPLATE
  2304.   # Allow CC to be a program name with arguments.
  2305.   lt_save_CC=$CC
  2306.   lt_save_LD=$LD
  2307.   lt_save_GCC=$GCC
  2308.   GCC=$GXX
  2309.   lt_save_with_gnu_ld=$with_gnu_ld
  2310.   lt_save_path_LD=$lt_cv_path_LD
  2311.   if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
  2312.     lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
  2313.   else
  2314.     $as_unset lt_cv_prog_gnu_ld
  2315.   fi
  2316.   if test -n "${lt_cv_path_LDCXX+set}"; then
  2317.     lt_cv_path_LD=$lt_cv_path_LDCXX
  2318.   else
  2319.     $as_unset lt_cv_path_LD
  2320.   fi
  2321.   test -z "${LDCXX+set}" || LD=$LDCXX
  2322.   CC=${CXX-"c++"}
  2323.   compiler=$CC
  2324.   _LT_TAGVAR(compiler, $1)=$CC
  2325.   _LT_CC_BASENAME([$compiler])
  2326.   if test -n "$compiler"; then
  2327.     # We don't want -fno-exception when compiling C++ code, so set the
  2328.     # no_builtin_flag separately
  2329.     if test "$GXX" = yes; then
  2330.       _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
  2331.     else
  2332.       _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
  2333.     fi
  2334.     if test "$GXX" = yes; then
  2335.       # Set up default GNU C++ configuration
  2336.       LT_PATH_LD
  2337.       # Check if GNU C++ uses GNU ld as the underlying linker, since the
  2338.       # archiving commands below assume that GNU ld is being used.
  2339.       if test "$with_gnu_ld" = yes; then
  2340.         _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
  2341.         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
  2342.         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
  2343.         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
  2344.         # If archive_cmds runs LD, not CC, wlarc should be empty
  2345.         # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
  2346.         #     investigate it a little bit more. (MM)
  2347.         wlarc='${wl}'
  2348.         # ancient GNU ld didn't support --whole-archive et. al.
  2349.         if eval "`$CC -print-prog-name=ld` --help 2>&1" |
  2350.   $GREP 'no-whole-archive' > /dev/null; then
  2351.           _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
  2352.         else
  2353.           _LT_TAGVAR(whole_archive_flag_spec, $1)=
  2354.         fi
  2355.       else
  2356.         with_gnu_ld=no
  2357.         wlarc=
  2358.         # A generic and very simple default shared library creation
  2359.         # command for GNU C++ for the case where it uses the native
  2360.         # linker, instead of GNU ld.  If possible, this setting should
  2361.         # overridden to take advantage of the native linker features on
  2362.         # the platform it is being used on.
  2363.         _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
  2364.       fi
  2365.       # Commands to make compiler produce verbose output that lists
  2366.       # what "hidden" libraries, object files and flags are used when
  2367.       # linking a shared library.
  2368.       output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "-L"'
  2369.     else
  2370.       GXX=no
  2371.       with_gnu_ld=no
  2372.       wlarc=
  2373.     fi
  2374.     # PORTME: fill in a description of your system's C++ link characteristics
  2375.     AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
  2376.     _LT_TAGVAR(ld_shlibs, $1)=yes
  2377.     case $host_os in
  2378.       aix3*)
  2379.         # FIXME: insert proper C++ library support
  2380.         _LT_TAGVAR(ld_shlibs, $1)=no
  2381.         ;;
  2382.       aix[[4-9]]*)
  2383.         if test "$host_cpu" = ia64; then
  2384.           # On IA64, the linker does run time linking by default, so we don't
  2385.           # have to do anything special.
  2386.           aix_use_runtimelinking=no
  2387.           exp_sym_flag='-Bexport'
  2388.           no_entry_flag=""
  2389.         else
  2390.           aix_use_runtimelinking=no
  2391.           # Test if we are trying to use run time linking or normal
  2392.           # AIX style linking. If -brtl is somewhere in LDFLAGS, we
  2393.           # need to do runtime linking.
  2394.           case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
  2395.     for ld_flag in $LDFLAGS; do
  2396.       case $ld_flag in
  2397.       *-brtl*)
  2398.         aix_use_runtimelinking=yes
  2399.         break
  2400.         ;;
  2401.       esac
  2402.     done
  2403.     ;;
  2404.           esac
  2405.           exp_sym_flag='-bexport'
  2406.           no_entry_flag='-bnoentry'
  2407.         fi
  2408.         # When large executables or shared objects are built, AIX ld can
  2409.         # have problems creating the table of contents.  If linking a library
  2410.         # or program results in "error TOC overflow" add -mminimal-toc to
  2411.         # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
  2412.         # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
  2413.         _LT_TAGVAR(archive_cmds, $1)=''
  2414.         _LT_TAGVAR(hardcode_direct, $1)=yes
  2415.         _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
  2416.         _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
  2417.         _LT_TAGVAR(link_all_deplibs, $1)=yes
  2418.         _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
  2419.         if test "$GXX" = yes; then
  2420.           case $host_os in aix4.[[012]]|aix4.[[012]].*)
  2421.           # We only want to do this on AIX 4.2 and lower, the check
  2422.           # below for broken collect2 doesn't work under 4.3+
  2423.   collect2name=`${CC} -print-prog-name=collect2`
  2424.   if test -f "$collect2name" &&
  2425.      strings "$collect2name" | $GREP resolve_lib_name >/dev/null
  2426.   then
  2427.     # We have reworked collect2
  2428.     :
  2429.   else
  2430.     # We have old collect2
  2431.     _LT_TAGVAR(hardcode_direct, $1)=unsupported
  2432.     # It fails to find uninstalled libraries when the uninstalled
  2433.     # path is not listed in the libpath.  Setting hardcode_minus_L
  2434.     # to unsupported forces relinking
  2435.     _LT_TAGVAR(hardcode_minus_L, $1)=yes
  2436.     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
  2437.     _LT_TAGVAR(hardcode_libdir_separator, $1)=
  2438.   fi
  2439.           esac
  2440.           shared_flag='-shared'
  2441.   if test "$aix_use_runtimelinking" = yes; then
  2442.     shared_flag="$shared_flag "'${wl}-G'
  2443.   fi
  2444.         else
  2445.           # not using gcc
  2446.           if test "$host_cpu" = ia64; then
  2447.   # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
  2448.   # chokes on -Wl,-G. The following line is correct:
  2449.   shared_flag='-G'
  2450.           else
  2451.     if test "$aix_use_runtimelinking" = yes; then
  2452.       shared_flag='${wl}-G'
  2453.     else
  2454.       shared_flag='${wl}-bM:SRE'
  2455.     fi
  2456.           fi
  2457.         fi
  2458.         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
  2459.         # It seems that -bexpall does not export symbols beginning with
  2460.         # underscore (_), so it is better to generate a list of symbols to
  2461. # export.
  2462.         _LT_TAGVAR(always_export_symbols, $1)=yes
  2463.         if test "$aix_use_runtimelinking" = yes; then
  2464.           # Warning - without using the other runtime loading flags (-brtl),
  2465.           # -berok will link without error, but may produce a broken library.
  2466.           _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
  2467.           # Determine the default libpath from the value encoded in an empty
  2468.           # executable.
  2469.           _LT_SYS_MODULE_PATH_AIX
  2470.           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
  2471.           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"${wl}$exp_sym_flag:$export_symbols $shared_flag"
  2472.         else
  2473.           if test "$host_cpu" = ia64; then
  2474.     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
  2475.     _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
  2476.     _LT_TAGVAR(archive_expsym_cmds, $1)="$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"${wl}$exp_sym_flag:$export_symbols"
  2477.           else
  2478.     # Determine the default libpath from the value encoded in an
  2479.     # empty executable.
  2480.     _LT_SYS_MODULE_PATH_AIX
  2481.     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
  2482.     # Warning - without using the other run time loading flags,
  2483.     # -berok will link without error, but may produce a broken library.
  2484.     _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
  2485.     _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
  2486.     # Exported symbols can be pulled into shared objects from archives
  2487.     _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
  2488.     _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
  2489.     # This is similar to how AIX traditionally builds its shared
  2490.     # libraries.
  2491.     _LT_TAGVAR(archive_expsym_cmds, $1)="$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
  2492.           fi
  2493.         fi
  2494.         ;;
  2495.       beos*)
  2496. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
  2497.   _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
  2498.   # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
  2499.   # support --undefined.  This deserves some investigation.  FIXME
  2500.   _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
  2501. else
  2502.   _LT_TAGVAR(ld_shlibs, $1)=no
  2503. fi
  2504. ;;
  2505.       chorus*)
  2506.         case $cc_basename in
  2507.           *)
  2508.   # FIXME: insert proper C++ library support
  2509.   _LT_TAGVAR(ld_shlibs, $1)=no
  2510.   ;;
  2511.         esac
  2512.         ;;
  2513.       cygwin* | mingw* | pw32* | cegcc*)
  2514.         # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
  2515.         # as there is no search path for DLLs.
  2516.         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
  2517.         _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
  2518.         _LT_TAGVAR(always_export_symbols, $1)=no
  2519.         _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
  2520.         if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
  2521.           _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
  2522.           # If the export-symbols file already is a .def file (1st line
  2523.           # is EXPORTS), use it as is; otherwise, prepend...
  2524.           _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
  2525.     cp $export_symbols $output_objdir/$soname.def;
  2526.           else
  2527.     echo EXPORTS > $output_objdir/$soname.def;
  2528.     cat $export_symbols >> $output_objdir/$soname.def;
  2529.           fi~
  2530.           $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
  2531.         else
  2532.           _LT_TAGVAR(ld_shlibs, $1)=no
  2533.         fi
  2534.         ;;
  2535.       darwin* | rhapsody*)
  2536.         _LT_DARWIN_LINKER_FEATURES($1)
  2537. ;;
  2538.       dgux*)
  2539.         case $cc_basename in
  2540.           ec++*)
  2541.     # FIXME: insert proper C++ library support
  2542.     _LT_TAGVAR(ld_shlibs, $1)=no
  2543.     ;;
  2544.           ghcx*)
  2545.     # Green Hills C++ Compiler
  2546.     # FIXME: insert proper C++ library support
  2547.     _LT_TAGVAR(ld_shlibs, $1)=no
  2548.     ;;
  2549.           *)
  2550.     # FIXME: insert proper C++ library support
  2551.     _LT_TAGVAR(ld_shlibs, $1)=no
  2552.     ;;
  2553.         esac
  2554.         ;;
  2555.       freebsd[[12]]*)
  2556.         # C++ shared libraries reported to be fairly broken before
  2557. # switch to ELF
  2558.         _LT_TAGVAR(ld_shlibs, $1)=no
  2559.         ;;
  2560.       freebsd-elf*)
  2561.         _LT_TAGVAR(archive_cmds_need_lc, $1)=no
  2562.         ;;
  2563.       freebsd* | dragonfly*)
  2564.         # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
  2565.         # conventions
  2566.         _LT_TAGVAR(ld_shlibs, $1)=yes
  2567.         ;;
  2568.       gnu*)
  2569.         ;;
  2570.       hpux9*)
  2571.         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
  2572.         _LT_TAGVAR(hardcode_libdir_separator, $1)=:
  2573.         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
  2574.         _LT_TAGVAR(hardcode_direct, $1)=yes
  2575.         _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
  2576.              # but as the default
  2577.              # location of the library.
  2578.         case $cc_basename in
  2579.           CC*)
  2580.             # FIXME: insert proper C++ library support
  2581.             _LT_TAGVAR(ld_shlibs, $1)=no
  2582.             ;;
  2583.           aCC*)
  2584.             _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
  2585.             # Commands to make compiler produce verbose output that lists
  2586.             # what "hidden" libraries, object files and flags are used when
  2587.             # linking a shared library.
  2588.             #
  2589.             # There doesn't appear to be a way to prevent this compiler from
  2590.             # explicitly linking system object files so we need to strip them
  2591.             # from the output so that they don't get included in the library
  2592.             # dependencies.
  2593.             output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
  2594.             ;;
  2595.           *)
  2596.             if test "$GXX" = yes; then
  2597.               _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
  2598.             else
  2599.               # FIXME: insert proper C++ library support
  2600.               _LT_TAGVAR(ld_shlibs, $1)=no
  2601.             fi
  2602.             ;;
  2603.         esac
  2604.         ;;
  2605.       hpux10*|hpux11*)
  2606.         if test $with_gnu_ld = no; then
  2607.   _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
  2608.   _LT_TAGVAR(hardcode_libdir_separator, $1)=:
  2609.           case $host_cpu in
  2610.             hppa*64*|ia64*)
  2611.               ;;
  2612.             *)
  2613.       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
  2614.               ;;
  2615.           esac
  2616.         fi
  2617.         case $host_cpu in
  2618.           hppa*64*|ia64*)
  2619.             _LT_TAGVAR(hardcode_direct, $1)=no
  2620.             _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
  2621.             ;;
  2622.           *)
  2623.             _LT_TAGVAR(hardcode_direct, $1)=yes
  2624.             _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
  2625.             _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
  2626.          # but as the default
  2627.          # location of the library.
  2628.             ;;
  2629.         esac
  2630.         case $cc_basename in
  2631.           CC*)
  2632.     # FIXME: insert proper C++ library support
  2633.     _LT_TAGVAR(ld_shlibs, $1)=no
  2634.     ;;
  2635.           aCC*)
  2636.     case $host_cpu in
  2637.       hppa*64*)
  2638.         _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
  2639.         ;;
  2640.       ia64*)
  2641.         _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
  2642.         ;;
  2643.       *)
  2644.         _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
  2645.         ;;
  2646.     esac
  2647.     # Commands to make compiler produce verbose output that lists
  2648.     # what "hidden" libraries, object files and flags are used when
  2649.     # linking a shared library.
  2650.     #
  2651.     # There doesn't appear to be a way to prevent this compiler from
  2652.     # explicitly linking system object files so we need to strip them
  2653.     # from the output so that they don't get included in the library
  2654.     # dependencies.
  2655.     output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
  2656.     ;;
  2657.           *)