dnl Usage: WINE_TRY_ASM_LINK(asm-code,includes,function,[action-if-found,[action-if-not-found]])
dnl
AC_DEFUN([WINE_TRY_ASM_LINK],
-[AC_LINK_IFELSE(AC_LANG_PROGRAM([[$2]],[[asm($1); $3]]),[$4],[$5])])
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([[$2]],[[asm($1); $3]])],[$4],[$5])])
dnl **** Check if we can link an empty program with special CFLAGS ****
dnl
AC_CACHE_CHECK([whether the compiler supports $1], ac_var,
[ac_wine_try_cflags_saved=$CFLAGS
CFLAGS="$CFLAGS $1"
-AC_LINK_IFELSE(AC_LANG_SOURCE([[int main(int argc, char **argv) { return 0; }]]),
+AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv) { return 0; }]])],
[AS_VAR_SET(ac_var,yes)], [AS_VAR_SET(ac_var,no)])
CFLAGS=$ac_wine_try_cflags_saved])
AS_IF([test AS_VAR_GET(ac_var) = yes],
AC_DEFUN([WINE_TRY_SHLIB_FLAGS],
[ac_wine_try_cflags_saved=$CFLAGS
CFLAGS="$CFLAGS $1"
-AC_LINK_IFELSE([void myfunc() {}],[$2],[$3])
+AC_LINK_IFELSE([AC_LANG_SOURCE([void myfunc() {}])],[$2],[$3])
CFLAGS=$ac_wine_try_cflags_saved])
dnl **** Check whether we need to define a symbol on the compiler command line ****
Makefile: Makefile.in Make.vars.in Make.rules config.status
@./config.status Make.tmp Makefile"
-AC_SUBST(ALL_WINETEST_DEPENDS,["# Test binaries"])
-AC_SUBST(ALL_TEST_BINARIES,"")
+ALL_POT_FILES=""
+AC_SUBST(ALL_TEST_RESOURCES,"")
wine_fn_append_file ()
{
{
ac_dir=$[1]
ac_enable=$[2]
+ ac_flags=$[3]
+ ac_rules=$[4]
AS_VAR_IF([$ac_enable],[no],[return 0])
- wine_fn_all_dir_rules $ac_dir Make.rules
+ wine_fn_all_dir_rules $ac_dir ${ac_rules:-Make.rules}
wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
"all: $ac_dir
.PHONY: $ac_dir
$ac_dir: $ac_dir/Makefile dummy
- @cd $ac_dir && \$(MAKE)
-install:: $ac_dir
+ @cd $ac_dir && \$(MAKE)"
+
+ wine_fn_has_flag install-lib $ac_flags || wine_fn_has_flag install-dev $ac_flags || return
+
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
+"install:: $ac_dir
@cd $ac_dir && \$(MAKE) install
-install-lib:: $ac_dir
- @cd $ac_dir && \$(MAKE) install-lib
-install-dev:: $ac_dir
- @cd $ac_dir && \$(MAKE) install-dev
uninstall:: $ac_dir/Makefile
@cd $ac_dir && \$(MAKE) uninstall"
+
+ if wine_fn_has_flag install-lib $ac_flags
+ then
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
+"install-lib:: $ac_dir
+ @cd $ac_dir && \$(MAKE) install-lib"
+ fi
+
+ if wine_fn_has_flag install-dev $ac_flags
+ then
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
+"install-dev:: $ac_dir
+ @cd $ac_dir && \$(MAKE) install-dev"
+ fi
}
wine_fn_config_lib ()
{
ac_name=$[1]
+ ac_flags=$[2]
ac_dir=dlls/$ac_name
- wine_fn_all_dir_rules $ac_dir dlls/Makeimplib.rules
- wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
-"all __builddeps__: $ac_dir
-$ac_dir: $ac_dir/Makefile tools/widl tools/winebuild tools/winegcc include dummy
- @cd $ac_dir && \$(MAKE)
-install install-dev:: $ac_dir
- @cd $ac_dir && \$(MAKE) install
-uninstall:: $ac_dir/Makefile
- @cd $ac_dir && \$(MAKE) uninstall"
+ wine_fn_config_makefile $ac_dir enable_$ac_name $ac_flags,install-dev dlls/Makeimplib.rules
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS "__builddeps__: $ac_dir"
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS "$ac_dir: tools/widl tools/winebuild tools/winegcc include"
}
wine_fn_config_dll ()
install-lib:: $ac_dir/Makefile __builddeps__
@cd $ac_dir && \$(MAKE) install-lib
uninstall manpages htmlpages sgmlpages xmlpages:: $ac_dir/Makefile
- @cd $ac_dir && \$(MAKE) \$[@]"])
+ @cd $ac_dir && \$(MAKE) \$[@]"
+
+ if test "x$enable_maintainer_mode" = xyes
+ then
+ if wine_fn_has_flag mc $ac_flags
+ then
+ wine_fn_append_file ALL_POT_FILES $ac_dir/msg.pot
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
+"$ac_dir/msg.pot: $ac_dir"
+ fi
+ if wine_fn_has_flag po $ac_flags
+ then
+ wine_fn_append_file ALL_POT_FILES $ac_dir/rsrc.pot
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
+"$ac_dir/rsrc.pot: $ac_dir"
+ fi
+ fi])
if wine_fn_has_flag staticimplib $ac_flags
then
$ac_dir: $ac_dir/Makefile __builddeps__ dummy
@cd $ac_dir && \$(MAKE)"
+ if test "x$enable_maintainer_mode" = xyes
+ then
+ if wine_fn_has_flag mc $ac_flags
+ then
+ wine_fn_append_file ALL_POT_FILES $ac_dir/msg.pot
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
+"$ac_dir/msg.pot: $ac_dir"
+ fi
+ if wine_fn_has_flag po $ac_flags
+ then
+ wine_fn_append_file ALL_POT_FILES $ac_dir/rsrc.pot
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
+"$ac_dir/rsrc.pot: $ac_dir"
+ fi
+ fi
+
wine_fn_has_flag install $ac_flags || return
wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
"install install-lib:: $ac_dir/Makefile __builddeps__
{
ac_dir=$[1]
ac_name=$[2]
- wine_fn_append_file ALL_TEST_BINARIES $ac_name.exe
- wine_fn_append_rule ALL_WINETEST_DEPENDS \
-"$ac_name.exe: \$(top_builddir)/$ac_dir/$ac_name.exe$DLLEXT
- cp \$(top_builddir)/$ac_dir/$ac_name.exe$DLLEXT \$[@] && \$(STRIP) \$[@]
-$ac_name.rc:
- echo \"$ac_name.exe TESTRES \\\"$ac_name.exe\\\"\" >\$[@] || (\$(RM) \$[@] && false)
-$ac_name.res: $ac_name.rc $ac_name.exe"
+ ac_flags=$[3]
+ wine_fn_append_file ALL_TEST_RESOURCES $ac_name.res
wine_fn_all_dir_rules $ac_dir Maketest.rules
AS_VAR_IF([enable_tests],[no],,[wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
-"all programs/winetest: $ac_dir
+"all: $ac_dir
.PHONY: $ac_dir
-$ac_dir: $ac_dir/Makefile __builddeps__ dummy
+$ac_dir: $ac_dir/Makefile programs/winetest/Makefile __builddeps__ dummy
@cd $ac_dir && \$(MAKE)
-test: $ac_dir/__test__
+programs/winetest: $ac_dir
+check test: $ac_dir/__test__
.PHONY: $ac_dir/__test__
$ac_dir/__test__: dummy
@cd $ac_dir && \$(MAKE) test
wine_fn_config_tool ()
{
ac_dir=$[1]
- wine_fn_all_dir_rules $ac_dir Make.rules
+ ac_flags=$[2]
+ AS_VAR_IF([enable_tools],[no],[return 0])
- AS_VAR_IF([enable_tools],[no],,[case $ac_dir in
- dnl tools directory has both install-lib and install-dev
- tools) wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
-"install:: $ac_dir
- @cd $ac_dir && \$(MAKE) install
-install-lib:: $ac_dir
- @cd $ac_dir && \$(MAKE) install-lib
-install-dev:: $ac_dir
- @cd $ac_dir && \$(MAKE) install-dev" ;;
- *) wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
-"install install-dev:: $ac_dir
- @cd $ac_dir && \$(MAKE) install" ;;
- esac
- wine_fn_append_rule ALL_MAKEFILE_DEPENDS \
-"uninstall:: $ac_dir/Makefile
- @cd $ac_dir && \$(MAKE) uninstall
-all __tooldeps__: $ac_dir
-.PHONY: $ac_dir
-$ac_dir: $ac_dir/Makefile libs/port dummy
- @cd $ac_dir && \$(MAKE)"
- case $ac_dir in
- tools/winebuild) wine_fn_append_rule ALL_MAKEFILE_DEPENDS "\$(WINEBUILD): $ac_dir" ;;
- esac])
+ wine_fn_config_makefile $ac_dir enable_tools $ac_flags
+
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS "__tooldeps__: $ac_dir"
+ wine_fn_append_rule ALL_MAKEFILE_DEPENDS "$ac_dir: libs/port"
+ case $ac_dir in
+ tools/winebuild) wine_fn_append_rule ALL_MAKEFILE_DEPENDS "\$(WINEBUILD): $ac_dir" ;;
+ esac
}
wine_fn_config_makerules ()
dnl **** Create a makefile from config.status ****
dnl
-dnl Usage: WINE_CONFIG_MAKEFILE(file,enable)
+dnl Usage: WINE_CONFIG_MAKEFILE(file,enable,flags)
dnl
AC_DEFUN([WINE_CONFIG_MAKEFILE],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
AS_VAR_PUSHDEF([ac_enable],m4_default([$2],[enable_]$1))dnl
-wine_fn_config_makefile [$1] ac_enable[]dnl
+wine_fn_config_makefile [$1] ac_enable [$3]dnl
AS_VAR_POPDEF([ac_enable])])
dnl **** Create a dll makefile from config.status ****
dnl **** Create a test makefile from config.status ****
dnl
-dnl Usage: WINE_CONFIG_TEST(dir)
+dnl Usage: WINE_CONFIG_TEST(dir,flags)
dnl
AC_DEFUN([WINE_CONFIG_TEST],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
m4_pushdef([ac_suffix],m4_if(m4_substr([$1],0,9),[programs/],[.exe_test],[_test]))dnl
m4_pushdef([ac_name],[m4_bpatsubst([$1],[.*/\(.*\)/tests$],[\1])])dnl
-wine_fn_config_test $1 ac_name[]ac_suffix[]dnl
+wine_fn_config_test $1 ac_name[]ac_suffix [$2]dnl
m4_popdef([ac_suffix])dnl
m4_popdef([ac_name])])
dnl **** Create a static lib makefile from config.status ****
dnl
-dnl Usage: WINE_CONFIG_LIB(name)
+dnl Usage: WINE_CONFIG_LIB(name,flags)
dnl
AC_DEFUN([WINE_CONFIG_LIB],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
-wine_fn_config_lib $1])
+wine_fn_config_lib [$1] [$2]])
dnl **** Create a tool makefile from config.status ****
dnl
-dnl Usage: WINE_CONFIG_TOOL(name)
+dnl Usage: WINE_CONFIG_TOOL(name,flags)
dnl
AC_DEFUN([WINE_CONFIG_TOOL],[AC_REQUIRE([WINE_CONFIG_HELPERS])dnl
-wine_fn_config_tool $1])
+wine_fn_config_tool [$1] [$2]])
dnl **** Add a message to the list displayed at the end ****
dnl