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