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_append_rule ALL_MAKEFILE_DEPENDS \
295 "$ac_dir: __builddeps__
296 manpages htmlpages sgmlpages xmlpages:: $ac_dir/Makefile
297 @cd $ac_dir && \$(MAKE) \$[@]"
299 if wine_fn_has_flag install-lib $ac_flags
302 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
303 ".PHONY: $ac_dir/__install-lib__ $ac_dir/__uninstall__
304 install install-lib:: $ac_dir/__install-lib__
305 __uninstall__: $ac_dir/__uninstall__"
308 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
309 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir) \$(DESTDIR)\$(fakedlldir)
310 \$(INSTALL_PROGRAM) $ac_dir/$ac_dll$DLLEXT \$(DESTDIR)\$(dlldir)/$ac_dll$DLLEXT
311 \$(INSTALL_DATA) $ac_dir/$ac_dll.fake \$(DESTDIR)\$(fakedlldir)/$ac_dll
312 $ac_dir/__uninstall__::
313 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_dll$DLLEXT \$(DESTDIR)\$(fakedlldir)/$ac_dll"
315 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
316 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir)
317 \$(INSTALL_PROGRAM) $ac_dir/$ac_dll \$(DESTDIR)\$(dlldir)/$ac_dll
318 $ac_dir/__uninstall__::
319 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_dll"
323 if test "x$enable_maintainer_mode" = xyes
325 if wine_fn_has_flag mc $ac_flags
327 wine_fn_append_file ALL_POT_FILES $ac_dir/msg.pot
328 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
329 "$ac_dir/msg.pot: $ac_dir"
331 if wine_fn_has_flag po $ac_flags
333 wine_fn_append_file ALL_POT_FILES $ac_dir/rsrc.pot
334 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
335 "$ac_dir/rsrc.pot: $ac_dir"
339 if wine_fn_has_flag staticimplib $ac_flags
341 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
342 "__builddeps__: $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT
343 $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: $ac_deps
344 $ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile
345 @cd $ac_dir && \$(MAKE) lib$ac_implib.def
346 $ac_file.$STATIC_IMPLIBEXT: $ac_dir/Makefile dummy
347 @cd $ac_dir && \$(MAKE) lib$ac_implib.$STATIC_IMPLIBEXT
348 .PHONY: $ac_dir/__install-dev__ $ac_dir/__uninstall__
349 $ac_dir/__install-dev__:: $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)
350 \$(INSTALL_DATA) $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
351 $ac_dir/__uninstall__::
352 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
353 install install-dev:: $ac_dir/__install-dev__
354 __uninstall__: $ac_dir/__uninstall__"
356 if test "$IMPLIBEXT" != "$STATIC_IMPLIBEXT"
358 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
359 "$ac_dir/__install-dev__:: $ac_file.$STATIC_IMPLIBEXT \$(DESTDIR)\$(dlldir) __builddeps__
360 \$(INSTALL_DATA) $ac_file.$STATIC_IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$STATIC_IMPLIBEXT
361 $ac_dir/__uninstall__::
362 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$STATIC_IMPLIBEXT"
365 if test "x$CROSSTEST_DISABLE" = x
367 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
368 "__builddeps__: $ac_file.cross.a
369 $ac_file.cross.a: $ac_dir/Makefile dummy
370 @cd $ac_dir && \$(MAKE) lib$ac_implib.cross.a"
373 elif wine_fn_has_flag implib $ac_flags
375 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
376 "__builddeps__: $ac_file.$IMPLIBEXT
377 $ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
378 \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec
379 $ac_file.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
380 \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --implib -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec
381 .PHONY: $ac_dir/__install-dev__ $ac_dir/__uninstall__
382 $ac_dir/__install-dev__:: $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)
383 \$(INSTALL_DATA) $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
384 $ac_dir/__uninstall__::
385 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
386 install install-dev:: $ac_dir/__install-dev__
387 __uninstall__: $ac_dir/__uninstall__"
388 if test "x$CROSSTEST_DISABLE" = x
390 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
391 "__builddeps__: $ac_file.cross.a
392 $ac_file.cross.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
393 \$(WINEBUILD) \$(CROSSTARGET:%=-b %)$ac_implibflags -w --implib -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec"
396 if test "$ac_name" != "$ac_implib"
398 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
399 "__builddeps__: dlls/lib$ac_implib.$IMPLIBEXT
400 dlls/lib$ac_implib.$IMPLIBEXT: $ac_file.$IMPLIBEXT
401 \$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.$IMPLIBEXT \$[@]
403 \$(RM) dlls/lib$ac_implib.$IMPLIBEXT"
404 if test "x$CROSSTEST_DISABLE" = x
406 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
407 "__builddeps__: dlls/lib$ac_implib.cross.a
408 dlls/lib$ac_implib.cross.a: $ac_file.cross.a
409 \$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.cross.a \$[@]"
415 wine_fn_config_program ()
418 ac_dir=programs/$ac_name
425 *) ac_program=$ac_program.exe ;;
428 wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" programs/Makeprog.rules
430 AS_VAR_IF([$ac_enable],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
431 "$ac_dir: __builddeps__"
433 if test "x$enable_maintainer_mode" = xyes
435 if wine_fn_has_flag mc $ac_flags
437 wine_fn_append_file ALL_POT_FILES $ac_dir/msg.pot
438 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
439 "$ac_dir/msg.pot: $ac_dir"
441 if wine_fn_has_flag po $ac_flags
443 wine_fn_append_file ALL_POT_FILES $ac_dir/rsrc.pot
444 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
445 "$ac_dir/rsrc.pot: $ac_dir"
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"
481 wine_fn_config_test ()
486 wine_fn_append_file ALL_TEST_RESOURCES $ac_name.res
487 wine_fn_all_dir_rules $ac_dir Maketest.rules
489 AS_VAR_IF([enable_tests],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
492 $ac_dir: $ac_dir/Makefile programs/winetest/Makefile __builddeps__ dummy
493 @cd $ac_dir && \$(MAKE)
494 programs/winetest: $ac_dir
495 check test: $ac_dir/__test__
496 .PHONY: $ac_dir/__test__
497 $ac_dir/__test__: dummy
498 @cd $ac_dir && \$(MAKE) test
502 if test "x$CROSSTEST_DISABLE" = x
504 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
505 "crosstest: $ac_dir/__crosstest__
506 .PHONY: $ac_dir/__crosstest__
507 $ac_dir/__crosstest__: $ac_dir/Makefile __builddeps__ dummy
508 @cd $ac_dir && \$(MAKE) crosstest"
512 wine_fn_config_tool ()
516 AS_VAR_IF([enable_tools],[no],[return 0])
518 wine_fn_config_makefile $ac_dir enable_tools $ac_flags
520 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "__tooldeps__: $ac_dir"
521 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "$ac_dir: libs/port"
523 tools/winebuild) wine_fn_append_rule ALL_MAKEFILE_DEPENDS "\$(WINEBUILD): $ac_dir" ;;
527 wine_fn_config_makerules ()
531 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
532 "$ac_rules: $ac_rules.in $ac_deps config.status
533 @./config.status $ac_rules
538 wine_fn_config_symlink ()
541 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
543 @./config.status $ac_link
548 if test "x$CROSSTEST_DISABLE" != x
550 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
552 @echo \"crosstest is not supported (mingw not installed?)\" && false"
555 dnl **** Define helper function to append a file to a makefile file list ****
557 dnl Usage: WINE_APPEND_FILE(var,file)
559 AC_DEFUN([WINE_APPEND_FILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_file $1 "$2"])
561 dnl **** Define helper function to append a rule to a makefile command list ****
563 dnl Usage: WINE_APPEND_RULE(var,rule)
565 AC_DEFUN([WINE_APPEND_RULE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_rule $1 "$2"])
567 dnl **** Create nonexistent directories from config.status ****
569 dnl Usage: WINE_CONFIG_EXTRA_DIR(dirname)
571 AC_DEFUN([WINE_CONFIG_EXTRA_DIR],
572 [AC_CONFIG_COMMANDS([$1],[test -d "$1" || { AC_MSG_NOTICE([creating $1]); AS_MKDIR_P("$1"); }])])
574 dnl **** Create symlinks from config.status ****
576 dnl Usage: WINE_CONFIG_SYMLINK(name,target,enable)
578 AC_DEFUN([WINE_CONFIG_SYMLINK],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
579 m4_ifval([$3],[if test "x$[$3]" != xno; then
580 ])AC_CONFIG_LINKS([$1:]m4_default([$2],[$1]))dnl
581 m4_if([$2],,[test "$srcdir" = "." || ])wine_fn_config_symlink $1[]m4_ifval([$3],[
584 dnl **** Create a make rules file from config.status ****
586 dnl Usage: WINE_CONFIG_MAKERULES(file,var,deps)
588 AC_DEFUN([WINE_CONFIG_MAKERULES],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
589 wine_fn_config_makerules $1 $3
591 AC_SUBST_FILE([$2])dnl
592 AC_CONFIG_FILES([$1])])
594 dnl **** Create a makefile from config.status ****
596 dnl Usage: WINE_CONFIG_MAKEFILE(file,enable,flags)
598 AC_DEFUN([WINE_CONFIG_MAKEFILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
599 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
600 wine_fn_config_makefile [$1] ac_enable [$3]dnl
601 AS_VAR_POPDEF([ac_enable])])
603 dnl **** Create a dll makefile from config.status ****
605 dnl Usage: WINE_CONFIG_DLL(name,enable,flags,implib)
607 AC_DEFUN([WINE_CONFIG_DLL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
608 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
609 wine_fn_config_dll [$1] ac_enable [$3] [$4]dnl
610 AS_VAR_POPDEF([ac_enable])])
612 dnl **** Create a program makefile from config.status ****
614 dnl Usage: WINE_CONFIG_PROGRAM(name,enable,flags)
616 AC_DEFUN([WINE_CONFIG_PROGRAM],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
617 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
618 wine_fn_config_program [$1] ac_enable [$3]dnl
619 AS_VAR_POPDEF([ac_enable])])
621 dnl **** Create a test makefile from config.status ****
623 dnl Usage: WINE_CONFIG_TEST(dir,flags)
625 AC_DEFUN([WINE_CONFIG_TEST],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
626 m4_pushdef([ac_suffix],m4_if(m4_substr([$1],0,9),[programs/],[.exe_test],[_test]))dnl
627 m4_pushdef([ac_name],[m4_bpatsubst([$1],[.*/\(.*\)/tests$],[\1])])dnl
628 wine_fn_config_test $1 ac_name[]ac_suffix [$2]dnl
629 m4_popdef([ac_suffix])dnl
630 m4_popdef([ac_name])])
632 dnl **** Create a static lib makefile from config.status ****
634 dnl Usage: WINE_CONFIG_LIB(name,flags)
636 AC_DEFUN([WINE_CONFIG_LIB],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
637 wine_fn_config_lib [$1] [$2]])
639 dnl **** Create a tool makefile from config.status ****
641 dnl Usage: WINE_CONFIG_TOOL(name,flags)
643 AC_DEFUN([WINE_CONFIG_TOOL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
644 wine_fn_config_tool [$1] [$2]])
646 dnl **** Add a message to the list displayed at the end ****
648 dnl Usage: WINE_NOTICE(notice)
649 dnl Usage: WINE_NOTICE_WITH(with_flag, test, notice)
650 dnl Usage: WINE_WARNING(warning)
651 dnl Usage: WINE_WARNING_WITH(with_flag, test, warning)
652 dnl Usage: WINE_PRINT_MESSAGES
654 AC_DEFUN([WINE_NOTICE],[AS_VAR_APPEND([wine_notices],["|$1"])])
655 AC_DEFUN([WINE_WARNING],[AS_VAR_APPEND([wine_warnings],["|$1"])])
657 AC_DEFUN([WINE_NOTICE_WITH],[AS_IF([$2],[case "x$with_$1" in
658 x) WINE_NOTICE([$3]) ;;
661 This is an error since --with-$1 was requested.]) ;;
664 AC_DEFUN([WINE_WARNING_WITH],[AS_IF([$2],[case "x$with_$1" in
665 x) WINE_WARNING([$3]) ;;
668 This is an error since --with-$1 was requested.]) ;;
671 AC_DEFUN([WINE_ERROR_WITH],[AS_IF([$2],[case "x$with_$1" in
674 Use the --without-$1 option if you really want this.]) ;;
677 AC_DEFUN([WINE_PRINT_MESSAGES],[ac_save_IFS="$IFS"
678 if test "x$wine_notices != "x; then
681 for msg in $wine_notices; do
683 if test -n "$msg"; then
684 AC_MSG_NOTICE([$msg])
689 for msg in $wine_warnings; do
691 if test -n "$msg"; then
699 dnl compile-command: "autoreconf --warnings=all"