/sqlite3cc

To get this branch, use:
bzr branch http://bzr.ed.am/sqlite3cc

« back to all changes in this revision

Viewing changes to m4/ltoptions.m4

  • Committer: edam
  • Date: 2010-07-29 21:00:36 UTC
  • Revision ID: edam@waxworlds.org-20100729210036-7me19mqc1iqo34pm
- failed to update TODO in last commit

Show diffs side-by-side

added added

removed removed

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