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