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