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