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 ]))" ;;
131 ac_prefix_list="m4_foreach([ac_wine_prefix],[pc-mingw32, w64-mingw32, mingw32msvc],
132 m4_foreach([ac_wine_cpu],[x86_64,amd64],[ac_wine_cpu-ac_wine_prefix-$2 ]))" ;;
136 AC_CHECK_PROGS([$1],[$ac_prefix_list],[$3],[$4])])
139 dnl **** Define helper functions for creating config.status files ****
141 dnl Usage: AC_REQUIRE([WINE_CONFIG_HELPERS])
143 AC_DEFUN([WINE_CONFIG_HELPERS],
144 [ALL_MAKEFILE_DEPENDS="
145 # Rules automatically generated by configure
150 Makefile: Makefile.in Make.vars.in Make.rules config.status
151 @./config.status Make.tmp Makefile"
154 AC_SUBST(ALL_TEST_RESOURCES,"")
156 wine_fn_append_file ()
158 AS_VAR_APPEND($[1]," \\$as_nl $[2]")
161 wine_fn_append_rule ()
163 AS_VAR_APPEND($[1],"$as_nl$[2]")
168 expr ",$[2]," : ".*,$[1],.*" >/dev/null
171 wine_fn_all_dir_rules ()
175 ac_makedep="\$(MAKEDEP)"
176 ac_input=Make.vars.in:$ac_dir/Makefile.in
177 if test $ac_dir != tools
179 dnl makedep is in tools so tools makefile cannot depend on it
180 ac_alldeps="$[2] $ac_makedep"
183 *.in) ac_input=$ac_input:$[2] ;;
184 *) ac_makedep="$[2] $ac_makedep" ;;
187 wine_fn_append_file ALL_DIRS $ac_dir
188 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
189 "__clean__: $ac_dir/__clean__
190 .PHONY: $ac_dir/__clean__
191 $ac_dir/__clean__: $ac_dir/Makefile
192 @cd $ac_dir && \$(MAKE) clean
193 \$(RM) $ac_dir/Makefile
194 $ac_dir/Makefile: $ac_dir/Makefile.in Make.vars.in config.status $ac_alldeps
195 @./config.status --file $ac_dir/Makefile:$ac_input && cd $ac_dir && \$(MAKE) depend
196 depend: $ac_dir/__depend__
197 .PHONY: $ac_dir/__depend__
198 $ac_dir/__depend__: $ac_makedep dummy
199 @./config.status --file $ac_dir/Makefile:$ac_input && cd $ac_dir && \$(MAKE) depend"
207 test "x$with_gettextpo" = xyes || return
209 if wine_fn_has_flag mc $ac_flags
211 wine_fn_append_file ALL_POT_FILES $ac_dir/msg.pot
212 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
213 "$ac_dir/msg.pot: $ac_dir/Makefile dummy
214 @cd $ac_dir && \$(MAKE) msg.pot
215 $ac_dir/msg.pot: tools/wmc include"
217 if wine_fn_has_flag po $ac_flags
219 wine_fn_append_file ALL_POT_FILES $ac_dir/rsrc.pot
220 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
221 "$ac_dir/rsrc.pot: $ac_dir/Makefile dummy
222 @cd $ac_dir && \$(MAKE) rsrc.pot
223 $ac_dir/rsrc.pot: tools/wrc include"
227 wine_fn_config_makefile ()
233 AS_VAR_IF([$ac_enable],[no],[return 0])
235 wine_fn_all_dir_rules $ac_dir ${ac_rules:-Make.rules}
236 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
239 $ac_dir: $ac_dir/Makefile dummy
240 @cd $ac_dir && \$(MAKE)"
242 wine_fn_has_flag install-lib $ac_flags || wine_fn_has_flag install-dev $ac_flags || return
244 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
245 ".PHONY: $ac_dir/__install__ $ac_dir/__uninstall__
246 $ac_dir/__install__:: $ac_dir
247 @cd $ac_dir && \$(MAKE) install
248 $ac_dir/__uninstall__:: $ac_dir/Makefile
249 @cd $ac_dir && \$(MAKE) uninstall
250 install:: $ac_dir/__install__
251 __uninstall__: $ac_dir/__uninstall__"
253 if wine_fn_has_flag install-lib $ac_flags
255 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
256 ".PHONY: $ac_dir/__install-lib__
257 $ac_dir/__install-lib__:: $ac_dir
258 @cd $ac_dir && \$(MAKE) install-lib
259 install-lib:: $ac_dir/__install-lib__"
262 if wine_fn_has_flag install-dev $ac_flags
264 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
265 ".PHONY: $ac_dir/__install-dev
266 $ac_dir/__install-dev__:: $ac_dir
267 @cd $ac_dir && \$(MAKE) install-dev
268 install-dev:: $ac_dir/__install-dev__"
272 wine_fn_config_lib ()
277 wine_fn_config_makefile $ac_dir enable_$ac_name "$ac_flags" dlls/Makeimplib.rules
279 if wine_fn_has_flag install-dev $ac_flags
282 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
283 ".PHONY: $ac_dir/__install__ $ac_dir/__uninstall__
284 $ac_dir/__install__:: $ac_dir \$(DESTDIR)\$(dlldir)
285 \$(INSTALL_DATA) $ac_dir/lib$ac_name.a \$(DESTDIR)\$(dlldir)/lib$ac_name.a
286 $ac_dir/__uninstall__::
287 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_name.a
288 install install-dev:: $ac_dir/__install__
289 __uninstall__: $ac_dir/__uninstall__"
292 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "__builddeps__: $ac_dir"
293 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "$ac_dir: tools/widl tools/winebuild tools/winegcc include"
296 wine_fn_config_dll ()
302 ac_implib=${4:-$ac_name}
303 ac_file=$ac_dir/lib$ac_implib
305 ac_deps="tools/widl tools/winebuild tools/winegcc include"
309 *16) ac_implibflags=" -m16" ;;
311 *) ac_dll=$ac_dll.dll ;;
314 wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" dlls/Makedll.rules
316 AS_VAR_IF([$ac_enable],[no],
317 dnl enable_win16 is special in that it disables import libs too
318 [test "$ac_enable" != enable_win16 || return 0
319 wine_fn_has_flag implib $ac_flags && wine_fn_all_dir_rules $ac_dir dlls/Makedll.rules],
321 [wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
322 "$ac_dir: __builddeps__
323 manpages htmlpages sgmlpages xmlpages:: $ac_dir/Makefile
324 @cd $ac_dir && \$(MAKE) \$[@]"
326 if wine_fn_has_flag install-lib $ac_flags
329 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
330 ".PHONY: $ac_dir/__install-lib__ $ac_dir/__uninstall__
331 install install-lib:: $ac_dir/__install-lib__
332 __uninstall__: $ac_dir/__uninstall__"
335 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
336 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir) \$(DESTDIR)\$(fakedlldir)
337 \$(INSTALL_PROGRAM) $ac_dir/$ac_dll$DLLEXT \$(DESTDIR)\$(dlldir)/$ac_dll$DLLEXT
338 \$(INSTALL_DATA) $ac_dir/$ac_dll.fake \$(DESTDIR)\$(fakedlldir)/$ac_dll
339 $ac_dir/__uninstall__::
340 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_dll$DLLEXT \$(DESTDIR)\$(fakedlldir)/$ac_dll"
342 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
343 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir)
344 \$(INSTALL_PROGRAM) $ac_dir/$ac_dll \$(DESTDIR)\$(dlldir)/$ac_dll
345 $ac_dir/__uninstall__::
346 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_dll"
350 wine_fn_pot_rules $ac_dir $ac_flags])
352 if wine_fn_has_flag staticimplib $ac_flags
354 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
355 "__builddeps__: $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT
356 $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: $ac_deps
357 $ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile
358 @cd $ac_dir && \$(MAKE) lib$ac_implib.def
359 $ac_file.$STATIC_IMPLIBEXT: $ac_dir/Makefile dummy
360 @cd $ac_dir && \$(MAKE) lib$ac_implib.$STATIC_IMPLIBEXT
361 .PHONY: $ac_dir/__install-dev__ $ac_dir/__uninstall__
362 $ac_dir/__install-dev__:: $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)
363 \$(INSTALL_DATA) $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
364 $ac_dir/__uninstall__::
365 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
366 install install-dev:: $ac_dir/__install-dev__
367 __uninstall__: $ac_dir/__uninstall__"
369 if test "$IMPLIBEXT" != "$STATIC_IMPLIBEXT"
371 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
372 "$ac_dir/__install-dev__:: $ac_file.$STATIC_IMPLIBEXT \$(DESTDIR)\$(dlldir) __builddeps__
373 \$(INSTALL_DATA) $ac_file.$STATIC_IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$STATIC_IMPLIBEXT
374 $ac_dir/__uninstall__::
375 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$STATIC_IMPLIBEXT"
378 if test "x$CROSSTEST_DISABLE" = x
380 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
381 "__builddeps__: $ac_file.cross.a
382 $ac_file.cross.a: $ac_dir/Makefile dummy
383 @cd $ac_dir && \$(MAKE) lib$ac_implib.cross.a"
386 elif wine_fn_has_flag implib $ac_flags
388 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
389 "__builddeps__: $ac_file.$IMPLIBEXT
390 $ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
391 \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec
392 $ac_file.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
393 \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --implib -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec
394 .PHONY: $ac_dir/__install-dev__ $ac_dir/__uninstall__
395 $ac_dir/__install-dev__:: $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)
396 \$(INSTALL_DATA) $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
397 $ac_dir/__uninstall__::
398 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
399 install install-dev:: $ac_dir/__install-dev__
400 __uninstall__: $ac_dir/__uninstall__"
401 if test "x$CROSSTEST_DISABLE" = x
403 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
404 "__builddeps__: $ac_file.cross.a
405 $ac_file.cross.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
406 \$(WINEBUILD) \$(CROSSTARGET:%=-b %)$ac_implibflags -w --implib -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec"
409 if test "$ac_name" != "$ac_implib"
411 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
412 "__builddeps__: dlls/lib$ac_implib.$IMPLIBEXT
413 dlls/lib$ac_implib.$IMPLIBEXT: $ac_file.$IMPLIBEXT
414 \$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.$IMPLIBEXT \$[@]
416 \$(RM) dlls/lib$ac_implib.$IMPLIBEXT"
417 if test "x$CROSSTEST_DISABLE" = x
419 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
420 "__builddeps__: dlls/lib$ac_implib.cross.a
421 dlls/lib$ac_implib.cross.a: $ac_file.cross.a
422 \$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.cross.a \$[@]"
428 wine_fn_config_program ()
431 ac_dir=programs/$ac_name
438 *) ac_program=$ac_program.exe ;;
441 wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" programs/Makeprog.rules
443 AS_VAR_IF([$ac_enable],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
444 "$ac_dir: __builddeps__"
446 wine_fn_pot_rules $ac_dir $ac_flags
448 wine_fn_has_flag install $ac_flags || return
449 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
450 ".PHONY: $ac_dir/__install__ $ac_dir/__uninstall__
451 install install-lib:: $ac_dir/__install__
452 __uninstall__: $ac_dir/__uninstall__"
456 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
457 "$ac_dir/__install__:: $ac_dir \$(DESTDIR)\$(dlldir) \$(DESTDIR)\$(fakedlldir)
458 \$(INSTALL_PROGRAM) $ac_dir/$ac_program$DLLEXT \$(DESTDIR)\$(dlldir)/$ac_program$DLLEXT
459 \$(INSTALL_DATA) $ac_dir/$ac_program.fake \$(DESTDIR)\$(fakedlldir)/$ac_program
460 $ac_dir/__uninstall__::
461 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_program$DLLEXT \$(DESTDIR)\$(fakedlldir)/$ac_program"
463 if test "x$enable_tools" != xno && wine_fn_has_flag installbin $ac_flags
465 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
466 "$ac_dir/__install__:: tools \$(DESTDIR)\$(bindir)
467 \$(INSTALL_SCRIPT) tools/wineapploader \$(DESTDIR)\$(bindir)/$ac_name
468 $ac_dir/__uninstall__::
469 \$(RM) \$(DESTDIR)\$(bindir)/$ac_name"
472 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
473 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir)
474 \$(INSTALL_PROGRAM) $ac_dir/$ac_program \$(DESTDIR)\$(dlldir)/$ac_program
475 $ac_dir/__uninstall__::
476 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_program"
479 if test "x$enable_tools" != xno && wine_fn_has_flag manpage $ac_flags
481 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
482 "$ac_dir/__install__:: $ac_dir \$(DESTDIR)\$(mandir)/man\$(prog_manext)
483 \$(INSTALL_DATA) $ac_dir/$ac_name.man \$(DESTDIR)\$(mandir)/man\$(prog_manext)/$ac_name.\$(prog_manext)
484 $ac_dir/__uninstall__::
485 \$(RM) \$(DESTDIR)\$(mandir)/man\$(prog_manext)/$ac_name.\$(prog_manext)"
489 wine_fn_config_test ()
494 wine_fn_append_file ALL_TEST_RESOURCES $ac_name.res
495 wine_fn_all_dir_rules $ac_dir Maketest.rules
497 AS_VAR_IF([enable_tests],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
500 $ac_dir: $ac_dir/Makefile programs/winetest/Makefile __builddeps__ dummy
501 @cd $ac_dir && \$(MAKE)
502 programs/winetest: $ac_dir
503 check test: $ac_dir/__test__
504 .PHONY: $ac_dir/__test__
505 $ac_dir/__test__: dummy
506 @cd $ac_dir && \$(MAKE) test
510 if test "x$CROSSTEST_DISABLE" = x
512 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
513 "crosstest: $ac_dir/__crosstest__
514 .PHONY: $ac_dir/__crosstest__
515 $ac_dir/__crosstest__: $ac_dir/Makefile __builddeps__ dummy
516 @cd $ac_dir && \$(MAKE) crosstest"
520 wine_fn_config_tool ()
524 AS_VAR_IF([enable_tools],[no],[return 0])
526 wine_fn_config_makefile $ac_dir enable_tools $ac_flags
528 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "__tooldeps__: $ac_dir"
529 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "$ac_dir: libs/port"
531 tools/winebuild) wine_fn_append_rule ALL_MAKEFILE_DEPENDS "\$(WINEBUILD): $ac_dir" ;;
535 wine_fn_config_makerules ()
539 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
540 "$ac_rules: $ac_rules.in $ac_deps config.status
541 @./config.status $ac_rules
546 wine_fn_config_symlink ()
549 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
551 @./config.status $ac_link
556 if test "x$CROSSTEST_DISABLE" != x
558 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
560 @echo \"crosstest is not supported (mingw not installed?)\" && false"
563 dnl **** Define helper function to append a file to a makefile file list ****
565 dnl Usage: WINE_APPEND_FILE(var,file)
567 AC_DEFUN([WINE_APPEND_FILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_file $1 "$2"])
569 dnl **** Define helper function to append a rule to a makefile command list ****
571 dnl Usage: WINE_APPEND_RULE(var,rule)
573 AC_DEFUN([WINE_APPEND_RULE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_rule $1 "$2"])
575 dnl **** Create nonexistent directories from config.status ****
577 dnl Usage: WINE_CONFIG_EXTRA_DIR(dirname)
579 AC_DEFUN([WINE_CONFIG_EXTRA_DIR],
580 [AC_CONFIG_COMMANDS([$1],[test -d "$1" || { AC_MSG_NOTICE([creating $1]); AS_MKDIR_P("$1"); }])])
582 dnl **** Create symlinks from config.status ****
584 dnl Usage: WINE_CONFIG_SYMLINK(name,target,enable)
586 AC_DEFUN([WINE_CONFIG_SYMLINK],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
587 m4_ifval([$3],[if test "x$[$3]" != xno; then
588 ])AC_CONFIG_LINKS([$1:]m4_default([$2],[$1]))dnl
589 m4_if([$2],,[test "$srcdir" = "." || ])wine_fn_config_symlink $1[]m4_ifval([$3],[
592 dnl **** Create a make rules file from config.status ****
594 dnl Usage: WINE_CONFIG_MAKERULES(file,var,deps)
596 AC_DEFUN([WINE_CONFIG_MAKERULES],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
597 wine_fn_config_makerules $1 $3
599 AC_SUBST_FILE([$2])dnl
600 AC_CONFIG_FILES([$1])])
602 dnl **** Create a makefile from config.status ****
604 dnl Usage: WINE_CONFIG_MAKEFILE(file,enable,flags)
606 AC_DEFUN([WINE_CONFIG_MAKEFILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
607 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
608 wine_fn_config_makefile [$1] ac_enable [$3]dnl
609 AS_VAR_POPDEF([ac_enable])])
611 dnl **** Create a dll makefile from config.status ****
613 dnl Usage: WINE_CONFIG_DLL(name,enable,flags,implib)
615 AC_DEFUN([WINE_CONFIG_DLL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
616 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
617 wine_fn_config_dll [$1] ac_enable [$3] [$4]dnl
618 AS_VAR_POPDEF([ac_enable])])
620 dnl **** Create a program makefile from config.status ****
622 dnl Usage: WINE_CONFIG_PROGRAM(name,enable,flags)
624 AC_DEFUN([WINE_CONFIG_PROGRAM],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
625 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
626 wine_fn_config_program [$1] ac_enable [$3]dnl
627 AS_VAR_POPDEF([ac_enable])])
629 dnl **** Create a test makefile from config.status ****
631 dnl Usage: WINE_CONFIG_TEST(dir,flags)
633 AC_DEFUN([WINE_CONFIG_TEST],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
634 m4_pushdef([ac_suffix],m4_if(m4_substr([$1],0,9),[programs/],[.exe_test],[_test]))dnl
635 m4_pushdef([ac_name],[m4_bpatsubst([$1],[.*/\(.*\)/tests$],[\1])])dnl
636 wine_fn_config_test $1 ac_name[]ac_suffix [$2]dnl
637 m4_popdef([ac_suffix])dnl
638 m4_popdef([ac_name])])
640 dnl **** Create a static lib makefile from config.status ****
642 dnl Usage: WINE_CONFIG_LIB(name,flags)
644 AC_DEFUN([WINE_CONFIG_LIB],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
645 wine_fn_config_lib [$1] [$2]])
647 dnl **** Create a tool makefile from config.status ****
649 dnl Usage: WINE_CONFIG_TOOL(name,flags)
651 AC_DEFUN([WINE_CONFIG_TOOL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
652 wine_fn_config_tool [$1] [$2]])
654 dnl **** Add a message to the list displayed at the end ****
656 dnl Usage: WINE_NOTICE(notice)
657 dnl Usage: WINE_NOTICE_WITH(with_flag, test, notice)
658 dnl Usage: WINE_WARNING(warning)
659 dnl Usage: WINE_WARNING_WITH(with_flag, test, warning)
660 dnl Usage: WINE_PRINT_MESSAGES
662 AC_DEFUN([WINE_NOTICE],[AS_VAR_APPEND([wine_notices],["|$1"])])
663 AC_DEFUN([WINE_WARNING],[AS_VAR_APPEND([wine_warnings],["|$1"])])
665 AC_DEFUN([WINE_NOTICE_WITH],[AS_IF([$2],[case "x$with_$1" in
666 x) WINE_NOTICE([$3]) ;;
669 This is an error since --with-$1 was requested.]) ;;
672 AC_DEFUN([WINE_WARNING_WITH],[AS_IF([$2],[case "x$with_$1" in
673 x) WINE_WARNING([$3]) ;;
676 This is an error since --with-$1 was requested.]) ;;
679 AC_DEFUN([WINE_ERROR_WITH],[AS_IF([$2],[case "x$with_$1" in
682 Use the --without-$1 option if you really want this.]) ;;
685 AC_DEFUN([WINE_PRINT_MESSAGES],[ac_save_IFS="$IFS"
686 if test "x$wine_notices != "x; then
689 for msg in $wine_notices; do
691 if test -n "$msg"; then
692 AC_MSG_NOTICE([$msg])
697 for msg in $wine_warnings; do
699 if test -n "$msg"; then
707 dnl compile-command: "autoreconf --warnings=all"