ltoptions.m4 revision 953daeba
1ca08ab68Smrg# Helper functions for option handling.                    -*- Autoconf -*-
2ca08ab68Smrg#
3953daebaSmrg#   Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
4953daebaSmrg#   Foundation, Inc.
5ca08ab68Smrg#   Written by Gary V. Vaughan, 2004
6ca08ab68Smrg#
7ca08ab68Smrg# This file is free software; the Free Software Foundation gives
8ca08ab68Smrg# unlimited permission to copy and/or distribute it, with or without
9ca08ab68Smrg# modifications, as long as this notice is preserved.
10ca08ab68Smrg
11953daebaSmrg# serial 8 ltoptions.m4
12ca08ab68Smrg
13ca08ab68Smrg# This is to help aclocal find these macros, as it can't see m4_define.
14ca08ab68SmrgAC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
15ca08ab68Smrg
16ca08ab68Smrg
17ca08ab68Smrg# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
18ca08ab68Smrg# ------------------------------------------
19ca08ab68Smrgm4_define([_LT_MANGLE_OPTION],
20ca08ab68Smrg[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
21ca08ab68Smrg
22ca08ab68Smrg
23ca08ab68Smrg# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
24ca08ab68Smrg# ---------------------------------------
25ca08ab68Smrg# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
26ca08ab68Smrg# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
27ca08ab68Smrg# saved as a flag.
28ca08ab68Smrgm4_define([_LT_SET_OPTION],
29ca08ab68Smrg[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
30ca08ab68Smrgm4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
31ca08ab68Smrg        _LT_MANGLE_DEFUN([$1], [$2]),
32953daebaSmrg    [m4_warning([Unknown $1 option '$2'])])[]dnl
33ca08ab68Smrg])
34ca08ab68Smrg
35ca08ab68Smrg
36ca08ab68Smrg# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
37ca08ab68Smrg# ------------------------------------------------------------
38ca08ab68Smrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
39ca08ab68Smrgm4_define([_LT_IF_OPTION],
40ca08ab68Smrg[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
41ca08ab68Smrg
42ca08ab68Smrg
43ca08ab68Smrg# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
44ca08ab68Smrg# -------------------------------------------------------
45ca08ab68Smrg# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
46ca08ab68Smrg# are set.
47ca08ab68Smrgm4_define([_LT_UNLESS_OPTIONS],
48ca08ab68Smrg[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
49ca08ab68Smrg	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
50ca08ab68Smrg		      [m4_define([$0_found])])])[]dnl
51ca08ab68Smrgm4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
52ca08ab68Smrg])[]dnl
53ca08ab68Smrg])
54ca08ab68Smrg
55ca08ab68Smrg
56ca08ab68Smrg# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
57ca08ab68Smrg# ----------------------------------------
58ca08ab68Smrg# OPTION-LIST is a space-separated list of Libtool options associated
59ca08ab68Smrg# with MACRO-NAME.  If any OPTION has a matching handler declared with
60ca08ab68Smrg# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
61ca08ab68Smrg# the unknown option and exit.
62ca08ab68Smrgm4_defun([_LT_SET_OPTIONS],
63ca08ab68Smrg[# Set options
64ca08ab68Smrgm4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
65ca08ab68Smrg    [_LT_SET_OPTION([$1], _LT_Option)])
66ca08ab68Smrg
67ca08ab68Smrgm4_if([$1],[LT_INIT],[
68ca08ab68Smrg  dnl
69ca08ab68Smrg  dnl Simply set some default values (i.e off) if boolean options were not
70ca08ab68Smrg  dnl specified:
71ca08ab68Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
72ca08ab68Smrg  ])
73ca08ab68Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
74ca08ab68Smrg  ])
75ca08ab68Smrg  dnl
76ca08ab68Smrg  dnl If no reference was made to various pairs of opposing options, then
77ca08ab68Smrg  dnl we run the default mode handler for the pair.  For example, if neither
78953daebaSmrg  dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
79ca08ab68Smrg  dnl archives by default:
80ca08ab68Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
81ca08ab68Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
82ca08ab68Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
83ca08ab68Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
84953daebaSmrg		   [_LT_ENABLE_FAST_INSTALL])
85953daebaSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
86953daebaSmrg		   [_LT_WITH_AIX_SONAME([aix])])
87ca08ab68Smrg  ])
88ca08ab68Smrg])# _LT_SET_OPTIONS
89ca08ab68Smrg
90ca08ab68Smrg
91ca08ab68Smrg## --------------------------------- ##
92ca08ab68Smrg## Macros to handle LT_INIT options. ##
93ca08ab68Smrg## --------------------------------- ##
94ca08ab68Smrg
95ca08ab68Smrg# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
96ca08ab68Smrg# -----------------------------------------
97ca08ab68Smrgm4_define([_LT_MANGLE_DEFUN],
98ca08ab68Smrg[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
99ca08ab68Smrg
100ca08ab68Smrg
101ca08ab68Smrg# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
102ca08ab68Smrg# -----------------------------------------------
103ca08ab68Smrgm4_define([LT_OPTION_DEFINE],
104ca08ab68Smrg[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
105ca08ab68Smrg])# LT_OPTION_DEFINE
106ca08ab68Smrg
107ca08ab68Smrg
108ca08ab68Smrg# dlopen
109ca08ab68Smrg# ------
110ca08ab68SmrgLT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
111ca08ab68Smrg])
112ca08ab68Smrg
113ca08ab68SmrgAU_DEFUN([AC_LIBTOOL_DLOPEN],
114ca08ab68Smrg[_LT_SET_OPTION([LT_INIT], [dlopen])
115ca08ab68SmrgAC_DIAGNOSE([obsolete],
116ca08ab68Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
117953daebaSmrgput the 'dlopen' option into LT_INIT's first parameter.])
118ca08ab68Smrg])
119ca08ab68Smrg
120ca08ab68Smrgdnl aclocal-1.4 backwards compatibility:
121ca08ab68Smrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
122ca08ab68Smrg
123ca08ab68Smrg
124ca08ab68Smrg# win32-dll
125ca08ab68Smrg# ---------
126ca08ab68Smrg# Declare package support for building win32 dll's.
127ca08ab68SmrgLT_OPTION_DEFINE([LT_INIT], [win32-dll],
128ca08ab68Smrg[enable_win32_dll=yes
129ca08ab68Smrg
130ca08ab68Smrgcase $host in
131ca08ab68Smrg*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
132ca08ab68Smrg  AC_CHECK_TOOL(AS, as, false)
133ca08ab68Smrg  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
134ca08ab68Smrg  AC_CHECK_TOOL(OBJDUMP, objdump, false)
135ca08ab68Smrg  ;;
136ca08ab68Smrgesac
137ca08ab68Smrg
138ca08ab68Smrgtest -z "$AS" && AS=as
139ca08ab68Smrg_LT_DECL([], [AS],      [1], [Assembler program])dnl
140ca08ab68Smrg
141ca08ab68Smrgtest -z "$DLLTOOL" && DLLTOOL=dlltool
142ca08ab68Smrg_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
143ca08ab68Smrg
144ca08ab68Smrgtest -z "$OBJDUMP" && OBJDUMP=objdump
145ca08ab68Smrg_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
146ca08ab68Smrg])# win32-dll
147ca08ab68Smrg
148ca08ab68SmrgAU_DEFUN([AC_LIBTOOL_WIN32_DLL],
149ca08ab68Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
150ca08ab68Smrg_LT_SET_OPTION([LT_INIT], [win32-dll])
151ca08ab68SmrgAC_DIAGNOSE([obsolete],
152ca08ab68Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
153953daebaSmrgput the 'win32-dll' option into LT_INIT's first parameter.])
154ca08ab68Smrg])
155ca08ab68Smrg
156ca08ab68Smrgdnl aclocal-1.4 backwards compatibility:
157ca08ab68Smrgdnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
158ca08ab68Smrg
159ca08ab68Smrg
160ca08ab68Smrg# _LT_ENABLE_SHARED([DEFAULT])
161ca08ab68Smrg# ----------------------------
162953daebaSmrg# implement the --enable-shared flag, and supports the 'shared' and
163953daebaSmrg# 'disable-shared' LT_INIT options.
164953daebaSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
165ca08ab68Smrgm4_define([_LT_ENABLE_SHARED],
166ca08ab68Smrg[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
167ca08ab68SmrgAC_ARG_ENABLE([shared],
168ca08ab68Smrg    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
169ca08ab68Smrg	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
170ca08ab68Smrg    [p=${PACKAGE-default}
171ca08ab68Smrg    case $enableval in
172ca08ab68Smrg    yes) enable_shared=yes ;;
173ca08ab68Smrg    no) enable_shared=no ;;
174ca08ab68Smrg    *)
175ca08ab68Smrg      enable_shared=no
176ca08ab68Smrg      # Look at the argument we got.  We use all the common list separators.
177953daebaSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
178ca08ab68Smrg      for pkg in $enableval; do
179953daebaSmrg	IFS=$lt_save_ifs
180ca08ab68Smrg	if test "X$pkg" = "X$p"; then
181ca08ab68Smrg	  enable_shared=yes
182ca08ab68Smrg	fi
183ca08ab68Smrg      done
184953daebaSmrg      IFS=$lt_save_ifs
185ca08ab68Smrg      ;;
186ca08ab68Smrg    esac],
187ca08ab68Smrg    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
188ca08ab68Smrg
189ca08ab68Smrg    _LT_DECL([build_libtool_libs], [enable_shared], [0],
190ca08ab68Smrg	[Whether or not to build shared libraries])
191ca08ab68Smrg])# _LT_ENABLE_SHARED
192ca08ab68Smrg
193ca08ab68SmrgLT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
194ca08ab68SmrgLT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
195ca08ab68Smrg
196ca08ab68Smrg# Old names:
197ca08ab68SmrgAC_DEFUN([AC_ENABLE_SHARED],
198ca08ab68Smrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
199ca08ab68Smrg])
200ca08ab68Smrg
201ca08ab68SmrgAC_DEFUN([AC_DISABLE_SHARED],
202ca08ab68Smrg[_LT_SET_OPTION([LT_INIT], [disable-shared])
203ca08ab68Smrg])
204ca08ab68Smrg
205ca08ab68SmrgAU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
206ca08ab68SmrgAU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
207ca08ab68Smrg
208ca08ab68Smrgdnl aclocal-1.4 backwards compatibility:
209ca08ab68Smrgdnl AC_DEFUN([AM_ENABLE_SHARED], [])
210ca08ab68Smrgdnl AC_DEFUN([AM_DISABLE_SHARED], [])
211ca08ab68Smrg
212ca08ab68Smrg
213ca08ab68Smrg
214ca08ab68Smrg# _LT_ENABLE_STATIC([DEFAULT])
215ca08ab68Smrg# ----------------------------
216953daebaSmrg# implement the --enable-static flag, and support the 'static' and
217953daebaSmrg# 'disable-static' LT_INIT options.
218953daebaSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
219ca08ab68Smrgm4_define([_LT_ENABLE_STATIC],
220ca08ab68Smrg[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
221ca08ab68SmrgAC_ARG_ENABLE([static],
222ca08ab68Smrg    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
223ca08ab68Smrg	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
224ca08ab68Smrg    [p=${PACKAGE-default}
225ca08ab68Smrg    case $enableval in
226ca08ab68Smrg    yes) enable_static=yes ;;
227ca08ab68Smrg    no) enable_static=no ;;
228ca08ab68Smrg    *)
229ca08ab68Smrg     enable_static=no
230ca08ab68Smrg      # Look at the argument we got.  We use all the common list separators.
231953daebaSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
232ca08ab68Smrg      for pkg in $enableval; do
233953daebaSmrg	IFS=$lt_save_ifs
234ca08ab68Smrg	if test "X$pkg" = "X$p"; then
235ca08ab68Smrg	  enable_static=yes
236ca08ab68Smrg	fi
237ca08ab68Smrg      done
238953daebaSmrg      IFS=$lt_save_ifs
239ca08ab68Smrg      ;;
240ca08ab68Smrg    esac],
241ca08ab68Smrg    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
242ca08ab68Smrg
243ca08ab68Smrg    _LT_DECL([build_old_libs], [enable_static], [0],
244ca08ab68Smrg	[Whether or not to build static libraries])
245ca08ab68Smrg])# _LT_ENABLE_STATIC
246ca08ab68Smrg
247ca08ab68SmrgLT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
248ca08ab68SmrgLT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
249ca08ab68Smrg
250ca08ab68Smrg# Old names:
251ca08ab68SmrgAC_DEFUN([AC_ENABLE_STATIC],
252ca08ab68Smrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
253ca08ab68Smrg])
254ca08ab68Smrg
255ca08ab68SmrgAC_DEFUN([AC_DISABLE_STATIC],
256ca08ab68Smrg[_LT_SET_OPTION([LT_INIT], [disable-static])
257ca08ab68Smrg])
258ca08ab68Smrg
259ca08ab68SmrgAU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
260ca08ab68SmrgAU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
261ca08ab68Smrg
262ca08ab68Smrgdnl aclocal-1.4 backwards compatibility:
263ca08ab68Smrgdnl AC_DEFUN([AM_ENABLE_STATIC], [])
264ca08ab68Smrgdnl AC_DEFUN([AM_DISABLE_STATIC], [])
265ca08ab68Smrg
266ca08ab68Smrg
267ca08ab68Smrg
268ca08ab68Smrg# _LT_ENABLE_FAST_INSTALL([DEFAULT])
269ca08ab68Smrg# ----------------------------------
270953daebaSmrg# implement the --enable-fast-install flag, and support the 'fast-install'
271953daebaSmrg# and 'disable-fast-install' LT_INIT options.
272953daebaSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
273ca08ab68Smrgm4_define([_LT_ENABLE_FAST_INSTALL],
274ca08ab68Smrg[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
275ca08ab68SmrgAC_ARG_ENABLE([fast-install],
276ca08ab68Smrg    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
277ca08ab68Smrg    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
278ca08ab68Smrg    [p=${PACKAGE-default}
279ca08ab68Smrg    case $enableval in
280ca08ab68Smrg    yes) enable_fast_install=yes ;;
281ca08ab68Smrg    no) enable_fast_install=no ;;
282ca08ab68Smrg    *)
283ca08ab68Smrg      enable_fast_install=no
284ca08ab68Smrg      # Look at the argument we got.  We use all the common list separators.
285953daebaSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
286ca08ab68Smrg      for pkg in $enableval; do
287953daebaSmrg	IFS=$lt_save_ifs
288ca08ab68Smrg	if test "X$pkg" = "X$p"; then
289ca08ab68Smrg	  enable_fast_install=yes
290ca08ab68Smrg	fi
291ca08ab68Smrg      done
292953daebaSmrg      IFS=$lt_save_ifs
293ca08ab68Smrg      ;;
294ca08ab68Smrg    esac],
295ca08ab68Smrg    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
296ca08ab68Smrg
297ca08ab68Smrg_LT_DECL([fast_install], [enable_fast_install], [0],
298ca08ab68Smrg	 [Whether or not to optimize for fast installation])dnl
299ca08ab68Smrg])# _LT_ENABLE_FAST_INSTALL
300ca08ab68Smrg
301ca08ab68SmrgLT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
302ca08ab68SmrgLT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
303ca08ab68Smrg
304ca08ab68Smrg# Old names:
305ca08ab68SmrgAU_DEFUN([AC_ENABLE_FAST_INSTALL],
306ca08ab68Smrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
307ca08ab68SmrgAC_DIAGNOSE([obsolete],
308ca08ab68Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
309953daebaSmrgthe 'fast-install' option into LT_INIT's first parameter.])
310ca08ab68Smrg])
311ca08ab68Smrg
312ca08ab68SmrgAU_DEFUN([AC_DISABLE_FAST_INSTALL],
313ca08ab68Smrg[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
314ca08ab68SmrgAC_DIAGNOSE([obsolete],
315ca08ab68Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
316953daebaSmrgthe 'disable-fast-install' option into LT_INIT's first parameter.])
317ca08ab68Smrg])
318ca08ab68Smrg
319ca08ab68Smrgdnl aclocal-1.4 backwards compatibility:
320ca08ab68Smrgdnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
321ca08ab68Smrgdnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
322ca08ab68Smrg
323ca08ab68Smrg
324953daebaSmrg# _LT_WITH_AIX_SONAME([DEFAULT])
325953daebaSmrg# ----------------------------------
326953daebaSmrg# implement the --with-aix-soname flag, and support the `aix-soname=aix'
327953daebaSmrg# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
328953daebaSmrg# is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
329953daebaSmrgm4_define([_LT_WITH_AIX_SONAME],
330953daebaSmrg[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
331953daebaSmrgshared_archive_member_spec=
332953daebaSmrgcase $host,$enable_shared in
333953daebaSmrgpower*-*-aix[[5-9]]*,yes)
334953daebaSmrg  AC_MSG_CHECKING([which variant of shared library versioning to provide])
335953daebaSmrg  AC_ARG_WITH([aix-soname],
336953daebaSmrg    [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
337953daebaSmrg      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
338953daebaSmrg    [case $withval in
339953daebaSmrg    aix|svr4|both)
340953daebaSmrg      ;;
341953daebaSmrg    *)
342953daebaSmrg      AC_MSG_ERROR([Unknown argument to --with-aix-soname])
343953daebaSmrg      ;;
344953daebaSmrg    esac
345953daebaSmrg    lt_cv_with_aix_soname=$with_aix_soname],
346953daebaSmrg    [AC_CACHE_VAL([lt_cv_with_aix_soname],
347953daebaSmrg      [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
348953daebaSmrg    with_aix_soname=$lt_cv_with_aix_soname])
349953daebaSmrg  AC_MSG_RESULT([$with_aix_soname])
350953daebaSmrg  if test aix != "$with_aix_soname"; then
351953daebaSmrg    # For the AIX way of multilib, we name the shared archive member
352953daebaSmrg    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
353953daebaSmrg    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
354953daebaSmrg    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
355953daebaSmrg    # the AIX toolchain works better with OBJECT_MODE set (default 32).
356953daebaSmrg    if test 64 = "${OBJECT_MODE-32}"; then
357953daebaSmrg      shared_archive_member_spec=shr_64
358953daebaSmrg    else
359953daebaSmrg      shared_archive_member_spec=shr
360953daebaSmrg    fi
361953daebaSmrg  fi
362953daebaSmrg  ;;
363953daebaSmrg*)
364953daebaSmrg  with_aix_soname=aix
365953daebaSmrg  ;;
366953daebaSmrgesac
367953daebaSmrg
368953daebaSmrg_LT_DECL([], [shared_archive_member_spec], [0],
369953daebaSmrg    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
370953daebaSmrg])# _LT_WITH_AIX_SONAME
371953daebaSmrg
372953daebaSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
373953daebaSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
374953daebaSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
375953daebaSmrg
376953daebaSmrg
377ca08ab68Smrg# _LT_WITH_PIC([MODE])
378ca08ab68Smrg# --------------------
379953daebaSmrg# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
380ca08ab68Smrg# LT_INIT options.
381953daebaSmrg# MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
382ca08ab68Smrgm4_define([_LT_WITH_PIC],
383ca08ab68Smrg[AC_ARG_WITH([pic],
384ca08ab68Smrg    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
385ca08ab68Smrg	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
386ca08ab68Smrg    [lt_p=${PACKAGE-default}
387ca08ab68Smrg    case $withval in
388ca08ab68Smrg    yes|no) pic_mode=$withval ;;
389ca08ab68Smrg    *)
390ca08ab68Smrg      pic_mode=default
391ca08ab68Smrg      # Look at the argument we got.  We use all the common list separators.
392953daebaSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
393ca08ab68Smrg      for lt_pkg in $withval; do
394953daebaSmrg	IFS=$lt_save_ifs
395ca08ab68Smrg	if test "X$lt_pkg" = "X$lt_p"; then
396ca08ab68Smrg	  pic_mode=yes
397ca08ab68Smrg	fi
398ca08ab68Smrg      done
399953daebaSmrg      IFS=$lt_save_ifs
400ca08ab68Smrg      ;;
401ca08ab68Smrg    esac],
402953daebaSmrg    [pic_mode=m4_default([$1], [default])])
403ca08ab68Smrg
404ca08ab68Smrg_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
405ca08ab68Smrg])# _LT_WITH_PIC
406ca08ab68Smrg
407ca08ab68SmrgLT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
408ca08ab68SmrgLT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
409ca08ab68Smrg
410ca08ab68Smrg# Old name:
411ca08ab68SmrgAU_DEFUN([AC_LIBTOOL_PICMODE],
412ca08ab68Smrg[_LT_SET_OPTION([LT_INIT], [pic-only])
413ca08ab68SmrgAC_DIAGNOSE([obsolete],
414ca08ab68Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
415953daebaSmrgput the 'pic-only' option into LT_INIT's first parameter.])
416ca08ab68Smrg])
417ca08ab68Smrg
418ca08ab68Smrgdnl aclocal-1.4 backwards compatibility:
419ca08ab68Smrgdnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
420ca08ab68Smrg
421ca08ab68Smrg## ----------------- ##
422ca08ab68Smrg## LTDL_INIT Options ##
423ca08ab68Smrg## ----------------- ##
424ca08ab68Smrg
425ca08ab68Smrgm4_define([_LTDL_MODE], [])
426ca08ab68SmrgLT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
427ca08ab68Smrg		 [m4_define([_LTDL_MODE], [nonrecursive])])
428ca08ab68SmrgLT_OPTION_DEFINE([LTDL_INIT], [recursive],
429ca08ab68Smrg		 [m4_define([_LTDL_MODE], [recursive])])
430ca08ab68SmrgLT_OPTION_DEFINE([LTDL_INIT], [subproject],
431ca08ab68Smrg		 [m4_define([_LTDL_MODE], [subproject])])
432ca08ab68Smrg
433ca08ab68Smrgm4_define([_LTDL_TYPE], [])
434ca08ab68SmrgLT_OPTION_DEFINE([LTDL_INIT], [installable],
435ca08ab68Smrg		 [m4_define([_LTDL_TYPE], [installable])])
436ca08ab68SmrgLT_OPTION_DEFINE([LTDL_INIT], [convenience],
437ca08ab68Smrg		 [m4_define([_LTDL_TYPE], [convenience])])
438