(linenum→info "unix/slp.c:2238")

gcc/4.2.2/libtool.m4

    1: ## libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-
    2: ## Copyright 1996, 1997, 1998, 1999, 2000, 2001
    3: ## Free Software Foundation, Inc.
    4: ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
    5: ##
    6: ## This program is free software; you can redistribute it and/or modify
    7: ## it under the terms of the GNU General Public License as published by
    8: ## the Free Software Foundation; either version 2 of the License, or
    9: ## (at your option) any later version.
   10: ##
   11: ## This program is distributed in the hope that it will be useful, but
   12: ## WITHOUT ANY WARRANTY; without even the implied warranty of
   13: ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   14: ## General Public License for more details.
   15: ##
   16: ## You should have received a copy of the GNU General Public License
   17: ## along with this program; if not, write to the Free Software
   18: ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
   19: ##
   20: ## As a special exception to the GNU General Public License, if you
   21: ## distribute this file as part of a program that contains a
   22: ## configuration script generated by Autoconf, you may include it under
   23: ## the same distribution terms that you use for the rest of that program.
   24: 
   25: # serial 46 AC_PROG_LIBTOOL
   26: AC_DEFUN([AC_PROG_LIBTOOL],
   27: [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
   28: dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
   29: dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
   30:   AC_PROVIDE_IFELSE([AC_PROG_CXX],
   31:     [AC_LIBTOOL_CXX],
   32:     [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
   33: ])])
   34: 
   35: dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
   36: dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
   37: dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
   38:   AC_PROVIDE_IFELSE([AC_PROG_GCJ],
   39:     [AC_LIBTOOL_GCJ],
   40:     [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
   41:         [AC_LIBTOOL_GCJ],
   42:         [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
   43:           [AC_LIBTOOL_GCJ],
   44:         [ifdef([AC_PROG_GCJ],
   45:                [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ
   46: ])])
   47:          ifdef([A][M_PROG_GCJ],
   48:                [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ
   49: ])])
   50:          ifdef([LT_AC_PROG_GCJ],
   51:                [define([LT_AC_PROG_GCJ], defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ
   52: ])])])])])])
   53: 
   54: AC_DEFUN([_AC_PROG_LIBTOOL],
   55: [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
   56: AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
   57: AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
   58: 
   59: # Save cache, so that ltconfig can load it
   60: AC_CACHE_SAVE
   61: 
   62: # Actually configure libtool.  ac_aux_dir is where install-sh is found.
   63: AR="$AR" LTCC="$CC" CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
   64: MAGIC_CMD="$MAGIC_CMD" LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
   65: LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" STRIP="$STRIP" \
   66: AS="$AS" DLLTOOL="$DLLTOOL" OBJDUMP="$OBJDUMP" \
   67: objext="$OBJEXT" exeext="$EXEEXT" reload_flag="$reload_flag" \
   68: deplibs_check_method="$deplibs_check_method" file_magic_cmd="$file_magic_cmd" \
   69: ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
   70: $libtool_flags --no-verify --build="$build" $ac_aux_dir/ltmain.sh $host \
   71: || AC_MSG_ERROR([libtool configure failed])
   72: 
   73: # Reload cache, that may have been modified by ltconfig
   74: AC_CACHE_LOAD
   75: 
   76: # This can be used to rebuild libtool when needed
   77: LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh $ac_aux_dir/ltcf-c.sh"
   78: 
   79: # Always use our own libtool.
   80: LIBTOOL='$(SHELL) $(top_builddir)/libtool'
   81: AC_SUBST(LIBTOOL)dnl
   82: 
   83: # Redirect the config.log output again, so that the ltconfig log is not
   84: # clobbered by the next message.
   85: exec 5>>./config.log
   86: ])
   87: 
   88: AC_DEFUN([AC_LIBTOOL_SETUP],
   89: [AC_PREREQ(2.13)dnl
   90: AC_REQUIRE([AC_ENABLE_SHARED])dnl
   91: AC_REQUIRE([AC_ENABLE_STATIC])dnl
   92: AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
   93: AC_REQUIRE([AC_CANONICAL_HOST])dnl
   94: AC_REQUIRE([AC_CANONICAL_BUILD])dnl
   95: AC_REQUIRE([AC_PROG_CC])dnl
   96: AC_REQUIRE([AC_PROG_LD])dnl
   97: AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
   98: AC_REQUIRE([AC_PROG_NM])dnl
   99: AC_REQUIRE([AC_PROG_LN_S])dnl
  100: AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
  101: # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
  102: AC_REQUIRE([AC_OBJEXT])dnl
  103: AC_REQUIRE([AC_EXEEXT])dnl
  104: dnl
  105: 
  106: AC_LIBTOOL_SYS_MAX_CMD_LEN
  107: 
  108: # Only perform the check for file, if the check method requires it
  109: case $deplibs_check_method in
  110: file_magic*)
  111:   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
  112:     AC_PATH_MAGIC
  113:   fi
  114:   ;;
  115: esac
  116: 
  117: AC_CHECK_TOOL(RANLIB, ranlib, :)
  118: AC_CHECK_TOOL(STRIP, strip, :)
  119: 
  120: # Check for any special flags to pass to ltconfig.
  121: libtool_flags="--cache-file=$cache_file"
  122: test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
  123: test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
  124: test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
  125: test "$GCC" = yes && libtool_flags="$libtool_flags --with-gcc"
  126: test "$lt_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
  127: ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
  128: [libtool_flags="$libtool_flags --enable-dlopen"])
  129: ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
  130: [libtool_flags="$libtool_flags --enable-win32-dll"])
  131: AC_ARG_ENABLE(libtool-lock,
  132:   [  --disable-libtool-lock  avoid locking (might break parallel builds)])
  133: test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
  134: test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
  135: 
  136: AC_ARG_WITH(pic,
  137:   [  --with-pic              try to use only PIC/non-PIC objects [default=use both]],
  138:      pic_mode="$withval", pic_mode=default)
  139: test x"$pic_mode" = xyes && libtool_flags="$libtool_flags --prefer-pic"
  140: test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
  141: 
  142: # Some flags need to be propagated to the compiler or linker for good
  143: # libtool support.
  144: case $host in
  145: *-*-irix6*)
  146:   # Find out which ABI we are using.
  147:   echo '[#]line __oline__ "configure"' > conftest.$ac_ext
  148:   if AC_TRY_EVAL(ac_compile); then
  149:    if test "$lt_cv_prog_gnu_ld" = yes; then
  150:     case `/usr/bin/file conftest.$ac_objext` in
  151:     *32-bit*)
  152:       LD="${LD-ld} -melf32bsmip"
  153:       ;;
  154:     *N32*)
  155:       LD="${LD-ld} -melf32bmipn32"
  156:       ;;
  157:     *64-bit*)
  158:       LD="${LD-ld} -melf64bmip"
  159:       ;;
  160:     esac
  161:    else
  162:     case `/usr/bin/file conftest.$ac_objext` in
  163:     *32-bit*)
  164:       LD="${LD-ld} -32"
  165:       ;;
  166:     *N32*)
  167:       LD="${LD-ld} -n32"
  168:       ;;
  169:     *64-bit*)
  170:       LD="${LD-ld} -64"
  171:       ;;
  172:     esac
  173:    fi
  174:   fi
  175:   rm -rf conftest*
  176:   ;;
  177: 
  178: ia64-*-hpux*)
  179:   # Find out which ABI we are using.
  180:   echo 'int i;' > conftest.$ac_ext
  181:   if AC_TRY_EVAL(ac_compile); then
  182:     case "`/usr/bin/file conftest.o`" in
  183:     *ELF-32*)
  184:       HPUX_IA64_MODE="32"
  185:       ;;
  186:     *ELF-64*)
  187:       HPUX_IA64_MODE="64"
  188:       ;;
  189:     esac
  190:   fi
  191:   rm -rf conftest*
  192:   ;;
  193: 
  194: x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
  195:   # Find out which ABI we are using.
  196:   echo 'int i;' > conftest.$ac_ext
  197:   if AC_TRY_EVAL(ac_compile); then
  198:     case "`/usr/bin/file conftest.o`" in
  199:     *32-bit*)
  200:       case $host in
  201:         x86_64-*linux*)
  202:           LD="${LD-ld} -m elf_i386"
  203:           ;;
  204:         ppc64-*linux*|powerpc64-*linux*)
  205:           LD="${LD-ld} -m elf32ppclinux"
  206:           ;;
  207:         s390x-*linux*)
  208:           LD="${LD-ld} -m elf_s390"
  209:           ;;
  210:         sparc64-*linux*)
  211:           LD="${LD-ld} -m elf32_sparc"
  212:           ;;
  213:       esac
  214:       ;;
  215:     *64-bit*)
  216:       case $host in
  217:         x86_64-*linux*)
  218:           LD="${LD-ld} -m elf_x86_64"
  219:           ;;
  220:         ppc*-*linux*|powerpc*-*linux*)
  221:           LD="${LD-ld} -m elf64ppc"
  222:           ;;
  223:         s390*-*linux*)
  224:           LD="${LD-ld} -m elf64_s390"
  225:           ;;
  226:         sparc*-*linux*)
  227:           LD="${LD-ld} -m elf64_sparc"
  228:           ;;
  229:       esac
  230:       ;;
  231:     esac
  232:   fi
  233:   rm -rf conftest*
  234:   ;;
  235: 
  236: *-*-sco3.2v5*)
  237:   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
  238:   SAVE_CFLAGS="$CFLAGS"
  239:   CFLAGS="$CFLAGS -belf"
  240:   AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
  241:     [AC_LANG_SAVE
  242:      AC_LANG_C
  243:      AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
  244:      AC_LANG_RESTORE])
  245:   if test x"$lt_cv_cc_needs_belf" != x"yes"; then
  246:     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
  247:     CFLAGS="$SAVE_CFLAGS"
  248:   fi
  249:   ;;
  250: 
  251: ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
  252: [*-*-cygwin* | *-*-mingw* | *-*-pw32*)
  253:   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
  254:   AC_CHECK_TOOL(AS, as, false)
  255:   AC_CHECK_TOOL(OBJDUMP, objdump, false)
  256: 
  257:   # recent cygwin and mingw systems supply a stub DllMain which the user
  258:   # can override, but on older systems we have to supply one
  259:   AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain,
  260:     [AC_TRY_LINK([],
  261:       [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*);
  262:       DllMain (0, 0, 0);],
  263:       [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])])
  264: 
  265:   case $host/$CC in
  266:   *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*)
  267:     # old mingw systems require "-dll" to link a DLL, while more recent ones
  268:     # require "-mdll"
  269:     SAVE_CFLAGS="$CFLAGS"
  270:     CFLAGS="$CFLAGS -mdll"
  271:     AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch,
  272:       [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])])
  273:     CFLAGS="$SAVE_CFLAGS" ;;
  274:   *-*-cygwin* | *-*-pw32*)
  275:     # cygwin systems need to pass --dll to the linker, and not link
  276:     # crt.o which will require a WinMain@16 definition.
  277:     lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;;
  278:   esac
  279:   ;;
  280:   ])
  281: esac
  282: ])
  283: 
  284: 
  285: # AC_LIBTOOL_SYS_MAX_CMD_LEN
  286: # --------------------------
  287: AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
  288: [# find the maximum length of command line arguments
  289: AC_MSG_CHECKING([the maximum length of command line arguments])
  290: AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
  291:   i=0
  292:   teststring="ABCD"
  293: 
  294:   case $build_os in
  295:   msdosdjgpp*)
  296:     # On DJGPP, this test can blow up pretty badly due to problems in libc
  297:     # (any single argument exceeding 2000 bytes causes a buffer overrun
  298:     # during glob expansion).  Even if it were fixed, the result of this
  299:     # check would be larger than it should be.
  300:     lt_cv_sys_max_cmd_len=12288;    # 12K is about right
  301:     ;;
  302: 
  303:   cygwin* | mingw*)
  304:     # On Win9x/ME, this test blows up -- it succeeds, but takes
  305:     # about 5 minutes as the teststring grows exponentially.
  306:     # Worse, since 9x/ME are not pre-emptively multitasking,
  307:     # you end up with a "frozen" computer, even though with patience
  308:     # the test eventually succeeds (with a max line length of 256k).
  309:     # Instead, let's just punt: use the minimum linelength reported by
  310:     # all of the supported platforms: 8192 (on NT/2K/XP).
  311:     lt_cv_sys_max_cmd_len=8192;
  312:     ;;
  313: 
  314:   amigaos*)
  315:     # On AmigaOS with pdksh, this test takes hours, literally.
  316:     # So we just punt and use a minimum line length of 8192.
  317:     lt_cv_sys_max_cmd_len=8192;
  318:     ;;
  319: 
  320:   netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
  321:     # This has been around since 386BSD, at least.  Likely further.
  322:     if test -x /sbin/sysctl; then
  323:       lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
  324:     elif test -x /usr/sbin/sysctl; then
  325:       lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
  326:     else
  327:       lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
  328:     fi
  329:     # And add a safety zone
  330:     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
  331:     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
  332:     ;;
  333:   esac
  334: ])
  335: if test -n "$lt_cv_sys_max_cmd_len" ; then
  336:   AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
  337: else
  338:   AC_MSG_RESULT(none)
  339: fi
  340: ])# AC_LIBTOOL_SYS_MAX_CMD_LEN
  341: 
  342: 
  343: # AC_LIBTOOL_DLOPEN - enable checks for dlopen support
  344: AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
  345: 
  346: # AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
  347: AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
  348: 
  349: # AC_ENABLE_SHARED - implement the --enable-shared flag
  350: # Usage: AC_ENABLE_SHARED[(DEFAULT)]
  351: #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
  352: #   `yes'.
  353: AC_DEFUN([AC_ENABLE_SHARED],
  354: [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
  355: AC_ARG_ENABLE(shared,
  356: changequote(<<, >>)dnl
  357: <<  --enable-shared[=PKGS]  build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
  358: changequote([, ])dnl
  359: [p=${PACKAGE-default}
  360: case $enableval in
  361: yes) enable_shared=yes ;;
  362: no) enable_shared=no ;;
  363: *)
  364:   enable_shared=no
  365:   # Look at the argument we got.  We use all the common list separators.
  366:   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
  367:   for pkg in $enableval; do
  368:     if test "X$pkg" = "X$p"; then
  369:       enable_shared=yes
  370:     fi
  371:   done
  372:   IFS="$ac_save_ifs"
  373:   ;;
  374: esac],
  375: enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
  376: ])
  377: 
  378: # AC_DISABLE_SHARED - set the default shared flag to --disable-shared
  379: AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
  380: AC_ENABLE_SHARED(no)])
  381: 
  382: # AC_ENABLE_STATIC - implement the --enable-static flag
  383: # Usage: AC_ENABLE_STATIC[(DEFAULT)]
  384: #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
  385: #   `yes'.
  386: AC_DEFUN([AC_ENABLE_STATIC],
  387: [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
  388: AC_ARG_ENABLE(static,
  389: changequote(<<, >>)dnl
  390: <<  --enable-static[=PKGS]  build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
  391: changequote([, ])dnl
  392: [p=${PACKAGE-default}
  393: case $enableval in
  394: yes) enable_static=yes ;;
  395: no) enable_static=no ;;
  396: *)
  397:   enable_static=no
  398:   # Look at the argument we got.  We use all the common list separators.
  399:   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
  400:   for pkg in $enableval; do
  401:     if test "X$pkg" = "X$p"; then
  402:       enable_static=yes
  403:     fi
  404:   done
  405:   IFS="$ac_save_ifs"
  406:   ;;
  407: esac],
  408: enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
  409: ])
  410: 
  411: # AC_DISABLE_STATIC - set the default static flag to --disable-static
  412: AC_DEFUN([AC_DISABLE_STATIC],
  413: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
  414: AC_ENABLE_STATIC(no)])
  415: 
  416: 
  417: # AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
  418: # Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
  419: #   Where DEFAULT is either `yes' or `no'.  If omitted, it defaults to
  420: #   `yes'.
  421: AC_DEFUN([AC_ENABLE_FAST_INSTALL],
  422: [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
  423: AC_ARG_ENABLE(fast-install,
  424: changequote(<<, >>)dnl
  425: <<  --enable-fast-install[=PKGS]  optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
  426: changequote([, ])dnl
  427: [p=${PACKAGE-default}
  428: case $enableval in
  429: yes) enable_fast_install=yes ;;
  430: no) enable_fast_install=no ;;
  431: *)
  432:   enable_fast_install=no
  433:   # Look at the argument we got.  We use all the common list separators.
  434:   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
  435:   for pkg in $enableval; do
  436:     if test "X$pkg" = "X$p"; then
  437:       enable_fast_install=yes
  438:     fi
  439:   done
  440:   IFS="$ac_save_ifs"
  441:   ;;
  442: esac],
  443: enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
  444: ])
  445: 
  446: # AC_DISABLE_FAST_INSTALL - set the default to --disable-fast-install
  447: AC_DEFUN([AC_DISABLE_FAST_INSTALL],
  448: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
  449: AC_ENABLE_FAST_INSTALL(no)])
  450: 
  451: # AC_LIBTOOL_PICMODE - implement the --with-pic flag
  452: # Usage: AC_LIBTOOL_PICMODE[(MODE)]
  453: #   Where MODE is either `yes' or `no'.  If omitted, it defaults to
  454: #   `both'.
  455: AC_DEFUN([AC_LIBTOOL_PICMODE],
  456: [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
  457: pic_mode=ifelse($#,1,$1,default)])
  458: 
  459: 
  460: # AC_PATH_TOOL_PREFIX - find a file program which can recognise shared library
  461: AC_DEFUN([AC_PATH_TOOL_PREFIX],
  462: [AC_MSG_CHECKING([for $1])
  463: AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
  464: [case $MAGIC_CMD in
  465:   /*)
  466:   lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
  467:   ;;
  468:   ?:/*)
  469:   lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
  470:   ;;
  471:   *)
  472:   ac_save_MAGIC_CMD="$MAGIC_CMD"
  473:   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
  474: dnl $ac_dummy forces splitting on constant user-supplied paths.
  475: dnl POSIX.2 word splitting is done only on the output of word expansions,
  476: dnl not every word.  This closes a longstanding sh security hole.
  477:   ac_dummy="ifelse([$2], , $PATH, [$2])"
  478:   for ac_dir in $ac_dummy; do
  479:     test -z "$ac_dir" && ac_dir=.
  480:     if test -f $ac_dir/$1; then
  481:       lt_cv_path_MAGIC_CMD="$ac_dir/$1"
  482:       if test -n "$file_magic_test_file"; then
  483:         case $deplibs_check_method in
  484:         "file_magic "*)
  485:           file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
  486:           MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
  487:           if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
  488:             egrep "$file_magic_regex" > /dev/null; then
  489:             :
  490:           else
  491:             cat <<EOF 1>&2
  492: 
  493: *** Warning: the command libtool uses to detect shared libraries,
  494: *** $file_magic_cmd, produces output that libtool cannot recognize.
  495: *** The result is that libtool may fail to recognize shared libraries
  496: *** as such.  This will affect the creation of libtool libraries that
  497: *** depend on shared libraries, but programs linked with such libtool
  498: *** libraries will work regardless of this problem.  Nevertheless, you
  499: *** may want to report the problem to your system manager and/or to
  500: *** bug-libtool@gnu.org
  501: 
  502: EOF
  503:           fi ;;
  504:         esac
  505:       fi
  506:       break
  507:     fi
  508:   done
  509:   IFS="$ac_save_ifs"
  510:   MAGIC_CMD="$ac_save_MAGIC_CMD"
  511:   ;;
  512: esac])
  513: MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
  514: if test -n "$MAGIC_CMD"; then
  515:   AC_MSG_RESULT($MAGIC_CMD)
  516: else
  517:   AC_MSG_RESULT(no)
  518: fi
  519: ])
  520: 
  521: 
  522: # AC_PATH_MAGIC - find a file program which can recognise a shared library
  523: AC_DEFUN([AC_PATH_MAGIC],
  524: [AC_REQUIRE([AC_CHECK_TOOL_PREFIX])dnl
  525: AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin:$PATH)
  526: if test -z "$lt_cv_path_MAGIC_CMD"; then
  527:   if test -n "$ac_tool_prefix"; then
  528:     AC_PATH_TOOL_PREFIX(file, /usr/bin:$PATH)
  529:   else
  530:     MAGIC_CMD=:
  531:   fi
  532: fi
  533: ])
  534: 
  535: 
  536: # AC_PROG_LD - find the path to the GNU or non-GNU linker
  537: AC_DEFUN([AC_PROG_LD],
  538: [AC_ARG_WITH(gnu-ld,
  539: [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
  540: test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
  541: AC_REQUIRE([AC_PROG_CC])dnl
  542: AC_REQUIRE([AC_CANONICAL_HOST])dnl
  543: AC_REQUIRE([AC_CANONICAL_BUILD])dnl
  544: ac_prog=ld
  545: if test "$GCC" = yes; then
  546:   # Check if gcc -print-prog-name=ld gives a path.
  547:   AC_MSG_CHECKING([for ld used by GCC])
  548:   case $host in
  549:   *-*-mingw*)
  550:     # gcc leaves a trailing carriage return which upsets mingw
  551:     ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
  552:   *)
  553:     ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
  554:   esac
  555:   case $ac_prog in
  556:     # Accept absolute paths.
  557:     [[\\/]* | [A-Za-z]:[\\/]*)]
  558:       re_direlt=['/[^/][^/]*/\.\./']
  559:       # Canonicalize the path of ld
  560:       ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
  561:       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
  562:         ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
  563:       done
  564:       test -z "$LD" && LD="$ac_prog"
  565:       ;;
  566:   "")
  567:     # If it fails, then pretend we aren't using GCC.
  568:     ac_prog=ld
  569:     ;;
  570:   *)
  571:     # If it is relative, then search for the first ld in PATH.
  572:     with_gnu_ld=unknown
  573:     ;;
  574:   esac
  575: elif test "$with_gnu_ld" = yes; then
  576:   AC_MSG_CHECKING([for GNU ld])
  577: else
  578:   AC_MSG_CHECKING([for non-GNU ld])
  579: fi
  580: AC_CACHE_VAL(lt_cv_path_LD,
  581: [if test -z "$LD"; then
  582:   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
  583:   for ac_dir in $PATH; do
  584:     test -z "$ac_dir" && ac_dir=.
  585:     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
  586:       lt_cv_path_LD="$ac_dir/$ac_prog"
  587:       # Check to see if the program is GNU ld.  I'd rather use --version,
  588:       # but apparently some GNU ld's only accept -v.
  589:       # Break only if it was the GNU/non-GNU ld that we prefer.
  590:       if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
  591:         test "$with_gnu_ld" != no && break
  592:       else
  593:         test "$with_gnu_ld" != yes && break
  594:       fi
  595:     fi
  596:   done
  597:   IFS="$ac_save_ifs"
  598: else
  599:   lt_cv_path_LD="$LD" # Let the user override the test with a path.
  600: fi])
  601: LD="$lt_cv_path_LD"
  602: if test -n "$LD"; then
  603:   AC_MSG_RESULT($LD)
  604: else
  605:   AC_MSG_RESULT(no)
  606: fi
  607: test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
  608: AC_PROG_LD_GNU
  609: ])
  610: 
  611: AC_DEFUN([AC_PROG_LD_GNU],
  612: [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
  613: [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
  614: if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
  615:   lt_cv_prog_gnu_ld=yes
  616: else
  617:   lt_cv_prog_gnu_ld=no
  618: fi])
  619: with_gnu_ld=$lt_cv_prog_gnu_ld
  620: ])
  621: 
  622: # AC_PROG_LD_RELOAD_FLAG - find reload flag for linker
  623: #   -- PORTME Some linkers may need a different reload flag.
  624: AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
  625: [AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag,
  626: [lt_cv_ld_reload_flag='-r'])
  627: reload_flag=$lt_cv_ld_reload_flag
  628: test -n "$reload_flag" && reload_flag=" $reload_flag"
  629: ])
  630: 
  631: # AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
  632: #  -- PORTME fill in with the dynamic library characteristics
  633: AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
  634: [AC_CACHE_CHECK([how to recognise dependant libraries],
  635: lt_cv_deplibs_check_method,
  636: [lt_cv_file_magic_cmd='$MAGIC_CMD'
  637: lt_cv_file_magic_test_file=
  638: lt_cv_deplibs_check_method='unknown'
  639: # Need to set the preceding variable on all platforms that support
  640: # interlibrary dependencies.
  641: # 'none' -- dependencies not supported.
  642: # `unknown' -- same as none, but documents that we really don't know.
  643: # 'pass_all' -- all dependencies passed with no checks.
  644: # 'test_compile' -- check by making test program.
  645: # 'file_magic [regex]' -- check by looking for files in library path
  646: # which responds to the $file_magic_cmd with a given egrep regex.
  647: # If you have `file' or equivalent on your system and you're not sure
  648: # whether `pass_all' will *always* work, you probably want this one.
  649: 
  650: case $host_os in
  651: aix*)
  652:   lt_cv_deplibs_check_method=pass_all
  653:   ;;
  654: 
  655: beos*)
  656:   lt_cv_deplibs_check_method=pass_all
  657:   ;;
  658: 
  659: bsdi4*)
  660:   lt_cv_deplibs_check_method=['file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)']
  661:   lt_cv_file_magic_cmd='/usr/bin/file -L'
  662:   lt_cv_file_magic_test_file=/shlib/libc.so
  663:   ;;
  664: 
  665: cygwin* | mingw* |pw32*)
  666:   lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
  667:   lt_cv_file_magic_cmd='$OBJDUMP -f'
  668:   ;;
  669: 
  670: darwin* | rhapsody*)
  671:   # this will be overwritten by pass_all, but leave it in just in case
  672:   lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
  673:   lt_cv_file_magic_cmd='/usr/bin/file -L'
  674:   case "$host_os" in
  675:   rhapsody* | darwin1.[012])
  676:     lt_cv_file_magic_test_file='/System/Library/Frameworks/System.framework/System'
  677:     ;;
  678:   *) # Darwin 1.3 on
  679:     lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib'
  680:     ;;
  681:   esac
  682:   lt_cv_deplibs_check_method=pass_all
  683:   ;;
  684: 
  685: freebsd* | kfreebsd*-gnu)
  686:   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
  687:     case $host_cpu in
  688:     i*86 )
  689:       # Not sure whether the presence of OpenBSD here was a mistake.
  690:       # Let's accept both of them until this is cleared up.
  691:       lt_cv_deplibs_check_method=['file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library']
  692:       lt_cv_file_magic_cmd=/usr/bin/file
  693:       lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
  694:       ;;
  695:     esac
  696:   else
  697:     lt_cv_deplibs_check_method=pass_all
  698:   fi
  699:   ;;
  700: 
  701: gnu*)
  702:   lt_cv_deplibs_check_method=pass_all
  703:   ;;
  704: 
  705: hpux10.20*|hpux11*)
  706:   case $host_cpu in
  707:   hppa*)
  708:     [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library']
  709:     lt_cv_file_magic_cmd=/usr/bin/file
  710:     lt_cv_file_magic_test_file=/usr/lib/libc.sl
  711:     ;;
  712:   ia64*)
  713:     [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64']
  714:     lt_cv_file_magic_cmd=/usr/bin/file
  715:     lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
  716:     ;;
  717:   esac
  718:   ;;
  719: 
  720: irix5* | irix6*)
  721:   case $host_os in
  722:   irix5*)
  723:     # this will be overridden with pass_all, but let us keep it just in case
  724:     lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
  725:     ;;
  726:   *)
  727:     case $LD in
  728:     *-32|*"-32 ") libmagic=32-bit;;
  729:     *-n32|*"-n32 ") libmagic=N32;;
  730:     *-64|*"-64 ") libmagic=64-bit;;
  731:     *) libmagic=never-match;;
  732:     esac
  733:     # this will be overridden with pass_all, but let us keep it just in case
  734:     lt_cv_deplibs_check_method=["file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"]
  735:     ;;
  736:   esac
  737:   lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
  738:   lt_cv_deplibs_check_method=pass_all
  739:   ;;
  740: 
  741: # This must be Linux ELF.
  742: linux-gnu*)
  743:   lt_cv_deplibs_check_method=pass_all
  744:   ;;
  745: 
  746: netbsd* | knetbsd*-gnu)
  747:   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
  748:     [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
  749:   else
  750:     [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$']
  751:   fi
  752:   ;;
  753: 
  754: newsos6)
  755:   [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)']
  756:   lt_cv_file_magic_cmd=/usr/bin/file
  757:   lt_cv_file_magic_test_file=/usr/lib/libnls.so
  758:   ;;
  759: 
  760: osf3* | osf4* | osf5*)
  761:   # this will be overridden with pass_all, but let us keep it just in case
  762:   lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
  763:   lt_cv_file_magic_test_file=/shlib/libc.so
  764:   lt_cv_deplibs_check_method=pass_all
  765:   ;;
  766: 
  767: sco3.2v5*)
  768:   lt_cv_deplibs_check_method=pass_all
  769:   ;;
  770: 
  771: solaris*)
  772:   lt_cv_deplibs_check_method=pass_all
  773:   lt_cv_file_magic_test_file=/lib/libc.so
  774:   ;;
  775: 
  776: [sysv5uw[78]* | sysv4*uw2*)]
  777:   lt_cv_deplibs_check_method=pass_all
  778:   ;;
  779: 
  780: sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
  781:   case $host_vendor in
  782:   ncr)
  783:     lt_cv_deplibs_check_method=pass_all
  784:     ;;
  785:   motorola)
  786:     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]']
  787:     lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
  788:     ;;
  789:   esac
  790:   ;;
  791: esac
  792: ])
  793: file_magic_cmd=$lt_cv_file_magic_cmd
  794: deplibs_check_method=$lt_cv_deplibs_check_method
  795: ])
  796: 
  797: 
  798: # AC_PROG_NM - find the path to a BSD-compatible name lister
  799: AC_DEFUN([AC_PROG_NM],
  800: [AC_MSG_CHECKING([for BSD-compatible nm])
  801: AC_CACHE_VAL(lt_cv_path_NM,
  802: [if test -n "$NM"; then
  803:   # Let the user override the test.
  804:   lt_cv_path_NM="$NM"
  805: else
  806:   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
  807:   for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
  808:     test -z "$ac_dir" && ac_dir=.
  809:     tmp_nm=$ac_dir/${ac_tool_prefix}nm
  810:     if test -f $tmp_nm || test -f $tmp_nm$ac_exeext ; then
  811:       # Check to see if the nm accepts a BSD-compat flag.
  812:       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
  813:       #   nm: unknown option "B" ignored
  814:       # Tru64's nm complains that /dev/null is an invalid object file
  815:       if ($tmp_nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then
  816:         lt_cv_path_NM="$tmp_nm -B"
  817:         break
  818:       elif ($tmp_nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
  819:         lt_cv_path_NM="$tmp_nm -p"
  820:         break
  821:       else
  822:         lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
  823:         continue # so that we can try to find one that supports BSD flags
  824: