From b0e48e1e2bb285fe9dd31c6c77505f0b51819178 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Mon, 26 Jul 2010 21:06:28 +0200 Subject: [PATCH] configure: Build the import libraries without recursing when possible. --- aclocal.m4 | 20 +++++++++++++++----- configure | 18 ++++++++++++++---- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/aclocal.m4 b/aclocal.m4 index f67e9385160..4bf7229a0c4 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -224,6 +224,11 @@ wine_fn_config_dll () ac_implibsrc=$[4] ac_file="dlls/$ac_dir/lib$ac_implib" ac_deps="tools/widl tools/winebuild tools/winegcc include" + ac_implibflags="" + + case $ac_dir in + *16) ac_implibflags=" -m16" ;; + esac wine_fn_all_dir_rules dlls/$ac_dir "dlls/Makedll.rules \$(MAKEDEP)" @@ -265,16 +270,18 @@ $ac_file.cross.a: dlls/$ac_dir/Makefile dummy then wine_fn_append_rule ALL_MAKEFILE_DEPENDS \ "__builddeps__: $ac_file.$IMPLIBEXT -$ac_file.$IMPLIBEXT: dlls/$ac_dir/$ac_dir.spec dlls/$ac_dir/Makefile $ac_deps - @cd dlls/$ac_dir && \$(MAKE) lib$ac_implib.$IMPLIBEXT +$ac_file.def: dlls/$ac_dir/$ac_dir.spec \$(WINEBUILD) + \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$[@] --export \$(SRCDIR)/dlls/$ac_dir/$ac_dir.spec +$ac_file.a: dlls/$ac_dir/$ac_dir.spec \$(WINEBUILD) + \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --implib -o \$[@] --export \$(SRCDIR)/dlls/$ac_dir/$ac_dir.spec install-dev:: dlls/$ac_dir/Makefile __builddeps__ @cd dlls/$ac_dir && \$(MAKE) install-dev" if test "x$CROSSTEST_DISABLE" = x then wine_fn_append_rule ALL_MAKEFILE_DEPENDS \ "__builddeps__: $ac_file.cross.a -$ac_file.cross.a: dlls/$ac_dir/$ac_dir.spec dlls/$ac_dir/Makefile $ac_deps - @cd dlls/$ac_dir && \$(MAKE) lib$ac_implib.cross.a" +$ac_file.cross.a: dlls/$ac_dir/$ac_dir.spec \$(WINEBUILD) + \$(WINEBUILD) \$(CROSSTARGET:%=-b %)$ac_implibflags -w --implib -o \$[@] --export \$(SRCDIR)/dlls/$ac_dir/$ac_dir.spec" fi if test "$ac_dir" != "$ac_implib" @@ -390,7 +397,10 @@ install-dev:: $ac_dir all __tooldeps__: $ac_dir .PHONY: $ac_dir $ac_dir: $ac_dir/Makefile libs/port dummy - @cd $ac_dir && \$(MAKE)"]) + @cd $ac_dir && \$(MAKE)" + case $ac_dir in + tools/winebuild) wine_fn_append_rule ALL_MAKEFILE_DEPENDS "\$(WINEBUILD): $ac_dir" ;; + esac]) } wine_fn_config_makerules () diff --git a/configure b/configure index c8b17095975..d62ffa838c9 100755 --- a/configure +++ b/configure @@ -14091,6 +14091,11 @@ wine_fn_config_dll () ac_implibsrc=$4 ac_file="dlls/$ac_dir/lib$ac_implib" ac_deps="tools/widl tools/winebuild tools/winegcc include" + ac_implibflags="" + + case $ac_dir in + *16) ac_implibflags=" -m16" ;; + esac wine_fn_all_dir_rules dlls/$ac_dir "dlls/Makedll.rules \$(MAKEDEP)" @@ -14134,16 +14139,18 @@ $ac_file.cross.a: dlls/$ac_dir/Makefile dummy then wine_fn_append_rule ALL_MAKEFILE_DEPENDS \ "__builddeps__: $ac_file.$IMPLIBEXT -$ac_file.$IMPLIBEXT: dlls/$ac_dir/$ac_dir.spec dlls/$ac_dir/Makefile $ac_deps - @cd dlls/$ac_dir && \$(MAKE) lib$ac_implib.$IMPLIBEXT +$ac_file.def: dlls/$ac_dir/$ac_dir.spec \$(WINEBUILD) + \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --def -o \$@ --export \$(SRCDIR)/dlls/$ac_dir/$ac_dir.spec +$ac_file.a: dlls/$ac_dir/$ac_dir.spec \$(WINEBUILD) + \$(WINEBUILD) \$(TARGETFLAGS)$ac_implibflags -w --implib -o \$@ --export \$(SRCDIR)/dlls/$ac_dir/$ac_dir.spec install-dev:: dlls/$ac_dir/Makefile __builddeps__ @cd dlls/$ac_dir && \$(MAKE) install-dev" if test "x$CROSSTEST_DISABLE" = x then wine_fn_append_rule ALL_MAKEFILE_DEPENDS \ "__builddeps__: $ac_file.cross.a -$ac_file.cross.a: dlls/$ac_dir/$ac_dir.spec dlls/$ac_dir/Makefile $ac_deps - @cd dlls/$ac_dir && \$(MAKE) lib$ac_implib.cross.a" +$ac_file.cross.a: dlls/$ac_dir/$ac_dir.spec \$(WINEBUILD) + \$(WINEBUILD) \$(CROSSTARGET:%=-b %)$ac_implibflags -w --implib -o \$@ --export \$(SRCDIR)/dlls/$ac_dir/$ac_dir.spec" fi if test "$ac_dir" != "$ac_implib" @@ -14270,6 +14277,9 @@ 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 fi }