iphlpapi: Also check the IP address family before treating it as an IPv6 one.
[wine.git] / aclocal.m4
blob334d7a8262447e9f0c47ef6a9fa3c6c935847d81
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.
25 dnl WINE_CHECK_HOST_TOOL(VARIABLE, PROG-TO-CHECK-FOR, [VALUE-IF-NOT-FOUND], [PATH])
26 dnl
27 dnl Like AC_CHECK_TOOL but without the broken fallback to non-prefixed name
28 dnl
29 AC_DEFUN([WINE_CHECK_HOST_TOOL],
30 [AS_VAR_SET_IF([ac_tool_prefix],
31   AC_CHECK_PROG([$1],[${ac_tool_prefix}$2],[${ac_tool_prefix}$2],,[$4]))
32 AS_VAR_IF([ac_cv_prog_$1],[],
33   [AS_VAR_IF([cross_compiling],[yes],[],
34     [AS_UNSET([ac_cv_prog_$1])
35      AC_CHECK_PROG([$1],[$2],[$2],[$3],[$4])])],
36 [AS_VAR_COPY([$1],[ac_cv_prog_$1])])])
38 dnl WINE_HEADER_MAJOR()
39 dnl
40 dnl Same as AC_HEADER_MAJOR but fixed to handle the glibc 2.25 sys/types.h breakage
41 dnl
42 AC_DEFUN([WINE_HEADER_MAJOR],
43 [AC_CHECK_HEADER(sys/mkdev.h,
44                 [AC_DEFINE(MAJOR_IN_MKDEV, 1,
45                            [Define to 1 if `major', `minor', and `makedev' are
46                             declared in <mkdev.h>.])])
47 if test $ac_cv_header_sys_mkdev_h = no; then
48   AC_CHECK_HEADER(sys/sysmacros.h,
49                   [AC_DEFINE(MAJOR_IN_SYSMACROS, 1,
50                              [Define to 1 if `major', `minor', and `makedev'
51                               are declared in <sysmacros.h>.])])
52 fi])
54 dnl **** Initialize the programs used by other checks ****
55 dnl
56 dnl Usage: WINE_PATH_SONAME_TOOLS
57 dnl Usage: WINE_PATH_PKG_CONFIG
58 dnl
59 AC_DEFUN([WINE_PATH_SONAME_TOOLS],
60 [AC_PATH_PROG(LDD,ldd,true,/sbin:/usr/sbin:$PATH)
61 AC_CHECK_TOOL(OTOOL,otool,otool)
62 AC_CHECK_TOOL(READELF,[readelf],true)])
64 AC_DEFUN([WINE_PATH_PKG_CONFIG],
65 [WINE_CHECK_HOST_TOOL(PKG_CONFIG,[pkg-config])])
67 dnl **** Extract the soname of a library ****
68 dnl
69 dnl Usage: WINE_CHECK_SONAME(library, function, [action-if-found, [action-if-not-found, [other_libraries, [pattern]]]])
70 dnl
71 AC_DEFUN([WINE_CHECK_SONAME],
72 [AC_REQUIRE([WINE_PATH_SONAME_TOOLS])dnl
73 AS_VAR_PUSHDEF([ac_Lib],[ac_cv_lib_soname_$1])dnl
74 m4_pushdef([ac_lib_pattern],m4_default([$6],[lib$1]))dnl
75 AC_MSG_CHECKING([for -l$1])
76 AC_CACHE_VAL(ac_Lib,
77 [ac_check_soname_save_LIBS=$LIBS
78 LIBS="-l$1 $5 $LIBS"
79   AC_LINK_IFELSE([AC_LANG_CALL([], [$2])],
80   [case "$LIBEXT" in
81     dll) AS_VAR_SET(ac_Lib,[`$ac_cv_path_LDD conftest.exe | grep "$1" | sed -e "s/dll.*/dll/"';2,$d'`]) ;;
82     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'`]) ;;
83     *) 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'`])
84        AS_VAR_IF([ac_Lib],[],
85              [AS_VAR_SET(ac_Lib,[`$LDD conftest$ac_exeext | grep "ac_lib_pattern\\.$LIBEXT" | sed -e "s/^.*\(ac_lib_pattern\.$LIBEXT[[^  ]]*\).*$/\1/"';2,$d'`])]) ;;
86   esac])
87   LIBS=$ac_check_soname_save_LIBS])dnl
88 AS_VAR_IF([ac_Lib],[],
89       [AC_MSG_RESULT([not found])
90        $4],
91       [AC_MSG_RESULT(AS_VAR_GET(ac_Lib))
92        AC_DEFINE_UNQUOTED(AS_TR_CPP(SONAME_LIB$1),["]AS_VAR_GET(ac_Lib)["],
93                           [Define to the soname of the lib$1 library.])
94        $3])dnl
95 m4_popdef([ac_lib_pattern])dnl
96 AS_VAR_POPDEF([ac_Lib])])
98 dnl **** Get flags from pkg-config or alternate xxx-config program ****
99 dnl
100 dnl Usage: WINE_PACKAGE_FLAGS(var,pkg-name,[default-lib,[cflags-alternate,libs-alternate,[checks]]])
102 AC_DEFUN([WINE_PACKAGE_FLAGS],
103 [AC_REQUIRE([WINE_PATH_PKG_CONFIG])dnl
104 AS_VAR_PUSHDEF([ac_cflags],[[$1]_CFLAGS])dnl
105 AS_VAR_PUSHDEF([ac_libs],[[$1]_LIBS])dnl
106 AC_ARG_VAR(ac_cflags, [C compiler flags for $2, overriding pkg-config])dnl
107 AS_VAR_IF([ac_cflags],[],
108       [AS_VAR_SET_IF([PKG_CONFIG],
109       [ac_cflags=`$PKG_CONFIG --cflags [$2] 2>/dev/null`])])
110 m4_ifval([$4],[test "$cross_compiling" = yes || ac_cflags=[$]{ac_cflags:-[$4]}])
111 AC_ARG_VAR(ac_libs, [Linker flags for $2, overriding pkg-config])dnl
112 AS_VAR_IF([ac_libs],[],
113       [AS_VAR_SET_IF([PKG_CONFIG],
114       [ac_libs=`$PKG_CONFIG --libs [$2] 2>/dev/null`])])
115 m4_ifval([$5],[test "$cross_compiling" = yes || ac_libs=[$]{ac_libs:-[$5]}])
116 m4_ifval([$3],[ac_libs=[$]{ac_libs:-"$3"}])
117 AS_ECHO(["$as_me:${as_lineno-$LINENO}: $2 cflags: $ac_cflags"]) >&AS_MESSAGE_LOG_FD
118 AS_ECHO(["$as_me:${as_lineno-$LINENO}: $2 libs: $ac_libs"]) >&AS_MESSAGE_LOG_FD
119 ac_save_CPPFLAGS=$CPPFLAGS
120 CPPFLAGS="$CPPFLAGS $ac_cflags"
122 CPPFLAGS=$ac_save_CPPFLAGS
123 test -z "$ac_cflags" || ac_cflags=`echo " $ac_cflags" | sed 's/ -I\([[^/]]\)/ -I\$(top_builddir)\/\1/g'`
124 test -z "$ac_libs" || ac_libs=`echo " $ac_libs" | sed 's/ -L\([[^/]]\)/ -L\$(top_builddir)\/\1/g'`
125 AS_VAR_POPDEF([ac_libs])dnl
126 AS_VAR_POPDEF([ac_cflags])])dnl
128 dnl **** Link C code with an assembly file ****
130 dnl Usage: WINE_TRY_ASM_LINK(asm-code,includes,function,[action-if-found,[action-if-not-found]])
132 AC_DEFUN([WINE_TRY_ASM_LINK],
133 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[$2]],[[asm($1); $3]])],[$4],[$5])])
135 dnl **** Check if we can link an empty program with special CFLAGS ****
137 dnl Usage: WINE_TRY_CFLAGS(flags,[action-if-yes,[action-if-no]])
139 dnl The default action-if-yes is to append the flags to EXTRACFLAGS.
141 AC_DEFUN([WINE_TRY_CFLAGS],
142 [AS_VAR_PUSHDEF([ac_var], ac_cv_cflags_[[$1]])dnl
143 AC_CACHE_CHECK([whether the compiler supports $1], ac_var,
144 [ac_wine_try_cflags_saved=$CFLAGS
145 CFLAGS="$CFLAGS $1"
146 AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv) { return 0; }]])],
147                [AS_VAR_SET(ac_var,yes)], [AS_VAR_SET(ac_var,no)])
148 CFLAGS=$ac_wine_try_cflags_saved])
149 AS_VAR_IF([ac_var],[yes],[m4_default([$2], [EXTRACFLAGS="$EXTRACFLAGS $1"])], [$3])dnl
150 AS_VAR_POPDEF([ac_var])])
152 dnl **** Check if we can link an empty shared lib (no main) with special CFLAGS ****
154 dnl Usage: WINE_TRY_SHLIB_FLAGS(flags,[action-if-yes,[action-if-no]])
156 AC_DEFUN([WINE_TRY_SHLIB_FLAGS],
157 [ac_wine_try_cflags_saved=$CFLAGS
158 CFLAGS="$CFLAGS $1"
159 AC_LINK_IFELSE([AC_LANG_SOURCE([void myfunc() {}])],[$2],[$3])
160 CFLAGS=$ac_wine_try_cflags_saved])
162 dnl **** Check whether we need to define a symbol on the compiler command line ****
164 dnl Usage: WINE_CHECK_DEFINE(name),[action-if-yes,[action-if-no]])
166 AC_DEFUN([WINE_CHECK_DEFINE],
167 [AS_VAR_PUSHDEF([ac_var],[ac_cv_cpp_def_$1])dnl
168 AC_CACHE_CHECK([whether we need to define $1],ac_var,
169     AC_EGREP_CPP(yes,[#ifndef $1
171 #endif],
172     [AS_VAR_SET(ac_var,yes)],[AS_VAR_SET(ac_var,no)]))
173 AS_VAR_IF([ac_var],[yes],
174       [CFLAGS="$CFLAGS -D$1"
175   LINTFLAGS="$LINTFLAGS -D$1"])dnl
176 AS_VAR_POPDEF([ac_var])])
178 dnl **** Check for functions with some extra libraries ****
180 dnl Usage: WINE_CHECK_LIB_FUNCS(funcs,libs,[action-if-found,[action-if-not-found]])
182 AC_DEFUN([WINE_CHECK_LIB_FUNCS],
183 [ac_wine_check_funcs_save_LIBS="$LIBS"
184 LIBS="$LIBS $2"
185 AC_CHECK_FUNCS([$1],[$3],[$4])
186 LIBS="$ac_wine_check_funcs_save_LIBS"])
188 dnl **** Check for a mingw program, trying the various mingw prefixes ****
190 dnl Usage: WINE_CHECK_MINGW_PROG(variable,[value-if-not-found],[path])
192 AC_DEFUN([WINE_CHECK_MINGW_PROG],
193 [case "$host_cpu" in
194   arm*)
195     ac_prefix_list="armv7-w64-mingw32-clang armv7-w64-mingw32-gcc" ;;
196   i[[3456789]]86*)
197     ac_prefix_list="m4_foreach([ac_wine_prefix],[w64-mingw32, pc-mingw32, mingw32msvc, mingw32],
198                         m4_foreach([ac_wine_cpu],[i686,i586,i486,i386],[ac_wine_cpu-ac_wine_prefix-gcc ]))
199                      m4_foreach([ac_wine_cpu],[i686,i586,i486,i386],[ac_wine_cpu-w64-mingw32-clang ])
200                      mingw32-gcc" ;;
201   x86_64)
202     ac_prefix_list="m4_foreach([ac_wine_prefix],[pc-mingw32, w64-mingw32, mingw32msvc],
203                         m4_foreach([ac_wine_cpu],[x86_64,amd64],[ac_wine_cpu-ac_wine_prefix-gcc ]))
204                     m4_foreach([ac_wine_cpu],[x86_64,amd64],[ac_wine_cpu-w64-mingw32-clang ])" ;;
205   *)
206     ac_prefix_list="" ;;
207 esac
208 AC_CHECK_PROGS([$1],[$ac_prefix_list],[$2],[$3])])
211 dnl **** Define helper functions for creating config.status files ****
213 dnl Usage: AC_REQUIRE([WINE_CONFIG_HELPERS])
215 AC_DEFUN([WINE_CONFIG_HELPERS],
216 [wine_rules_file=conf$$rules.make
217 rm -f $wine_rules_file
218 AC_SUBST(SUBDIRS,"")
219 AC_SUBST(DISABLED_SUBDIRS,"")
220 AC_SUBST(CONFIGURE_TARGETS,"")
221 AC_SUBST(ALL_TEST_RESOURCES,"")
223 wine_fn_append_file ()
225     AS_VAR_APPEND($[1]," \\$as_nl       $[2]")
228 wine_fn_append_rule ()
230     AS_ECHO("$[1]") >>$wine_rules_file
233 wine_fn_has_flag ()
235     expr ",$ac_flags," : ".*,$[1],.*" >/dev/null
238 wine_fn_all_rules ()
240     wine_fn_append_file SUBDIRS $ac_dir
241     wine_fn_append_rule \
242 "all: $ac_dir
243 .PHONY: $ac_dir
244 $ac_dir: dummy
245         @cd $ac_dir && \$(MAKE)"
248 wine_fn_install_rules ()
250     wine_fn_has_flag install-lib || wine_fn_has_flag install-dev || return
252     wine_fn_append_rule \
253 ".PHONY: $ac_dir/install $ac_dir/uninstall
254 $ac_dir/install:: $ac_dir
255         @cd $ac_dir && \$(MAKE) install
256 $ac_dir/uninstall::
257         @cd $ac_dir && \$(MAKE) uninstall
258 install:: $ac_dir/install
259 __uninstall__: $ac_dir/uninstall"
261     if wine_fn_has_flag install-lib
262     then
263         wine_fn_append_rule \
264 ".PHONY: $ac_dir/install-lib
265 $ac_dir/install-lib:: $ac_dir
266         @cd $ac_dir && \$(MAKE) install-lib
267 install-lib:: $ac_dir/install-lib"
268     fi
270     if wine_fn_has_flag install-dev
271     then
272         wine_fn_append_rule \
273 ".PHONY: $ac_dir/install-dev
274 $ac_dir/install-dev:: $ac_dir
275         @cd $ac_dir && \$(MAKE) install-dev
276 install-dev:: $ac_dir/install-dev"
277     fi
280 wine_fn_disabled_rules ()
282     wine_fn_append_file SUBDIRS $ac_dir
283     wine_fn_append_file DISABLED_SUBDIRS $ac_dir
286 wine_fn_config_makefile ()
288     ac_dir=$[1]
289     ac_enable=$[2]
290     ac_flags=$[3]
292     case $ac_dir in
293     dnl These are created as symlinks for wow64 builds
294     fonts|server) test -z "$with_wine64" || return ;;
295     esac
296     AS_VAR_IF([$ac_enable],[no],[wine_fn_disabled_rules; return])
297     wine_fn_all_rules
298     wine_fn_install_rules
301 wine_fn_config_lib ()
303     ac_name=$[1]
304     ac_flags=$[2]
305     ac_dir=dlls/$ac_name
306     ac_deps="include"
308     AS_VAR_IF([enable_tools],[no],,[ac_deps="tools/widl tools/winebuild tools/winegcc $ac_deps"])
309     wine_fn_all_rules
311     wine_fn_append_rule \
312 ".PHONY: $ac_dir/install $ac_dir/uninstall
313 $ac_dir/install:: $ac_dir
314         \$(INSTALL_DATA) $ac_dir/lib$ac_name.a \$(DESTDIR)\$(dlldir)/lib$ac_name.a
315 $ac_dir/uninstall::
316         \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_name.a
317 install install-dev:: $ac_dir/install
318 __uninstall__: $ac_dir/uninstall
319 __builddeps__: $ac_dir
320 $ac_dir: $ac_deps"
323 wine_fn_config_dll ()
325     ac_name=$[1]
326     ac_dir=dlls/$ac_name
327     ac_enable=$[2]
328     ac_flags=$[3]
329     ac_implib=${4:-$ac_name}
330     ac_file=$ac_dir/lib$ac_implib
331     ac_dll=$ac_name
332     ac_deps="include"
333     ac_implibflags=""
335     AS_VAR_IF([enable_tools],[no],,[ac_deps="tools/widl tools/winebuild tools/winegcc $ac_deps"])
336     case $ac_name in
337       *.*16) ac_implibflags=" -m16" ;;
338       *.*) ;;
339       *)   ac_dll=$ac_dll.dll ;;
340     esac
342     AS_VAR_IF([$ac_enable],[no],
343               dnl enable_win16 is special in that it disables import libs too
344               [if test "$ac_enable" != enable_win16
345                then
346                    wine_fn_append_file SUBDIRS $ac_dir
347                    wine_fn_append_file DISABLED_SUBDIRS $ac_dir
348                else
349                    wine_fn_disabled_rules
350                    return
351                fi],
353               [wine_fn_all_rules
354                wine_fn_append_rule \
355 "$ac_dir: __builddeps__
356 manpages htmlpages sgmlpages xmlpages::
357         @cd $ac_dir && \$(MAKE) \$[@]
358 .PHONY: $ac_dir/install-lib $ac_dir/uninstall
359 install install-lib:: $ac_dir/install-lib
360 __uninstall__: $ac_dir/uninstall"
361                 if test -n "$DLLEXT"
362                 then
363                     wine_fn_append_rule \
364 "$ac_dir/install-lib:: $ac_dir
365         \$(INSTALL_PROGRAM) $ac_dir/$ac_dll$DLLEXT \$(DESTDIR)\$(dlldir)/$ac_dll$DLLEXT
366         \$(INSTALL_DATA) $ac_dir/$ac_dll.fake \$(DESTDIR)\$(fakedlldir)/$ac_dll
367 $ac_dir/uninstall::
368         \$(RM) \$(DESTDIR)\$(dlldir)/$ac_dll$DLLEXT \$(DESTDIR)\$(fakedlldir)/$ac_dll"
369                 else
370                     wine_fn_append_rule \
371 "$ac_dir/install-lib:: $ac_dir
372         \$(INSTALL_PROGRAM) $ac_dir/$ac_dll \$(DESTDIR)\$(dlldir)/$ac_dll
373 $ac_dir/uninstall::
374         \$(RM) \$(DESTDIR)\$(dlldir)/$ac_dll"
375                 fi])
377     if wine_fn_has_flag staticimplib
378     then
379         wine_fn_append_rule \
380 "__builddeps__: $ac_file.a
381 $ac_file.a $ac_file.cross.a: $ac_deps
382 $ac_file.a: dummy
383         @cd $ac_dir && \$(MAKE) lib$ac_implib.a
384 .PHONY: $ac_dir/install-dev $ac_dir/uninstall
385 $ac_dir/install-dev:: $ac_file.a
386         \$(INSTALL_DATA) $ac_file.a \$(DESTDIR)\$(dlldir)/lib$ac_implib.a
387 $ac_dir/uninstall::
388         \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.a
389 install install-dev:: $ac_dir/install-dev
390 __uninstall__: $ac_dir/uninstall"
392         if test -n "$CROSSTARGET" -a -z "$ac_implibflags"
393         then
394             wine_fn_append_rule \
395 "__builddeps__: $ac_file.cross.a
396 $ac_file.cross.a: dummy
397         @cd $ac_dir && \$(MAKE) lib$ac_implib.cross.a"
398         fi
400     elif wine_fn_has_flag implib
401     then
402         wine_fn_append_rule \
403 "__builddeps__: $ac_file.$IMPLIBEXT
404 $ac_file.def: $srcdir/$ac_dir/$ac_name.spec \$(WINEBUILD)
405         \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$[@] --export $srcdir/$ac_dir/$ac_name.spec
406 $ac_file.a: $srcdir/$ac_dir/$ac_name.spec \$(WINEBUILD)
407         \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --implib -o \$[@] --export $srcdir/$ac_dir/$ac_name.spec
408 .PHONY: $ac_dir/install-dev $ac_dir/uninstall
409 $ac_dir/install-dev:: $ac_file.$IMPLIBEXT
410         \$(INSTALL_DATA) $ac_file.$IMPLIBEXT \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
411 $ac_dir/uninstall::
412         \$(RM) \$(DESTDIR)\$(dlldir)/lib$ac_implib.$IMPLIBEXT
413 install install-dev:: $ac_dir/install-dev
414 __uninstall__: $ac_dir/uninstall"
415         if test -n "$CROSSTARGET" -a -z "$ac_implibflags"
416         then
417             wine_fn_append_rule \
418 "__builddeps__: $ac_file.cross.a
419 $ac_file.cross.a: $srcdir/$ac_dir/$ac_name.spec \$(WINEBUILD)
420         \$(WINEBUILD) \$(CROSSTARGET:%=-b %)$ac_implibflags -w --implib -o \$[@] --export $srcdir/$ac_dir/$ac_name.spec"
421         fi
422     fi
425 wine_fn_config_program ()
427     ac_name=$[1]
428     ac_dir=programs/$ac_name
429     ac_enable=$[2]
430     ac_flags=$[3]
431     ac_program=$ac_name
433     case $ac_name in
434       *.*) ;;
435       *)   ac_program=$ac_program.exe ;;
436     esac
438     AS_VAR_IF([$ac_enable],[no],[wine_fn_disabled_rules; return])
440     wine_fn_all_rules
441     wine_fn_append_rule "$ac_dir: __builddeps__"
443     wine_fn_has_flag install || return
444     wine_fn_append_rule \
445 ".PHONY: $ac_dir/install $ac_dir/uninstall
446 install install-lib:: $ac_dir/install
447 __uninstall__: $ac_dir/uninstall"
449     if test -n "$DLLEXT"
450     then
451         wine_fn_append_rule \
452 "$ac_dir/install:: $ac_dir
453         \$(INSTALL_PROGRAM) $ac_dir/$ac_program$DLLEXT \$(DESTDIR)\$(dlldir)/$ac_program$DLLEXT
454         \$(INSTALL_DATA) $ac_dir/$ac_program.fake \$(DESTDIR)\$(fakedlldir)/$ac_program
455 $ac_dir/uninstall::
456         \$(RM) \$(DESTDIR)\$(dlldir)/$ac_program$DLLEXT \$(DESTDIR)\$(fakedlldir)/$ac_program"
458         if test -z "$with_wine64" && wine_fn_has_flag installbin
459         then
460             wine_fn_append_rule \
461 "$ac_dir/install:: __tooldeps__
462         \$(INSTALL_SCRIPT) \$(TOOLSDIR)/tools/wineapploader \$(DESTDIR)\$(bindir)/$ac_name
463 $ac_dir/uninstall::
464         \$(RM) \$(DESTDIR)\$(bindir)/$ac_name"
465         fi
466     else
467         wine_fn_append_rule \
468 "$ac_dir/install:: $ac_dir
469         \$(INSTALL_PROGRAM) $ac_dir/$ac_program \$(DESTDIR)\$(bindir)/$ac_program
470 $ac_dir/uninstall::
471         \$(RM) \$(DESTDIR)\$(bindir)/$ac_program"
472     fi
474     if test -z "$with_wine64" && wine_fn_has_flag manpage
475     then
476         wine_fn_append_rule \
477 "$ac_dir/install:: $ac_dir
478         \$(INSTALL_DATA) $ac_dir/$ac_name.man \$(DESTDIR)\$(mandir)/man\$(prog_manext)/$ac_name.\$(prog_manext)
479 $ac_dir/uninstall::
480         \$(RM) \$(DESTDIR)\$(mandir)/man\$(prog_manext)/$ac_name.\$(prog_manext)"
481     fi
484 wine_fn_config_test ()
486     ac_dir=$[1]
487     ac_name=$[2]
488     ac_flags=$[3]
490     AS_VAR_IF([enable_tests],[no],[wine_fn_disabled_rules; return])
492     wine_fn_append_file ALL_TEST_RESOURCES $ac_name.res
493     wine_fn_all_rules
495     wine_fn_append_rule \
496 "$ac_dir: __builddeps__
497 programs/winetest: $ac_dir
498 check test: $ac_dir/test
499 .PHONY: $ac_dir/test
500 $ac_dir/test: dummy
501         @cd $ac_dir && \$(MAKE) test"
503         if test -n "$CROSSTARGET"
504         then
505             wine_fn_append_rule \
506 "crosstest: $ac_dir/crosstest
507 .PHONY: $ac_dir/crosstest
508 $ac_dir/crosstest: __builddeps__ dummy
509         @cd $ac_dir && \$(MAKE) crosstest"
510         fi
513 wine_fn_config_tool ()
515     ac_dir=$[1]
516     ac_flags=$[2]
517     AS_VAR_IF([enable_tools],[no],[wine_fn_append_file DISABLED_SUBDIRS $ac_dir; return])
519     wine_fn_all_rules
520     wine_fn_install_rules
522     wine_fn_append_rule "__tooldeps__: $ac_dir"
523     wine_fn_append_rule "$ac_dir: libs/port"
524     case $ac_dir in
525       tools/winebuild) wine_fn_append_rule "\$(WINEBUILD): $ac_dir" ;;
526     esac
529 wine_fn_config_symlink ()
531     ac_linkdir=
532     if test "x$[1]" = "x-d"
533     then
534         ac_linkdir=$[2]
535         shift; shift
536     fi
537     ac_links=$[@]
538     wine_fn_append_rule \
539 "$ac_links:
540         @./config.status \$[@]"
541     for f in $ac_links; do wine_fn_append_file CONFIGURE_TARGETS $f; done
542     test -n "$ac_linkdir" || return
543     wine_fn_append_rule "$ac_linkdir/depend: $ac_links"
546 dnl **** Define helper function to append a file to a makefile file list ****
548 dnl Usage: WINE_APPEND_FILE(var,file)
550 AC_DEFUN([WINE_APPEND_FILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_file $1 "$2"])
552 dnl **** Define helper function to append a rule to a makefile command list ****
554 dnl Usage: WINE_APPEND_RULE(rule)
556 AC_DEFUN([WINE_APPEND_RULE],[AC_REQUIRE([WINE_CONFIG_HELPERS])wine_fn_append_rule "$1"])
558 dnl **** Create symlinks from config.status ****
560 dnl Usage: WINE_CONFIG_SYMLINK(target,src,files,enable,srcfile)
562 AC_DEFUN([WINE_CONFIG_SYMLINK],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
563 m4_ifval([$4],[if test "x$[$4]" != xno; then
564 ])m4_foreach([f],[$3],
565 [AC_CONFIG_LINKS(m4_ifval([$1],[$1/])f[:]m4_ifval([$2],[$2/])m4_ifval([$5],[$5],f))])dnl
566 m4_if([$1],[$2],[test "$srcdir" = "." || ])dnl
567 wine_fn_config_symlink[]m4_if([$1],[$2],,m4_ifval([$1],[ -d $1]))[]m4_foreach([f],[$3],[ ]m4_ifval([$1],[$1/])f)m4_ifval([$4],[
568 fi])[]dnl
569 ])])
571 dnl **** Create a makefile from config.status ****
573 dnl Usage: WINE_CONFIG_MAKEFILE(file,enable,flags)
575 AC_DEFUN([WINE_CONFIG_MAKEFILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
576 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
577 m4_append_uniq([_AC_USER_OPTS],ac_enable,[
578 ])dnl
579 wine_fn_config_makefile [$1] ac_enable [$3]dnl
580 AS_VAR_POPDEF([ac_enable])])
582 dnl **** Create a dll makefile from config.status ****
584 dnl Usage: WINE_CONFIG_DLL(name,enable,flags,implib)
586 AC_DEFUN([WINE_CONFIG_DLL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
587 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
588 m4_append_uniq([_AC_USER_OPTS],ac_enable,[
589 ])dnl
590 wine_fn_config_dll [$1] ac_enable [$3] [$4]dnl
591 AS_VAR_POPDEF([ac_enable])])
593 dnl **** Create a program makefile from config.status ****
595 dnl Usage: WINE_CONFIG_PROGRAM(name,enable,flags)
597 AC_DEFUN([WINE_CONFIG_PROGRAM],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
598 AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
599 m4_append_uniq([_AC_USER_OPTS],ac_enable,[
600 ])dnl
601 wine_fn_config_program [$1] ac_enable [$3]dnl
602 AS_VAR_POPDEF([ac_enable])])
604 dnl **** Create a test makefile from config.status ****
606 dnl Usage: WINE_CONFIG_TEST(dir,flags)
608 AC_DEFUN([WINE_CONFIG_TEST],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
609 m4_pushdef([ac_suffix],m4_if(m4_substr([$1],0,9),[programs/],[.exe_test],[_test]))dnl
610 m4_pushdef([ac_name],[m4_bpatsubst([$1],[.*/\(.*\)/tests$],[\1])])dnl
611 wine_fn_config_test $1 ac_name[]ac_suffix [$2]dnl
612 m4_popdef([ac_suffix])dnl
613 m4_popdef([ac_name])])
615 dnl **** Create a static lib makefile from config.status ****
617 dnl Usage: WINE_CONFIG_LIB(name,flags)
619 AC_DEFUN([WINE_CONFIG_LIB],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
620 wine_fn_config_lib [$1] [$2]])
622 dnl **** Create a tool makefile from config.status ****
624 dnl Usage: WINE_CONFIG_TOOL(name,flags)
626 AC_DEFUN([WINE_CONFIG_TOOL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
627 m4_append_uniq([_AC_USER_OPTS],[enable_tools],[
628 ])dnl
629 wine_fn_config_tool [$1] [$2]])
631 dnl **** Append a file to the .gitignore list ****
633 dnl Usage: WINE_IGNORE_FILE(file,enable)
635 AC_DEFUN([WINE_IGNORE_FILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
636 m4_ifval([$2],[test "x$[$2]" = xno || ])wine_fn_append_file CONFIGURE_TARGETS $1])
638 dnl **** Add a message to the list displayed at the end ****
640 dnl Usage: WINE_NOTICE(notice)
641 dnl Usage: WINE_WARNING(warning)
642 dnl Usage: WINE_NOTICE_WITH(with_flag, test, notice, enable)
643 dnl Usage: WINE_WARNING_WITH(with_flag, test, warning, enable)
644 dnl Usage: WINE_ERROR_WITH(with_flag, test, error, enable)
645 dnl Usage: WINE_PRINT_MESSAGES
647 AC_DEFUN([WINE_NOTICE],[AS_VAR_APPEND([wine_notices],["|$1"])])
648 AC_DEFUN([WINE_WARNING],[AS_VAR_APPEND([wine_warnings],["|$1"])])
650 AC_DEFUN([WINE_NOTICE_WITH],[AS_IF([$2],[case "x$with_$1" in
651   x)   WINE_NOTICE([$3]) ;;
652   xno) ;;
653   *)   AC_MSG_ERROR([$3
654 This is an error since --with-$1 was requested.]) ;;
655 esac
656 m4_ifval([$4],[$4=${$4:-no}])])])
658 AC_DEFUN([WINE_WARNING_WITH],[AS_IF([$2],[case "x$with_$1" in
659   x)   WINE_WARNING([$3]) ;;
660   xno) ;;
661   *)   AC_MSG_ERROR([$3
662 This is an error since --with-$1 was requested.]) ;;
663 esac
664 m4_ifval([$4],[$4=${$4:-no}])])])
666 AC_DEFUN([WINE_ERROR_WITH],[AS_IF([$2],[case "x$with_$1" in
667   xno) ;;
668   *)   AC_MSG_ERROR([$3
669 Use the --without-$1 option if you really want this.]) ;;
670 esac
671 m4_ifval([$4],[$4=${$4:-no}])])])
673 AC_DEFUN([WINE_PRINT_MESSAGES],[ac_save_IFS="$IFS"
674 if test "x$wine_notices" != x; then
675     echo >&AS_MESSAGE_FD
676     IFS="|"
677     for msg in $wine_notices; do
678         IFS="$ac_save_IFS"
679         AS_VAR_IF([msg],[],,[AC_MSG_NOTICE([$msg])])
680     done
682 IFS="|"
683 for msg in $wine_warnings; do
684     IFS="$ac_save_IFS"
685     AS_VAR_IF([msg],[],,[echo >&2
686         AC_MSG_WARN([$msg])])
687 done
688 IFS="$ac_save_IFS"])
690 dnl Local Variables:
691 dnl compile-command: "autoreconf --warnings=all"
692 dnl End: