makefiles: Output all the documentation rules explicitly for each module.
[wine] / aclocal.m4
1 dnl Macros used to build the Wine configure script
2 dnl
3 dnl Copyright 2002 Alexandre Julliard
4 dnl
5 dnl This library is free software; you can redistribute it and/or
6 dnl modify it under the terms of the GNU Lesser General Public
7 dnl License as published by the Free Software Foundation; either
8 dnl version 2.1 of the License, or (at your option) any later version.
9 dnl
10 dnl This library is distributed in the hope that it will be useful,
11 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
12 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 dnl Lesser General Public License for more details.
14 dnl
15 dnl You should have received a copy of the GNU Lesser General Public
16 dnl License along with this library; if not, write to the Free Software
17 dnl Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 dnl
19 dnl As a special exception to the GNU Lesser General Public License,
20 dnl if you distribute this file as part of a program that contains a
21 dnl configuration script generated by Autoconf, you may include it
22 dnl under the same distribution terms that you use for the rest of
23 dnl that program.
24
25 dnl **** Get the ldd program name; used by WINE_GET_SONAME ****
26 dnl
27 dnl Usage: WINE_PATH_LDD
28 dnl
29 AC_DEFUN([WINE_PATH_LDD],[AC_PATH_PROG(LDD,ldd,true,/sbin:/usr/sbin:$PATH)])
30
31 dnl **** Extract the soname of a library ****
32 dnl
33 dnl Usage: WINE_CHECK_SONAME(library, function, [action-if-found, [action-if-not-found, [other_libraries, [pattern]]]])
34 dnl
35 AC_DEFUN([WINE_CHECK_SONAME],
36 [AC_REQUIRE([WINE_PATH_LDD])dnl
37 AS_VAR_PUSHDEF([ac_Lib],[ac_cv_lib_soname_$1])dnl
38 m4_pushdef([ac_lib_pattern],m4_default([$6],[lib$1]))dnl
39 AC_MSG_CHECKING([for -l$1])
40 AC_CACHE_VAL(ac_Lib,
41 [ac_check_soname_save_LIBS=$LIBS
42 LIBS="-l$1 $5 $LIBS"
43   AC_LINK_IFELSE([AC_LANG_CALL([], [$2])],
44   [case "$LIBEXT" in
45     dll) AS_VAR_SET(ac_Lib,[`$ac_cv_path_LDD conftest.exe | grep "$1" | sed -e "s/dll.*/dll/"';2,$d'`]) ;;
46     dylib) AS_VAR_SET(ac_Lib,[`otool -L conftest$ac_exeext | grep "ac_lib_pattern\\.[[0-9A-Za-z.]]*dylib" | sed -e "s/^.*\/\(ac_lib_pattern\.[[0-9A-Za-z.]]*dylib\).*$/\1/"';2,$d'`]) ;;
47     *) AS_VAR_SET(ac_Lib,[`$ac_cv_path_LDD conftest$ac_exeext | grep "ac_lib_pattern\\.$LIBEXT" | sed -e "s/^.*\(ac_lib_pattern\.$LIBEXT[[^      ]]*\).*$/\1/"';2,$d'`]) ;;
48   esac])
49   LIBS=$ac_check_soname_save_LIBS])dnl
50 AS_IF([test "x]AS_VAR_GET(ac_Lib)[" = "x"],
51       [AC_MSG_RESULT([not found])
52        $4],
53       [AC_MSG_RESULT(AS_VAR_GET(ac_Lib))
54        AC_DEFINE_UNQUOTED(AS_TR_CPP(SONAME_LIB$1),["]AS_VAR_GET(ac_Lib)["],
55                           [Define to the soname of the lib$1 library.])
56        $3])dnl
57 m4_popdef([ac_lib_pattern])dnl
58 AS_VAR_POPDEF([ac_Lib])])
59
60 dnl **** Link C code with an assembly file ****
61 dnl
62 dnl Usage: WINE_TRY_ASM_LINK(asm-code,includes,function,[action-if-found,[action-if-not-found]])
63 dnl
64 AC_DEFUN([WINE_TRY_ASM_LINK],
65 [AC_LINK_IFELSE(AC_LANG_PROGRAM([[$2]],[[asm($1); $3]]),[$4],[$5])])
66
67 dnl **** Check if we can link an empty program with special CFLAGS ****
68 dnl
69 dnl Usage: WINE_TRY_CFLAGS(flags,[action-if-yes,[action-if-no]])
70 dnl
71 dnl The default action-if-yes is to append the flags to EXTRACFLAGS.
72 dnl
73 AC_DEFUN([WINE_TRY_CFLAGS],
74 [AS_VAR_PUSHDEF([ac_var], ac_cv_cflags_[[$1]])dnl
75 AC_CACHE_CHECK([whether the compiler supports $1], ac_var,
76 [ac_wine_try_cflags_saved=$CFLAGS
77 CFLAGS="$CFLAGS $1"
78 AC_LINK_IFELSE(AC_LANG_SOURCE([[int main(int argc, char **argv) { return 0; }]]),
79                [AS_VAR_SET(ac_var,yes)], [AS_VAR_SET(ac_var,no)])
80 CFLAGS=$ac_wine_try_cflags_saved])
81 AS_IF([test AS_VAR_GET(ac_var) = yes],
82       [m4_default([$2], [EXTRACFLAGS="$EXTRACFLAGS $1"])], [$3])dnl
83 AS_VAR_POPDEF([ac_var])])
84
85 dnl **** Check if we can link an empty shared lib (no main) with special CFLAGS ****
86 dnl
87 dnl Usage: WINE_TRY_SHLIB_FLAGS(flags,[action-if-yes,[action-if-no]])
88 dnl
89 AC_DEFUN([WINE_TRY_SHLIB_FLAGS],
90 [ac_wine_try_cflags_saved=$CFLAGS
91 CFLAGS="$CFLAGS $1"
92 AC_LINK_IFELSE([void myfunc() {}],[$2],[$3])
93 CFLAGS=$ac_wine_try_cflags_saved])
94
95 dnl **** Check whether we need to define a symbol on the compiler command line ****
96 dnl
97 dnl Usage: WINE_CHECK_DEFINE(name),[action-if-yes,[action-if-no]])
98 dnl
99 AC_DEFUN([WINE_CHECK_DEFINE],
100 [AS_VAR_PUSHDEF([ac_var],[ac_cv_cpp_def_$1])dnl
101 AC_CACHE_CHECK([whether we need to define $1],ac_var,
102     AC_EGREP_CPP(yes,[#ifndef $1
103 yes
104 #endif],
105     [AS_VAR_SET(ac_var,yes)],[AS_VAR_SET(ac_var,no)]))
106 AS_IF([test AS_VAR_GET(ac_var) = yes],
107       [CFLAGS="$CFLAGS -D$1"
108   LINTFLAGS="$LINTFLAGS -D$1"])dnl
109 AS_VAR_POPDEF([ac_var])])
110
111 dnl **** Check for functions with some extra libraries ****
112 dnl
113 dnl Usage: WINE_CHECK_LIB_FUNCS(funcs,libs,[action-if-found,[action-if-not-found]])
114 dnl
115 AC_DEFUN([WINE_CHECK_LIB_FUNCS],
116 [ac_wine_check_funcs_save_LIBS="$LIBS"
117 LIBS="$LIBS $2"
118 AC_CHECK_FUNCS([$1],[$3],[$4])
119 LIBS="$ac_wine_check_funcs_save_LIBS"])
120
121 dnl **** Check for a mingw program, trying the various mingw prefixes ****
122 dnl
123 dnl Usage: WINE_CHECK_MINGW_PROG(variable,prog,[value-if-not-found],[path])
124 dnl
125 AC_DEFUN([WINE_CHECK_MINGW_PROG],
126 [case "$host_cpu" in
127   i[[3456789]]86*)
128     ac_prefix_list="m4_foreach([ac_wine_prefix],[pc-mingw32, mingw32msvc, mingw32],
129                         m4_foreach([ac_wine_cpu],[i686,i586,i486,i386],[ac_wine_cpu-ac_wine_prefix-$2 ]))" ;;
130   x86_64)
131     ac_prefix_list="m4_foreach([ac_wine_prefix],[pc-mingw32,w64-mingw32],[x86_64-ac_wine_prefix-$2 ])" ;;
132   *)
133     ac_prefix_list="" ;;
134 esac
135 AC_CHECK_PROGS([$1],[$ac_prefix_list],[$3],[$4])])
136
137
138 dnl **** Define helper functions for creating config.status files ****
139 dnl
140 dnl Usage: AC_REQUIRE([WINE_CONFIG_HELPERS])
141 dnl
142 AC_DEFUN([WINE_CONFIG_HELPERS],
143 [AC_SUBST(ALL_MAKEFILE_DEPENDS,["# Makefile dependencies
144 Makefile: Makefile.in Make.rules config.status"])
145 AC_SUBST(ALL_WINETEST_DEPENDS,["# Test binaries"])
146
147 AC_SUBST(ALL_MAKERULES,"")
148 AC_SUBST(ALL_SYMLINKS,"")
149 AC_SUBST(ALL_DIRS,"")
150 AC_SUBST(ALL_TOP_DIRS,"")
151 AC_SUBST(ALL_TEST_BINARIES,"")
152 AC_SUBST(ALL_PROGRAM_BIN_INSTALL_DIRS,"")
153
154 wine_fn_append_file ()
155 {
156     AS_VAR_APPEND($[1]," \\$as_nl       $[2]")
157 }
158
159 wine_fn_append_rule ()
160 {
161     AS_VAR_APPEND($[1],"$as_nl$[2]")
162 }
163
164 wine_fn_config_makefile ()
165 {
166     ac_dir=$[1]
167     ac_enable=$[2]
168     wine_fn_append_file ALL_DIRS $ac_dir
169     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
170 "$ac_dir/__clean__ $ac_dir/__install__ $ac_dir/__install-dev__ $ac_dir/__install-lib__ $ac_dir/__uninstall__ $ac_dir: $ac_dir/Makefile
171 $ac_dir/Makefile $ac_dir/__depend__: $ac_dir/Makefile.in config.status Make.rules \$(MAKEDEP)
172         @./config.status --file $ac_dir/Makefile && cd $ac_dir && \$(MAKE) depend"
173     AS_VAR_IF([$ac_enable],[no],,[case $ac_dir in
174                  */*) ;;
175                  *) wine_fn_append_file ALL_TOP_DIRS $ac_dir ;;
176                esac])
177 }
178
179 wine_fn_config_lib ()
180 {
181     ac_name=$[1]
182     ac_dir=dlls/$ac_name
183     wine_fn_append_file ALL_DIRS $ac_dir
184     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
185 "all __builddeps__: $ac_dir
186 __buildcrossdeps__: $ac_dir/lib$ac_name.cross.a
187 $ac_dir $ac_dir/lib$ac_name.cross.a: $ac_dir/Makefile tools/widl tools/winebuild tools/winegcc include
188 $ac_dir/lib$ac_name.cross.a: dummy
189         @cd $ac_dir && \$(MAKE) lib$ac_name.cross.a
190 $ac_dir/__clean__: $ac_dir/Makefile
191 $ac_dir/Makefile $ac_dir/__depend__: $ac_dir/Makefile.in config.status dlls/Makeimplib.rules \$(MAKEDEP)
192         @./config.status --file $ac_dir/Makefile && cd $ac_dir && \$(MAKE) depend
193 install install-dev:: $ac_dir
194         @cd $ac_dir && \$(MAKE) install
195 uninstall:: $ac_dir/Makefile
196         @cd $ac_dir && \$(MAKE) uninstall"
197 }
198
199 wine_fn_config_dll ()
200 {
201     ac_dir=$[1]
202     ac_enable=$[2]
203     ac_implib=$[3]
204     ac_implibsrc=$[4]
205     ac_file="dlls/$ac_dir/lib$ac_implib"
206     ac_deps="tools/widl tools/winebuild tools/winegcc include"
207
208     wine_fn_append_file ALL_DIRS dlls/$ac_dir
209     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
210 "dlls/$ac_dir/__clean__: dlls/$ac_dir/Makefile
211 dlls/$ac_dir/Makefile dlls/$ac_dir/__depend__: dlls/$ac_dir/Makefile.in config.status dlls/Makedll.rules \$(MAKEDEP)
212         @./config.status --file dlls/$ac_dir/Makefile && cd dlls/$ac_dir && \$(MAKE) depend"
213
214     AS_VAR_IF([$ac_enable],[no],
215               dnl enable_win16 is special in that it disables import libs too
216               [test "$ac_enable" != enable_win16 || return 0],
217               [wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
218 "all: dlls/$ac_dir
219 dlls/$ac_dir: dlls/$ac_dir/Makefile __builddeps__ 
220 install:: dlls/$ac_dir/Makefile __builddeps__ 
221         @cd dlls/$ac_dir && \$(MAKE) install
222 install-lib:: dlls/$ac_dir/Makefile __builddeps__ 
223         @cd dlls/$ac_dir && \$(MAKE) install-lib
224 uninstall manpages htmlpages sgmlpages xmlpages:: dlls/$ac_dir/Makefile
225         @cd dlls/$ac_dir && \$(MAKE) \$[@]"])
226
227     if test -n "$ac_implibsrc"
228     then
229         wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
230 "__builddeps__: $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT
231 __buildcrossdeps__: $ac_file.cross.a
232 $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: $ac_deps
233 $ac_file.def: dlls/$ac_dir/$ac_dir.spec dlls/$ac_dir/Makefile
234         @cd dlls/$ac_dir && \$(MAKE) \`basename \$[@]\`
235 $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: dlls/$ac_dir/Makefile dummy
236         @cd dlls/$ac_dir && \$(MAKE) \`basename \$[@]\`
237 install-dev:: dlls/$ac_dir/Makefile __builddeps__ 
238         @cd dlls/$ac_dir && \$(MAKE) install-dev"
239     elif test -n "$ac_implib"
240     then
241         wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
242 "__builddeps__: $ac_file.$IMPLIBEXT
243 __buildcrossdeps__: $ac_file.cross.a
244 $ac_file.$IMPLIBEXT $ac_file.cross.a: dlls/$ac_dir/$ac_dir.spec dlls/$ac_dir/Makefile $ac_deps
245         @cd dlls/$ac_dir && \$(MAKE) \`basename \$[@]\`
246 install-dev:: dlls/$ac_dir/Makefile __builddeps__ 
247         @cd dlls/$ac_dir && \$(MAKE) install-dev"
248
249         if test "$ac_dir" != "$ac_implib"
250         then
251             wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
252 "__builddeps__: dlls/lib$ac_implib.$IMPLIBEXT
253 __buildcrossdeps__: dlls/lib$ac_implib.cross.a
254 dlls/lib$ac_implib.$IMPLIBEXT: $ac_file.$IMPLIBEXT
255         \$(RM) \$[@] && \$(LN_S) $ac_dir/lib$ac_implib.$IMPLIBEXT \$[@]
256 dlls/lib$ac_implib.cross.a: $ac_file.cross.a
257         \$(RM) \$[@] && \$(LN_S) $ac_dir/lib$ac_implib.cross.a \$[@]
258 clean::
259         \$(RM) dlls/lib$ac_implib.$IMPLIBEXT"
260         fi
261     fi
262 }
263
264 wine_fn_config_program ()
265 {
266     ac_dir=$[1]
267     ac_enable=$[2]
268     ac_install=$[3]
269     wine_fn_append_file ALL_DIRS programs/$ac_dir
270     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
271 "programs/$ac_dir/__clean__: programs/$ac_dir/Makefile
272 programs/$ac_dir/Makefile programs/$ac_dir/__depend__: programs/$ac_dir/Makefile.in config.status programs/Makeprog.rules \$(MAKEDEP)
273         @./config.status --file programs/$ac_dir/Makefile && cd programs/$ac_dir && \$(MAKE) depend"
274
275     AS_VAR_IF([$ac_enable],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
276 "all: programs/$ac_dir
277 programs/$ac_dir: programs/$ac_dir/Makefile __builddeps__"
278     if test -n "$ac_install"
279     then
280         wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
281 "install install-lib:: programs/$ac_dir/Makefile __builddeps__
282         @cd programs/$ac_dir && \$(MAKE) install
283 uninstall:: programs/$ac_dir/Makefile
284         @cd programs/$ac_dir && \$(MAKE) uninstall"
285         test "$ac_install" != installbin || wine_fn_append_file ALL_PROGRAM_BIN_INSTALL_DIRS programs/$ac_dir
286     fi])
287 }
288
289 wine_fn_config_test ()
290 {
291     ac_dir=$[1]
292     ac_name=$[2]
293     wine_fn_append_file ALL_TEST_BINARIES $ac_name.exe
294     wine_fn_append_rule ALL_WINETEST_DEPENDS \
295 "$ac_name.exe: \$(TOPOBJDIR)/$ac_dir/$ac_name.exe$DLLEXT
296         cp \$(TOPOBJDIR)/$ac_dir/$ac_name.exe$DLLEXT \$[@] && \$(STRIP) \$[@]
297 $ac_name.rc:
298         echo \"$ac_name.exe TESTRES \\\"$ac_name.exe\\\"\" >\$[@] || (\$(RM) \$[@] && false)
299 $ac_name.res: $ac_name.rc $ac_name.exe"
300     wine_fn_append_file ALL_DIRS $ac_dir
301     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
302 "$ac_dir/__clean__: $ac_dir/Makefile
303 $ac_dir/Makefile $ac_dir/__depend__: $ac_dir/Makefile.in config.status Maketest.rules \$(MAKEDEP)
304         @./config.status --file $ac_dir/Makefile && cd $ac_dir && \$(MAKE) depend"
305
306     AS_VAR_IF([enable_tests],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
307 "all programs/winetest: $ac_dir
308 $ac_dir: $ac_dir/Makefile __builddeps__
309 crosstest:: $ac_dir/Makefile __buildcrossdeps__
310         @cd $ac_dir && \$(MAKE) crosstest
311 test::
312         @cd $ac_dir && \$(MAKE) test
313 testclean::
314         \$(RM) $ac_dir/*.ok"])
315 }
316
317 wine_fn_config_tool ()
318 {
319     ac_dir=$[1]
320     ac_deps="Make.rules"
321     if test "$ac_dir" != tools
322     then
323         dnl makedep is in tools so tools makefile cannot depend on it
324         ac_deps="$ac_deps \$(MAKEDEP)"
325     fi
326     wine_fn_append_file ALL_DIRS $ac_dir
327     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
328 "$ac_dir/__clean__: $ac_dir/Makefile
329 $ac_dir/Makefile $ac_dir/__depend__: $ac_dir/Makefile.in config.status $ac_deps
330         @./config.status --file $ac_dir/Makefile && cd $ac_dir && \$(MAKE) depend"
331
332     AS_VAR_IF([enable_tools],[no],,[case $ac_dir in
333       dnl tools directory has both install-lib and install-dev
334       tools) wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
335 "install:: $ac_dir
336         @cd $ac_dir && \$(MAKE) install
337 install-lib:: $ac_dir
338         @cd $ac_dir && \$(MAKE) install-lib
339 install-dev:: $ac_dir
340         @cd $ac_dir && \$(MAKE) install-dev" ;;
341       *)     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
342 "install install-dev:: $ac_dir
343         @cd $ac_dir && \$(MAKE) install" ;;
344       esac
345       wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
346 "uninstall:: $ac_dir/Makefile
347         @cd $ac_dir && \$(MAKE) uninstall
348 all __tooldeps__: $ac_dir
349 $ac_dir: $ac_dir/Makefile libs/port"])
350 }])
351
352 dnl **** Define helper function to append a file to a makefile file list ****
353 dnl
354 dnl Usage: WINE_APPEND_FILE(var,file)
355 dnl
356 AC_DEFUN([WINE_APPEND_FILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_file $1 "$2"])
357
358 dnl **** Define helper function to append a rule to a makefile command list ****
359 dnl
360 dnl Usage: WINE_APPEND_RULE(var,rule)
361 dnl
362 AC_DEFUN([WINE_APPEND_RULE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_rule $1 "$2"])
363
364 dnl **** Create nonexistent directories from config.status ****
365 dnl
366 dnl Usage: WINE_CONFIG_EXTRA_DIR(dirname)
367 dnl
368 AC_DEFUN([WINE_CONFIG_EXTRA_DIR],
369 [AC_CONFIG_COMMANDS([$1],[test -d "$1" || { AC_MSG_NOTICE([creating $1]); AS_MKDIR_P("$1"); }])])
370
371 dnl **** Create symlinks from config.status ****
372 dnl
373 dnl Usage: WINE_CONFIG_SYMLINK(name,target)
374 dnl
375 AC_DEFUN([WINE_CONFIG_SYMLINK],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
376 AC_CONFIG_LINKS([$1:]m4_default([$2],[$1]))dnl
377 m4_if([$2],,[test "$srcdir" = "." || ])WINE_APPEND_FILE(ALL_SYMLINKS,[$1])])
378
379 dnl **** Create a make rules file from config.status ****
380 dnl
381 dnl Usage: WINE_CONFIG_MAKERULES(file,var,deps)
382 dnl
383 AC_DEFUN([WINE_CONFIG_MAKERULES],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
384 WINE_APPEND_FILE(ALL_MAKERULES,[$1])
385 WINE_APPEND_RULE(ALL_MAKEFILE_DEPENDS,[$1: m4_ifval([$3],[$1.in $3],[$1.in]) config.status])
386 $2=$1
387 AC_SUBST_FILE([$2])dnl
388 AC_CONFIG_FILES([$1])])
389
390 dnl **** Create a makefile from config.status ****
391 dnl
392 dnl Usage: WINE_CONFIG_MAKEFILE(file,enable)
393 dnl
394 AC_DEFUN([WINE_CONFIG_MAKEFILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
395 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
396 wine_fn_config_makefile [$1] ac_enable[]dnl
397 AS_VAR_POPDEF([ac_enable])])
398
399 dnl **** Create a dll makefile from config.status ****
400 dnl
401 dnl Usage: WINE_CONFIG_DLL(name,enable,implib,implibsrc)
402 dnl
403 AC_DEFUN([WINE_CONFIG_DLL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
404 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
405 wine_fn_config_dll [$1] ac_enable [$3] m4_ifval([$4],["$4"])dnl
406 AS_VAR_POPDEF([ac_enable])])
407
408 dnl **** Create a program makefile from config.status ****
409 dnl
410 dnl Usage: WINE_CONFIG_PROGRAM(name,install,enable)
411 dnl
412 AC_DEFUN([WINE_CONFIG_PROGRAM],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
413 AS_VAR_PUSHDEF([ac_enable],m4_default([$3],[enable_]$1))dnl
414 wine_fn_config_program [$1] ac_enable [$2]dnl
415 AS_VAR_POPDEF([ac_enable])])
416
417 dnl **** Create a test makefile from config.status ****
418 dnl
419 dnl Usage: WINE_CONFIG_TEST(dir)
420 dnl
421 AC_DEFUN([WINE_CONFIG_TEST],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
422 m4_pushdef([ac_suffix],m4_if(m4_substr([$1],0,9),[programs/],[.exe_test],[_test]))dnl
423 m4_pushdef([ac_name],[m4_bpatsubst([$1],[.*/\(.*\)/tests$],[\1])])dnl
424 wine_fn_config_test $1 ac_name[]ac_suffix[]dnl
425 m4_popdef([ac_suffix])dnl
426 m4_popdef([ac_name])])
427
428 dnl **** Create a static lib makefile from config.status ****
429 dnl
430 dnl Usage: WINE_CONFIG_LIB(name)
431 dnl
432 AC_DEFUN([WINE_CONFIG_LIB],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
433 wine_fn_config_lib $1])
434
435 dnl **** Create a tool makefile from config.status ****
436 dnl
437 dnl Usage: WINE_CONFIG_TOOL(name)
438 dnl
439 AC_DEFUN([WINE_CONFIG_TOOL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
440 wine_fn_config_tool $1])
441
442 dnl **** Add a message to the list displayed at the end ****
443 dnl
444 dnl Usage: WINE_NOTICE(notice)
445 dnl Usage: WINE_NOTICE_WITH(with_flag, test, notice)
446 dnl Usage: WINE_WARNING(warning)
447 dnl Usage: WINE_WARNING_WITH(with_flag, test, warning)
448 dnl Usage: WINE_PRINT_MESSAGES
449 dnl
450 AC_DEFUN([WINE_NOTICE],[AS_VAR_APPEND([wine_notices],["|$1"])])
451 AC_DEFUN([WINE_WARNING],[AS_VAR_APPEND([wine_warnings],["|$1"])])
452
453 AC_DEFUN([WINE_NOTICE_WITH],[AS_IF([$2],[case "x$with_$1" in
454   x)   WINE_NOTICE([$3]) ;;
455   xno) ;;
456   *)   AC_MSG_ERROR([$3
457 This is an error since --with-$1 was requested.]) ;;
458 esac])])
459
460 AC_DEFUN([WINE_WARNING_WITH],[AS_IF([$2],[case "x$with_$1" in
461   x)   WINE_WARNING([$3]) ;;
462   xno) ;;
463   *)   AC_MSG_ERROR([$3
464 This is an error since --with-$1 was requested.]) ;;
465 esac])])
466
467 AC_DEFUN([WINE_ERROR_WITH],[AS_IF([$2],[case "x$with_$1" in
468   xno) ;;
469   *)   AC_MSG_ERROR([$3
470 Use the --without-$1 option if you really want this.]) ;;
471 esac])])
472
473 AC_DEFUN([WINE_PRINT_MESSAGES],[ac_save_IFS="$IFS"
474 if test "x$wine_notices != "x; then
475     echo >&AS_MESSAGE_FD
476     IFS="|"
477     for msg in $wine_notices; do
478         IFS="$ac_save_IFS"
479         if test -n "$msg"; then
480             AC_MSG_NOTICE([$msg])
481         fi
482     done
483 fi
484 IFS="|"
485 for msg in $wine_warnings; do
486     IFS="$ac_save_IFS"
487     if test -n "$msg"; then
488         echo >&2
489         AC_MSG_WARN([$msg])
490     fi
491 done
492 IFS="$ac_save_IFS"])
493
494 dnl Local Variables:
495 dnl compile-command: "autoreconf --warnings=all"
496 dnl End: