1 dnl Macros used to build the Wine configure script
3 dnl Copyright 2002 Alexandre Julliard
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.
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.
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
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
25 dnl **** Get the ldd program name; used by WINE_GET_SONAME ****
27 dnl Usage: WINE_PATH_LDD
29 AC_DEFUN([WINE_PATH_LDD],[AC_PATH_PROG(LDD,ldd,true,/sbin:/usr/sbin:$PATH)])
31 dnl **** Extract the soname of a library ****
33 dnl Usage: WINE_CHECK_SONAME(library, function, [action-if-found, [action-if-not-found, [other_libraries, [pattern]]]])
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])
41 [ac_check_soname_save_LIBS=$LIBS
43 AC_LINK_IFELSE([AC_LANG_CALL([], [$2])],
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'`]) ;;
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])
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.])
57 m4_popdef([ac_lib_pattern])dnl
58 AS_VAR_POPDEF([ac_Lib])])
60 dnl **** Link C code with an assembly file ****
62 dnl Usage: WINE_TRY_ASM_LINK(asm-code,includes,function,[action-if-found,[action-if-not-found]])
64 AC_DEFUN([WINE_TRY_ASM_LINK],
65 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[$2]],[[asm($1); $3]])],[$4],[$5])])
67 dnl **** Check if we can link an empty program with special CFLAGS ****
69 dnl Usage: WINE_TRY_CFLAGS(flags,[action-if-yes,[action-if-no]])
71 dnl The default action-if-yes is to append the flags to EXTRACFLAGS.
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
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])])
85 dnl **** Check if we can link an empty shared lib (no main) with special CFLAGS ****
87 dnl Usage: WINE_TRY_SHLIB_FLAGS(flags,[action-if-yes,[action-if-no]])
89 AC_DEFUN([WINE_TRY_SHLIB_FLAGS],
90 [ac_wine_try_cflags_saved=$CFLAGS
92 AC_LINK_IFELSE([AC_LANG_SOURCE([void myfunc() {}])],[$2],[$3])
93 CFLAGS=$ac_wine_try_cflags_saved])
95 dnl **** Check whether we need to define a symbol on the compiler command line ****
97 dnl Usage: WINE_CHECK_DEFINE(name),[action-if-yes,[action-if-no]])
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
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])])
111 dnl **** Check for functions with some extra libraries ****
113 dnl Usage: WINE_CHECK_LIB_FUNCS(funcs,libs,[action-if-found,[action-if-not-found]])
115 AC_DEFUN([WINE_CHECK_LIB_FUNCS],
116 [ac_wine_check_funcs_save_LIBS="$LIBS"
118 AC_CHECK_FUNCS([$1],[$3],[$4])
119 LIBS="$ac_wine_check_funcs_save_LIBS"])
121 dnl **** Check for a mingw program, trying the various mingw prefixes ****
123 dnl Usage: WINE_CHECK_MINGW_PROG(variable,prog,[value-if-not-found],[path])
125 AC_DEFUN([WINE_CHECK_MINGW_PROG],
128 ac_prefix_list="m4_foreach([ac_wine_prefix],[w64-mingw32, pc-mingw32, mingw32msvc, mingw32],
129 m4_foreach([ac_wine_cpu],[i686,i586,i486,i386],[ac_wine_cpu-ac_wine_prefix-$2 ]))
132 ac_prefix_list="m4_foreach([ac_wine_prefix],[pc-mingw32, w64-mingw32, mingw32msvc],
133 m4_foreach([ac_wine_cpu],[x86_64,amd64],[ac_wine_cpu-ac_wine_prefix-$2 ]))" ;;
137 AC_CHECK_PROGS([$1],[$ac_prefix_list],[$3],[$4])])
140 dnl **** Define helper functions for creating config.status files ****
142 dnl Usage: AC_REQUIRE([WINE_CONFIG_HELPERS])
144 AC_DEFUN([WINE_CONFIG_HELPERS],
145 [ALL_MAKEFILE_DEPENDS="
146 # Rules automatically generated by configure
151 Makefile: Makefile.in Make.vars.in Make.rules config.status
152 @./config.status Make.tmp Makefile"
155 AC_SUBST(ALL_TEST_RESOURCES,"")
157 wine_fn_append_file ()
159 AS_VAR_APPEND($[1]," \\$as_nl $[2]")
162 wine_fn_append_rule ()
164 AS_VAR_APPEND($[1],"$as_nl$[2]")
169 expr ",$[2]," : ".*,$[1],.*" >/dev/null
172 wine_fn_all_dir_rules ()
176 ac_makedep="\$(MAKEDEP)"
177 ac_input=Make.vars.in:$ac_dir/Makefile.in
178 if test $ac_dir != tools
180 dnl makedep is in tools so tools makefile cannot depend on it
181 ac_alldeps="$[2] $ac_makedep"
183 ac_alldeps="$[2] include/config.h"
186 *.in) ac_input=$ac_input:$[2] ;;
187 *) ac_makedep="$[2] $ac_makedep" ;;
190 wine_fn_append_file ALL_DIRS $ac_dir
191 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
192 "__clean__: $ac_dir/__clean__
193 .PHONY: $ac_dir/__clean__
194 $ac_dir/__clean__: $ac_dir/Makefile
195 @cd $ac_dir && \$(MAKE) clean
196 \$(RM) $ac_dir/Makefile
197 $ac_dir/Makefile: $ac_dir/Makefile.in Make.vars.in config.status $ac_alldeps
198 @./config.status --file $ac_dir/Makefile:$ac_input && cd $ac_dir && \$(MAKE) depend
199 depend: $ac_dir/__depend__
200 .PHONY: $ac_dir/__depend__
201 $ac_dir/__depend__: $ac_makedep dummy
202 @./config.status --file $ac_dir/Makefile:$ac_input && cd $ac_dir && \$(MAKE) depend"
210 test "x$with_gettextpo" = xyes || return
212 if wine_fn_has_flag mc $ac_flags
214 wine_fn_append_file ALL_POT_FILES $ac_dir/msg.pot
215 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
216 "$ac_dir/msg.pot: $ac_dir/Makefile dummy
217 @cd $ac_dir && \$(MAKE) msg.pot
218 $ac_dir/msg.pot: tools/wmc include"
220 if wine_fn_has_flag po $ac_flags
222 wine_fn_append_file ALL_POT_FILES $ac_dir/rsrc.pot
223 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
224 "$ac_dir/rsrc.pot: $ac_dir/Makefile dummy
225 @cd $ac_dir && \$(MAKE) rsrc.pot
226 $ac_dir/rsrc.pot: tools/wrc include"
230 wine_fn_config_makefile ()
236 AS_VAR_IF([$ac_enable],[no],[return 0])
238 wine_fn_all_dir_rules $ac_dir ${ac_rules:-Make.rules}
239 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
242 $ac_dir: $ac_dir/Makefile dummy
243 @cd $ac_dir && \$(MAKE)"
245 wine_fn_has_flag install-lib $ac_flags || wine_fn_has_flag install-dev $ac_flags || return
247 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
248 ".PHONY: $ac_dir/__install__ $ac_dir/__uninstall__
249 $ac_dir/__install__:: $ac_dir
250 @cd $ac_dir && \$(MAKE) install
251 $ac_dir/__uninstall__:: $ac_dir/Makefile
252 @cd $ac_dir && \$(MAKE) uninstall
253 install:: $ac_dir/__install__
254 __uninstall__: $ac_dir/__uninstall__"
256 if wine_fn_has_flag install-lib $ac_flags
258 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
259 ".PHONY: $ac_dir/__install-lib__
260 $ac_dir/__install-lib__:: $ac_dir
261 @cd $ac_dir && \$(MAKE) install-lib
262 install-lib:: $ac_dir/__install-lib__"
265 if wine_fn_has_flag install-dev $ac_flags
267 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
268 ".PHONY: $ac_dir/__install-dev
269 $ac_dir/__install-dev__:: $ac_dir
270 @cd $ac_dir && \$(MAKE) install-dev
271 install-dev:: $ac_dir/__install-dev__"
275 wine_fn_config_lib ()
280 wine_fn_config_makefile $ac_dir enable_$ac_name "$ac_flags" dlls/Makeimplib.rules
282 if wine_fn_has_flag install-dev $ac_flags
285 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
286 ".PHONY: $ac_dir/__install__ $ac_dir/__uninstall__
287 $ac_dir/__install__:: $ac_dir \$(DESTDIR)\$(dlldir)
288 \$(INSTALL_DATA) $ac_dir/lib$ac_name.a \$(DESTDIR)\$(dlldir)/lib$ac_name.a
289 $ac_dir/__uninstall__::
290 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_name.a
291 install install-dev:: $ac_dir/__install__
292 __uninstall__: $ac_dir/__uninstall__"
295 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "__builddeps__: $ac_dir"
296 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "$ac_dir: tools/widl tools/winebuild tools/winegcc include"
299 wine_fn_config_dll ()
305 ac_implib=${4:-$ac_name}
306 ac_file=$ac_dir/lib$ac_implib
308 ac_deps="tools/widl tools/winebuild tools/winegcc include"
312 *16) ac_implibflags=" -m16" ;;
314 *) ac_dll=$ac_dll.dll ;;
317 wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" dlls/Makedll.rules
319 AS_VAR_IF([$ac_enable],[no],
320 dnl enable_win16 is special in that it disables import libs too
321 [test "$ac_enable" != enable_win16 || return 0
322 wine_fn_has_flag implib $ac_flags && wine_fn_all_dir_rules $ac_dir dlls/Makedll.rules],
324 [wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
325 "$ac_dir: __builddeps__
326 manpages htmlpages sgmlpages xmlpages:: $ac_dir/Makefile
327 @cd $ac_dir && \$(MAKE) \$[@]"
329 if wine_fn_has_flag install-lib $ac_flags
332 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
333 ".PHONY: $ac_dir/__install-lib__ $ac_dir/__uninstall__
334 install install-lib:: $ac_dir/__install-lib__
335 __uninstall__: $ac_dir/__uninstall__"
338 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
339 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir) \$(DESTDIR)\$(fakedlldir)
340 \$(INSTALL_PROGRAM) $ac_dir/$ac_dll$DLLEXT \$(DESTDIR)\$(dlldir)/$ac_dll$DLLEXT
341 \$(INSTALL_DATA) $ac_dir/$ac_dll.fake \$(DESTDIR)\$(fakedlldir)/$ac_dll
342 $ac_dir/__uninstall__::
343 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_dll$DLLEXT \$(DESTDIR)\$(fakedlldir)/$ac_dll"
345 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
346 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir)
347 \$(INSTALL_PROGRAM) $ac_dir/$ac_dll \$(DESTDIR)\$(dlldir)/$ac_dll
348 $ac_dir/__uninstall__::
349 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_dll"
353 wine_fn_pot_rules $ac_dir $ac_flags])
355 if wine_fn_has_flag staticimplib $ac_flags
357 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
358 "__builddeps__: $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT
359 $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: $ac_deps
360 $ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile
361 @cd $ac_dir && \$(MAKE) lib$ac_implib.def
362 $ac_file.$STATIC_IMPLIBEXT: $ac_dir/Makefile dummy
363 @cd $ac_dir && \$(MAKE) lib$ac_implib.$STATIC_IMPLIBEXT
364 .PHONY: $ac_dir/__install-dev__ $ac_dir/__uninstall__
365 $ac_dir/__install-dev__:: $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)
366 \$(INSTALL_DATA) $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
367 $ac_dir/__uninstall__::
368 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
369 install install-dev:: $ac_dir/__install-dev__
370 __uninstall__: $ac_dir/__uninstall__"
372 if test "$IMPLIBEXT" != "$STATIC_IMPLIBEXT"
374 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
375 "$ac_dir/__install-dev__:: $ac_file.$STATIC_IMPLIBEXT \$(DESTDIR)\$(dlldir) __builddeps__
376 \$(INSTALL_DATA) $ac_file.$STATIC_IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$STATIC_IMPLIBEXT
377 $ac_dir/__uninstall__::
378 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$STATIC_IMPLIBEXT"
381 if test "x$CROSSTEST_DISABLE" = x
383 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
384 "__builddeps__: $ac_file.cross.a
385 $ac_file.cross.a: $ac_dir/Makefile dummy
386 @cd $ac_dir && \$(MAKE) lib$ac_implib.cross.a"
389 elif wine_fn_has_flag implib $ac_flags
391 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
392 "__builddeps__: $ac_file.$IMPLIBEXT
393 $ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
394 \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec
395 $ac_file.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
396 \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --implib -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec
397 .PHONY: $ac_dir/__install-dev__ $ac_dir/__uninstall__
398 $ac_dir/__install-dev__:: $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)
399 \$(INSTALL_DATA) $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
400 $ac_dir/__uninstall__::
401 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
402 install install-dev:: $ac_dir/__install-dev__
403 __uninstall__: $ac_dir/__uninstall__"
404 if test "x$CROSSTEST_DISABLE" = x
406 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
407 "__builddeps__: $ac_file.cross.a
408 $ac_file.cross.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
409 \$(WINEBUILD) \$(CROSSTARGET:%=-b %)$ac_implibflags -w --implib -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec"
412 if test "$ac_name" != "$ac_implib"
414 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
415 "__builddeps__: dlls/lib$ac_implib.$IMPLIBEXT
416 dlls/lib$ac_implib.$IMPLIBEXT: $ac_file.$IMPLIBEXT
417 \$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.$IMPLIBEXT \$[@]
419 \$(RM) dlls/lib$ac_implib.$IMPLIBEXT"
420 if test "x$CROSSTEST_DISABLE" = x
422 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
423 "__builddeps__: dlls/lib$ac_implib.cross.a
424 dlls/lib$ac_implib.cross.a: $ac_file.cross.a
425 \$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.cross.a \$[@]"
431 wine_fn_config_program ()
434 ac_dir=programs/$ac_name
441 *) ac_program=$ac_program.exe ;;
444 wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" programs/Makeprog.rules
446 AS_VAR_IF([$ac_enable],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
447 "$ac_dir: __builddeps__"
449 wine_fn_pot_rules $ac_dir $ac_flags
451 wine_fn_has_flag install $ac_flags || return
452 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
453 ".PHONY: $ac_dir/__install__ $ac_dir/__uninstall__
454 install install-lib:: $ac_dir/__install__
455 __uninstall__: $ac_dir/__uninstall__"
459 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
460 "$ac_dir/__install__:: $ac_dir \$(DESTDIR)\$(dlldir) \$(DESTDIR)\$(fakedlldir)
461 \$(INSTALL_PROGRAM) $ac_dir/$ac_program$DLLEXT \$(DESTDIR)\$(dlldir)/$ac_program$DLLEXT
462 \$(INSTALL_DATA) $ac_dir/$ac_program.fake \$(DESTDIR)\$(fakedlldir)/$ac_program
463 $ac_dir/__uninstall__::
464 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_program$DLLEXT \$(DESTDIR)\$(fakedlldir)/$ac_program"
466 if test "x$enable_tools" != xno && wine_fn_has_flag installbin $ac_flags
468 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
469 "$ac_dir/__install__:: tools \$(DESTDIR)\$(bindir)
470 \$(INSTALL_SCRIPT) tools/wineapploader \$(DESTDIR)\$(bindir)/$ac_name
471 $ac_dir/__uninstall__::
472 \$(RM) \$(DESTDIR)\$(bindir)/$ac_name"
475 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
476 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir)
477 \$(INSTALL_PROGRAM) $ac_dir/$ac_program \$(DESTDIR)\$(dlldir)/$ac_program
478 $ac_dir/__uninstall__::
479 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_program"
482 if test "x$enable_tools" != xno && wine_fn_has_flag manpage $ac_flags
484 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
485 "$ac_dir/__install__:: $ac_dir \$(DESTDIR)\$(mandir)/man\$(prog_manext)
486 \$(INSTALL_DATA) $ac_dir/$ac_name.man \$(DESTDIR)\$(mandir)/man\$(prog_manext)/$ac_name.\$(prog_manext)
487 $ac_dir/__uninstall__::
488 \$(RM) \$(DESTDIR)\$(mandir)/man\$(prog_manext)/$ac_name.\$(prog_manext)"
492 wine_fn_config_test ()
497 wine_fn_append_file ALL_TEST_RESOURCES $ac_name.res
498 wine_fn_all_dir_rules $ac_dir Maketest.rules
500 AS_VAR_IF([enable_tests],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
503 $ac_dir: $ac_dir/Makefile programs/winetest/Makefile __builddeps__ dummy
504 @cd $ac_dir && \$(MAKE)
505 programs/winetest: $ac_dir
506 check test: $ac_dir/__test__
507 .PHONY: $ac_dir/__test__
508 $ac_dir/__test__: dummy
509 @cd $ac_dir && \$(MAKE) test
513 if test "x$CROSSTEST_DISABLE" = x
515 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
516 "crosstest: $ac_dir/__crosstest__
517 .PHONY: $ac_dir/__crosstest__
518 $ac_dir/__crosstest__: $ac_dir/Makefile __builddeps__ dummy
519 @cd $ac_dir && \$(MAKE) crosstest"
523 wine_fn_config_tool ()
527 AS_VAR_IF([enable_tools],[no],[return 0])
529 wine_fn_config_makefile $ac_dir enable_tools $ac_flags
531 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "__tooldeps__: $ac_dir"
532 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "$ac_dir: libs/port"
534 tools/winebuild) wine_fn_append_rule ALL_MAKEFILE_DEPENDS "\$(WINEBUILD): $ac_dir" ;;
538 wine_fn_config_makerules ()
542 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
543 "$ac_rules: $ac_rules.in $ac_deps config.status
544 @./config.status $ac_rules
549 wine_fn_config_symlink ()
552 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
554 @./config.status $ac_link
559 if test "x$CROSSTEST_DISABLE" != x
561 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
563 @echo \"crosstest is not supported (mingw not installed?)\" && false"
566 dnl **** Define helper function to append a file to a makefile file list ****
568 dnl Usage: WINE_APPEND_FILE(var,file)
570 AC_DEFUN([WINE_APPEND_FILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_file $1 "$2"])
572 dnl **** Define helper function to append a rule to a makefile command list ****
574 dnl Usage: WINE_APPEND_RULE(var,rule)
576 AC_DEFUN([WINE_APPEND_RULE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_rule $1 "$2"])
578 dnl **** Create nonexistent directories from config.status ****
580 dnl Usage: WINE_CONFIG_EXTRA_DIR(dirname)
582 AC_DEFUN([WINE_CONFIG_EXTRA_DIR],
583 [AC_CONFIG_COMMANDS([$1],[test -d "$1" || { AC_MSG_NOTICE([creating $1]); AS_MKDIR_P("$1"); }])])
585 dnl **** Create symlinks from config.status ****
587 dnl Usage: WINE_CONFIG_SYMLINK(name,target,enable)
589 AC_DEFUN([WINE_CONFIG_SYMLINK],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
590 m4_ifval([$3],[if test "x$[$3]" != xno; then
591 ])AC_CONFIG_LINKS([$1:]m4_default([$2],[$1]))dnl
592 m4_if([$2],,[test "$srcdir" = "." || ])wine_fn_config_symlink $1[]m4_ifval([$3],[
595 dnl **** Create a make rules file from config.status ****
597 dnl Usage: WINE_CONFIG_MAKERULES(file,var,deps)
599 AC_DEFUN([WINE_CONFIG_MAKERULES],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
600 wine_fn_config_makerules $1 $3
602 AC_SUBST_FILE([$2])dnl
603 AC_CONFIG_FILES([$1])])
605 dnl **** Create a makefile from config.status ****
607 dnl Usage: WINE_CONFIG_MAKEFILE(file,enable,flags)
609 AC_DEFUN([WINE_CONFIG_MAKEFILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
610 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
611 wine_fn_config_makefile [$1] ac_enable [$3]dnl
612 AS_VAR_POPDEF([ac_enable])])
614 dnl **** Create a dll makefile from config.status ****
616 dnl Usage: WINE_CONFIG_DLL(name,enable,flags,implib)
618 AC_DEFUN([WINE_CONFIG_DLL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
619 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
620 wine_fn_config_dll [$1] ac_enable [$3] [$4]dnl
621 AS_VAR_POPDEF([ac_enable])])
623 dnl **** Create a program makefile from config.status ****
625 dnl Usage: WINE_CONFIG_PROGRAM(name,enable,flags)
627 AC_DEFUN([WINE_CONFIG_PROGRAM],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
628 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
629 wine_fn_config_program [$1] ac_enable [$3]dnl
630 AS_VAR_POPDEF([ac_enable])])
632 dnl **** Create a test makefile from config.status ****
634 dnl Usage: WINE_CONFIG_TEST(dir,flags)
636 AC_DEFUN([WINE_CONFIG_TEST],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
637 m4_pushdef([ac_suffix],m4_if(m4_substr([$1],0,9),[programs/],[.exe_test],[_test]))dnl
638 m4_pushdef([ac_name],[m4_bpatsubst([$1],[.*/\(.*\)/tests$],[\1])])dnl
639 wine_fn_config_test $1 ac_name[]ac_suffix [$2]dnl
640 m4_popdef([ac_suffix])dnl
641 m4_popdef([ac_name])])
643 dnl **** Create a static lib makefile from config.status ****
645 dnl Usage: WINE_CONFIG_LIB(name,flags)
647 AC_DEFUN([WINE_CONFIG_LIB],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
648 wine_fn_config_lib [$1] [$2]])
650 dnl **** Create a tool makefile from config.status ****
652 dnl Usage: WINE_CONFIG_TOOL(name,flags)
654 AC_DEFUN([WINE_CONFIG_TOOL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
655 wine_fn_config_tool [$1] [$2]])
657 dnl **** Add a message to the list displayed at the end ****
659 dnl Usage: WINE_NOTICE(notice)
660 dnl Usage: WINE_NOTICE_WITH(with_flag, test, notice)
661 dnl Usage: WINE_WARNING(warning)
662 dnl Usage: WINE_WARNING_WITH(with_flag, test, warning)
663 dnl Usage: WINE_PRINT_MESSAGES
665 AC_DEFUN([WINE_NOTICE],[AS_VAR_APPEND([wine_notices],["|$1"])])
666 AC_DEFUN([WINE_WARNING],[AS_VAR_APPEND([wine_warnings],["|$1"])])
668 AC_DEFUN([WINE_NOTICE_WITH],[AS_IF([$2],[case "x$with_$1" in
669 x) WINE_NOTICE([$3]) ;;
672 This is an error since --with-$1 was requested.]) ;;
675 AC_DEFUN([WINE_WARNING_WITH],[AS_IF([$2],[case "x$with_$1" in
676 x) WINE_WARNING([$3]) ;;
679 This is an error since --with-$1 was requested.]) ;;
682 AC_DEFUN([WINE_ERROR_WITH],[AS_IF([$2],[case "x$with_$1" in
685 Use the --without-$1 option if you really want this.]) ;;
688 AC_DEFUN([WINE_PRINT_MESSAGES],[ac_save_IFS="$IFS"
689 if test "x$wine_notices != "x; then
692 for msg in $wine_notices; do
694 if test -n "$msg"; then
695 AC_MSG_NOTICE([$msg])
700 for msg in $wine_warnings; do
702 if test -n "$msg"; then
710 dnl compile-command: "autoreconf --warnings=all"