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"
184 *.in) ac_input=$ac_input:$[2] ;;
185 *) ac_makedep="$[2] $ac_makedep" ;;
188 wine_fn_append_file ALL_DIRS $ac_dir
189 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
190 "__clean__: $ac_dir/__clean__
191 .PHONY: $ac_dir/__clean__
192 $ac_dir/__clean__: $ac_dir/Makefile
193 @cd $ac_dir && \$(MAKE) clean
194 \$(RM) $ac_dir/Makefile
195 $ac_dir/Makefile: $ac_dir/Makefile.in Make.vars.in config.status $ac_alldeps
196 @./config.status --file $ac_dir/Makefile:$ac_input && cd $ac_dir && \$(MAKE) depend
197 depend: $ac_dir/__depend__
198 .PHONY: $ac_dir/__depend__
199 $ac_dir/__depend__: $ac_makedep dummy
200 @./config.status --file $ac_dir/Makefile:$ac_input && cd $ac_dir && \$(MAKE) depend"
208 test "x$with_gettextpo" = xyes || return
210 if wine_fn_has_flag mc $ac_flags
212 wine_fn_append_file ALL_POT_FILES $ac_dir/msg.pot
213 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
214 "$ac_dir/msg.pot: $ac_dir/Makefile dummy
215 @cd $ac_dir && \$(MAKE) msg.pot
216 $ac_dir/msg.pot: tools/wmc include"
218 if wine_fn_has_flag po $ac_flags
220 wine_fn_append_file ALL_POT_FILES $ac_dir/rsrc.pot
221 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
222 "$ac_dir/rsrc.pot: $ac_dir/Makefile dummy
223 @cd $ac_dir && \$(MAKE) rsrc.pot
224 $ac_dir/rsrc.pot: tools/wrc include"
228 wine_fn_config_makefile ()
234 AS_VAR_IF([$ac_enable],[no],[return 0])
236 wine_fn_all_dir_rules $ac_dir ${ac_rules:-Make.rules}
237 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
240 $ac_dir: $ac_dir/Makefile dummy
241 @cd $ac_dir && \$(MAKE)"
243 wine_fn_has_flag install-lib $ac_flags || wine_fn_has_flag install-dev $ac_flags || return
245 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
246 ".PHONY: $ac_dir/__install__ $ac_dir/__uninstall__
247 $ac_dir/__install__:: $ac_dir
248 @cd $ac_dir && \$(MAKE) install
249 $ac_dir/__uninstall__:: $ac_dir/Makefile
250 @cd $ac_dir && \$(MAKE) uninstall
251 install:: $ac_dir/__install__
252 __uninstall__: $ac_dir/__uninstall__"
254 if wine_fn_has_flag install-lib $ac_flags
256 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
257 ".PHONY: $ac_dir/__install-lib__
258 $ac_dir/__install-lib__:: $ac_dir
259 @cd $ac_dir && \$(MAKE) install-lib
260 install-lib:: $ac_dir/__install-lib__"
263 if wine_fn_has_flag install-dev $ac_flags
265 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
266 ".PHONY: $ac_dir/__install-dev
267 $ac_dir/__install-dev__:: $ac_dir
268 @cd $ac_dir && \$(MAKE) install-dev
269 install-dev:: $ac_dir/__install-dev__"
273 wine_fn_config_lib ()
278 wine_fn_config_makefile $ac_dir enable_$ac_name "$ac_flags" dlls/Makeimplib.rules
280 if wine_fn_has_flag install-dev $ac_flags
283 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
284 ".PHONY: $ac_dir/__install__ $ac_dir/__uninstall__
285 $ac_dir/__install__:: $ac_dir \$(DESTDIR)\$(dlldir)
286 \$(INSTALL_DATA) $ac_dir/lib$ac_name.a \$(DESTDIR)\$(dlldir)/lib$ac_name.a
287 $ac_dir/__uninstall__::
288 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_name.a
289 install install-dev:: $ac_dir/__install__
290 __uninstall__: $ac_dir/__uninstall__"
293 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "__builddeps__: $ac_dir"
294 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "$ac_dir: tools/widl tools/winebuild tools/winegcc include"
297 wine_fn_config_dll ()
303 ac_implib=${4:-$ac_name}
304 ac_file=$ac_dir/lib$ac_implib
306 ac_deps="tools/widl tools/winebuild tools/winegcc include"
310 *16) ac_implibflags=" -m16" ;;
312 *) ac_dll=$ac_dll.dll ;;
315 wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" dlls/Makedll.rules
317 AS_VAR_IF([$ac_enable],[no],
318 dnl enable_win16 is special in that it disables import libs too
319 [test "$ac_enable" != enable_win16 || return 0
320 wine_fn_has_flag implib $ac_flags && wine_fn_all_dir_rules $ac_dir dlls/Makedll.rules],
322 [wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
323 "$ac_dir: __builddeps__
324 manpages htmlpages sgmlpages xmlpages:: $ac_dir/Makefile
325 @cd $ac_dir && \$(MAKE) \$[@]"
327 if wine_fn_has_flag install-lib $ac_flags
330 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
331 ".PHONY: $ac_dir/__install-lib__ $ac_dir/__uninstall__
332 install install-lib:: $ac_dir/__install-lib__
333 __uninstall__: $ac_dir/__uninstall__"
336 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
337 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir) \$(DESTDIR)\$(fakedlldir)
338 \$(INSTALL_PROGRAM) $ac_dir/$ac_dll$DLLEXT \$(DESTDIR)\$(dlldir)/$ac_dll$DLLEXT
339 \$(INSTALL_DATA) $ac_dir/$ac_dll.fake \$(DESTDIR)\$(fakedlldir)/$ac_dll
340 $ac_dir/__uninstall__::
341 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_dll$DLLEXT \$(DESTDIR)\$(fakedlldir)/$ac_dll"
343 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
344 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir)
345 \$(INSTALL_PROGRAM) $ac_dir/$ac_dll \$(DESTDIR)\$(dlldir)/$ac_dll
346 $ac_dir/__uninstall__::
347 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_dll"
351 wine_fn_pot_rules $ac_dir $ac_flags])
353 if wine_fn_has_flag staticimplib $ac_flags
355 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
356 "__builddeps__: $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT
357 $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: $ac_deps
358 $ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile
359 @cd $ac_dir && \$(MAKE) lib$ac_implib.def
360 $ac_file.$STATIC_IMPLIBEXT: $ac_dir/Makefile dummy
361 @cd $ac_dir && \$(MAKE) lib$ac_implib.$STATIC_IMPLIBEXT
362 .PHONY: $ac_dir/__install-dev__ $ac_dir/__uninstall__
363 $ac_dir/__install-dev__:: $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)
364 \$(INSTALL_DATA) $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
365 $ac_dir/__uninstall__::
366 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
367 install install-dev:: $ac_dir/__install-dev__
368 __uninstall__: $ac_dir/__uninstall__"
370 if test "$IMPLIBEXT" != "$STATIC_IMPLIBEXT"
372 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
373 "$ac_dir/__install-dev__:: $ac_file.$STATIC_IMPLIBEXT \$(DESTDIR)\$(dlldir) __builddeps__
374 \$(INSTALL_DATA) $ac_file.$STATIC_IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$STATIC_IMPLIBEXT
375 $ac_dir/__uninstall__::
376 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$STATIC_IMPLIBEXT"
379 if test "x$CROSSTEST_DISABLE" = x
381 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
382 "__builddeps__: $ac_file.cross.a
383 $ac_file.cross.a: $ac_dir/Makefile dummy
384 @cd $ac_dir && \$(MAKE) lib$ac_implib.cross.a"
387 elif wine_fn_has_flag implib $ac_flags
389 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
390 "__builddeps__: $ac_file.$IMPLIBEXT
391 $ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
392 \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec
393 $ac_file.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
394 \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --implib -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec
395 .PHONY: $ac_dir/__install-dev__ $ac_dir/__uninstall__
396 $ac_dir/__install-dev__:: $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)
397 \$(INSTALL_DATA) $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
398 $ac_dir/__uninstall__::
399 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
400 install install-dev:: $ac_dir/__install-dev__
401 __uninstall__: $ac_dir/__uninstall__"
402 if test "x$CROSSTEST_DISABLE" = x
404 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
405 "__builddeps__: $ac_file.cross.a
406 $ac_file.cross.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
407 \$(WINEBUILD) \$(CROSSTARGET:%=-b %)$ac_implibflags -w --implib -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec"
410 if test "$ac_name" != "$ac_implib"
412 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
413 "__builddeps__: dlls/lib$ac_implib.$IMPLIBEXT
414 dlls/lib$ac_implib.$IMPLIBEXT: $ac_file.$IMPLIBEXT
415 \$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.$IMPLIBEXT \$[@]
417 \$(RM) dlls/lib$ac_implib.$IMPLIBEXT"
418 if test "x$CROSSTEST_DISABLE" = x
420 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
421 "__builddeps__: dlls/lib$ac_implib.cross.a
422 dlls/lib$ac_implib.cross.a: $ac_file.cross.a
423 \$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.cross.a \$[@]"
429 wine_fn_config_program ()
432 ac_dir=programs/$ac_name
439 *) ac_program=$ac_program.exe ;;
442 wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" programs/Makeprog.rules
444 AS_VAR_IF([$ac_enable],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
445 "$ac_dir: __builddeps__"
447 wine_fn_pot_rules $ac_dir $ac_flags
449 wine_fn_has_flag install $ac_flags || return
450 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
451 ".PHONY: $ac_dir/__install__ $ac_dir/__uninstall__
452 install install-lib:: $ac_dir/__install__
453 __uninstall__: $ac_dir/__uninstall__"
457 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
458 "$ac_dir/__install__:: $ac_dir \$(DESTDIR)\$(dlldir) \$(DESTDIR)\$(fakedlldir)
459 \$(INSTALL_PROGRAM) $ac_dir/$ac_program$DLLEXT \$(DESTDIR)\$(dlldir)/$ac_program$DLLEXT
460 \$(INSTALL_DATA) $ac_dir/$ac_program.fake \$(DESTDIR)\$(fakedlldir)/$ac_program
461 $ac_dir/__uninstall__::
462 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_program$DLLEXT \$(DESTDIR)\$(fakedlldir)/$ac_program"
464 if test "x$enable_tools" != xno && wine_fn_has_flag installbin $ac_flags
466 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
467 "$ac_dir/__install__:: tools \$(DESTDIR)\$(bindir)
468 \$(INSTALL_SCRIPT) tools/wineapploader \$(DESTDIR)\$(bindir)/$ac_name
469 $ac_dir/__uninstall__::
470 \$(RM) \$(DESTDIR)\$(bindir)/$ac_name"
473 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
474 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir)
475 \$(INSTALL_PROGRAM) $ac_dir/$ac_program \$(DESTDIR)\$(dlldir)/$ac_program
476 $ac_dir/__uninstall__::
477 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_program"
480 if test "x$enable_tools" != xno && wine_fn_has_flag manpage $ac_flags
482 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
483 "$ac_dir/__install__:: $ac_dir \$(DESTDIR)\$(mandir)/man\$(prog_manext)
484 \$(INSTALL_DATA) $ac_dir/$ac_name.man \$(DESTDIR)\$(mandir)/man\$(prog_manext)/$ac_name.\$(prog_manext)
485 $ac_dir/__uninstall__::
486 \$(RM) \$(DESTDIR)\$(mandir)/man\$(prog_manext)/$ac_name.\$(prog_manext)"
490 wine_fn_config_test ()
495 wine_fn_append_file ALL_TEST_RESOURCES $ac_name.res
496 wine_fn_all_dir_rules $ac_dir Maketest.rules
498 AS_VAR_IF([enable_tests],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
501 $ac_dir: $ac_dir/Makefile programs/winetest/Makefile __builddeps__ dummy
502 @cd $ac_dir && \$(MAKE)
503 programs/winetest: $ac_dir
504 check test: $ac_dir/__test__
505 .PHONY: $ac_dir/__test__
506 $ac_dir/__test__: dummy
507 @cd $ac_dir && \$(MAKE) test
511 if test "x$CROSSTEST_DISABLE" = x
513 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
514 "crosstest: $ac_dir/__crosstest__
515 .PHONY: $ac_dir/__crosstest__
516 $ac_dir/__crosstest__: $ac_dir/Makefile __builddeps__ dummy
517 @cd $ac_dir && \$(MAKE) crosstest"
521 wine_fn_config_tool ()
525 AS_VAR_IF([enable_tools],[no],[return 0])
527 wine_fn_config_makefile $ac_dir enable_tools $ac_flags
529 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "__tooldeps__: $ac_dir"
530 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "$ac_dir: libs/port"
532 tools/winebuild) wine_fn_append_rule ALL_MAKEFILE_DEPENDS "\$(WINEBUILD): $ac_dir" ;;
536 wine_fn_config_makerules ()
540 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
541 "$ac_rules: $ac_rules.in $ac_deps config.status
542 @./config.status $ac_rules
547 wine_fn_config_symlink ()
550 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
552 @./config.status $ac_link
557 if test "x$CROSSTEST_DISABLE" != x
559 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
561 @echo \"crosstest is not supported (mingw not installed?)\" && false"
564 dnl **** Define helper function to append a file to a makefile file list ****
566 dnl Usage: WINE_APPEND_FILE(var,file)
568 AC_DEFUN([WINE_APPEND_FILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_file $1 "$2"])
570 dnl **** Define helper function to append a rule to a makefile command list ****
572 dnl Usage: WINE_APPEND_RULE(var,rule)
574 AC_DEFUN([WINE_APPEND_RULE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_rule $1 "$2"])
576 dnl **** Create nonexistent directories from config.status ****
578 dnl Usage: WINE_CONFIG_EXTRA_DIR(dirname)
580 AC_DEFUN([WINE_CONFIG_EXTRA_DIR],
581 [AC_CONFIG_COMMANDS([$1],[test -d "$1" || { AC_MSG_NOTICE([creating $1]); AS_MKDIR_P("$1"); }])])
583 dnl **** Create symlinks from config.status ****
585 dnl Usage: WINE_CONFIG_SYMLINK(name,target,enable)
587 AC_DEFUN([WINE_CONFIG_SYMLINK],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
588 m4_ifval([$3],[if test "x$[$3]" != xno; then
589 ])AC_CONFIG_LINKS([$1:]m4_default([$2],[$1]))dnl
590 m4_if([$2],,[test "$srcdir" = "." || ])wine_fn_config_symlink $1[]m4_ifval([$3],[
593 dnl **** Create a make rules file from config.status ****
595 dnl Usage: WINE_CONFIG_MAKERULES(file,var,deps)
597 AC_DEFUN([WINE_CONFIG_MAKERULES],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
598 wine_fn_config_makerules $1 $3
600 AC_SUBST_FILE([$2])dnl
601 AC_CONFIG_FILES([$1])])
603 dnl **** Create a makefile from config.status ****
605 dnl Usage: WINE_CONFIG_MAKEFILE(file,enable,flags)
607 AC_DEFUN([WINE_CONFIG_MAKEFILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
608 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
609 wine_fn_config_makefile [$1] ac_enable [$3]dnl
610 AS_VAR_POPDEF([ac_enable])])
612 dnl **** Create a dll makefile from config.status ****
614 dnl Usage: WINE_CONFIG_DLL(name,enable,flags,implib)
616 AC_DEFUN([WINE_CONFIG_DLL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
617 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
618 wine_fn_config_dll [$1] ac_enable [$3] [$4]dnl
619 AS_VAR_POPDEF([ac_enable])])
621 dnl **** Create a program makefile from config.status ****
623 dnl Usage: WINE_CONFIG_PROGRAM(name,enable,flags)
625 AC_DEFUN([WINE_CONFIG_PROGRAM],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
626 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
627 wine_fn_config_program [$1] ac_enable [$3]dnl
628 AS_VAR_POPDEF([ac_enable])])
630 dnl **** Create a test makefile from config.status ****
632 dnl Usage: WINE_CONFIG_TEST(dir,flags)
634 AC_DEFUN([WINE_CONFIG_TEST],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
635 m4_pushdef([ac_suffix],m4_if(m4_substr([$1],0,9),[programs/],[.exe_test],[_test]))dnl
636 m4_pushdef([ac_name],[m4_bpatsubst([$1],[.*/\(.*\)/tests$],[\1])])dnl
637 wine_fn_config_test $1 ac_name[]ac_suffix [$2]dnl
638 m4_popdef([ac_suffix])dnl
639 m4_popdef([ac_name])])
641 dnl **** Create a static lib makefile from config.status ****
643 dnl Usage: WINE_CONFIG_LIB(name,flags)
645 AC_DEFUN([WINE_CONFIG_LIB],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
646 wine_fn_config_lib [$1] [$2]])
648 dnl **** Create a tool makefile from config.status ****
650 dnl Usage: WINE_CONFIG_TOOL(name,flags)
652 AC_DEFUN([WINE_CONFIG_TOOL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
653 wine_fn_config_tool [$1] [$2]])
655 dnl **** Add a message to the list displayed at the end ****
657 dnl Usage: WINE_NOTICE(notice)
658 dnl Usage: WINE_NOTICE_WITH(with_flag, test, notice)
659 dnl Usage: WINE_WARNING(warning)
660 dnl Usage: WINE_WARNING_WITH(with_flag, test, warning)
661 dnl Usage: WINE_PRINT_MESSAGES
663 AC_DEFUN([WINE_NOTICE],[AS_VAR_APPEND([wine_notices],["|$1"])])
664 AC_DEFUN([WINE_WARNING],[AS_VAR_APPEND([wine_warnings],["|$1"])])
666 AC_DEFUN([WINE_NOTICE_WITH],[AS_IF([$2],[case "x$with_$1" in
667 x) WINE_NOTICE([$3]) ;;
670 This is an error since --with-$1 was requested.]) ;;
673 AC_DEFUN([WINE_WARNING_WITH],[AS_IF([$2],[case "x$with_$1" in
674 x) WINE_WARNING([$3]) ;;
677 This is an error since --with-$1 was requested.]) ;;
680 AC_DEFUN([WINE_ERROR_WITH],[AS_IF([$2],[case "x$with_$1" in
683 Use the --without-$1 option if you really want this.]) ;;
686 AC_DEFUN([WINE_PRINT_MESSAGES],[ac_save_IFS="$IFS"
687 if test "x$wine_notices != "x; then
690 for msg in $wine_notices; do
692 if test -n "$msg"; then
693 AC_MSG_NOTICE([$msg])
698 for msg in $wine_warnings; do
700 if test -n "$msg"; then
708 dnl compile-command: "autoreconf --warnings=all"