ltoptions.m4 revision 54b5899c
1475c125cSmrg# Helper functions for option handling.                    -*- Autoconf -*-
2475c125cSmrg#
354b5899cSmrg#   Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2024 Free
4c82838c1Smrg#   Software Foundation, Inc.
5475c125cSmrg#   Written by Gary V. Vaughan, 2004
6475c125cSmrg#
7475c125cSmrg# This file is free software; the Free Software Foundation gives
8475c125cSmrg# unlimited permission to copy and/or distribute it, with or without
9475c125cSmrg# modifications, as long as this notice is preserved.
10475c125cSmrg
1154b5899cSmrg# serial 10 ltoptions.m4
12475c125cSmrg
13475c125cSmrg# This is to help aclocal find these macros, as it can't see m4_define.
14475c125cSmrgAC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
15475c125cSmrg
16475c125cSmrg
17475c125cSmrg# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
18475c125cSmrg# ------------------------------------------
19475c125cSmrgm4_define([_LT_MANGLE_OPTION],
20475c125cSmrg[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
21475c125cSmrg
22475c125cSmrg
23475c125cSmrg# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
24475c125cSmrg# ---------------------------------------
25475c125cSmrg# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
26475c125cSmrg# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
27475c125cSmrg# saved as a flag.
28475c125cSmrgm4_define([_LT_SET_OPTION],
29475c125cSmrg[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
30475c125cSmrgm4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
31475c125cSmrg        _LT_MANGLE_DEFUN([$1], [$2]),
3235c4bbdfSmrg    [m4_warning([Unknown $1 option '$2'])])[]dnl
33475c125cSmrg])
34475c125cSmrg
35475c125cSmrg
36475c125cSmrg# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
37475c125cSmrg# ------------------------------------------------------------
38475c125cSmrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
39475c125cSmrgm4_define([_LT_IF_OPTION],
40475c125cSmrg[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
41475c125cSmrg
42475c125cSmrg
43475c125cSmrg# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
44475c125cSmrg# -------------------------------------------------------
45475c125cSmrg# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
46475c125cSmrg# are set.
47475c125cSmrgm4_define([_LT_UNLESS_OPTIONS],
48475c125cSmrg[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
49475c125cSmrg	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
50475c125cSmrg		      [m4_define([$0_found])])])[]dnl
51475c125cSmrgm4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
52475c125cSmrg])[]dnl
53475c125cSmrg])
54475c125cSmrg
55475c125cSmrg
56475c125cSmrg# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
57475c125cSmrg# ----------------------------------------
58475c125cSmrg# OPTION-LIST is a space-separated list of Libtool options associated
59475c125cSmrg# with MACRO-NAME.  If any OPTION has a matching handler declared with
60475c125cSmrg# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
61475c125cSmrg# the unknown option and exit.
62475c125cSmrgm4_defun([_LT_SET_OPTIONS],
63475c125cSmrg[# Set options
64475c125cSmrgm4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
65475c125cSmrg    [_LT_SET_OPTION([$1], _LT_Option)])
66475c125cSmrg
67475c125cSmrgm4_if([$1],[LT_INIT],[
68475c125cSmrg  dnl
69475c125cSmrg  dnl Simply set some default values (i.e off) if boolean options were not
70475c125cSmrg  dnl specified:
71475c125cSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
72475c125cSmrg  ])
73475c125cSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
74475c125cSmrg  ])
75475c125cSmrg  dnl
76475c125cSmrg  dnl If no reference was made to various pairs of opposing options, then
77475c125cSmrg  dnl we run the default mode handler for the pair.  For example, if neither
7835c4bbdfSmrg  dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
79475c125cSmrg  dnl archives by default:
80475c125cSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
81475c125cSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
82475c125cSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
83475c125cSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
8435c4bbdfSmrg		   [_LT_ENABLE_FAST_INSTALL])
8535c4bbdfSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
8635c4bbdfSmrg		   [_LT_WITH_AIX_SONAME([aix])])
87475c125cSmrg  ])
88475c125cSmrg])# _LT_SET_OPTIONS
89475c125cSmrg
90475c125cSmrg
91475c125cSmrg## --------------------------------- ##
92475c125cSmrg## Macros to handle LT_INIT options. ##
93475c125cSmrg## --------------------------------- ##
94475c125cSmrg
95475c125cSmrg# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
96475c125cSmrg# -----------------------------------------
97475c125cSmrgm4_define([_LT_MANGLE_DEFUN],
98475c125cSmrg[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
99475c125cSmrg
100475c125cSmrg
101475c125cSmrg# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
102475c125cSmrg# -----------------------------------------------
103475c125cSmrgm4_define([LT_OPTION_DEFINE],
104475c125cSmrg[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
105475c125cSmrg])# LT_OPTION_DEFINE
106475c125cSmrg
107475c125cSmrg
108475c125cSmrg# dlopen
109475c125cSmrg# ------
110475c125cSmrgLT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
111475c125cSmrg])
112475c125cSmrg
113475c125cSmrgAU_DEFUN([AC_LIBTOOL_DLOPEN],
114475c125cSmrg[_LT_SET_OPTION([LT_INIT], [dlopen])
115475c125cSmrgAC_DIAGNOSE([obsolete],
116475c125cSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
11735c4bbdfSmrgput the 'dlopen' option into LT_INIT's first parameter.])
118475c125cSmrg])
119475c125cSmrg
120475c125cSmrgdnl aclocal-1.4 backwards compatibility:
121475c125cSmrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
122475c125cSmrg
123475c125cSmrg
124475c125cSmrg# win32-dll
125475c125cSmrg# ---------
126475c125cSmrg# Declare package support for building win32 dll's.
127475c125cSmrgLT_OPTION_DEFINE([LT_INIT], [win32-dll],
128475c125cSmrg[enable_win32_dll=yes
129475c125cSmrg
130475c125cSmrgcase $host in
13154b5899cSmrg*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-cegcc*)
132475c125cSmrg  AC_CHECK_TOOL(AS, as, false)
133475c125cSmrg  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
134475c125cSmrg  AC_CHECK_TOOL(OBJDUMP, objdump, false)
135475c125cSmrg  ;;
136475c125cSmrgesac
137475c125cSmrg
138475c125cSmrgtest -z "$AS" && AS=as
139475c125cSmrg_LT_DECL([], [AS],      [1], [Assembler program])dnl
140475c125cSmrg
141475c125cSmrgtest -z "$DLLTOOL" && DLLTOOL=dlltool
142475c125cSmrg_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
143475c125cSmrg
144475c125cSmrgtest -z "$OBJDUMP" && OBJDUMP=objdump
145475c125cSmrg_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
146475c125cSmrg])# win32-dll
147475c125cSmrg
148475c125cSmrgAU_DEFUN([AC_LIBTOOL_WIN32_DLL],
149475c125cSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
150475c125cSmrg_LT_SET_OPTION([LT_INIT], [win32-dll])
151475c125cSmrgAC_DIAGNOSE([obsolete],
152475c125cSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
15335c4bbdfSmrgput the 'win32-dll' option into LT_INIT's first parameter.])
154475c125cSmrg])
155475c125cSmrg
156475c125cSmrgdnl aclocal-1.4 backwards compatibility:
157475c125cSmrgdnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
158475c125cSmrg
159475c125cSmrg
160475c125cSmrg# _LT_ENABLE_SHARED([DEFAULT])
161475c125cSmrg# ----------------------------
16235c4bbdfSmrg# implement the --enable-shared flag, and supports the 'shared' and
16335c4bbdfSmrg# 'disable-shared' LT_INIT options.
16435c4bbdfSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
165475c125cSmrgm4_define([_LT_ENABLE_SHARED],
166475c125cSmrg[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
167475c125cSmrgAC_ARG_ENABLE([shared],
168475c125cSmrg    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
169475c125cSmrg	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
170475c125cSmrg    [p=${PACKAGE-default}
171475c125cSmrg    case $enableval in
172475c125cSmrg    yes) enable_shared=yes ;;
173475c125cSmrg    no) enable_shared=no ;;
174475c125cSmrg    *)
175475c125cSmrg      enable_shared=no
176475c125cSmrg      # Look at the argument we got.  We use all the common list separators.
17735c4bbdfSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
178475c125cSmrg      for pkg in $enableval; do
17935c4bbdfSmrg	IFS=$lt_save_ifs
180475c125cSmrg	if test "X$pkg" = "X$p"; then
181475c125cSmrg	  enable_shared=yes
182475c125cSmrg	fi
183475c125cSmrg      done
18435c4bbdfSmrg      IFS=$lt_save_ifs
185475c125cSmrg      ;;
186475c125cSmrg    esac],
187475c125cSmrg    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
188475c125cSmrg
189475c125cSmrg    _LT_DECL([build_libtool_libs], [enable_shared], [0],
190475c125cSmrg	[Whether or not to build shared libraries])
191475c125cSmrg])# _LT_ENABLE_SHARED
192475c125cSmrg
193475c125cSmrgLT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
194475c125cSmrgLT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
195475c125cSmrg
196475c125cSmrg# Old names:
197475c125cSmrgAC_DEFUN([AC_ENABLE_SHARED],
198475c125cSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
199475c125cSmrg])
200475c125cSmrg
201475c125cSmrgAC_DEFUN([AC_DISABLE_SHARED],
202475c125cSmrg[_LT_SET_OPTION([LT_INIT], [disable-shared])
203475c125cSmrg])
204475c125cSmrg
205475c125cSmrgAU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
206475c125cSmrgAU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
207475c125cSmrg
208475c125cSmrgdnl aclocal-1.4 backwards compatibility:
209475c125cSmrgdnl AC_DEFUN([AM_ENABLE_SHARED], [])
210475c125cSmrgdnl AC_DEFUN([AM_DISABLE_SHARED], [])
211475c125cSmrg
212475c125cSmrg
213475c125cSmrg
214475c125cSmrg# _LT_ENABLE_STATIC([DEFAULT])
215475c125cSmrg# ----------------------------
21635c4bbdfSmrg# implement the --enable-static flag, and support the 'static' and
21735c4bbdfSmrg# 'disable-static' LT_INIT options.
21835c4bbdfSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
219475c125cSmrgm4_define([_LT_ENABLE_STATIC],
220475c125cSmrg[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
221475c125cSmrgAC_ARG_ENABLE([static],
222475c125cSmrg    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
223475c125cSmrg	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
224475c125cSmrg    [p=${PACKAGE-default}
225475c125cSmrg    case $enableval in
226475c125cSmrg    yes) enable_static=yes ;;
227475c125cSmrg    no) enable_static=no ;;
228475c125cSmrg    *)
229475c125cSmrg     enable_static=no
230475c125cSmrg      # Look at the argument we got.  We use all the common list separators.
23135c4bbdfSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
232475c125cSmrg      for pkg in $enableval; do
23335c4bbdfSmrg	IFS=$lt_save_ifs
234475c125cSmrg	if test "X$pkg" = "X$p"; then
235475c125cSmrg	  enable_static=yes
236475c125cSmrg	fi
237475c125cSmrg      done
23835c4bbdfSmrg      IFS=$lt_save_ifs
239475c125cSmrg      ;;
240475c125cSmrg    esac],
241475c125cSmrg    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
242475c125cSmrg
243475c125cSmrg    _LT_DECL([build_old_libs], [enable_static], [0],
244475c125cSmrg	[Whether or not to build static libraries])
245475c125cSmrg])# _LT_ENABLE_STATIC
246475c125cSmrg
247475c125cSmrgLT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
248475c125cSmrgLT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
249475c125cSmrg
250475c125cSmrg# Old names:
251475c125cSmrgAC_DEFUN([AC_ENABLE_STATIC],
252475c125cSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
253475c125cSmrg])
254475c125cSmrg
255475c125cSmrgAC_DEFUN([AC_DISABLE_STATIC],
256475c125cSmrg[_LT_SET_OPTION([LT_INIT], [disable-static])
257475c125cSmrg])
258475c125cSmrg
259475c125cSmrgAU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
260475c125cSmrgAU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
261475c125cSmrg
262475c125cSmrgdnl aclocal-1.4 backwards compatibility:
263475c125cSmrgdnl AC_DEFUN([AM_ENABLE_STATIC], [])
264475c125cSmrgdnl AC_DEFUN([AM_DISABLE_STATIC], [])
265475c125cSmrg
266475c125cSmrg
267475c125cSmrg
268475c125cSmrg# _LT_ENABLE_FAST_INSTALL([DEFAULT])
269475c125cSmrg# ----------------------------------
27035c4bbdfSmrg# implement the --enable-fast-install flag, and support the 'fast-install'
27135c4bbdfSmrg# and 'disable-fast-install' LT_INIT options.
27235c4bbdfSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
273475c125cSmrgm4_define([_LT_ENABLE_FAST_INSTALL],
274475c125cSmrg[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
275475c125cSmrgAC_ARG_ENABLE([fast-install],
276475c125cSmrg    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
277475c125cSmrg    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
278475c125cSmrg    [p=${PACKAGE-default}
279475c125cSmrg    case $enableval in
280475c125cSmrg    yes) enable_fast_install=yes ;;
281475c125cSmrg    no) enable_fast_install=no ;;
282475c125cSmrg    *)
283475c125cSmrg      enable_fast_install=no
284475c125cSmrg      # Look at the argument we got.  We use all the common list separators.
28535c4bbdfSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
286475c125cSmrg      for pkg in $enableval; do
28735c4bbdfSmrg	IFS=$lt_save_ifs
288475c125cSmrg	if test "X$pkg" = "X$p"; then
289475c125cSmrg	  enable_fast_install=yes
290475c125cSmrg	fi
291475c125cSmrg      done
29235c4bbdfSmrg      IFS=$lt_save_ifs
293475c125cSmrg      ;;
294475c125cSmrg    esac],
295475c125cSmrg    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
296475c125cSmrg
297475c125cSmrg_LT_DECL([fast_install], [enable_fast_install], [0],
298475c125cSmrg	 [Whether or not to optimize for fast installation])dnl
299475c125cSmrg])# _LT_ENABLE_FAST_INSTALL
300475c125cSmrg
301475c125cSmrgLT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
302475c125cSmrgLT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
303475c125cSmrg
304475c125cSmrg# Old names:
305475c125cSmrgAU_DEFUN([AC_ENABLE_FAST_INSTALL],
306475c125cSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
307475c125cSmrgAC_DIAGNOSE([obsolete],
308475c125cSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
30935c4bbdfSmrgthe 'fast-install' option into LT_INIT's first parameter.])
310475c125cSmrg])
311475c125cSmrg
312475c125cSmrgAU_DEFUN([AC_DISABLE_FAST_INSTALL],
313475c125cSmrg[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
314475c125cSmrgAC_DIAGNOSE([obsolete],
315475c125cSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
31635c4bbdfSmrgthe 'disable-fast-install' option into LT_INIT's first parameter.])
317475c125cSmrg])
318475c125cSmrg
319475c125cSmrgdnl aclocal-1.4 backwards compatibility:
320475c125cSmrgdnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
321475c125cSmrgdnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
322475c125cSmrg
323475c125cSmrg
32435c4bbdfSmrg# _LT_WITH_AIX_SONAME([DEFAULT])
32535c4bbdfSmrg# ----------------------------------
32654b5899cSmrg# implement the --enable-aix-soname configure option, and support the
32754b5899cSmrg# `aix-soname=aix' and `aix-soname=both' and `aix-soname=svr4' LT_INIT options.
32854b5899cSmrg# DEFAULT is either `aix', `both', or `svr4'.  If omitted, it defaults to `aix'.
32935c4bbdfSmrgm4_define([_LT_WITH_AIX_SONAME],
33035c4bbdfSmrg[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
33135c4bbdfSmrgshared_archive_member_spec=
33235c4bbdfSmrgcase $host,$enable_shared in
33335c4bbdfSmrgpower*-*-aix[[5-9]]*,yes)
33435c4bbdfSmrg  AC_MSG_CHECKING([which variant of shared library versioning to provide])
33554b5899cSmrg  AC_ARG_ENABLE([aix-soname],
33654b5899cSmrg    [AS_HELP_STRING([--enable-aix-soname=aix|svr4|both],
33735c4bbdfSmrg      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
33854b5899cSmrg    [case $enableval in
33954b5899cSmrg     aix|svr4|both)
34054b5899cSmrg       ;;
34154b5899cSmrg     *)
34254b5899cSmrg       AC_MSG_ERROR([Unknown argument to --enable-aix-soname])
34354b5899cSmrg       ;;
34454b5899cSmrg     esac
34554b5899cSmrg     lt_cv_with_aix_soname=$enable_aix_soname],
34654b5899cSmrg    [_AC_ENABLE_IF([with], [aix-soname],
34754b5899cSmrg        [case $withval in
34854b5899cSmrg         aix|svr4|both)
34954b5899cSmrg           ;;
35054b5899cSmrg         *)
35154b5899cSmrg           AC_MSG_ERROR([Unknown argument to --with-aix-soname])
35254b5899cSmrg           ;;
35354b5899cSmrg         esac
35454b5899cSmrg         lt_cv_with_aix_soname=$with_aix_soname],
35554b5899cSmrg        [AC_CACHE_VAL([lt_cv_with_aix_soname],
35654b5899cSmrg           [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)])
35754b5899cSmrg     enable_aix_soname=$lt_cv_with_aix_soname])
35854b5899cSmrg  with_aix_soname=$enable_aix_soname
35935c4bbdfSmrg  AC_MSG_RESULT([$with_aix_soname])
36035c4bbdfSmrg  if test aix != "$with_aix_soname"; then
36135c4bbdfSmrg    # For the AIX way of multilib, we name the shared archive member
36235c4bbdfSmrg    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
36335c4bbdfSmrg    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
36435c4bbdfSmrg    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
36535c4bbdfSmrg    # the AIX toolchain works better with OBJECT_MODE set (default 32).
36635c4bbdfSmrg    if test 64 = "${OBJECT_MODE-32}"; then
36735c4bbdfSmrg      shared_archive_member_spec=shr_64
36835c4bbdfSmrg    else
36935c4bbdfSmrg      shared_archive_member_spec=shr
37035c4bbdfSmrg    fi
37135c4bbdfSmrg  fi
37235c4bbdfSmrg  ;;
37335c4bbdfSmrg*)
37435c4bbdfSmrg  with_aix_soname=aix
37535c4bbdfSmrg  ;;
37635c4bbdfSmrgesac
37735c4bbdfSmrg
37835c4bbdfSmrg_LT_DECL([], [shared_archive_member_spec], [0],
37935c4bbdfSmrg    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
38035c4bbdfSmrg])# _LT_WITH_AIX_SONAME
38135c4bbdfSmrg
38235c4bbdfSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
38335c4bbdfSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
38435c4bbdfSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
38535c4bbdfSmrg
38635c4bbdfSmrg
387475c125cSmrg# _LT_WITH_PIC([MODE])
388475c125cSmrg# --------------------
38954b5899cSmrg# implement the --enable-pic flag, and support the 'pic-only' and 'no-pic'
390475c125cSmrg# LT_INIT options.
39135c4bbdfSmrg# MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
392475c125cSmrgm4_define([_LT_WITH_PIC],
39354b5899cSmrg[AC_ARG_ENABLE([pic],
39454b5899cSmrg    [AS_HELP_STRING([--enable-pic@<:@=PKGS@:>@],
395475c125cSmrg	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
39635c4bbdfSmrg    [lt_p=${PACKAGE-default}
39754b5899cSmrg     case $enableval in
39854b5899cSmrg     yes|no) pic_mode=$enableval ;;
39954b5899cSmrg     *)
40054b5899cSmrg       pic_mode=default
40154b5899cSmrg       # Look at the argument we got.  We use all the common list separators.
40254b5899cSmrg       lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
40354b5899cSmrg       for lt_pkg in $enableval; do
40454b5899cSmrg	 IFS=$lt_save_ifs
40554b5899cSmrg	 if test "X$lt_pkg" = "X$lt_p"; then
40654b5899cSmrg	   pic_mode=yes
40754b5899cSmrg	 fi
40854b5899cSmrg       done
40954b5899cSmrg       IFS=$lt_save_ifs
41054b5899cSmrg       ;;
41154b5899cSmrg     esac],
41254b5899cSmrg    [dnl Continue to support --with-pic and --without-pic, for backward
41354b5899cSmrg     dnl compatibility.
41454b5899cSmrg     _AC_ENABLE_IF([with], [pic],
41554b5899cSmrg	[lt_p=${PACKAGE-default}
41654b5899cSmrg	 case $withval in
41754b5899cSmrg	 yes|no) pic_mode=$withval ;;
41854b5899cSmrg	 *)
41954b5899cSmrg	   pic_mode=default
42054b5899cSmrg	   # Look at the argument we got.  We use all the common list separators.
42154b5899cSmrg	   lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
42254b5899cSmrg	   for lt_pkg in $withval; do
42354b5899cSmrg	     IFS=$lt_save_ifs
42454b5899cSmrg	     if test "X$lt_pkg" = "X$lt_p"; then
42554b5899cSmrg	       pic_mode=yes
42654b5899cSmrg	     fi
42754b5899cSmrg	   done
42854b5899cSmrg	   IFS=$lt_save_ifs
42954b5899cSmrg	   ;;
43054b5899cSmrg	 esac],
43154b5899cSmrg	[pic_mode=m4_default([$1], [default])])]
43254b5899cSmrg    )
433475c125cSmrg
434475c125cSmrg_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
435475c125cSmrg])# _LT_WITH_PIC
436475c125cSmrg
437475c125cSmrgLT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
438475c125cSmrgLT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
439475c125cSmrg
440475c125cSmrg# Old name:
441475c125cSmrgAU_DEFUN([AC_LIBTOOL_PICMODE],
442475c125cSmrg[_LT_SET_OPTION([LT_INIT], [pic-only])
443475c125cSmrgAC_DIAGNOSE([obsolete],
444475c125cSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
44535c4bbdfSmrgput the 'pic-only' option into LT_INIT's first parameter.])
446475c125cSmrg])
447475c125cSmrg
448475c125cSmrgdnl aclocal-1.4 backwards compatibility:
449475c125cSmrgdnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
450475c125cSmrg
451475c125cSmrg## ----------------- ##
452475c125cSmrg## LTDL_INIT Options ##
453475c125cSmrg## ----------------- ##
454475c125cSmrg
455475c125cSmrgm4_define([_LTDL_MODE], [])
456475c125cSmrgLT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
457475c125cSmrg		 [m4_define([_LTDL_MODE], [nonrecursive])])
458475c125cSmrgLT_OPTION_DEFINE([LTDL_INIT], [recursive],
459475c125cSmrg		 [m4_define([_LTDL_MODE], [recursive])])
460475c125cSmrgLT_OPTION_DEFINE([LTDL_INIT], [subproject],
461475c125cSmrg		 [m4_define([_LTDL_MODE], [subproject])])
462475c125cSmrg
463475c125cSmrgm4_define([_LTDL_TYPE], [])
464475c125cSmrgLT_OPTION_DEFINE([LTDL_INIT], [installable],
465475c125cSmrg		 [m4_define([_LTDL_TYPE], [installable])])
466475c125cSmrgLT_OPTION_DEFINE([LTDL_INIT], [convenience],
467475c125cSmrg		 [m4_define([_LTDL_TYPE], [convenience])])
468