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