Alexandre Julliard : makefiles: Generate rules for building the libwine import library.
Module: wine Branch: master Commit: 79c852340c63a68c378c2059e1ffe73ad6d891ad URL: http://source.winehq.org/git/wine.git/?a=commit;h=79c852340c63a68c378c2059e1... Author: Alexandre Julliard <julliard(a)winehq.org> Date: Thu Nov 12 23:19:24 2015 +0900 makefiles: Generate rules for building the libwine import library. Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- configure | 15 ++------------- configure.ac | 15 ++------------- tools/makedep.c | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 26 deletions(-) diff --git a/configure b/configure index e83ca7b..4fecf62 100755 --- a/configure +++ b/configure @@ -7986,23 +7986,12 @@ fi LIBWINE_RULES=" SHAREDLIB = libwine.dll +IMPORTLIB = libwine.a INSTALL_LIB = libwine.dll +INSTALL_DEV = libwine.a libwine_LDFLAGS = -shared \$(srcdir)/wine.def -EXTRA_TARGETS = libwine.a - -all: libwine.a - -libwine.a: \$(srcdir)/wine.def - \$(DLLTOOL) -l \$@ -d \$(srcdir)/wine.def - libwine.dll: \$(srcdir)/wine.def - -install install-dev:: libwine.a - \$(INSTALL_DATA) libwine.a \$(DESTDIR)\$(libdir)/libwine.a - -uninstall:: - \$(RM) \$(DESTDIR)\$(libdir)/libwine.a " ;; diff --git a/configure.ac b/configure.ac index 372d06e..48268b0 100644 --- a/configure.ac +++ b/configure.ac @@ -719,23 +719,12 @@ case $host_os in AC_SUBST(LIBWINE_RULES,[" SHAREDLIB = libwine.dll +IMPORTLIB = libwine.a INSTALL_LIB = libwine.dll +INSTALL_DEV = libwine.a libwine_LDFLAGS = -shared \$(srcdir)/wine.def -EXTRA_TARGETS = libwine.a - -all: libwine.a - -libwine.a: \$(srcdir)/wine.def - \$(DLLTOOL) -l \$@ -d \$(srcdir)/wine.def - libwine.dll: \$(srcdir)/wine.def - -install install-dev:: libwine.a - \$(INSTALL_DATA) libwine.a \$(DESTDIR)\$(libdir)/libwine.a - -uninstall:: - \$(RM) \$(DESTDIR)\$(libdir)/libwine.a "]) ;; diff --git a/tools/makedep.c b/tools/makedep.c index f037d6b..023c0ec 100644 --- a/tools/makedep.c +++ b/tools/makedep.c @@ -145,6 +145,7 @@ static const char *fontforge; static const char *convert; static const char *rsvg; static const char *icotool; +static const char *dlltool; struct makefile { @@ -2612,6 +2613,18 @@ static struct strarray output_sources( const struct makefile *make, struct strar strarray_addall( &all_targets, names ); } + if (make->importlib && !make->module) /* stand-alone import lib (for libwine) */ + { + char *def_file = replace_extension( make->importlib, ".a", ".def" ); + + if (!strncmp( def_file, "lib", 3 )) def_file += 3; + output( "%s: %s\n", obj_dir_path( make, make->importlib ), src_dir_path( make, def_file )); + output( "\t%s -l $@ -d %s\n", dlltool, src_dir_path( make, def_file )); + add_install_rule( make, install_rules, make->importlib, make->importlib, + strmake( "d$(libdir)/%s", make->importlib )); + strarray_add( &all_targets, make->importlib ); + } + if (make->testdll) { char *testmodule = replace_extension( make->testdll, ".dll", "_test.exe" ); @@ -3252,6 +3265,7 @@ int main( int argc, char *argv[] ) convert = get_expanded_make_variable( top_makefile, "CONVERT" ); rsvg = get_expanded_make_variable( top_makefile, "RSVG" ); icotool = get_expanded_make_variable( top_makefile, "ICOTOOL" ); + dlltool = get_expanded_make_variable( top_makefile, "DLLTOOL" ); if (root_src_dir && !strcmp( root_src_dir, "." )) root_src_dir = NULL; if (tools_dir && !strcmp( tools_dir, "." )) tools_dir = NULL;
participants (1)
-
Alexandre Julliard