usp10: When checking font for shaping the font needs at least 1 of the features but...
[wine] / aclocal.m4
1 dnl Macros used to build the Wine configure script
2 dnl
3 dnl Copyright 2002 Alexandre Julliard
4 dnl
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.
9 dnl
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.
14 dnl
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
18 dnl
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
23 dnl that program.
24
25 dnl **** Get the ldd program name; used by WINE_GET_SONAME ****
26 dnl
27 dnl Usage: WINE_PATH_LDD
28 dnl
29 AC_DEFUN([WINE_PATH_LDD],[AC_PATH_PROG(LDD,ldd,true,/sbin:/usr/sbin:$PATH)])
30
31 dnl **** Extract the soname of a library ****
32 dnl
33 dnl Usage: WINE_CHECK_SONAME(library, function, [action-if-found, [action-if-not-found, [other_libraries, [pattern]]]])
34 dnl
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])
40 AC_CACHE_VAL(ac_Lib,
41 [ac_check_soname_save_LIBS=$LIBS
42 LIBS="-l$1 $5 $LIBS"
43   AC_LINK_IFELSE([AC_LANG_CALL([], [$2])],
44   [case "$LIBEXT" in
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'`]) ;;
48   esac])
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])
52        $4],
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.])
56        $3])dnl
57 m4_popdef([ac_lib_pattern])dnl
58 AS_VAR_POPDEF([ac_Lib])])
59
60 dnl **** Link C code with an assembly file ****
61 dnl
62 dnl Usage: WINE_TRY_ASM_LINK(asm-code,includes,function,[action-if-found,[action-if-not-found]])
63 dnl
64 AC_DEFUN([WINE_TRY_ASM_LINK],
65 [AC_LINK_IFELSE(AC_LANG_PROGRAM([[$2]],[[asm($1); $3]]),[$4],[$5])])
66
67 dnl **** Check if we can link an empty program with special CFLAGS ****
68 dnl
69 dnl Usage: WINE_TRY_CFLAGS(flags,[action-if-yes,[action-if-no]])
70 dnl
71 dnl The default action-if-yes is to append the flags to EXTRACFLAGS.
72 dnl
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
77 CFLAGS="$CFLAGS $1"
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])])
84
85 dnl **** Check if we can link an empty shared lib (no main) with special CFLAGS ****
86 dnl
87 dnl Usage: WINE_TRY_SHLIB_FLAGS(flags,[action-if-yes,[action-if-no]])
88 dnl
89 AC_DEFUN([WINE_TRY_SHLIB_FLAGS],
90 [ac_wine_try_cflags_saved=$CFLAGS
91 CFLAGS="$CFLAGS $1"
92 AC_LINK_IFELSE([void myfunc() {}],[$2],[$3])
93 CFLAGS=$ac_wine_try_cflags_saved])
94
95 dnl **** Check whether we need to define a symbol on the compiler command line ****
96 dnl
97 dnl Usage: WINE_CHECK_DEFINE(name),[action-if-yes,[action-if-no]])
98 dnl
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
103 yes
104 #endif],
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])])
110
111 dnl **** Check for functions with some extra libraries ****
112 dnl
113 dnl Usage: WINE_CHECK_LIB_FUNCS(funcs,libs,[action-if-found,[action-if-not-found]])
114 dnl
115 AC_DEFUN([WINE_CHECK_LIB_FUNCS],
116 [ac_wine_check_funcs_save_LIBS="$LIBS"
117 LIBS="$LIBS $2"
118 AC_CHECK_FUNCS([$1],[$3],[$4])
119 LIBS="$ac_wine_check_funcs_save_LIBS"])
120
121 dnl **** Check for a mingw program, trying the various mingw prefixes ****
122 dnl
123 dnl Usage: WINE_CHECK_MINGW_PROG(variable,prog,[value-if-not-found],[path])
124 dnl
125 AC_DEFUN([WINE_CHECK_MINGW_PROG],
126 [case "$host_cpu" in
127   i[[3456789]]86*)
128     ac_prefix_list="m4_foreach([ac_wine_prefix],[pc-mingw32, mingw32msvc, mingw32],
129                         m4_foreach([ac_wine_cpu],[i686,i586,i486,i386],[ac_wine_cpu-ac_wine_prefix-$2 ]))" ;;
130   x86_64)
131     ac_prefix_list="m4_foreach([ac_wine_prefix],[pc-mingw32,w64-mingw32],[x86_64-ac_wine_prefix-$2 ])" ;;
132   *)
133     ac_prefix_list="" ;;
134 esac
135 AC_CHECK_PROGS([$1],[$ac_prefix_list],[$3],[$4])])
136
137
138 dnl **** Define helper functions for creating config.status files ****
139 dnl
140 dnl Usage: AC_REQUIRE([WINE_CONFIG_HELPERS])
141 dnl
142 AC_DEFUN([WINE_CONFIG_HELPERS],
143 [ALL_MAKEFILE_DEPENDS="
144 # Rules automatically generated by configure
145
146 .INIT: Makefile
147 .MAKEFILEDEPS:
148 all: Makefile
149 Makefile: Makefile.in Make.vars.in Make.rules config.status
150         @./config.status Make.tmp Makefile"
151
152 AC_SUBST(ALL_WINETEST_DEPENDS,["# Test binaries"])
153 AC_SUBST(ALL_TEST_BINARIES,"")
154
155 wine_fn_append_file ()
156 {
157     AS_VAR_APPEND($[1]," \\$as_nl       $[2]")
158 }
159
160 wine_fn_append_rule ()
161 {
162     AS_VAR_APPEND($[1],"$as_nl$[2]")
163 }
164
165 wine_fn_all_dir_rules ()
166 {
167     ac_dir=$[1]
168     ac_alldeps=$[2]
169     ac_makedep="\$(MAKEDEP)"
170     ac_input=Make.vars.in:$ac_dir/Makefile.in
171     if test $ac_dir != tools
172     then
173         dnl makedep is in tools so tools makefile cannot depend on it
174         ac_alldeps="$[2] $ac_makedep"
175     fi
176     case $[2] in
177       *.in) ac_input=$ac_input:$[2] ;;
178       *) ac_makedep="$[2] $ac_makedep" ;;
179     esac
180
181     wine_fn_append_file ALL_DIRS $ac_dir
182     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
183 "__clean__: $ac_dir/__clean__
184 .PHONY: $ac_dir/__clean__
185 $ac_dir/__clean__: $ac_dir/Makefile
186         @cd $ac_dir && \$(MAKE) clean
187         \$(RM) $ac_dir/Makefile
188 $ac_dir/Makefile: $ac_dir/Makefile.in Make.vars.in config.status $ac_alldeps
189         @./config.status --file $ac_dir/Makefile:$ac_input && cd $ac_dir && \$(MAKE) depend
190 depend: $ac_dir/__depend__
191 .PHONY: $ac_dir/__depend__
192 $ac_dir/__depend__: $ac_makedep dummy
193         @./config.status --file $ac_dir/Makefile:$ac_input && cd $ac_dir && \$(MAKE) depend"
194 }
195
196 wine_fn_config_makefile ()
197 {
198     ac_dir=$[1]
199     ac_enable=$[2]
200     AS_VAR_IF([$ac_enable],[no],[return 0])
201
202     wine_fn_all_dir_rules $ac_dir Make.rules
203     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
204 "all: $ac_dir
205 .PHONY: $ac_dir
206 $ac_dir: $ac_dir/Makefile dummy
207         @cd $ac_dir && \$(MAKE)
208 install:: $ac_dir
209         @cd $ac_dir && \$(MAKE) install
210 install-lib:: $ac_dir
211         @cd $ac_dir && \$(MAKE) install-lib
212 install-dev:: $ac_dir
213         @cd $ac_dir && \$(MAKE) install-dev
214 uninstall:: $ac_dir/Makefile
215         @cd $ac_dir && \$(MAKE) uninstall"
216 }
217
218 wine_fn_config_lib ()
219 {
220     ac_name=$[1]
221     ac_dir=dlls/$ac_name
222     wine_fn_all_dir_rules $ac_dir dlls/Makeimplib.rules
223     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
224 "all __builddeps__: $ac_dir
225 $ac_dir: $ac_dir/Makefile tools/widl tools/winebuild tools/winegcc include dummy
226         @cd $ac_dir && \$(MAKE)
227 install install-dev:: $ac_dir
228         @cd $ac_dir && \$(MAKE) install
229 uninstall:: $ac_dir/Makefile
230         @cd $ac_dir && \$(MAKE) uninstall"
231 }
232
233 wine_fn_config_dll ()
234 {
235     ac_name=$[1]
236     ac_dir=dlls/$ac_name
237     ac_enable=$[2]
238     ac_implib=$[3]
239     ac_implibsrc=$[4]
240     ac_file=$ac_dir/lib$ac_implib
241     ac_deps="tools/widl tools/winebuild tools/winegcc include"
242     ac_implibflags=""
243
244     case $ac_name in
245       *16) ac_implibflags=" -m16" ;;
246     esac
247
248     wine_fn_all_dir_rules $ac_dir dlls/Makedll.rules
249
250     AS_VAR_IF([$ac_enable],[no],
251               dnl enable_win16 is special in that it disables import libs too
252               [test "$ac_enable" != enable_win16 || return 0],
253               [wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
254 "all: $ac_dir
255 .PHONY: $ac_dir
256 $ac_dir: $ac_dir/Makefile __builddeps__ dummy
257         @cd $ac_dir && \$(MAKE)
258 install:: $ac_dir/Makefile __builddeps__ 
259         @cd $ac_dir && \$(MAKE) install
260 install-lib:: $ac_dir/Makefile __builddeps__ 
261         @cd $ac_dir && \$(MAKE) install-lib
262 uninstall manpages htmlpages sgmlpages xmlpages:: $ac_dir/Makefile
263         @cd $ac_dir && \$(MAKE) \$[@]"])
264
265     if test -n "$ac_implibsrc"
266     then
267         wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
268 "__builddeps__: $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT
269 $ac_file.$IMPLIBEXT $ac_file.$STATIC_IMPLIBEXT $ac_file.cross.a: $ac_deps
270 $ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile
271         @cd $ac_dir && \$(MAKE) lib$ac_implib.def
272 $ac_file.$STATIC_IMPLIBEXT: $ac_dir/Makefile dummy
273         @cd $ac_dir && \$(MAKE) lib$ac_implib.$STATIC_IMPLIBEXT
274 install-dev:: $ac_dir/Makefile __builddeps__ 
275         @cd $ac_dir && \$(MAKE) install-dev"
276         if test "x$CROSSTEST_DISABLE" = x
277         then
278             wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
279 "__builddeps__: $ac_file.cross.a
280 $ac_file.cross.a: $ac_dir/Makefile dummy
281         @cd $ac_dir && \$(MAKE) lib$ac_implib.cross.a"
282         fi
283
284     elif test -n "$ac_implib"
285     then
286         wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
287 "__builddeps__: $ac_file.$IMPLIBEXT
288 $ac_file.def: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
289         \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec
290 $ac_file.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
291         \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --implib -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec
292 install-dev:: $ac_dir/Makefile __builddeps__ 
293         @cd $ac_dir && \$(MAKE) install-dev"
294         if test "x$CROSSTEST_DISABLE" = x
295         then
296             wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
297 "__builddeps__: $ac_file.cross.a
298 $ac_file.cross.a: $ac_dir/$ac_name.spec $ac_dir/Makefile \$(WINEBUILD)
299         \$(WINEBUILD) \$(CROSSTARGET:%=-b %)$ac_implibflags -w --implib -o \$[@] --export \$(srcdir)/$ac_dir/$ac_name.spec"
300         fi
301
302         if test "$ac_name" != "$ac_implib"
303         then
304             wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
305 "__builddeps__: dlls/lib$ac_implib.$IMPLIBEXT
306 dlls/lib$ac_implib.$IMPLIBEXT: $ac_file.$IMPLIBEXT
307         \$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.$IMPLIBEXT \$[@]
308 clean::
309         \$(RM) dlls/lib$ac_implib.$IMPLIBEXT"
310             if test "x$CROSSTEST_DISABLE" = x
311             then
312                 wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
313 "__builddeps__: dlls/lib$ac_implib.cross.a
314 dlls/lib$ac_implib.cross.a: $ac_file.cross.a
315         \$(RM) \$[@] && \$(LN_S) $ac_name/lib$ac_implib.cross.a \$[@]"
316             fi
317         fi
318     fi
319 }
320
321 wine_fn_config_program ()
322 {
323     ac_name=$[1]
324     ac_dir=programs/$ac_name
325     ac_enable=$[2]
326     ac_install=$[3]
327     wine_fn_all_dir_rules $ac_dir programs/Makeprog.rules
328
329     AS_VAR_IF([$ac_enable],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
330 "all: $ac_dir
331 .PHONY: $ac_dir
332 $ac_dir: $ac_dir/Makefile __builddeps__ dummy
333         @cd $ac_dir && \$(MAKE)"
334
335     test -n "$ac_install" || return
336     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
337 "install install-lib:: $ac_dir/Makefile __builddeps__
338         @cd $ac_dir && \$(MAKE) install
339 uninstall:: $ac_dir/Makefile
340         @cd $ac_dir && \$(MAKE) uninstall"
341     if test "$ac_install" = installbin -a -n "$DLLEXT" -a "x$enable_tools" != xno
342     then
343         wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
344 "install install-lib:: tools \$(DESTDIR)\$(bindir)
345         \$(INSTALL_SCRIPT) tools/wineapploader \$(DESTDIR)\$(bindir)/$ac_name
346 uninstall::
347         \$(RM) \$(DESTDIR)\$(bindir)/$ac_name"
348     fi])
349 }
350
351 wine_fn_config_test ()
352 {
353     ac_dir=$[1]
354     ac_name=$[2]
355     wine_fn_append_file ALL_TEST_BINARIES $ac_name.exe
356     wine_fn_append_rule ALL_WINETEST_DEPENDS \
357 "$ac_name.exe: \$(top_builddir)/$ac_dir/$ac_name.exe$DLLEXT
358         cp \$(top_builddir)/$ac_dir/$ac_name.exe$DLLEXT \$[@] && \$(STRIP) \$[@]
359 $ac_name.rc:
360         echo \"$ac_name.exe TESTRES \\\"$ac_name.exe\\\"\" >\$[@] || (\$(RM) \$[@] && false)
361 $ac_name.res: $ac_name.rc $ac_name.exe"
362     wine_fn_all_dir_rules $ac_dir Maketest.rules
363
364     AS_VAR_IF([enable_tests],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
365 "all programs/winetest: $ac_dir
366 .PHONY: $ac_dir
367 $ac_dir: $ac_dir/Makefile __builddeps__ dummy
368         @cd $ac_dir && \$(MAKE)
369 test: $ac_dir/__test__
370 .PHONY: $ac_dir/__test__
371 $ac_dir/__test__: dummy
372         @cd $ac_dir && \$(MAKE) test
373 testclean::
374         \$(RM) $ac_dir/*.ok"
375
376         if test "x$CROSSTEST_DISABLE" = x
377         then
378             wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
379 "crosstest: $ac_dir/__crosstest__
380 .PHONY: $ac_dir/__crosstest__
381 $ac_dir/__crosstest__: $ac_dir/Makefile __builddeps__ dummy
382         @cd $ac_dir && \$(MAKE) crosstest"
383         fi])
384 }
385
386 wine_fn_config_tool ()
387 {
388     ac_dir=$[1]
389     wine_fn_all_dir_rules $ac_dir Make.rules
390
391     AS_VAR_IF([enable_tools],[no],,[case $ac_dir in
392       dnl tools directory has both install-lib and install-dev
393       tools) wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
394 "install:: $ac_dir
395         @cd $ac_dir && \$(MAKE) install
396 install-lib:: $ac_dir
397         @cd $ac_dir && \$(MAKE) install-lib
398 install-dev:: $ac_dir
399         @cd $ac_dir && \$(MAKE) install-dev" ;;
400       *)     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
401 "install install-dev:: $ac_dir
402         @cd $ac_dir && \$(MAKE) install" ;;
403       esac
404       wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
405 "uninstall:: $ac_dir/Makefile
406         @cd $ac_dir && \$(MAKE) uninstall
407 all __tooldeps__: $ac_dir
408 .PHONY: $ac_dir
409 $ac_dir: $ac_dir/Makefile libs/port dummy
410         @cd $ac_dir && \$(MAKE)"
411       case $ac_dir in
412         tools/winebuild) wine_fn_append_rule ALL_MAKEFILE_DEPENDS "\$(WINEBUILD): $ac_dir" ;;
413       esac])
414 }
415
416 wine_fn_config_makerules ()
417 {
418     ac_rules=$[1]
419     ac_deps=$[2]
420     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
421 "$ac_rules: $ac_rules.in $ac_deps config.status
422         @./config.status $ac_rules
423 distclean::
424         \$(RM) $ac_rules"
425 }
426
427 wine_fn_config_symlink ()
428 {
429     ac_link=$[1]
430     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
431 "$ac_link:
432         @./config.status $ac_link
433 distclean::
434         \$(RM) $ac_link"
435 }
436
437 if test "x$CROSSTEST_DISABLE" != x
438 then
439     wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
440 "crosstest:
441         @echo \"crosstest is not supported (mingw not installed?)\" && false"
442 fi])
443
444 dnl **** Define helper function to append a file to a makefile file list ****
445 dnl
446 dnl Usage: WINE_APPEND_FILE(var,file)
447 dnl
448 AC_DEFUN([WINE_APPEND_FILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_file $1 "$2"])
449
450 dnl **** Define helper function to append a rule to a makefile command list ****
451 dnl
452 dnl Usage: WINE_APPEND_RULE(var,rule)
453 dnl
454 AC_DEFUN([WINE_APPEND_RULE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_rule $1 "$2"])
455
456 dnl **** Create nonexistent directories from config.status ****
457 dnl
458 dnl Usage: WINE_CONFIG_EXTRA_DIR(dirname)
459 dnl
460 AC_DEFUN([WINE_CONFIG_EXTRA_DIR],
461 [AC_CONFIG_COMMANDS([$1],[test -d "$1" || { AC_MSG_NOTICE([creating $1]); AS_MKDIR_P("$1"); }])])
462
463 dnl **** Create symlinks from config.status ****
464 dnl
465 dnl Usage: WINE_CONFIG_SYMLINK(name,target,enable)
466 dnl
467 AC_DEFUN([WINE_CONFIG_SYMLINK],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
468 m4_ifval([$3],[if test "x$[$3]" != xno; then
469 ])AC_CONFIG_LINKS([$1:]m4_default([$2],[$1]))dnl
470 m4_if([$2],,[test "$srcdir" = "." || ])wine_fn_config_symlink $1[]m4_ifval([$3],[
471 fi])])
472
473 dnl **** Create a make rules file from config.status ****
474 dnl
475 dnl Usage: WINE_CONFIG_MAKERULES(file,var,deps)
476 dnl
477 AC_DEFUN([WINE_CONFIG_MAKERULES],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
478 wine_fn_config_makerules $1 $3
479 $2=$1
480 AC_SUBST_FILE([$2])dnl
481 AC_CONFIG_FILES([$1])])
482
483 dnl **** Create a makefile from config.status ****
484 dnl
485 dnl Usage: WINE_CONFIG_MAKEFILE(file,enable)
486 dnl
487 AC_DEFUN([WINE_CONFIG_MAKEFILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
488 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
489 wine_fn_config_makefile [$1] ac_enable[]dnl
490 AS_VAR_POPDEF([ac_enable])])
491
492 dnl **** Create a dll makefile from config.status ****
493 dnl
494 dnl Usage: WINE_CONFIG_DLL(name,enable,implib,implibsrc)
495 dnl
496 AC_DEFUN([WINE_CONFIG_DLL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
497 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
498 wine_fn_config_dll [$1] ac_enable [$3] m4_ifval([$4],["$4"])dnl
499 AS_VAR_POPDEF([ac_enable])])
500
501 dnl **** Create a program makefile from config.status ****
502 dnl
503 dnl Usage: WINE_CONFIG_PROGRAM(name,install,enable)
504 dnl
505 AC_DEFUN([WINE_CONFIG_PROGRAM],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
506 AS_VAR_PUSHDEF([ac_enable],m4_default([$3],[enable_]$1))dnl
507 wine_fn_config_program [$1] ac_enable [$2]dnl
508 AS_VAR_POPDEF([ac_enable])])
509
510 dnl **** Create a test makefile from config.status ****
511 dnl
512 dnl Usage: WINE_CONFIG_TEST(dir)
513 dnl
514 AC_DEFUN([WINE_CONFIG_TEST],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
515 m4_pushdef([ac_suffix],m4_if(m4_substr([$1],0,9),[programs/],[.exe_test],[_test]))dnl
516 m4_pushdef([ac_name],[m4_bpatsubst([$1],[.*/\(.*\)/tests$],[\1])])dnl
517 wine_fn_config_test $1 ac_name[]ac_suffix[]dnl
518 m4_popdef([ac_suffix])dnl
519 m4_popdef([ac_name])])
520
521 dnl **** Create a static lib makefile from config.status ****
522 dnl
523 dnl Usage: WINE_CONFIG_LIB(name)
524 dnl
525 AC_DEFUN([WINE_CONFIG_LIB],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
526 wine_fn_config_lib $1])
527
528 dnl **** Create a tool makefile from config.status ****
529 dnl
530 dnl Usage: WINE_CONFIG_TOOL(name)
531 dnl
532 AC_DEFUN([WINE_CONFIG_TOOL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
533 wine_fn_config_tool $1])
534
535 dnl **** Add a message to the list displayed at the end ****
536 dnl
537 dnl Usage: WINE_NOTICE(notice)
538 dnl Usage: WINE_NOTICE_WITH(with_flag, test, notice)
539 dnl Usage: WINE_WARNING(warning)
540 dnl Usage: WINE_WARNING_WITH(with_flag, test, warning)
541 dnl Usage: WINE_PRINT_MESSAGES
542 dnl
543 AC_DEFUN([WINE_NOTICE],[AS_VAR_APPEND([wine_notices],["|$1"])])
544 AC_DEFUN([WINE_WARNING],[AS_VAR_APPEND([wine_warnings],["|$1"])])
545
546 AC_DEFUN([WINE_NOTICE_WITH],[AS_IF([$2],[case "x$with_$1" in
547   x)   WINE_NOTICE([$3]) ;;
548   xno) ;;
549   *)   AC_MSG_ERROR([$3
550 This is an error since --with-$1 was requested.]) ;;
551 esac])])
552
553 AC_DEFUN([WINE_WARNING_WITH],[AS_IF([$2],[case "x$with_$1" in
554   x)   WINE_WARNING([$3]) ;;
555   xno) ;;
556   *)   AC_MSG_ERROR([$3
557 This is an error since --with-$1 was requested.]) ;;
558 esac])])
559
560 AC_DEFUN([WINE_ERROR_WITH],[AS_IF([$2],[case "x$with_$1" in
561   xno) ;;
562   *)   AC_MSG_ERROR([$3
563 Use the --without-$1 option if you really want this.]) ;;
564 esac])])
565
566 AC_DEFUN([WINE_PRINT_MESSAGES],[ac_save_IFS="$IFS"
567 if test "x$wine_notices != "x; then
568     echo >&AS_MESSAGE_FD
569     IFS="|"
570     for msg in $wine_notices; do
571         IFS="$ac_save_IFS"
572         if test -n "$msg"; then
573             AC_MSG_NOTICE([$msg])
574         fi
575     done
576 fi
577 IFS="|"
578 for msg in $wine_warnings; do
579     IFS="$ac_save_IFS"
580     if test -n "$msg"; then
581         echo >&2
582         AC_MSG_WARN([$msg])
583     fi
584 done
585 IFS="$ac_save_IFS"])
586
587 dnl Local Variables:
588 dnl compile-command: "autoreconf --warnings=all"
589 dnl End: