xref: /freebsd/contrib/openpam/m4/ltoptions.m4 (revision 45538173c120eadca115fd7e56c657905bf73771)
1f3b0ac34SDag-Erling Smørgrav# Helper functions for option handling.                    -*- Autoconf -*-
2f3b0ac34SDag-Erling Smørgrav#
3*45538173SDag-Erling Smørgrav#   Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2024 Free
43ba4c8c8SDag-Erling Smørgrav#   Software Foundation, Inc.
5f3b0ac34SDag-Erling Smørgrav#   Written by Gary V. Vaughan, 2004
6f3b0ac34SDag-Erling Smørgrav#
7f3b0ac34SDag-Erling Smørgrav# This file is free software; the Free Software Foundation gives
8f3b0ac34SDag-Erling Smørgrav# unlimited permission to copy and/or distribute it, with or without
9f3b0ac34SDag-Erling Smørgrav# modifications, as long as this notice is preserved.
10f3b0ac34SDag-Erling Smørgrav
11*45538173SDag-Erling Smørgrav# serial 10 ltoptions.m4
12f3b0ac34SDag-Erling Smørgrav
13f3b0ac34SDag-Erling Smørgrav# This is to help aclocal find these macros, as it can't see m4_define.
14f3b0ac34SDag-Erling SmørgravAC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
15f3b0ac34SDag-Erling Smørgrav
16f3b0ac34SDag-Erling Smørgrav
17f3b0ac34SDag-Erling Smørgrav# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
18f3b0ac34SDag-Erling Smørgrav# ------------------------------------------
19f3b0ac34SDag-Erling Smørgravm4_define([_LT_MANGLE_OPTION],
20f3b0ac34SDag-Erling Smørgrav[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
21f3b0ac34SDag-Erling Smørgrav
22f3b0ac34SDag-Erling Smørgrav
23f3b0ac34SDag-Erling Smørgrav# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
24f3b0ac34SDag-Erling Smørgrav# ---------------------------------------
25f3b0ac34SDag-Erling Smørgrav# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
26f3b0ac34SDag-Erling Smørgrav# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
27f3b0ac34SDag-Erling Smørgrav# saved as a flag.
28f3b0ac34SDag-Erling Smørgravm4_define([_LT_SET_OPTION],
29f3b0ac34SDag-Erling Smørgrav[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
30f3b0ac34SDag-Erling Smørgravm4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
31f3b0ac34SDag-Erling Smørgrav        _LT_MANGLE_DEFUN([$1], [$2]),
32f3b0ac34SDag-Erling Smørgrav    [m4_warning([Unknown $1 option '$2'])])[]dnl
33f3b0ac34SDag-Erling Smørgrav])
34f3b0ac34SDag-Erling Smørgrav
35f3b0ac34SDag-Erling Smørgrav
36f3b0ac34SDag-Erling Smørgrav# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
37f3b0ac34SDag-Erling Smørgrav# ------------------------------------------------------------
38f3b0ac34SDag-Erling Smørgrav# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
39f3b0ac34SDag-Erling Smørgravm4_define([_LT_IF_OPTION],
40f3b0ac34SDag-Erling Smørgrav[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
41f3b0ac34SDag-Erling Smørgrav
42f3b0ac34SDag-Erling Smørgrav
43f3b0ac34SDag-Erling Smørgrav# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
44f3b0ac34SDag-Erling Smørgrav# -------------------------------------------------------
45f3b0ac34SDag-Erling Smørgrav# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
46f3b0ac34SDag-Erling Smørgrav# are set.
47f3b0ac34SDag-Erling Smørgravm4_define([_LT_UNLESS_OPTIONS],
48f3b0ac34SDag-Erling Smørgrav[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
49f3b0ac34SDag-Erling Smørgrav	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
50f3b0ac34SDag-Erling Smørgrav		      [m4_define([$0_found])])])[]dnl
51f3b0ac34SDag-Erling Smørgravm4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
52f3b0ac34SDag-Erling Smørgrav])[]dnl
53f3b0ac34SDag-Erling Smørgrav])
54f3b0ac34SDag-Erling Smørgrav
55f3b0ac34SDag-Erling Smørgrav
56f3b0ac34SDag-Erling Smørgrav# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
57f3b0ac34SDag-Erling Smørgrav# ----------------------------------------
58f3b0ac34SDag-Erling Smørgrav# OPTION-LIST is a space-separated list of Libtool options associated
59f3b0ac34SDag-Erling Smørgrav# with MACRO-NAME.  If any OPTION has a matching handler declared with
60f3b0ac34SDag-Erling Smørgrav# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
61f3b0ac34SDag-Erling Smørgrav# the unknown option and exit.
62f3b0ac34SDag-Erling Smørgravm4_defun([_LT_SET_OPTIONS],
63f3b0ac34SDag-Erling Smørgrav[# Set options
64f3b0ac34SDag-Erling Smørgravm4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
65f3b0ac34SDag-Erling Smørgrav    [_LT_SET_OPTION([$1], _LT_Option)])
66f3b0ac34SDag-Erling Smørgrav
67f3b0ac34SDag-Erling Smørgravm4_if([$1],[LT_INIT],[
68f3b0ac34SDag-Erling Smørgrav  dnl
69f3b0ac34SDag-Erling Smørgrav  dnl Simply set some default values (i.e off) if boolean options were not
70f3b0ac34SDag-Erling Smørgrav  dnl specified:
71f3b0ac34SDag-Erling Smørgrav  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
72f3b0ac34SDag-Erling Smørgrav  ])
73f3b0ac34SDag-Erling Smørgrav  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
74f3b0ac34SDag-Erling Smørgrav  ])
75f3b0ac34SDag-Erling Smørgrav  dnl
76f3b0ac34SDag-Erling Smørgrav  dnl If no reference was made to various pairs of opposing options, then
77f3b0ac34SDag-Erling Smørgrav  dnl we run the default mode handler for the pair.  For example, if neither
78f3b0ac34SDag-Erling Smørgrav  dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
79f3b0ac34SDag-Erling Smørgrav  dnl archives by default:
80f3b0ac34SDag-Erling Smørgrav  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
81f3b0ac34SDag-Erling Smørgrav  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
82f3b0ac34SDag-Erling Smørgrav  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
83f3b0ac34SDag-Erling Smørgrav  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
84f3b0ac34SDag-Erling Smørgrav		   [_LT_ENABLE_FAST_INSTALL])
85f3b0ac34SDag-Erling Smørgrav  _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
86f3b0ac34SDag-Erling Smørgrav		   [_LT_WITH_AIX_SONAME([aix])])
87f3b0ac34SDag-Erling Smørgrav  ])
88f3b0ac34SDag-Erling Smørgrav])# _LT_SET_OPTIONS
89f3b0ac34SDag-Erling Smørgrav
90f3b0ac34SDag-Erling Smørgrav
91f3b0ac34SDag-Erling Smørgrav## --------------------------------- ##
92f3b0ac34SDag-Erling Smørgrav## Macros to handle LT_INIT options. ##
93f3b0ac34SDag-Erling Smørgrav## --------------------------------- ##
94f3b0ac34SDag-Erling Smørgrav
95f3b0ac34SDag-Erling Smørgrav# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
96f3b0ac34SDag-Erling Smørgrav# -----------------------------------------
97f3b0ac34SDag-Erling Smørgravm4_define([_LT_MANGLE_DEFUN],
98f3b0ac34SDag-Erling Smørgrav[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
99f3b0ac34SDag-Erling Smørgrav
100f3b0ac34SDag-Erling Smørgrav
101f3b0ac34SDag-Erling Smørgrav# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
102f3b0ac34SDag-Erling Smørgrav# -----------------------------------------------
103f3b0ac34SDag-Erling Smørgravm4_define([LT_OPTION_DEFINE],
104f3b0ac34SDag-Erling Smørgrav[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
105f3b0ac34SDag-Erling Smørgrav])# LT_OPTION_DEFINE
106f3b0ac34SDag-Erling Smørgrav
107f3b0ac34SDag-Erling Smørgrav
108f3b0ac34SDag-Erling Smørgrav# dlopen
109f3b0ac34SDag-Erling Smørgrav# ------
110f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
111f3b0ac34SDag-Erling Smørgrav])
112f3b0ac34SDag-Erling Smørgrav
113f3b0ac34SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_DLOPEN],
114f3b0ac34SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [dlopen])
115f3b0ac34SDag-Erling SmørgravAC_DIAGNOSE([obsolete],
116f3b0ac34SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you
117f3b0ac34SDag-Erling Smørgravput the 'dlopen' option into LT_INIT's first parameter.])
118f3b0ac34SDag-Erling Smørgrav])
119f3b0ac34SDag-Erling Smørgrav
120f3b0ac34SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
121f3b0ac34SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
122f3b0ac34SDag-Erling Smørgrav
123f3b0ac34SDag-Erling Smørgrav
124f3b0ac34SDag-Erling Smørgrav# win32-dll
125f3b0ac34SDag-Erling Smørgrav# ---------
126f3b0ac34SDag-Erling Smørgrav# Declare package support for building win32 dll's.
127f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [win32-dll],
128f3b0ac34SDag-Erling Smørgrav[enable_win32_dll=yes
129f3b0ac34SDag-Erling Smørgrav
130f3b0ac34SDag-Erling Smørgravcase $host in
131*45538173SDag-Erling Smørgrav*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-cegcc*)
132f3b0ac34SDag-Erling Smørgrav  AC_CHECK_TOOL(AS, as, false)
133f3b0ac34SDag-Erling Smørgrav  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
134f3b0ac34SDag-Erling Smørgrav  AC_CHECK_TOOL(OBJDUMP, objdump, false)
135f3b0ac34SDag-Erling Smørgrav  ;;
136f3b0ac34SDag-Erling Smørgravesac
137f3b0ac34SDag-Erling Smørgrav
138f3b0ac34SDag-Erling Smørgravtest -z "$AS" && AS=as
139f3b0ac34SDag-Erling Smørgrav_LT_DECL([], [AS],      [1], [Assembler program])dnl
140f3b0ac34SDag-Erling Smørgrav
141f3b0ac34SDag-Erling Smørgravtest -z "$DLLTOOL" && DLLTOOL=dlltool
142f3b0ac34SDag-Erling Smørgrav_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
143f3b0ac34SDag-Erling Smørgrav
144f3b0ac34SDag-Erling Smørgravtest -z "$OBJDUMP" && OBJDUMP=objdump
145f3b0ac34SDag-Erling Smørgrav_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
146f3b0ac34SDag-Erling Smørgrav])# win32-dll
147f3b0ac34SDag-Erling Smørgrav
148f3b0ac34SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_WIN32_DLL],
149f3b0ac34SDag-Erling Smørgrav[AC_REQUIRE([AC_CANONICAL_HOST])dnl
150f3b0ac34SDag-Erling Smørgrav_LT_SET_OPTION([LT_INIT], [win32-dll])
151f3b0ac34SDag-Erling SmørgravAC_DIAGNOSE([obsolete],
152f3b0ac34SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you
153f3b0ac34SDag-Erling Smørgravput the 'win32-dll' option into LT_INIT's first parameter.])
154f3b0ac34SDag-Erling Smørgrav])
155f3b0ac34SDag-Erling Smørgrav
156f3b0ac34SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
157f3b0ac34SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
158f3b0ac34SDag-Erling Smørgrav
159f3b0ac34SDag-Erling Smørgrav
160f3b0ac34SDag-Erling Smørgrav# _LT_ENABLE_SHARED([DEFAULT])
161f3b0ac34SDag-Erling Smørgrav# ----------------------------
162f3b0ac34SDag-Erling Smørgrav# implement the --enable-shared flag, and supports the 'shared' and
163f3b0ac34SDag-Erling Smørgrav# 'disable-shared' LT_INIT options.
164f3b0ac34SDag-Erling Smørgrav# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
165f3b0ac34SDag-Erling Smørgravm4_define([_LT_ENABLE_SHARED],
166f3b0ac34SDag-Erling Smørgrav[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
167f3b0ac34SDag-Erling SmørgravAC_ARG_ENABLE([shared],
168f3b0ac34SDag-Erling Smørgrav    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
169f3b0ac34SDag-Erling Smørgrav	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
170f3b0ac34SDag-Erling Smørgrav    [p=${PACKAGE-default}
171f3b0ac34SDag-Erling Smørgrav    case $enableval in
172f3b0ac34SDag-Erling Smørgrav    yes) enable_shared=yes ;;
173f3b0ac34SDag-Erling Smørgrav    no) enable_shared=no ;;
174f3b0ac34SDag-Erling Smørgrav    *)
175f3b0ac34SDag-Erling Smørgrav      enable_shared=no
176f3b0ac34SDag-Erling Smørgrav      # Look at the argument we got.  We use all the common list separators.
177f3b0ac34SDag-Erling Smørgrav      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
178f3b0ac34SDag-Erling Smørgrav      for pkg in $enableval; do
179f3b0ac34SDag-Erling Smørgrav	IFS=$lt_save_ifs
180f3b0ac34SDag-Erling Smørgrav	if test "X$pkg" = "X$p"; then
181f3b0ac34SDag-Erling Smørgrav	  enable_shared=yes
182f3b0ac34SDag-Erling Smørgrav	fi
183f3b0ac34SDag-Erling Smørgrav      done
184f3b0ac34SDag-Erling Smørgrav      IFS=$lt_save_ifs
185f3b0ac34SDag-Erling Smørgrav      ;;
186f3b0ac34SDag-Erling Smørgrav    esac],
187f3b0ac34SDag-Erling Smørgrav    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
188f3b0ac34SDag-Erling Smørgrav
189f3b0ac34SDag-Erling Smørgrav    _LT_DECL([build_libtool_libs], [enable_shared], [0],
190f3b0ac34SDag-Erling Smørgrav	[Whether or not to build shared libraries])
191f3b0ac34SDag-Erling Smørgrav])# _LT_ENABLE_SHARED
192f3b0ac34SDag-Erling Smørgrav
193f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
194f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
195f3b0ac34SDag-Erling Smørgrav
196f3b0ac34SDag-Erling Smørgrav# Old names:
197f3b0ac34SDag-Erling SmørgravAC_DEFUN([AC_ENABLE_SHARED],
198f3b0ac34SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
199f3b0ac34SDag-Erling Smørgrav])
200f3b0ac34SDag-Erling Smørgrav
201f3b0ac34SDag-Erling SmørgravAC_DEFUN([AC_DISABLE_SHARED],
202f3b0ac34SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [disable-shared])
203f3b0ac34SDag-Erling Smørgrav])
204f3b0ac34SDag-Erling Smørgrav
205f3b0ac34SDag-Erling SmørgravAU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
206f3b0ac34SDag-Erling SmørgravAU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
207f3b0ac34SDag-Erling Smørgrav
208f3b0ac34SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
209f3b0ac34SDag-Erling Smørgravdnl AC_DEFUN([AM_ENABLE_SHARED], [])
210f3b0ac34SDag-Erling Smørgravdnl AC_DEFUN([AM_DISABLE_SHARED], [])
211f3b0ac34SDag-Erling Smørgrav
212f3b0ac34SDag-Erling Smørgrav
213f3b0ac34SDag-Erling Smørgrav
214f3b0ac34SDag-Erling Smørgrav# _LT_ENABLE_STATIC([DEFAULT])
215f3b0ac34SDag-Erling Smørgrav# ----------------------------
216f3b0ac34SDag-Erling Smørgrav# implement the --enable-static flag, and support the 'static' and
217f3b0ac34SDag-Erling Smørgrav# 'disable-static' LT_INIT options.
218f3b0ac34SDag-Erling Smørgrav# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
219f3b0ac34SDag-Erling Smørgravm4_define([_LT_ENABLE_STATIC],
220f3b0ac34SDag-Erling Smørgrav[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
221f3b0ac34SDag-Erling SmørgravAC_ARG_ENABLE([static],
222f3b0ac34SDag-Erling Smørgrav    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
223f3b0ac34SDag-Erling Smørgrav	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
224f3b0ac34SDag-Erling Smørgrav    [p=${PACKAGE-default}
225f3b0ac34SDag-Erling Smørgrav    case $enableval in
226f3b0ac34SDag-Erling Smørgrav    yes) enable_static=yes ;;
227f3b0ac34SDag-Erling Smørgrav    no) enable_static=no ;;
228f3b0ac34SDag-Erling Smørgrav    *)
229f3b0ac34SDag-Erling Smørgrav     enable_static=no
230f3b0ac34SDag-Erling Smørgrav      # Look at the argument we got.  We use all the common list separators.
231f3b0ac34SDag-Erling Smørgrav      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
232f3b0ac34SDag-Erling Smørgrav      for pkg in $enableval; do
233f3b0ac34SDag-Erling Smørgrav	IFS=$lt_save_ifs
234f3b0ac34SDag-Erling Smørgrav	if test "X$pkg" = "X$p"; then
235f3b0ac34SDag-Erling Smørgrav	  enable_static=yes
236f3b0ac34SDag-Erling Smørgrav	fi
237f3b0ac34SDag-Erling Smørgrav      done
238f3b0ac34SDag-Erling Smørgrav      IFS=$lt_save_ifs
239f3b0ac34SDag-Erling Smørgrav      ;;
240f3b0ac34SDag-Erling Smørgrav    esac],
241f3b0ac34SDag-Erling Smørgrav    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
242f3b0ac34SDag-Erling Smørgrav
243f3b0ac34SDag-Erling Smørgrav    _LT_DECL([build_old_libs], [enable_static], [0],
244f3b0ac34SDag-Erling Smørgrav	[Whether or not to build static libraries])
245f3b0ac34SDag-Erling Smørgrav])# _LT_ENABLE_STATIC
246f3b0ac34SDag-Erling Smørgrav
247f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
248f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
249f3b0ac34SDag-Erling Smørgrav
250f3b0ac34SDag-Erling Smørgrav# Old names:
251f3b0ac34SDag-Erling SmørgravAC_DEFUN([AC_ENABLE_STATIC],
252f3b0ac34SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
253f3b0ac34SDag-Erling Smørgrav])
254f3b0ac34SDag-Erling Smørgrav
255f3b0ac34SDag-Erling SmørgravAC_DEFUN([AC_DISABLE_STATIC],
256f3b0ac34SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [disable-static])
257f3b0ac34SDag-Erling Smørgrav])
258f3b0ac34SDag-Erling Smørgrav
259f3b0ac34SDag-Erling SmørgravAU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
260f3b0ac34SDag-Erling SmørgravAU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
261f3b0ac34SDag-Erling Smørgrav
262f3b0ac34SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
263f3b0ac34SDag-Erling Smørgravdnl AC_DEFUN([AM_ENABLE_STATIC], [])
264f3b0ac34SDag-Erling Smørgravdnl AC_DEFUN([AM_DISABLE_STATIC], [])
265f3b0ac34SDag-Erling Smørgrav
266f3b0ac34SDag-Erling Smørgrav
267f3b0ac34SDag-Erling Smørgrav
268f3b0ac34SDag-Erling Smørgrav# _LT_ENABLE_FAST_INSTALL([DEFAULT])
269f3b0ac34SDag-Erling Smørgrav# ----------------------------------
270f3b0ac34SDag-Erling Smørgrav# implement the --enable-fast-install flag, and support the 'fast-install'
271f3b0ac34SDag-Erling Smørgrav# and 'disable-fast-install' LT_INIT options.
272f3b0ac34SDag-Erling Smørgrav# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
273f3b0ac34SDag-Erling Smørgravm4_define([_LT_ENABLE_FAST_INSTALL],
274f3b0ac34SDag-Erling Smørgrav[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
275f3b0ac34SDag-Erling SmørgravAC_ARG_ENABLE([fast-install],
276f3b0ac34SDag-Erling Smørgrav    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
277f3b0ac34SDag-Erling Smørgrav    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
278f3b0ac34SDag-Erling Smørgrav    [p=${PACKAGE-default}
279f3b0ac34SDag-Erling Smørgrav    case $enableval in
280f3b0ac34SDag-Erling Smørgrav    yes) enable_fast_install=yes ;;
281f3b0ac34SDag-Erling Smørgrav    no) enable_fast_install=no ;;
282f3b0ac34SDag-Erling Smørgrav    *)
283f3b0ac34SDag-Erling Smørgrav      enable_fast_install=no
284f3b0ac34SDag-Erling Smørgrav      # Look at the argument we got.  We use all the common list separators.
285f3b0ac34SDag-Erling Smørgrav      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
286f3b0ac34SDag-Erling Smørgrav      for pkg in $enableval; do
287f3b0ac34SDag-Erling Smørgrav	IFS=$lt_save_ifs
288f3b0ac34SDag-Erling Smørgrav	if test "X$pkg" = "X$p"; then
289f3b0ac34SDag-Erling Smørgrav	  enable_fast_install=yes
290f3b0ac34SDag-Erling Smørgrav	fi
291f3b0ac34SDag-Erling Smørgrav      done
292f3b0ac34SDag-Erling Smørgrav      IFS=$lt_save_ifs
293f3b0ac34SDag-Erling Smørgrav      ;;
294f3b0ac34SDag-Erling Smørgrav    esac],
295f3b0ac34SDag-Erling Smørgrav    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
296f3b0ac34SDag-Erling Smørgrav
297f3b0ac34SDag-Erling Smørgrav_LT_DECL([fast_install], [enable_fast_install], [0],
298f3b0ac34SDag-Erling Smørgrav	 [Whether or not to optimize for fast installation])dnl
299f3b0ac34SDag-Erling Smørgrav])# _LT_ENABLE_FAST_INSTALL
300f3b0ac34SDag-Erling Smørgrav
301f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
302f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
303f3b0ac34SDag-Erling Smørgrav
304f3b0ac34SDag-Erling Smørgrav# Old names:
305f3b0ac34SDag-Erling SmørgravAU_DEFUN([AC_ENABLE_FAST_INSTALL],
306f3b0ac34SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
307f3b0ac34SDag-Erling SmørgravAC_DIAGNOSE([obsolete],
308f3b0ac34SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you put
309f3b0ac34SDag-Erling Smørgravthe 'fast-install' option into LT_INIT's first parameter.])
310f3b0ac34SDag-Erling Smørgrav])
311f3b0ac34SDag-Erling Smørgrav
312f3b0ac34SDag-Erling SmørgravAU_DEFUN([AC_DISABLE_FAST_INSTALL],
313f3b0ac34SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
314f3b0ac34SDag-Erling SmørgravAC_DIAGNOSE([obsolete],
315f3b0ac34SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you put
316f3b0ac34SDag-Erling Smørgravthe 'disable-fast-install' option into LT_INIT's first parameter.])
317f3b0ac34SDag-Erling Smørgrav])
318f3b0ac34SDag-Erling Smørgrav
319f3b0ac34SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
320f3b0ac34SDag-Erling Smørgravdnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
321f3b0ac34SDag-Erling Smørgravdnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
322f3b0ac34SDag-Erling Smørgrav
323f3b0ac34SDag-Erling Smørgrav
324f3b0ac34SDag-Erling Smørgrav# _LT_WITH_AIX_SONAME([DEFAULT])
325f3b0ac34SDag-Erling Smørgrav# ----------------------------------
326*45538173SDag-Erling Smørgrav# implement the --enable-aix-soname configure option, and support the
327*45538173SDag-Erling Smørgrav# `aix-soname=aix' and `aix-soname=both' and `aix-soname=svr4' LT_INIT options.
328*45538173SDag-Erling Smørgrav# DEFAULT is either `aix', `both', or `svr4'.  If omitted, it defaults to `aix'.
329f3b0ac34SDag-Erling Smørgravm4_define([_LT_WITH_AIX_SONAME],
330f3b0ac34SDag-Erling Smørgrav[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
331f3b0ac34SDag-Erling Smørgravshared_archive_member_spec=
332f3b0ac34SDag-Erling Smørgravcase $host,$enable_shared in
333f3b0ac34SDag-Erling Smørgravpower*-*-aix[[5-9]]*,yes)
334f3b0ac34SDag-Erling Smørgrav  AC_MSG_CHECKING([which variant of shared library versioning to provide])
335*45538173SDag-Erling Smørgrav  AC_ARG_ENABLE([aix-soname],
336*45538173SDag-Erling Smørgrav    [AS_HELP_STRING([--enable-aix-soname=aix|svr4|both],
337f3b0ac34SDag-Erling Smørgrav      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
338*45538173SDag-Erling Smørgrav    [case $enableval in
339*45538173SDag-Erling Smørgrav     aix|svr4|both)
340*45538173SDag-Erling Smørgrav       ;;
341*45538173SDag-Erling Smørgrav     *)
342*45538173SDag-Erling Smørgrav       AC_MSG_ERROR([Unknown argument to --enable-aix-soname])
343*45538173SDag-Erling Smørgrav       ;;
344*45538173SDag-Erling Smørgrav     esac
345*45538173SDag-Erling Smørgrav     lt_cv_with_aix_soname=$enable_aix_soname],
346*45538173SDag-Erling Smørgrav    [_AC_ENABLE_IF([with], [aix-soname],
347f3b0ac34SDag-Erling Smørgrav        [case $withval in
348f3b0ac34SDag-Erling Smørgrav         aix|svr4|both)
349f3b0ac34SDag-Erling Smørgrav           ;;
350f3b0ac34SDag-Erling Smørgrav         *)
351f3b0ac34SDag-Erling Smørgrav           AC_MSG_ERROR([Unknown argument to --with-aix-soname])
352f3b0ac34SDag-Erling Smørgrav           ;;
353f3b0ac34SDag-Erling Smørgrav         esac
354f3b0ac34SDag-Erling Smørgrav         lt_cv_with_aix_soname=$with_aix_soname],
355f3b0ac34SDag-Erling Smørgrav        [AC_CACHE_VAL([lt_cv_with_aix_soname],
356*45538173SDag-Erling Smørgrav           [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)])
357*45538173SDag-Erling Smørgrav     enable_aix_soname=$lt_cv_with_aix_soname])
358*45538173SDag-Erling Smørgrav  with_aix_soname=$enable_aix_soname
359f3b0ac34SDag-Erling Smørgrav  AC_MSG_RESULT([$with_aix_soname])
360f3b0ac34SDag-Erling Smørgrav  if test aix != "$with_aix_soname"; then
361f3b0ac34SDag-Erling Smørgrav    # For the AIX way of multilib, we name the shared archive member
362f3b0ac34SDag-Erling Smørgrav    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
363f3b0ac34SDag-Erling Smørgrav    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
364f3b0ac34SDag-Erling Smørgrav    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
365f3b0ac34SDag-Erling Smørgrav    # the AIX toolchain works better with OBJECT_MODE set (default 32).
366f3b0ac34SDag-Erling Smørgrav    if test 64 = "${OBJECT_MODE-32}"; then
367f3b0ac34SDag-Erling Smørgrav      shared_archive_member_spec=shr_64
368f3b0ac34SDag-Erling Smørgrav    else
369f3b0ac34SDag-Erling Smørgrav      shared_archive_member_spec=shr
370f3b0ac34SDag-Erling Smørgrav    fi
371f3b0ac34SDag-Erling Smørgrav  fi
372f3b0ac34SDag-Erling Smørgrav  ;;
373f3b0ac34SDag-Erling Smørgrav*)
374f3b0ac34SDag-Erling Smørgrav  with_aix_soname=aix
375f3b0ac34SDag-Erling Smørgrav  ;;
376f3b0ac34SDag-Erling Smørgravesac
377f3b0ac34SDag-Erling Smørgrav
378f3b0ac34SDag-Erling Smørgrav_LT_DECL([], [shared_archive_member_spec], [0],
379f3b0ac34SDag-Erling Smørgrav    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
380f3b0ac34SDag-Erling Smørgrav])# _LT_WITH_AIX_SONAME
381f3b0ac34SDag-Erling Smørgrav
382f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
383f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
384f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
385f3b0ac34SDag-Erling Smørgrav
386f3b0ac34SDag-Erling Smørgrav
387f3b0ac34SDag-Erling Smørgrav# _LT_WITH_PIC([MODE])
388f3b0ac34SDag-Erling Smørgrav# --------------------
389*45538173SDag-Erling Smørgrav# implement the --enable-pic flag, and support the 'pic-only' and 'no-pic'
390f3b0ac34SDag-Erling Smørgrav# LT_INIT options.
391f3b0ac34SDag-Erling Smørgrav# MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
392f3b0ac34SDag-Erling Smørgravm4_define([_LT_WITH_PIC],
393*45538173SDag-Erling Smørgrav[AC_ARG_ENABLE([pic],
394*45538173SDag-Erling Smørgrav    [AS_HELP_STRING([--enable-pic@<:@=PKGS@:>@],
395f3b0ac34SDag-Erling Smørgrav	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
396f3b0ac34SDag-Erling Smørgrav    [lt_p=${PACKAGE-default}
397*45538173SDag-Erling Smørgrav     case $enableval in
398*45538173SDag-Erling Smørgrav     yes|no) pic_mode=$enableval ;;
399*45538173SDag-Erling Smørgrav     *)
400*45538173SDag-Erling Smørgrav       pic_mode=default
401*45538173SDag-Erling Smørgrav       # Look at the argument we got.  We use all the common list separators.
402*45538173SDag-Erling Smørgrav       lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
403*45538173SDag-Erling Smørgrav       for lt_pkg in $enableval; do
404*45538173SDag-Erling Smørgrav	 IFS=$lt_save_ifs
405*45538173SDag-Erling Smørgrav	 if test "X$lt_pkg" = "X$lt_p"; then
406*45538173SDag-Erling Smørgrav	   pic_mode=yes
407*45538173SDag-Erling Smørgrav	 fi
408*45538173SDag-Erling Smørgrav       done
409*45538173SDag-Erling Smørgrav       IFS=$lt_save_ifs
410*45538173SDag-Erling Smørgrav       ;;
411*45538173SDag-Erling Smørgrav     esac],
412*45538173SDag-Erling Smørgrav    [dnl Continue to support --with-pic and --without-pic, for backward
413*45538173SDag-Erling Smørgrav     dnl compatibility.
414*45538173SDag-Erling Smørgrav     _AC_ENABLE_IF([with], [pic],
415*45538173SDag-Erling Smørgrav	[lt_p=${PACKAGE-default}
416f3b0ac34SDag-Erling Smørgrav	 case $withval in
417f3b0ac34SDag-Erling Smørgrav	 yes|no) pic_mode=$withval ;;
418f3b0ac34SDag-Erling Smørgrav	 *)
419f3b0ac34SDag-Erling Smørgrav	   pic_mode=default
420f3b0ac34SDag-Erling Smørgrav	   # Look at the argument we got.  We use all the common list separators.
421f3b0ac34SDag-Erling Smørgrav	   lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
422f3b0ac34SDag-Erling Smørgrav	   for lt_pkg in $withval; do
423f3b0ac34SDag-Erling Smørgrav	     IFS=$lt_save_ifs
424f3b0ac34SDag-Erling Smørgrav	     if test "X$lt_pkg" = "X$lt_p"; then
425f3b0ac34SDag-Erling Smørgrav	       pic_mode=yes
426f3b0ac34SDag-Erling Smørgrav	     fi
427f3b0ac34SDag-Erling Smørgrav	   done
428f3b0ac34SDag-Erling Smørgrav	   IFS=$lt_save_ifs
429f3b0ac34SDag-Erling Smørgrav	   ;;
430f3b0ac34SDag-Erling Smørgrav	 esac],
431*45538173SDag-Erling Smørgrav	[pic_mode=m4_default([$1], [default])])]
432*45538173SDag-Erling Smørgrav    )
433f3b0ac34SDag-Erling Smørgrav
434f3b0ac34SDag-Erling Smørgrav_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
435f3b0ac34SDag-Erling Smørgrav])# _LT_WITH_PIC
436f3b0ac34SDag-Erling Smørgrav
437f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
438f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
439f3b0ac34SDag-Erling Smørgrav
440f3b0ac34SDag-Erling Smørgrav# Old name:
441f3b0ac34SDag-Erling SmørgravAU_DEFUN([AC_LIBTOOL_PICMODE],
442f3b0ac34SDag-Erling Smørgrav[_LT_SET_OPTION([LT_INIT], [pic-only])
443f3b0ac34SDag-Erling SmørgravAC_DIAGNOSE([obsolete],
444f3b0ac34SDag-Erling Smørgrav[$0: Remove this warning and the call to _LT_SET_OPTION when you
445f3b0ac34SDag-Erling Smørgravput the 'pic-only' option into LT_INIT's first parameter.])
446f3b0ac34SDag-Erling Smørgrav])
447f3b0ac34SDag-Erling Smørgrav
448f3b0ac34SDag-Erling Smørgravdnl aclocal-1.4 backwards compatibility:
449f3b0ac34SDag-Erling Smørgravdnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
450f3b0ac34SDag-Erling Smørgrav
451f3b0ac34SDag-Erling Smørgrav## ----------------- ##
452f3b0ac34SDag-Erling Smørgrav## LTDL_INIT Options ##
453f3b0ac34SDag-Erling Smørgrav## ----------------- ##
454f3b0ac34SDag-Erling Smørgrav
455f3b0ac34SDag-Erling Smørgravm4_define([_LTDL_MODE], [])
456f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
457f3b0ac34SDag-Erling Smørgrav		 [m4_define([_LTDL_MODE], [nonrecursive])])
458f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [recursive],
459f3b0ac34SDag-Erling Smørgrav		 [m4_define([_LTDL_MODE], [recursive])])
460f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [subproject],
461f3b0ac34SDag-Erling Smørgrav		 [m4_define([_LTDL_MODE], [subproject])])
462f3b0ac34SDag-Erling Smørgrav
463f3b0ac34SDag-Erling Smørgravm4_define([_LTDL_TYPE], [])
464f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [installable],
465f3b0ac34SDag-Erling Smørgrav		 [m4_define([_LTDL_TYPE], [installable])])
466f3b0ac34SDag-Erling SmørgravLT_OPTION_DEFINE([LTDL_INIT], [convenience],
467f3b0ac34SDag-Erling Smørgrav		 [m4_define([_LTDL_TYPE], [convenience])])
468