11d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Helper functions for option handling.                    -*- Autoconf -*-
21d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#
31d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
41d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#   Inc.
51d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#   Written by Gary V. Vaughan, 2004
61d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich#
71d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# This file is free software; the Free Software Foundation gives
81d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# unlimited permission to copy and/or distribute it, with or without
91d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# modifications, as long as this notice is preserved.
101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# serial 7 ltoptions.m4
121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# This is to help aclocal find these macros, as it can't see m4_define.
141d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# ------------------------------------------
191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_define([_LT_MANGLE_OPTION],
201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# ---------------------------------------
251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# saved as a flag.
281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_define([_LT_SET_OPTION],
291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich        _LT_MANGLE_DEFUN([$1], [$2]),
321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [m4_warning([Unknown $1 option `$2'])])[]dnl
331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])
341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# ------------------------------------------------------------
381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_define([_LT_IF_OPTION],
401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# -------------------------------------------------------
451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# are set.
471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_define([_LT_UNLESS_OPTIONS],
481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		      [m4_define([$0_found])])])[]dnl
511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])[]dnl
531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])
541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# ----------------------------------------
581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# OPTION-LIST is a space-separated list of Libtool options associated
591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# with MACRO-NAME.  If any OPTION has a matching handler declared with
601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# the unknown option and exit.
621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_defun([_LT_SET_OPTIONS],
631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[# Set options
641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [_LT_SET_OPTION([$1], _LT_Option)])
661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_if([$1],[LT_INIT],[
681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  dnl
691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  dnl Simply set some default values (i.e off) if boolean options were not
701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  dnl specified:
711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  ])
731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  ])
751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  dnl
761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  dnl If no reference was made to various pairs of opposing options, then
771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  dnl we run the default mode handler for the pair.  For example, if neither
781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  dnl `shared' nor `disable-shared' was passed, we enable building of shared
791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  dnl archives by default:
801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  		   [_LT_ENABLE_FAST_INSTALL])
851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  ])
861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])# _LT_SET_OPTIONS
871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich## --------------------------------- ##
901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich## Macros to handle LT_INIT options. ##
911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich## --------------------------------- ##
921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# -----------------------------------------
951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_define([_LT_MANGLE_DEFUN],
961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
991d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
1001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# -----------------------------------------------
1011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_define([LT_OPTION_DEFINE],
1021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
1031d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])# LT_OPTION_DEFINE
1041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# dlopen
1071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# ------
1081d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
1091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])
1101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1111d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAU_DEFUN([AC_LIBTOOL_DLOPEN],
1121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[_LT_SET_OPTION([LT_INIT], [dlopen])
1131d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAC_DIAGNOSE([obsolete],
1141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[$0: Remove this warning and the call to _LT_SET_OPTION when you
1151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichput the `dlopen' option into LT_INIT's first parameter.])
1161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])
1171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl aclocal-1.4 backwards compatibility:
1191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
1201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# win32-dll
1231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# ---------
1241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Declare package support for building win32 dll's.
1251d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LT_INIT], [win32-dll],
1261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[enable_win32_dll=yes
1271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichcase $host in
1291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
1301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  AC_CHECK_TOOL(AS, as, false)
1311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
1321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  AC_CHECK_TOOL(OBJDUMP, objdump, false)
1331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich  ;;
1341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichesac
1351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichtest -z "$AS" && AS=as
1371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich_LT_DECL([], [AS],      [1], [Assembler program])dnl
1381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichtest -z "$DLLTOOL" && DLLTOOL=dlltool
1401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
1411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichtest -z "$OBJDUMP" && OBJDUMP=objdump
1431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
1441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])# win32-dll
1451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1461d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAU_DEFUN([AC_LIBTOOL_WIN32_DLL],
1471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich_LT_SET_OPTION([LT_INIT], [win32-dll])
1491d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAC_DIAGNOSE([obsolete],
1501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[$0: Remove this warning and the call to _LT_SET_OPTION when you
1511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichput the `win32-dll' option into LT_INIT's first parameter.])
1521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])
1531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl aclocal-1.4 backwards compatibility:
1551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
1561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1581d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# _LT_ENABLE_SHARED([DEFAULT])
1591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# ----------------------------
1601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# implement the --enable-shared flag, and supports the `shared' and
1611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# `disable-shared' LT_INIT options.
1621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
1631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_define([_LT_ENABLE_SHARED],
1641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
1651d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAC_ARG_ENABLE([shared],
1661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
1671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
1681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [p=${PACKAGE-default}
1691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    case $enableval in
1701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    yes) enable_shared=yes ;;
1711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    no) enable_shared=no ;;
1721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *)
1731d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      enable_shared=no
1741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      # Look at the argument we got.  We use all the common list separators.
1751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
1761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      for pkg in $enableval; do
1771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	IFS="$lt_save_ifs"
1781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if test "X$pkg" = "X$p"; then
1791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  enable_shared=yes
1801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
1811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      done
1821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      IFS="$lt_save_ifs"
1831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      ;;
1841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    esac],
1851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
1861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    _LT_DECL([build_libtool_libs], [enable_shared], [0],
1881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	[Whether or not to build shared libraries])
1891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])# _LT_ENABLE_SHARED
1901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1911d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
1921d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
1931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Old names:
1951d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAC_DEFUN([AC_ENABLE_SHARED],
1961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
1971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])
1981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
1991d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAC_DEFUN([AC_DISABLE_SHARED],
2001d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[_LT_SET_OPTION([LT_INIT], [disable-shared])
2011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])
2021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2031d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
2041d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
2051d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl aclocal-1.4 backwards compatibility:
2071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl AC_DEFUN([AM_ENABLE_SHARED], [])
2081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl AC_DEFUN([AM_DISABLE_SHARED], [])
2091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2101d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2121d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# _LT_ENABLE_STATIC([DEFAULT])
2131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# ----------------------------
2141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# implement the --enable-static flag, and support the `static' and
2151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# `disable-static' LT_INIT options.
2161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
2171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_define([_LT_ENABLE_STATIC],
2181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
2191d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAC_ARG_ENABLE([static],
2201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
2211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
2221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [p=${PACKAGE-default}
2231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    case $enableval in
2241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    yes) enable_static=yes ;;
2251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    no) enable_static=no ;;
2261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *)
2271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich     enable_static=no
2281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      # Look at the argument we got.  We use all the common list separators.
2291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
2301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      for pkg in $enableval; do
2311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	IFS="$lt_save_ifs"
2321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if test "X$pkg" = "X$p"; then
2331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  enable_static=yes
2341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
2351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      done
2361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      IFS="$lt_save_ifs"
2371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      ;;
2381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    esac],
2391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
2401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    _LT_DECL([build_old_libs], [enable_static], [0],
2421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	[Whether or not to build static libraries])
2431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])# _LT_ENABLE_STATIC
2441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2451d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
2461d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
2471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Old names:
2491d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAC_DEFUN([AC_ENABLE_STATIC],
2501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
2511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])
2521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2531d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAC_DEFUN([AC_DISABLE_STATIC],
2541d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[_LT_SET_OPTION([LT_INIT], [disable-static])
2551d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])
2561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2571d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
2581d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
2591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2601d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl aclocal-1.4 backwards compatibility:
2611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl AC_DEFUN([AM_ENABLE_STATIC], [])
2621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl AC_DEFUN([AM_DISABLE_STATIC], [])
2631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# _LT_ENABLE_FAST_INSTALL([DEFAULT])
2671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# ----------------------------------
2681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# implement the --enable-fast-install flag, and support the `fast-install'
2691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# and `disable-fast-install' LT_INIT options.
2701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
2711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_define([_LT_ENABLE_FAST_INSTALL],
2721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
2731d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAC_ARG_ENABLE([fast-install],
2741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
2751d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
2761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [p=${PACKAGE-default}
2771d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    case $enableval in
2781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    yes) enable_fast_install=yes ;;
2791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    no) enable_fast_install=no ;;
2801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *)
2811d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      enable_fast_install=no
2821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      # Look at the argument we got.  We use all the common list separators.
2831d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
2841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      for pkg in $enableval; do
2851d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	IFS="$lt_save_ifs"
2861d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if test "X$pkg" = "X$p"; then
2871d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  enable_fast_install=yes
2881d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
2891d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      done
2901d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      IFS="$lt_save_ifs"
2911d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      ;;
2921d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    esac],
2931d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
2941d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2951d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich_LT_DECL([fast_install], [enable_fast_install], [0],
2961d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	 [Whether or not to optimize for fast installation])dnl
2971d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])# _LT_ENABLE_FAST_INSTALL
2981d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
2991d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
3001d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
3011d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3021d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Old names:
3031d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAU_DEFUN([AC_ENABLE_FAST_INSTALL],
3041d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
3051d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAC_DIAGNOSE([obsolete],
3061d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[$0: Remove this warning and the call to _LT_SET_OPTION when you put
3071d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichthe `fast-install' option into LT_INIT's first parameter.])
3081d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])
3091d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3101d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAU_DEFUN([AC_DISABLE_FAST_INSTALL],
3111d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
3121d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAC_DIAGNOSE([obsolete],
3131d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[$0: Remove this warning and the call to _LT_SET_OPTION when you put
3141d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichthe `disable-fast-install' option into LT_INIT's first parameter.])
3151d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])
3161d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3171d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl aclocal-1.4 backwards compatibility:
3181d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
3191d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
3201d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3211d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3221d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# _LT_WITH_PIC([MODE])
3231d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# --------------------
3241d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# implement the --with-pic flag, and support the `pic-only' and `no-pic'
3251d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# LT_INIT options.
3261d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
3271d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_define([_LT_WITH_PIC],
3281d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[AC_ARG_WITH([pic],
3291d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
3301d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
3311d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [lt_p=${PACKAGE-default}
3321d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    case $withval in
3331d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    yes|no) pic_mode=$withval ;;
3341d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    *)
3351d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      pic_mode=default
3361d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      # Look at the argument we got.  We use all the common list separators.
3371d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
3381d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      for lt_pkg in $withval; do
3391d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	IFS="$lt_save_ifs"
3401d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	if test "X$lt_pkg" = "X$lt_p"; then
3411d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	  pic_mode=yes
3421d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich	fi
3431d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      done
3441d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      IFS="$lt_save_ifs"
3451d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich      ;;
3461d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    esac],
3471d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich    [pic_mode=default])
3481d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3491d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichtest -z "$pic_mode" && pic_mode=m4_default([$1], [default])
3501d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3511d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
3521d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])# _LT_WITH_PIC
3531d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3541d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
3551d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
3561d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3571d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich# Old name:
3581d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAU_DEFUN([AC_LIBTOOL_PICMODE],
3591d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[_LT_SET_OPTION([LT_INIT], [pic-only])
3601d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichAC_DIAGNOSE([obsolete],
3611d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich[$0: Remove this warning and the call to _LT_SET_OPTION when you
3621d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichput the `pic-only' option into LT_INIT's first parameter.])
3631d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich])
3641d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3651d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl aclocal-1.4 backwards compatibility:
3661d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichdnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
3671d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3681d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich## ----------------- ##
3691d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich## LTDL_INIT Options ##
3701d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich## ----------------- ##
3711d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3721d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_define([_LTDL_MODE], [])
3731d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
3741d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		 [m4_define([_LTDL_MODE], [nonrecursive])])
3751d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LTDL_INIT], [recursive],
3761d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		 [m4_define([_LTDL_MODE], [recursive])])
3771d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LTDL_INIT], [subproject],
3781d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		 [m4_define([_LTDL_MODE], [subproject])])
3791d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich
3801d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevichm4_define([_LTDL_TYPE], [])
3811d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LTDL_INIT], [installable],
3821d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		 [m4_define([_LTDL_TYPE], [installable])])
3831d1011a3c5049a7f9eef99d22f3704e4367579ccNick KralevichLT_OPTION_DEFINE([LTDL_INIT], [convenience],
3841d1011a3c5049a7f9eef99d22f3704e4367579ccNick Kralevich		 [m4_define([_LTDL_TYPE], [convenience])])
385