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