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"
202 wine_fn_config_makefile ()
208 AS_VAR_IF([$ac_enable],[no],[return 0])
210 wine_fn_all_dir_rules $ac_dir ${ac_rules:-Make.rules}
211 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
214 $ac_dir: $ac_dir/Makefile dummy
215 @cd $ac_dir && \$(MAKE)"
217 wine_fn_has_flag install-lib $ac_flags || wine_fn_has_flag install-dev $ac_flags || return
219 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
220 ".PHONY: $ac_dir/__install__ $ac_dir/__uninstall__
221 $ac_dir/__install__:: $ac_dir
222 @cd $ac_dir && \$(MAKE) install
223 $ac_dir/__uninstall__:: $ac_dir/Makefile
224 @cd $ac_dir && \$(MAKE) uninstall
225 install:: $ac_dir/__install__
226 __uninstall__: $ac_dir/__uninstall__"
228 if wine_fn_has_flag install-lib $ac_flags
230 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
231 ".PHONY: $ac_dir/__install-lib__
232 $ac_dir/__install-lib__:: $ac_dir
233 @cd $ac_dir && \$(MAKE) install-lib
234 install-lib:: $ac_dir/__install-lib__"
237 if wine_fn_has_flag install-dev $ac_flags
239 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
240 ".PHONY: $ac_dir/__install-dev
241 $ac_dir/__install-dev__:: $ac_dir
242 @cd $ac_dir && \$(MAKE) install-dev
243 install-dev:: $ac_dir/__install-dev__"
247 wine_fn_config_lib ()
252 wine_fn_config_makefile $ac_dir enable_$ac_name "$ac_flags" dlls/Makeimplib.rules
254 if wine_fn_has_flag install-dev $ac_flags
257 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
258 ".PHONY: $ac_dir/__install__ $ac_dir/__uninstall__
259 $ac_dir/__install__:: $ac_dir \$(DESTDIR)\$(dlldir)
260 \$(INSTALL_DATA) $ac_dir/lib$ac_name.a \$(DESTDIR)\$(dlldir)/lib$ac_name.a
261 $ac_dir/__uninstall__::
262 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_name.a
263 install install-dev:: $ac_dir/__install__
264 __uninstall__: $ac_dir/__uninstall__"
267 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "__builddeps__: $ac_dir"
268 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "$ac_dir: tools/widl tools/winebuild tools/winegcc include"
271 wine_fn_config_dll ()
277 ac_implib=${4:-$ac_name}
278 ac_file=$ac_dir/lib$ac_implib
280 ac_deps="tools/widl tools/winebuild tools/winegcc include"
284 *16) ac_implibflags=" -m16" ;;
286 *) ac_dll=$ac_dll.dll ;;
289 wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" dlls/Makedll.rules
291 AS_VAR_IF([$ac_enable],[no],
292 dnl enable_win16 is special in that it disables import libs too
293 [test "$ac_enable" != enable_win16 || return 0
294 wine_fn_has_flag implib $ac_flags && wine_fn_all_dir_rules $ac_dir dlls/Makedll.rules],
296 [wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
297 "$ac_dir: __builddeps__
298 manpages htmlpages sgmlpages xmlpages:: $ac_dir/Makefile
299 @cd $ac_dir && \$(MAKE) \$[@]"
301 if wine_fn_has_flag install-lib $ac_flags
304 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
305 ".PHONY: $ac_dir/__install-lib__ $ac_dir/__uninstall__
306 install install-lib:: $ac_dir/__install-lib__
307 __uninstall__: $ac_dir/__uninstall__"
310 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
311 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir) \$(DESTDIR)\$(fakedlldir)
312 \$(INSTALL_PROGRAM) $ac_dir/$ac_dll$DLLEXT \$(DESTDIR)\$(dlldir)/$ac_dll$DLLEXT
313 \$(INSTALL_DATA) $ac_dir/$ac_dll.fake \$(DESTDIR)\$(fakedlldir)/$ac_dll
314 $ac_dir/__uninstall__::
315 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_dll$DLLEXT \$(DESTDIR)\$(fakedlldir)/$ac_dll"
317 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
318 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir)
319 \$(INSTALL_PROGRAM) $ac_dir/$ac_dll \$(DESTDIR)\$(dlldir)/$ac_dll
320 $ac_dir/__uninstall__::
321 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_dll"
325 if test "x$enable_maintainer_mode" = xyes
327 if wine_fn_has_flag mc $ac_flags
329 wine_fn_append_file ALL_POT_FILES $ac_dir/msg.pot
330 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
331 "$ac_dir/msg.pot: $ac_dir"
333 if wine_fn_has_flag po $ac_flags
335 wine_fn_append_file ALL_POT_FILES $ac_dir/rsrc.pot
336 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
337 "$ac_dir/rsrc.pot: $ac_dir"
341 if wine_fn_has_flag staticimplib $ac_flags
343 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
344 "__builddeps__: $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT
345 $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: $ac_deps
346 $ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile
347 @cd $ac_dir && \$(MAKE) lib$ac_implib.def
348 $ac_file.$STATIC_IMPLIBEXT: $ac_dir/Makefile dummy
349 @cd $ac_dir && \$(MAKE) lib$ac_implib.$STATIC_IMPLIBEXT
350 .PHONY: $ac_dir/__install-dev__ $ac_dir/__uninstall__
351 $ac_dir/__install-dev__:: $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)
352 \$(INSTALL_DATA) $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
353 $ac_dir/__uninstall__::
354 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
355 install install-dev:: $ac_dir/__install-dev__
356 __uninstall__: $ac_dir/__uninstall__"
358 if test "$IMPLIBEXT" != "$STATIC_IMPLIBEXT"
360 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
361 "$ac_dir/__install-dev__:: $ac_file.$STATIC_IMPLIBEXT \$(DESTDIR)\$(dlldir) __builddeps__
362 \$(INSTALL_DATA) $ac_file.$STATIC_IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$STATIC_IMPLIBEXT
363 $ac_dir/__uninstall__::
364 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$STATIC_IMPLIBEXT"
367 if test "x$CROSSTEST_DISABLE" = x
369 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
370 "__builddeps__: $ac_file.cross.a
371 $ac_file.cross.a: $ac_dir/Makefile dummy
372 @cd $ac_dir && \$(MAKE) lib$ac_implib.cross.a"
375 elif wine_fn_has_flag implib $ac_flags
377 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
378 "__builddeps__: $ac_file.$IMPLIBEXT
379 $ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
380 \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec
381 $ac_file.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
382 \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --implib -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec
383 .PHONY: $ac_dir/__install-dev__ $ac_dir/__uninstall__
384 $ac_dir/__install-dev__:: $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)
385 \$(INSTALL_DATA) $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
386 $ac_dir/__uninstall__::
387 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
388 install install-dev:: $ac_dir/__install-dev__
389 __uninstall__: $ac_dir/__uninstall__"
390 if test "x$CROSSTEST_DISABLE" = x
392 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
393 "__builddeps__: $ac_file.cross.a
394 $ac_file.cross.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
395 \$(WINEBUILD) \$(CROSSTARGET:%=-b %)$ac_implibflags -w --implib -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec"
398 if test "$ac_name" != "$ac_implib"
400 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
401 "__builddeps__: dlls/lib$ac_implib.$IMPLIBEXT
402 dlls/lib$ac_implib.$IMPLIBEXT: $ac_file.$IMPLIBEXT
403 \$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.$IMPLIBEXT \$[@]
405 \$(RM) dlls/lib$ac_implib.$IMPLIBEXT"
406 if test "x$CROSSTEST_DISABLE" = x
408 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
409 "__builddeps__: dlls/lib$ac_implib.cross.a
410 dlls/lib$ac_implib.cross.a: $ac_file.cross.a
411 \$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.cross.a \$[@]"
417 wine_fn_config_program ()
420 ac_dir=programs/$ac_name
427 *) ac_program=$ac_program.exe ;;
430 wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" programs/Makeprog.rules
432 AS_VAR_IF([$ac_enable],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
433 "$ac_dir: __builddeps__"
435 if test "x$enable_maintainer_mode" = xyes
437 if wine_fn_has_flag mc $ac_flags
439 wine_fn_append_file ALL_POT_FILES $ac_dir/msg.pot
440 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
441 "$ac_dir/msg.pot: $ac_dir"
443 if wine_fn_has_flag po $ac_flags
445 wine_fn_append_file ALL_POT_FILES $ac_dir/rsrc.pot
446 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
447 "$ac_dir/rsrc.pot: $ac_dir"
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"
483 wine_fn_config_test ()
488 wine_fn_append_file ALL_TEST_RESOURCES $ac_name.res
489 wine_fn_all_dir_rules $ac_dir Maketest.rules
491 AS_VAR_IF([enable_tests],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
494 $ac_dir: $ac_dir/Makefile programs/winetest/Makefile __builddeps__ dummy
495 @cd $ac_dir && \$(MAKE)
496 programs/winetest: $ac_dir
497 check test: $ac_dir/__test__
498 .PHONY: $ac_dir/__test__
499 $ac_dir/__test__: dummy
500 @cd $ac_dir && \$(MAKE) test
504 if test "x$CROSSTEST_DISABLE" = x
506 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
507 "crosstest: $ac_dir/__crosstest__
508 .PHONY: $ac_dir/__crosstest__
509 $ac_dir/__crosstest__: $ac_dir/Makefile __builddeps__ dummy
510 @cd $ac_dir && \$(MAKE) crosstest"
514 wine_fn_config_tool ()
518 AS_VAR_IF([enable_tools],[no],[return 0])
520 wine_fn_config_makefile $ac_dir enable_tools $ac_flags
522 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "__tooldeps__: $ac_dir"
523 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "$ac_dir: libs/port"
525 tools/winebuild) wine_fn_append_rule ALL_MAKEFILE_DEPENDS "\$(WINEBUILD): $ac_dir" ;;
529 wine_fn_config_makerules ()
533 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
534 "$ac_rules: $ac_rules.in $ac_deps config.status
535 @./config.status $ac_rules
540 wine_fn_config_symlink ()
543 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
545 @./config.status $ac_link
550 if test "x$CROSSTEST_DISABLE" != x
552 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
554 @echo \"crosstest is not supported (mingw not installed?)\" && false"
557 dnl **** Define helper function to append a file to a makefile file list ****
559 dnl Usage: WINE_APPEND_FILE(var,file)
561 AC_DEFUN([WINE_APPEND_FILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_file $1 "$2"])
563 dnl **** Define helper function to append a rule to a makefile command list ****
565 dnl Usage: WINE_APPEND_RULE(var,rule)
567 AC_DEFUN([WINE_APPEND_RULE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_rule $1 "$2"])
569 dnl **** Create nonexistent directories from config.status ****
571 dnl Usage: WINE_CONFIG_EXTRA_DIR(dirname)
573 AC_DEFUN([WINE_CONFIG_EXTRA_DIR],
574 [AC_CONFIG_COMMANDS([$1],[test -d "$1" || { AC_MSG_NOTICE([creating $1]); AS_MKDIR_P("$1"); }])])
576 dnl **** Create symlinks from config.status ****
578 dnl Usage: WINE_CONFIG_SYMLINK(name,target,enable)
580 AC_DEFUN([WINE_CONFIG_SYMLINK],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
581 m4_ifval([$3],[if test "x$[$3]" != xno; then
582 ])AC_CONFIG_LINKS([$1:]m4_default([$2],[$1]))dnl
583 m4_if([$2],,[test "$srcdir" = "." || ])wine_fn_config_symlink $1[]m4_ifval([$3],[
586 dnl **** Create a make rules file from config.status ****
588 dnl Usage: WINE_CONFIG_MAKERULES(file,var,deps)
590 AC_DEFUN([WINE_CONFIG_MAKERULES],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
591 wine_fn_config_makerules $1 $3
593 AC_SUBST_FILE([$2])dnl
594 AC_CONFIG_FILES([$1])])
596 dnl **** Create a makefile from config.status ****
598 dnl Usage: WINE_CONFIG_MAKEFILE(file,enable,flags)
600 AC_DEFUN([WINE_CONFIG_MAKEFILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
601 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
602 wine_fn_config_makefile [$1] ac_enable [$3]dnl
603 AS_VAR_POPDEF([ac_enable])])
605 dnl **** Create a dll makefile from config.status ****
607 dnl Usage: WINE_CONFIG_DLL(name,enable,flags,implib)
609 AC_DEFUN([WINE_CONFIG_DLL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
610 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
611 wine_fn_config_dll [$1] ac_enable [$3] [$4]dnl
612 AS_VAR_POPDEF([ac_enable])])
614 dnl **** Create a program makefile from config.status ****
616 dnl Usage: WINE_CONFIG_PROGRAM(name,enable,flags)
618 AC_DEFUN([WINE_CONFIG_PROGRAM],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
619 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
620 wine_fn_config_program [$1] ac_enable [$3]dnl
621 AS_VAR_POPDEF([ac_enable])])
623 dnl **** Create a test makefile from config.status ****
625 dnl Usage: WINE_CONFIG_TEST(dir,flags)
627 AC_DEFUN([WINE_CONFIG_TEST],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
628 m4_pushdef([ac_suffix],m4_if(m4_substr([$1],0,9),[programs/],[.exe_test],[_test]))dnl
629 m4_pushdef([ac_name],[m4_bpatsubst([$1],[.*/\(.*\)/tests$],[\1])])dnl
630 wine_fn_config_test $1 ac_name[]ac_suffix [$2]dnl
631 m4_popdef([ac_suffix])dnl
632 m4_popdef([ac_name])])
634 dnl **** Create a static lib makefile from config.status ****
636 dnl Usage: WINE_CONFIG_LIB(name,flags)
638 AC_DEFUN([WINE_CONFIG_LIB],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
639 wine_fn_config_lib [$1] [$2]])
641 dnl **** Create a tool makefile from config.status ****
643 dnl Usage: WINE_CONFIG_TOOL(name,flags)
645 AC_DEFUN([WINE_CONFIG_TOOL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
646 wine_fn_config_tool [$1] [$2]])
648 dnl **** Add a message to the list displayed at the end ****
650 dnl Usage: WINE_NOTICE(notice)
651 dnl Usage: WINE_NOTICE_WITH(with_flag, test, notice)
652 dnl Usage: WINE_WARNING(warning)
653 dnl Usage: WINE_WARNING_WITH(with_flag, test, warning)
654 dnl Usage: WINE_PRINT_MESSAGES
656 AC_DEFUN([WINE_NOTICE],[AS_VAR_APPEND([wine_notices],["|$1"])])
657 AC_DEFUN([WINE_WARNING],[AS_VAR_APPEND([wine_warnings],["|$1"])])
659 AC_DEFUN([WINE_NOTICE_WITH],[AS_IF([$2],[case "x$with_$1" in
660 x) WINE_NOTICE([$3]) ;;
663 This is an error since --with-$1 was requested.]) ;;
666 AC_DEFUN([WINE_WARNING_WITH],[AS_IF([$2],[case "x$with_$1" in
667 x) WINE_WARNING([$3]) ;;
670 This is an error since --with-$1 was requested.]) ;;
673 AC_DEFUN([WINE_ERROR_WITH],[AS_IF([$2],[case "x$with_$1" in
676 Use the --without-$1 option if you really want this.]) ;;
679 AC_DEFUN([WINE_PRINT_MESSAGES],[ac_save_IFS="$IFS"
680 if test "x$wine_notices != "x; then
683 for msg in $wine_notices; do
685 if test -n "$msg"; then
686 AC_MSG_NOTICE([$msg])
691 for msg in $wine_warnings; do
693 if test -n "$msg"; then
701 dnl compile-command: "autoreconf --warnings=all"