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