Annotation of embedaddon/confuse/m4/ltoptions.m4, revision 1.1.1.2
1.1 misho 1: # Helper functions for option handling. -*- Autoconf -*-
2: #
1.1.1.2 ! misho 3: # Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
! 4: # Foundation, Inc.
1.1 misho 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:
1.1.1.2 ! misho 11: # serial 8 ltoptions.m4
1.1 misho 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]),
1.1.1.2 ! misho 32: [m4_warning([Unknown $1 option '$2'])])[]dnl
1.1 misho 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
1.1.1.2 ! misho 78: dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
1.1 misho 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],
1.1.1.2 ! misho 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])])
1.1 misho 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
1.1.1.2 ! misho 117: put the 'dlopen' option into LT_INIT's first parameter.])
1.1 misho 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
1.1.1.2 ! misho 131: *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
1.1 misho 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
1.1.1.2 ! misho 139: _LT_DECL([], [AS], [1], [Assembler program])dnl
1.1 misho 140:
141: test -z "$DLLTOOL" && DLLTOOL=dlltool
1.1.1.2 ! misho 142: _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
1.1 misho 143:
144: test -z "$OBJDUMP" && OBJDUMP=objdump
1.1.1.2 ! misho 145: _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
1.1 misho 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
1.1.1.2 ! misho 153: put the 'win32-dll' option into LT_INIT's first parameter.])
1.1 misho 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: # ----------------------------
1.1.1.2 ! misho 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'.
1.1 misho 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.
1.1.1.2 ! misho 177: lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
1.1 misho 178: for pkg in $enableval; do
1.1.1.2 ! misho 179: IFS=$lt_save_ifs
1.1 misho 180: if test "X$pkg" = "X$p"; then
181: enable_shared=yes
182: fi
183: done
1.1.1.2 ! misho 184: IFS=$lt_save_ifs
1.1 misho 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: # ----------------------------
1.1.1.2 ! misho 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'.
1.1 misho 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.
1.1.1.2 ! misho 231: lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
1.1 misho 232: for pkg in $enableval; do
1.1.1.2 ! misho 233: IFS=$lt_save_ifs
1.1 misho 234: if test "X$pkg" = "X$p"; then
235: enable_static=yes
236: fi
237: done
1.1.1.2 ! misho 238: IFS=$lt_save_ifs
1.1 misho 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: # ----------------------------------
1.1.1.2 ! misho 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'.
1.1 misho 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.
1.1.1.2 ! misho 285: lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
1.1 misho 286: for pkg in $enableval; do
1.1.1.2 ! misho 287: IFS=$lt_save_ifs
1.1 misho 288: if test "X$pkg" = "X$p"; then
289: enable_fast_install=yes
290: fi
291: done
1.1.1.2 ! misho 292: IFS=$lt_save_ifs
1.1 misho 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
1.1.1.2 ! misho 309: the 'fast-install' option into LT_INIT's first parameter.])
1.1 misho 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
1.1.1.2 ! misho 316: the 'disable-fast-install' option into LT_INIT's first parameter.])
1.1 misho 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:
1.1.1.2 ! misho 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:
1.1 misho 377: # _LT_WITH_PIC([MODE])
378: # --------------------
1.1.1.2 ! misho 379: # implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
1.1 misho 380: # LT_INIT options.
1.1.1.2 ! misho 381: # MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
1.1 misho 382: m4_define([_LT_WITH_PIC],
383: [AC_ARG_WITH([pic],
1.1.1.2 ! misho 384: [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
1.1 misho 385: [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
1.1.1.2 ! misho 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])])
1.1 misho 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
1.1.1.2 ! misho 415: put the 'pic-only' option into LT_INIT's first parameter.])
1.1 misho 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])])
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>