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 **** Initialize the programs used by other checks ****
27 dnl Usage: WINE_PATH_SONAME_TOOLS
28 dnl Usage: WINE_PATH_PKG_CONFIG
30 AC_DEFUN([WINE_PATH_SONAME_TOOLS],
31 [AC_PATH_PROG(LDD,ldd,true,/sbin:/usr/sbin:$PATH)
32 AC_CHECK_TOOL(READELF,[readelf],true)])
34 AC_DEFUN([WINE_PATH_PKG_CONFIG],
35 [AC_CHECK_TOOL(PKG_CONFIG,[pkg-config])])
37 dnl **** Extract the soname of a library ****
39 dnl Usage: WINE_CHECK_SONAME(library, function, [action-if-found, [action-if-not-found, [other_libraries, [pattern]]]])
41 AC_DEFUN([WINE_CHECK_SONAME],
42 [AC_REQUIRE([WINE_PATH_SONAME_TOOLS])dnl
43 AS_VAR_PUSHDEF([ac_Lib],[ac_cv_lib_soname_$1])dnl
44 m4_pushdef([ac_lib_pattern],m4_default([$6],[lib$1]))dnl
45 AC_MSG_CHECKING([for -l$1])
47 [ac_check_soname_save_LIBS=$LIBS
49 AC_LINK_IFELSE([AC_LANG_CALL([], [$2])],
51 dll) AS_VAR_SET(ac_Lib,[`$ac_cv_path_LDD conftest.exe | grep "$1" | sed -e "s/dll.*/dll/"';2,$d'`]) ;;
52 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'`]) ;;
53 *) AS_VAR_SET(ac_Lib,[`$READELF -d conftest$ac_exeext | grep "NEEDED.*ac_lib_pattern\\.$LIBEXT" | sed -e "s/^.*\\m4_dquote(\\(ac_lib_pattern\\.$LIBEXT[[^ ]]*\\)\\).*$/\1/"';2,$d'`])
54 AS_IF([test "x]AS_VAR_GET(ac_Lib)[" = x],
55 [AS_VAR_SET(ac_Lib,[`$LDD conftest$ac_exeext | grep "ac_lib_pattern\\.$LIBEXT" | sed -e "s/^.*\(ac_lib_pattern\.$LIBEXT[[^ ]]*\).*$/\1/"';2,$d'`])]) ;;
57 LIBS=$ac_check_soname_save_LIBS])dnl
58 AS_IF([test "x]AS_VAR_GET(ac_Lib)[" = "x"],
59 [AC_MSG_RESULT([not found])
61 [AC_MSG_RESULT(AS_VAR_GET(ac_Lib))
62 AC_DEFINE_UNQUOTED(AS_TR_CPP(SONAME_LIB$1),["]AS_VAR_GET(ac_Lib)["],
63 [Define to the soname of the lib$1 library.])
65 m4_popdef([ac_lib_pattern])dnl
66 AS_VAR_POPDEF([ac_Lib])])
68 dnl **** Get flags from pkg-config or alternate xxx-config program ****
70 dnl Usage: WINE_PACKAGE_FLAGS(var,pkg-name,[default-lib,[cflags-alternate,libs-alternate,[checks]]])
72 AC_DEFUN([WINE_PACKAGE_FLAGS],
73 [AC_REQUIRE([WINE_PATH_PKG_CONFIG])dnl
74 AS_VAR_PUSHDEF([ac_cflags],[[$1]_CFLAGS])dnl
75 AS_VAR_PUSHDEF([ac_libs],[[$1]_LIBS])dnl
76 AC_ARG_VAR(ac_cflags, [C compiler flags for $2, overriding pkg-config])dnl
77 AS_IF([test -n "$ac_cflags"],[],
78 [test -n "$PKG_CONFIG"],
79 [ac_cflags=`$PKG_CONFIG --cflags [$2] 2>/dev/null`])
80 m4_ifval([$4],[ac_cflags=[$]{ac_cflags:-[$4]}])
81 AC_ARG_VAR(ac_libs, [Linker flags for $2, overriding pkg-config])dnl
82 AS_IF([test -n "$ac_libs"],[],
83 [test -n "$PKG_CONFIG"],
84 [ac_libs=`$PKG_CONFIG --libs [$2] 2>/dev/null`])
85 m4_ifval([$5],[ac_libs=[$]{ac_libs:-[$5]}])
86 m4_ifval([$3],[ac_libs=[$]{ac_libs:-"$3"}])
87 ac_save_CPPFLAGS=$CPPFLAGS
88 CPPFLAGS="$CPPFLAGS $ac_cflags"
90 CPPFLAGS=$ac_save_CPPFLAGS
91 AS_VAR_POPDEF([ac_libs])dnl
92 AS_VAR_POPDEF([ac_cflags])])dnl
94 dnl **** Link C code with an assembly file ****
96 dnl Usage: WINE_TRY_ASM_LINK(asm-code,includes,function,[action-if-found,[action-if-not-found]])
98 AC_DEFUN([WINE_TRY_ASM_LINK],
99 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[$2]],[[asm($1); $3]])],[$4],[$5])])
101 dnl **** Check if we can link an empty program with special CFLAGS ****
103 dnl Usage: WINE_TRY_CFLAGS(flags,[action-if-yes,[action-if-no]])
105 dnl The default action-if-yes is to append the flags to EXTRACFLAGS.
107 AC_DEFUN([WINE_TRY_CFLAGS],
108 [AS_VAR_PUSHDEF([ac_var], ac_cv_cflags_[[$1]])dnl
109 AC_CACHE_CHECK([whether the compiler supports $1], ac_var,
110 [ac_wine_try_cflags_saved=$CFLAGS
112 AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv) { return 0; }]])],
113 [AS_VAR_SET(ac_var,yes)], [AS_VAR_SET(ac_var,no)])
114 CFLAGS=$ac_wine_try_cflags_saved])
115 AS_IF([test AS_VAR_GET(ac_var) = yes],
116 [m4_default([$2], [EXTRACFLAGS="$EXTRACFLAGS $1"])], [$3])dnl
117 AS_VAR_POPDEF([ac_var])])
119 dnl **** Check if we can link an empty shared lib (no main) with special CFLAGS ****
121 dnl Usage: WINE_TRY_SHLIB_FLAGS(flags,[action-if-yes,[action-if-no]])
123 AC_DEFUN([WINE_TRY_SHLIB_FLAGS],
124 [ac_wine_try_cflags_saved=$CFLAGS
126 AC_LINK_IFELSE([AC_LANG_SOURCE([void myfunc() {}])],[$2],[$3])
127 CFLAGS=$ac_wine_try_cflags_saved])
129 dnl **** Check whether we need to define a symbol on the compiler command line ****
131 dnl Usage: WINE_CHECK_DEFINE(name),[action-if-yes,[action-if-no]])
133 AC_DEFUN([WINE_CHECK_DEFINE],
134 [AS_VAR_PUSHDEF([ac_var],[ac_cv_cpp_def_$1])dnl
135 AC_CACHE_CHECK([whether we need to define $1],ac_var,
136 AC_EGREP_CPP(yes,[#ifndef $1
139 [AS_VAR_SET(ac_var,yes)],[AS_VAR_SET(ac_var,no)]))
140 AS_IF([test AS_VAR_GET(ac_var) = yes],
141 [CFLAGS="$CFLAGS -D$1"
142 LINTFLAGS="$LINTFLAGS -D$1"])dnl
143 AS_VAR_POPDEF([ac_var])])
145 dnl **** Check for functions with some extra libraries ****
147 dnl Usage: WINE_CHECK_LIB_FUNCS(funcs,libs,[action-if-found,[action-if-not-found]])
149 AC_DEFUN([WINE_CHECK_LIB_FUNCS],
150 [ac_wine_check_funcs_save_LIBS="$LIBS"
152 AC_CHECK_FUNCS([$1],[$3],[$4])
153 LIBS="$ac_wine_check_funcs_save_LIBS"])
155 dnl **** Check for a mingw program, trying the various mingw prefixes ****
157 dnl Usage: WINE_CHECK_MINGW_PROG(variable,prog,[value-if-not-found],[path])
159 AC_DEFUN([WINE_CHECK_MINGW_PROG],
162 ac_prefix_list="m4_foreach([ac_wine_prefix],[w64-mingw32, pc-mingw32, mingw32msvc, mingw32],
163 m4_foreach([ac_wine_cpu],[i686,i586,i486,i386],[ac_wine_cpu-ac_wine_prefix-$2 ]))
166 ac_prefix_list="m4_foreach([ac_wine_prefix],[pc-mingw32, w64-mingw32, mingw32msvc],
167 m4_foreach([ac_wine_cpu],[x86_64,amd64],[ac_wine_cpu-ac_wine_prefix-$2 ]))" ;;
171 AC_CHECK_PROGS([$1],[$ac_prefix_list],[$3],[$4])])
174 dnl **** Define helper functions for creating config.status files ****
176 dnl Usage: AC_REQUIRE([WINE_CONFIG_HELPERS])
178 AC_DEFUN([WINE_CONFIG_HELPERS],
179 [ALL_MAKEFILE_DEPENDS="
180 # Rules automatically generated by configure
185 Makefile: Makefile.in Make.vars.in Make.rules config.status
186 @./config.status Make.tmp Makefile"
189 AC_SUBST(ALL_TEST_RESOURCES,"")
191 wine_fn_append_file ()
193 AS_VAR_APPEND($[1]," \\$as_nl $[2]")
196 wine_fn_append_rule ()
198 AS_VAR_APPEND($[1],"$as_nl$[2]")
203 expr ",$[2]," : ".*,$[1],.*" >/dev/null
206 wine_fn_all_dir_rules ()
210 ac_makedep="\$(MAKEDEP)"
211 ac_input=Make.vars.in:$ac_dir/Makefile.in
212 if test $ac_dir != tools
214 dnl makedep is in tools so tools makefile cannot depend on it
215 ac_alldeps="$[2] $ac_makedep"
217 ac_alldeps="$[2] include/config.h"
220 *.in) ac_input=$ac_input:$[2] ;;
221 *) ac_makedep="$[2] $ac_makedep" ;;
224 wine_fn_append_file ALL_DIRS $ac_dir
225 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
226 "__clean__: $ac_dir/__clean__
227 .PHONY: $ac_dir/__clean__
228 $ac_dir/__clean__: $ac_dir/Makefile
229 @cd $ac_dir && \$(MAKE) clean
230 \$(RM) $ac_dir/Makefile
231 $ac_dir/Makefile: $ac_dir/Makefile.in Make.vars.in config.status $ac_alldeps
232 @./config.status --file $ac_dir/Makefile:$ac_input && cd $ac_dir && \$(MAKE) depend
233 depend: $ac_dir/__depend__
234 .PHONY: $ac_dir/__depend__
235 $ac_dir/__depend__: $ac_makedep dummy
236 @./config.status --file $ac_dir/Makefile:$ac_input && cd $ac_dir && \$(MAKE) depend"
244 test "x$with_gettextpo" = xyes || return
246 if wine_fn_has_flag mc $ac_flags
248 wine_fn_append_file ALL_POT_FILES $ac_dir/msg.pot
249 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
250 "$ac_dir/msg.pot: $ac_dir/Makefile dummy
251 @cd $ac_dir && \$(MAKE) msg.pot
252 $ac_dir/msg.pot: tools/wmc include"
254 if wine_fn_has_flag po $ac_flags
256 wine_fn_append_file ALL_POT_FILES $ac_dir/rsrc.pot
257 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
258 "$ac_dir/rsrc.pot: $ac_dir/Makefile dummy
259 @cd $ac_dir && \$(MAKE) rsrc.pot
260 $ac_dir/rsrc.pot: tools/wrc include"
264 wine_fn_config_makefile ()
270 AS_VAR_IF([$ac_enable],[no],[return 0])
272 wine_fn_all_dir_rules $ac_dir ${ac_rules:-Make.rules}
273 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
276 $ac_dir: $ac_dir/Makefile dummy
277 @cd $ac_dir && \$(MAKE)"
279 wine_fn_has_flag install-lib $ac_flags || wine_fn_has_flag install-dev $ac_flags || return
281 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
282 ".PHONY: $ac_dir/__install__ $ac_dir/__uninstall__
283 $ac_dir/__install__:: $ac_dir
284 @cd $ac_dir && \$(MAKE) install
285 $ac_dir/__uninstall__:: $ac_dir/Makefile
286 @cd $ac_dir && \$(MAKE) uninstall
287 install:: $ac_dir/__install__
288 __uninstall__: $ac_dir/__uninstall__"
290 if wine_fn_has_flag install-lib $ac_flags
292 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
293 ".PHONY: $ac_dir/__install-lib__
294 $ac_dir/__install-lib__:: $ac_dir
295 @cd $ac_dir && \$(MAKE) install-lib
296 install-lib:: $ac_dir/__install-lib__"
299 if wine_fn_has_flag install-dev $ac_flags
301 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
302 ".PHONY: $ac_dir/__install-dev
303 $ac_dir/__install-dev__:: $ac_dir
304 @cd $ac_dir && \$(MAKE) install-dev
305 install-dev:: $ac_dir/__install-dev__"
309 wine_fn_config_lib ()
314 wine_fn_config_makefile $ac_dir enable_$ac_name "$ac_flags" dlls/Makeimplib.rules
316 if wine_fn_has_flag install-dev $ac_flags
319 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
320 ".PHONY: $ac_dir/__install__ $ac_dir/__uninstall__
321 $ac_dir/__install__:: $ac_dir \$(DESTDIR)\$(dlldir)
322 \$(INSTALL_DATA) $ac_dir/lib$ac_name.a \$(DESTDIR)\$(dlldir)/lib$ac_name.a
323 $ac_dir/__uninstall__::
324 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_name.a
325 install install-dev:: $ac_dir/__install__
326 __uninstall__: $ac_dir/__uninstall__"
329 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "__builddeps__: $ac_dir"
330 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "$ac_dir: tools/widl tools/winebuild tools/winegcc include"
333 wine_fn_config_dll ()
339 ac_implib=${4:-$ac_name}
340 ac_file=$ac_dir/lib$ac_implib
342 ac_deps="tools/widl tools/winebuild tools/winegcc include"
346 *16) ac_implibflags=" -m16" ;;
348 *) ac_dll=$ac_dll.dll ;;
351 wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" dlls/Makedll.rules
353 AS_VAR_IF([$ac_enable],[no],
354 dnl enable_win16 is special in that it disables import libs too
355 [test "$ac_enable" != enable_win16 || return 0
356 wine_fn_has_flag implib $ac_flags && wine_fn_all_dir_rules $ac_dir dlls/Makedll.rules],
358 [wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
359 "$ac_dir: __builddeps__
360 manpages htmlpages sgmlpages xmlpages:: $ac_dir/Makefile
361 @cd $ac_dir && \$(MAKE) \$[@]"
363 if wine_fn_has_flag install-lib $ac_flags
366 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
367 ".PHONY: $ac_dir/__install-lib__ $ac_dir/__uninstall__
368 install install-lib:: $ac_dir/__install-lib__
369 __uninstall__: $ac_dir/__uninstall__"
372 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
373 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir) \$(DESTDIR)\$(fakedlldir)
374 \$(INSTALL_PROGRAM) $ac_dir/$ac_dll$DLLEXT \$(DESTDIR)\$(dlldir)/$ac_dll$DLLEXT
375 \$(INSTALL_DATA) $ac_dir/$ac_dll.fake \$(DESTDIR)\$(fakedlldir)/$ac_dll
376 $ac_dir/__uninstall__::
377 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_dll$DLLEXT \$(DESTDIR)\$(fakedlldir)/$ac_dll"
379 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
380 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir)
381 \$(INSTALL_PROGRAM) $ac_dir/$ac_dll \$(DESTDIR)\$(dlldir)/$ac_dll
382 $ac_dir/__uninstall__::
383 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_dll"
387 wine_fn_pot_rules $ac_dir $ac_flags])
389 if wine_fn_has_flag staticimplib $ac_flags
391 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
392 "__builddeps__: $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT
393 $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: $ac_deps
394 $ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile
395 @cd $ac_dir && \$(MAKE) lib$ac_implib.def
396 $ac_file.$STATIC_IMPLIBEXT: $ac_dir/Makefile dummy
397 @cd $ac_dir && \$(MAKE) lib$ac_implib.$STATIC_IMPLIBEXT
398 .PHONY: $ac_dir/__install-dev__ $ac_dir/__uninstall__
399 $ac_dir/__install-dev__:: $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)
400 \$(INSTALL_DATA) $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
401 $ac_dir/__uninstall__::
402 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
403 install install-dev:: $ac_dir/__install-dev__
404 __uninstall__: $ac_dir/__uninstall__"
406 if test "$IMPLIBEXT" != "$STATIC_IMPLIBEXT"
408 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
409 "$ac_dir/__install-dev__:: $ac_file.$STATIC_IMPLIBEXT \$(DESTDIR)\$(dlldir) __builddeps__
410 \$(INSTALL_DATA) $ac_file.$STATIC_IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$STATIC_IMPLIBEXT
411 $ac_dir/__uninstall__::
412 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$STATIC_IMPLIBEXT"
415 if test "x$CROSSTEST_DISABLE" = x
417 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
418 "__builddeps__: $ac_file.cross.a
419 $ac_file.cross.a: $ac_dir/Makefile dummy
420 @cd $ac_dir && \$(MAKE) lib$ac_implib.cross.a"
423 elif wine_fn_has_flag implib $ac_flags
425 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
426 "__builddeps__: $ac_file.$IMPLIBEXT
427 $ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
428 \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec
429 $ac_file.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
430 \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --implib -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec
431 .PHONY: $ac_dir/__install-dev__ $ac_dir/__uninstall__
432 $ac_dir/__install-dev__:: $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)
433 \$(INSTALL_DATA) $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
434 $ac_dir/__uninstall__::
435 \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
436 install install-dev:: $ac_dir/__install-dev__
437 __uninstall__: $ac_dir/__uninstall__"
438 if test "x$CROSSTEST_DISABLE" = x
440 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
441 "__builddeps__: $ac_file.cross.a
442 $ac_file.cross.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
443 \$(WINEBUILD) \$(CROSSTARGET:%=-b %)$ac_implibflags -w --implib -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec"
446 if test "$ac_name" != "$ac_implib"
448 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
449 "__builddeps__: dlls/lib$ac_implib.$IMPLIBEXT
450 dlls/lib$ac_implib.$IMPLIBEXT: $ac_file.$IMPLIBEXT
451 \$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.$IMPLIBEXT \$[@]
453 \$(RM) dlls/lib$ac_implib.$IMPLIBEXT"
454 if test "x$CROSSTEST_DISABLE" = x
456 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
457 "__builddeps__: dlls/lib$ac_implib.cross.a
458 dlls/lib$ac_implib.cross.a: $ac_file.cross.a
459 \$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.cross.a \$[@]"
465 wine_fn_config_program ()
468 ac_dir=programs/$ac_name
475 *) ac_program=$ac_program.exe ;;
478 wine_fn_config_makefile $ac_dir $ac_enable "$ac_flags" programs/Makeprog.rules
480 AS_VAR_IF([$ac_enable],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
481 "$ac_dir: __builddeps__"
483 wine_fn_pot_rules $ac_dir $ac_flags
485 wine_fn_has_flag install $ac_flags || return
486 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
487 ".PHONY: $ac_dir/__install__ $ac_dir/__uninstall__
488 install install-lib:: $ac_dir/__install__
489 __uninstall__: $ac_dir/__uninstall__"
493 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
494 "$ac_dir/__install__:: $ac_dir \$(DESTDIR)\$(dlldir) \$(DESTDIR)\$(fakedlldir)
495 \$(INSTALL_PROGRAM) $ac_dir/$ac_program$DLLEXT \$(DESTDIR)\$(dlldir)/$ac_program$DLLEXT
496 \$(INSTALL_DATA) $ac_dir/$ac_program.fake \$(DESTDIR)\$(fakedlldir)/$ac_program
497 $ac_dir/__uninstall__::
498 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_program$DLLEXT \$(DESTDIR)\$(fakedlldir)/$ac_program"
500 if test "x$enable_tools" != xno && wine_fn_has_flag installbin $ac_flags
502 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
503 "$ac_dir/__install__:: tools \$(DESTDIR)\$(bindir)
504 \$(INSTALL_SCRIPT) tools/wineapploader \$(DESTDIR)\$(bindir)/$ac_name
505 $ac_dir/__uninstall__::
506 \$(RM) \$(DESTDIR)\$(bindir)/$ac_name"
509 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
510 "$ac_dir/__install-lib__:: $ac_dir \$(DESTDIR)\$(dlldir)
511 \$(INSTALL_PROGRAM) $ac_dir/$ac_program \$(DESTDIR)\$(dlldir)/$ac_program
512 $ac_dir/__uninstall__::
513 \$(RM) \$(DESTDIR)\$(dlldir)/$ac_program"
516 if test "x$enable_tools" != xno && wine_fn_has_flag manpage $ac_flags
518 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
519 "$ac_dir/__install__:: $ac_dir \$(DESTDIR)\$(mandir)/man\$(prog_manext)
520 \$(INSTALL_DATA) $ac_dir/$ac_name.man \$(DESTDIR)\$(mandir)/man\$(prog_manext)/$ac_name.\$(prog_manext)
521 $ac_dir/__uninstall__::
522 \$(RM) \$(DESTDIR)\$(mandir)/man\$(prog_manext)/$ac_name.\$(prog_manext)"
526 wine_fn_config_test ()
531 wine_fn_append_file ALL_TEST_RESOURCES $ac_name.res
532 wine_fn_all_dir_rules $ac_dir Maketest.rules
534 AS_VAR_IF([enable_tests],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
537 $ac_dir: $ac_dir/Makefile programs/winetest/Makefile __builddeps__ dummy
538 @cd $ac_dir && \$(MAKE)
539 programs/winetest: $ac_dir
540 check test: $ac_dir/__test__
541 .PHONY: $ac_dir/__test__
542 $ac_dir/__test__: dummy
543 @cd $ac_dir && \$(MAKE) test
547 if test "x$CROSSTEST_DISABLE" = x
549 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
550 "crosstest: $ac_dir/__crosstest__
551 .PHONY: $ac_dir/__crosstest__
552 $ac_dir/__crosstest__: $ac_dir/Makefile __builddeps__ dummy
553 @cd $ac_dir && \$(MAKE) crosstest"
557 wine_fn_config_tool ()
561 AS_VAR_IF([enable_tools],[no],[return 0])
563 wine_fn_config_makefile $ac_dir enable_tools $ac_flags
565 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "__tooldeps__: $ac_dir"
566 wine_fn_append_rule ALL_MAKEFILE_DEPENDS "$ac_dir: libs/port"
568 tools/winebuild) wine_fn_append_rule ALL_MAKEFILE_DEPENDS "\$(WINEBUILD): $ac_dir" ;;
572 wine_fn_config_makerules ()
576 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
577 "$ac_rules: $ac_rules.in $ac_deps config.status
578 @./config.status $ac_rules
583 wine_fn_config_symlink ()
586 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
588 @./config.status $ac_link
593 if test "x$CROSSTEST_DISABLE" != x
595 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
597 @echo \"crosstest is not supported (mingw not installed?)\" && false"
600 dnl **** Define helper function to append a file to a makefile file list ****
602 dnl Usage: WINE_APPEND_FILE(var,file)
604 AC_DEFUN([WINE_APPEND_FILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_file $1 "$2"])
606 dnl **** Define helper function to append a rule to a makefile command list ****
608 dnl Usage: WINE_APPEND_RULE(var,rule)
610 AC_DEFUN([WINE_APPEND_RULE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_rule $1 "$2"])
612 dnl **** Create nonexistent directories from config.status ****
614 dnl Usage: WINE_CONFIG_EXTRA_DIR(dirname)
616 AC_DEFUN([WINE_CONFIG_EXTRA_DIR],
617 [AC_CONFIG_COMMANDS([$1],[test -d "$1" || { AC_MSG_NOTICE([creating $1]); AS_MKDIR_P("$1"); }])])
619 dnl **** Create symlinks from config.status ****
621 dnl Usage: WINE_CONFIG_SYMLINK(name,target,enable)
623 AC_DEFUN([WINE_CONFIG_SYMLINK],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
624 m4_ifval([$3],[if test "x$[$3]" != xno; then
625 ])AC_CONFIG_LINKS([$1:]m4_default([$2],[$1]))dnl
626 m4_if([$2],,[test "$srcdir" = "." || ])wine_fn_config_symlink $1[]m4_ifval([$3],[
629 dnl **** Create a make rules file from config.status ****
631 dnl Usage: WINE_CONFIG_MAKERULES(file,var,deps)
633 AC_DEFUN([WINE_CONFIG_MAKERULES],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
634 wine_fn_config_makerules $1 $3
636 AC_SUBST_FILE([$2])dnl
637 AC_CONFIG_FILES([$1])])
639 dnl **** Create a makefile from config.status ****
641 dnl Usage: WINE_CONFIG_MAKEFILE(file,enable,flags)
643 AC_DEFUN([WINE_CONFIG_MAKEFILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
644 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
645 wine_fn_config_makefile [$1] ac_enable [$3]dnl
646 AS_VAR_POPDEF([ac_enable])])
648 dnl **** Create a dll makefile from config.status ****
650 dnl Usage: WINE_CONFIG_DLL(name,enable,flags,implib)
652 AC_DEFUN([WINE_CONFIG_DLL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
653 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
654 wine_fn_config_dll [$1] ac_enable [$3] [$4]dnl
655 AS_VAR_POPDEF([ac_enable])])
657 dnl **** Create a program makefile from config.status ****
659 dnl Usage: WINE_CONFIG_PROGRAM(name,enable,flags)
661 AC_DEFUN([WINE_CONFIG_PROGRAM],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
662 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
663 wine_fn_config_program [$1] ac_enable [$3]dnl
664 AS_VAR_POPDEF([ac_enable])])
666 dnl **** Create a test makefile from config.status ****
668 dnl Usage: WINE_CONFIG_TEST(dir,flags)
670 AC_DEFUN([WINE_CONFIG_TEST],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
671 m4_pushdef([ac_suffix],m4_if(m4_substr([$1],0,9),[programs/],[.exe_test],[_test]))dnl
672 m4_pushdef([ac_name],[m4_bpatsubst([$1],[.*/\(.*\)/tests$],[\1])])dnl
673 wine_fn_config_test $1 ac_name[]ac_suffix [$2]dnl
674 m4_popdef([ac_suffix])dnl
675 m4_popdef([ac_name])])
677 dnl **** Create a static lib makefile from config.status ****
679 dnl Usage: WINE_CONFIG_LIB(name,flags)
681 AC_DEFUN([WINE_CONFIG_LIB],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
682 wine_fn_config_lib [$1] [$2]])
684 dnl **** Create a tool makefile from config.status ****
686 dnl Usage: WINE_CONFIG_TOOL(name,flags)
688 AC_DEFUN([WINE_CONFIG_TOOL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
689 wine_fn_config_tool [$1] [$2]])
691 dnl **** Add a message to the list displayed at the end ****
693 dnl Usage: WINE_NOTICE(notice)
694 dnl Usage: WINE_NOTICE_WITH(with_flag, test, notice)
695 dnl Usage: WINE_WARNING(warning)
696 dnl Usage: WINE_WARNING_WITH(with_flag, test, warning)
697 dnl Usage: WINE_PRINT_MESSAGES
699 AC_DEFUN([WINE_NOTICE],[AS_VAR_APPEND([wine_notices],["|$1"])])
700 AC_DEFUN([WINE_WARNING],[AS_VAR_APPEND([wine_warnings],["|$1"])])
702 AC_DEFUN([WINE_NOTICE_WITH],[AS_IF([$2],[case "x$with_$1" in
703 x) WINE_NOTICE([$3]) ;;
706 This is an error since --with-$1 was requested.]) ;;
709 AC_DEFUN([WINE_WARNING_WITH],[AS_IF([$2],[case "x$with_$1" in
710 x) WINE_WARNING([$3]) ;;
713 This is an error since --with-$1 was requested.]) ;;
716 AC_DEFUN([WINE_ERROR_WITH],[AS_IF([$2],[case "x$with_$1" in
719 Use the --without-$1 option if you really want this.]) ;;
722 AC_DEFUN([WINE_PRINT_MESSAGES],[ac_save_IFS="$IFS"
723 if test "x$wine_notices != "x; then
726 for msg in $wine_notices; do
728 if test -n "$msg"; then
729 AC_MSG_NOTICE([$msg])
734 for msg in $wine_warnings; do
736 if test -n "$msg"; then
744 dnl compile-command: "autoreconf --warnings=all"