msi/tests: Skip some source tests if a required product key cannot be created.
[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 [ALL_MAKEFILE_DEPENDS="
144 # Rules automatically generated by configure
145
146 .INIT: Makefile
147 .MAKEFILEDEPS:
148 all: Makefile
149 Makefile: Makefile.in Make.rules config.status
150         @./config.status Make.tmp Makefile"
151
152 AC_SUBST(ALL_WINETEST_DEPENDS,["# Test binaries"])
153 AC_SUBST(ALL_TEST_BINARIES,"")
154
155 wine_fn_append_file ()
156 {
157     AS_VAR_APPEND($[1]," \\$as_nl       $[2]")
158 }
159
160 wine_fn_append_rule ()
161 {
162     AS_VAR_APPEND($[1],"$as_nl$[2]")
163 }
164
165 wine_fn_all_dir_rules ()
166 {
167     wine_fn_append_file ALL_DIRS $[1]
168     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
169 "__clean__: $[1]/__clean__
170 .PHONY: $[1]/__clean__
171 $[1]/__clean__: $[1]/Makefile
172         @cd $[1] && \$(MAKE) clean
173         \$(RM) $[1]/Makefile
174 $[1]/Makefile: $[1]/Makefile.in config.status $[2]
175         @./config.status --file $[1]/Makefile && cd $[1] && \$(MAKE) depend
176 depend: $[1]/__depend__
177 .PHONY: $[1]/__depend__
178 $[1]/__depend__: \$(MAKEDEP) dummy
179         @./config.status --file $[1]/Makefile && cd $[1] && \$(MAKE) depend"
180 }
181
182 wine_fn_config_makefile ()
183 {
184     ac_dir=$[1]
185     ac_enable=$[2]
186     AS_VAR_IF([$ac_enable],[no],[return 0])
187
188     wine_fn_all_dir_rules $ac_dir "Make.rules \$(MAKEDEP)"
189     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
190 "all: $ac_dir
191 .PHONY: $ac_dir
192 $ac_dir: $ac_dir/Makefile dummy
193         @cd $ac_dir && \$(MAKE)
194 install:: $ac_dir
195         @cd $ac_dir && \$(MAKE) install
196 install-lib:: $ac_dir
197         @cd $ac_dir && \$(MAKE) install-lib
198 install-dev:: $ac_dir
199         @cd $ac_dir && \$(MAKE) install-dev
200 uninstall:: $ac_dir/Makefile
201         @cd $ac_dir && \$(MAKE) uninstall"
202 }
203
204 wine_fn_config_lib ()
205 {
206     ac_name=$[1]
207     ac_dir=dlls/$ac_name
208     wine_fn_all_dir_rules $ac_dir "dlls/Makeimplib.rules \$(MAKEDEP)"
209     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
210 "all __builddeps__: $ac_dir
211 __buildcrossdeps__: $ac_dir/lib$ac_name.cross.a
212 $ac_dir $ac_dir/lib$ac_name.cross.a: $ac_dir/Makefile tools/widl tools/winebuild tools/winegcc include
213 $ac_dir: dummy
214         @cd $ac_dir && \$(MAKE)
215 $ac_dir/lib$ac_name.cross.a: dummy
216         @cd $ac_dir && \$(MAKE) lib$ac_name.cross.a
217 install install-dev:: $ac_dir
218         @cd $ac_dir && \$(MAKE) install
219 uninstall:: $ac_dir/Makefile
220         @cd $ac_dir && \$(MAKE) uninstall"
221 }
222
223 wine_fn_config_dll ()
224 {
225     ac_dir=$[1]
226     ac_enable=$[2]
227     ac_implib=$[3]
228     ac_implibsrc=$[4]
229     ac_file="dlls/$ac_dir/lib$ac_implib"
230     ac_deps="tools/widl tools/winebuild tools/winegcc include"
231
232     wine_fn_all_dir_rules dlls/$ac_dir "dlls/Makedll.rules \$(MAKEDEP)"
233
234     AS_VAR_IF([$ac_enable],[no],
235               dnl enable_win16 is special in that it disables import libs too
236               [test "$ac_enable" != enable_win16 || return 0],
237               [wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
238 "all: dlls/$ac_dir
239 .PHONY: dlls/$ac_dir
240 dlls/$ac_dir: dlls/$ac_dir/Makefile __builddeps__ dummy
241         @cd dlls/$ac_dir && \$(MAKE)
242 install:: dlls/$ac_dir/Makefile __builddeps__ 
243         @cd dlls/$ac_dir && \$(MAKE) install
244 install-lib:: dlls/$ac_dir/Makefile __builddeps__ 
245         @cd dlls/$ac_dir && \$(MAKE) install-lib
246 uninstall manpages htmlpages sgmlpages xmlpages:: dlls/$ac_dir/Makefile
247         @cd dlls/$ac_dir && \$(MAKE) \$[@]"])
248
249     if test -n "$ac_implibsrc"
250     then
251         wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
252 "__builddeps__: $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT
253 __buildcrossdeps__: $ac_file.cross.a
254 $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: $ac_deps
255 $ac_file.def: dlls/$ac_dir/$ac_dir.spec dlls/$ac_dir/Makefile
256         @cd dlls/$ac_dir && \$(MAKE) \`basename \$[@]\`
257 $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: dlls/$ac_dir/Makefile dummy
258         @cd dlls/$ac_dir && \$(MAKE) \`basename \$[@]\`
259 install-dev:: dlls/$ac_dir/Makefile __builddeps__ 
260         @cd dlls/$ac_dir && \$(MAKE) install-dev"
261     elif test -n "$ac_implib"
262     then
263         wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
264 "__builddeps__: $ac_file.$IMPLIBEXT
265 __buildcrossdeps__: $ac_file.cross.a
266 $ac_file.$IMPLIBEXT $ac_file.cross.a: dlls/$ac_dir/$ac_dir.spec dlls/$ac_dir/Makefile $ac_deps
267         @cd dlls/$ac_dir && \$(MAKE) \`basename \$[@]\`
268 install-dev:: dlls/$ac_dir/Makefile __builddeps__ 
269         @cd dlls/$ac_dir && \$(MAKE) install-dev"
270
271         if test "$ac_dir" != "$ac_implib"
272         then
273             wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
274 "__builddeps__: dlls/lib$ac_implib.$IMPLIBEXT
275 __buildcrossdeps__: dlls/lib$ac_implib.cross.a
276 dlls/lib$ac_implib.$IMPLIBEXT: $ac_file.$IMPLIBEXT
277         \$(RM) \$[@] && \$(LN_S) $ac_dir/lib$ac_implib.$IMPLIBEXT \$[@]
278 dlls/lib$ac_implib.cross.a: $ac_file.cross.a
279         \$(RM) \$[@] && \$(LN_S) $ac_dir/lib$ac_implib.cross.a \$[@]
280 clean::
281         \$(RM) dlls/lib$ac_implib.$IMPLIBEXT"
282         fi
283     fi
284 }
285
286 wine_fn_config_program ()
287 {
288     ac_dir=$[1]
289     ac_enable=$[2]
290     ac_install=$[3]
291     wine_fn_all_dir_rules programs/$ac_dir "programs/Makeprog.rules \$(MAKEDEP)"
292
293     AS_VAR_IF([$ac_enable],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
294 "all: programs/$ac_dir
295 .PHONY: programs/$ac_dir
296 programs/$ac_dir: programs/$ac_dir/Makefile __builddeps__ dummy
297         @cd programs/$ac_dir && \$(MAKE)"
298
299     test -n "$ac_install" || return
300     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
301 "install install-lib:: programs/$ac_dir/Makefile __builddeps__
302         @cd programs/$ac_dir && \$(MAKE) install
303 uninstall:: programs/$ac_dir/Makefile
304         @cd programs/$ac_dir && \$(MAKE) uninstall"
305     if test "$ac_install" = installbin -a -n "$DLLEXT" -a "x$enable_tools" != xno
306     then
307         wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
308 "install install-lib:: tools \$(DESTDIR)\$(bindir)
309         \$(INSTALL_SCRIPT) tools/wineapploader \$(DESTDIR)\$(bindir)/$ac_dir
310 uninstall::
311         \$(RM) \$(DESTDIR)\$(bindir)/$ac_dir"
312     fi])
313 }
314
315 wine_fn_config_test ()
316 {
317     ac_dir=$[1]
318     ac_name=$[2]
319     wine_fn_append_file ALL_TEST_BINARIES $ac_name.exe
320     wine_fn_append_rule ALL_WINETEST_DEPENDS \
321 "$ac_name.exe: \$(TOPOBJDIR)/$ac_dir/$ac_name.exe$DLLEXT
322         cp \$(TOPOBJDIR)/$ac_dir/$ac_name.exe$DLLEXT \$[@] && \$(STRIP) \$[@]
323 $ac_name.rc:
324         echo \"$ac_name.exe TESTRES \\\"$ac_name.exe\\\"\" >\$[@] || (\$(RM) \$[@] && false)
325 $ac_name.res: $ac_name.rc $ac_name.exe"
326     wine_fn_all_dir_rules $ac_dir "Maketest.rules \$(MAKEDEP)"
327
328     AS_VAR_IF([enable_tests],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
329 "all programs/winetest: $ac_dir
330 .PHONY: $ac_dir
331 $ac_dir: $ac_dir/Makefile __builddeps__ dummy
332         @cd $ac_dir && \$(MAKE)
333 crosstest: $ac_dir/__crosstest__
334 .PHONY: $ac_dir/__crosstest__
335 $ac_dir/__crosstest__: $ac_dir/Makefile __buildcrossdeps__ dummy
336         @cd $ac_dir && \$(MAKE) crosstest
337 test: $ac_dir/__test__
338 .PHONY: $ac_dir/__test__
339 $ac_dir/__test__: dummy
340         @cd $ac_dir && \$(MAKE) test
341 testclean::
342         \$(RM) $ac_dir/*.ok"])
343 }
344
345 wine_fn_config_tool ()
346 {
347     ac_dir=$[1]
348     ac_deps="Make.rules"
349     if test "$ac_dir" != tools
350     then
351         dnl makedep is in tools so tools makefile cannot depend on it
352         ac_deps="$ac_deps \$(MAKEDEP)"
353     fi
354     wine_fn_all_dir_rules $ac_dir "$ac_deps"
355
356     AS_VAR_IF([enable_tools],[no],,[case $ac_dir in
357       dnl tools directory has both install-lib and install-dev
358       tools) wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
359 "install:: $ac_dir
360         @cd $ac_dir && \$(MAKE) install
361 install-lib:: $ac_dir
362         @cd $ac_dir && \$(MAKE) install-lib
363 install-dev:: $ac_dir
364         @cd $ac_dir && \$(MAKE) install-dev" ;;
365       *)     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
366 "install install-dev:: $ac_dir
367         @cd $ac_dir && \$(MAKE) install" ;;
368       esac
369       wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
370 "uninstall:: $ac_dir/Makefile
371         @cd $ac_dir && \$(MAKE) uninstall
372 all __tooldeps__: $ac_dir
373 .PHONY: $ac_dir
374 $ac_dir: $ac_dir/Makefile libs/port dummy
375         @cd $ac_dir && \$(MAKE)"])
376 }
377
378 wine_fn_config_makerules ()
379 {
380     ac_rules=$[1]
381     ac_deps=$[2]
382     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
383 "$ac_rules: $ac_rules.in $ac_deps config.status
384         @./config.status $ac_rules
385 distclean::
386         \$(RM) $ac_rules"
387 }
388
389 wine_fn_config_symlink ()
390 {
391     ac_link=$[1]
392     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
393 "$ac_link:
394         @./config.status $ac_link
395 distclean::
396         \$(RM) $ac_link"
397 }])
398
399 dnl **** Define helper function to append a file to a makefile file list ****
400 dnl
401 dnl Usage: WINE_APPEND_FILE(var,file)
402 dnl
403 AC_DEFUN([WINE_APPEND_FILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_file $1 "$2"])
404
405 dnl **** Define helper function to append a rule to a makefile command list ****
406 dnl
407 dnl Usage: WINE_APPEND_RULE(var,rule)
408 dnl
409 AC_DEFUN([WINE_APPEND_RULE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_rule $1 "$2"])
410
411 dnl **** Create nonexistent directories from config.status ****
412 dnl
413 dnl Usage: WINE_CONFIG_EXTRA_DIR(dirname)
414 dnl
415 AC_DEFUN([WINE_CONFIG_EXTRA_DIR],
416 [AC_CONFIG_COMMANDS([$1],[test -d "$1" || { AC_MSG_NOTICE([creating $1]); AS_MKDIR_P("$1"); }])])
417
418 dnl **** Create symlinks from config.status ****
419 dnl
420 dnl Usage: WINE_CONFIG_SYMLINK(name,target,enable)
421 dnl
422 AC_DEFUN([WINE_CONFIG_SYMLINK],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
423 m4_ifval([$3],[if test "x$[$3]" != xno; then
424 ])AC_CONFIG_LINKS([$1:]m4_default([$2],[$1]))dnl
425 m4_if([$2],,[test "$srcdir" = "." || ])wine_fn_config_symlink $1[]m4_ifval([$3],[
426 fi])])
427
428 dnl **** Create a make rules file from config.status ****
429 dnl
430 dnl Usage: WINE_CONFIG_MAKERULES(file,var,deps)
431 dnl
432 AC_DEFUN([WINE_CONFIG_MAKERULES],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
433 wine_fn_config_makerules $1 $3
434 $2=$1
435 AC_SUBST_FILE([$2])dnl
436 AC_CONFIG_FILES([$1])])
437
438 dnl **** Create a makefile from config.status ****
439 dnl
440 dnl Usage: WINE_CONFIG_MAKEFILE(file,enable)
441 dnl
442 AC_DEFUN([WINE_CONFIG_MAKEFILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
443 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
444 wine_fn_config_makefile [$1] ac_enable[]dnl
445 AS_VAR_POPDEF([ac_enable])])
446
447 dnl **** Create a dll makefile from config.status ****
448 dnl
449 dnl Usage: WINE_CONFIG_DLL(name,enable,implib,implibsrc)
450 dnl
451 AC_DEFUN([WINE_CONFIG_DLL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
452 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
453 wine_fn_config_dll [$1] ac_enable [$3] m4_ifval([$4],["$4"])dnl
454 AS_VAR_POPDEF([ac_enable])])
455
456 dnl **** Create a program makefile from config.status ****
457 dnl
458 dnl Usage: WINE_CONFIG_PROGRAM(name,install,enable)
459 dnl
460 AC_DEFUN([WINE_CONFIG_PROGRAM],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
461 AS_VAR_PUSHDEF([ac_enable],m4_default([$3],[enable_]$1))dnl
462 wine_fn_config_program [$1] ac_enable [$2]dnl
463 AS_VAR_POPDEF([ac_enable])])
464
465 dnl **** Create a test makefile from config.status ****
466 dnl
467 dnl Usage: WINE_CONFIG_TEST(dir)
468 dnl
469 AC_DEFUN([WINE_CONFIG_TEST],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
470 m4_pushdef([ac_suffix],m4_if(m4_substr([$1],0,9),[programs/],[.exe_test],[_test]))dnl
471 m4_pushdef([ac_name],[m4_bpatsubst([$1],[.*/\(.*\)/tests$],[\1])])dnl
472 wine_fn_config_test $1 ac_name[]ac_suffix[]dnl
473 m4_popdef([ac_suffix])dnl
474 m4_popdef([ac_name])])
475
476 dnl **** Create a static lib makefile from config.status ****
477 dnl
478 dnl Usage: WINE_CONFIG_LIB(name)
479 dnl
480 AC_DEFUN([WINE_CONFIG_LIB],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
481 wine_fn_config_lib $1])
482
483 dnl **** Create a tool makefile from config.status ****
484 dnl
485 dnl Usage: WINE_CONFIG_TOOL(name)
486 dnl
487 AC_DEFUN([WINE_CONFIG_TOOL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
488 wine_fn_config_tool $1])
489
490 dnl **** Add a message to the list displayed at the end ****
491 dnl
492 dnl Usage: WINE_NOTICE(notice)
493 dnl Usage: WINE_NOTICE_WITH(with_flag, test, notice)
494 dnl Usage: WINE_WARNING(warning)
495 dnl Usage: WINE_WARNING_WITH(with_flag, test, warning)
496 dnl Usage: WINE_PRINT_MESSAGES
497 dnl
498 AC_DEFUN([WINE_NOTICE],[AS_VAR_APPEND([wine_notices],["|$1"])])
499 AC_DEFUN([WINE_WARNING],[AS_VAR_APPEND([wine_warnings],["|$1"])])
500
501 AC_DEFUN([WINE_NOTICE_WITH],[AS_IF([$2],[case "x$with_$1" in
502   x)   WINE_NOTICE([$3]) ;;
503   xno) ;;
504   *)   AC_MSG_ERROR([$3
505 This is an error since --with-$1 was requested.]) ;;
506 esac])])
507
508 AC_DEFUN([WINE_WARNING_WITH],[AS_IF([$2],[case "x$with_$1" in
509   x)   WINE_WARNING([$3]) ;;
510   xno) ;;
511   *)   AC_MSG_ERROR([$3
512 This is an error since --with-$1 was requested.]) ;;
513 esac])])
514
515 AC_DEFUN([WINE_ERROR_WITH],[AS_IF([$2],[case "x$with_$1" in
516   xno) ;;
517   *)   AC_MSG_ERROR([$3
518 Use the --without-$1 option if you really want this.]) ;;
519 esac])])
520
521 AC_DEFUN([WINE_PRINT_MESSAGES],[ac_save_IFS="$IFS"
522 if test "x$wine_notices != "x; then
523     echo >&AS_MESSAGE_FD
524     IFS="|"
525     for msg in $wine_notices; do
526         IFS="$ac_save_IFS"
527         if test -n "$msg"; then
528             AC_MSG_NOTICE([$msg])
529         fi
530     done
531 fi
532 IFS="|"
533 for msg in $wine_warnings; do
534     IFS="$ac_save_IFS"
535     if test -n "$msg"; then
536         echo >&2
537         AC_MSG_WARN([$msg])
538     fi
539 done
540 IFS="$ac_save_IFS"])
541
542 dnl Local Variables:
543 dnl compile-command: "autoreconf --warnings=all"
544 dnl End: