From 54244470f36a864843aef6485db1197d4ac2bd8c Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 1 May 2013 12:29:00 +0200 Subject: [PATCH] makefiles: Generate the platform-specific libwine rules from configure. --- Make.rules.in | 3 +- Make.vars.in | 1 - configure | 159 +++++++++++++++++++++++++----------------- configure.ac | 129 +++++++++++++++++++++++----------- libs/wine/Makefile.in | 72 +------------------ 5 files changed, 189 insertions(+), 175 deletions(-) diff --git a/Make.rules.in b/Make.rules.in index 38231a8c35e..3bc86da976e 100644 --- a/Make.rules.in +++ b/Make.rules.in @@ -13,7 +13,6 @@ # First some useful definitions -LDSHARED = @LDSHARED@ INCLUDES = -I$(srcdir) -I. -I$(top_srcdir)/include -I$(top_builddir)/include $(EXTRAINCL) ALLCFLAGS = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) $(MODCFLAGS) ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS) @@ -25,7 +24,7 @@ IDL_GEN_C_SRCS = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.c) \ IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=.h) \ $(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h) -CLEAN_FILES = *.o *.a *.so *.mo *.ln *.res *.fake *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej *.flc core +CLEAN_FILES = *.o *.a *.so *.mo *.ln *.res *.fake core CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:%=dlldata.c) \ $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) \ $(PO_SRCS:%=rsrc.pot) $(MC_SRCS:%=msg.pot) $(XTEMPLATE_SRCS:.x=.h) diff --git a/Make.vars.in b/Make.vars.in index 100594b372e..5400d4c0c27 100644 --- a/Make.vars.in +++ b/Make.vars.in @@ -30,7 +30,6 @@ BISON = @BISON@ FLEX = @FLEX@ EXEEXT = @EXEEXT@ OBJEXT = @OBJEXT@ -LIBEXT = @LIBEXT@ DLLEXT = @DLLEXT@ FAKEEXT = $(DLLEXT:.so=.fake) TOOLSEXT = @TOOLSEXT@ diff --git a/configure b/configure index c5a90361ddd..3cd0318eb81 100755 --- a/configure +++ b/configure @@ -633,8 +633,6 @@ LIBPOLL LIBDL EXTRA_BINARIES MAIN_BINARY -SOCKETLIBS -CRTLIBS TOOLSEXT LDPATH UNWINDFLAGS @@ -691,6 +689,8 @@ CORESERVICESLIB APPLICATIONSERVICESLIB IOKITLIB COREFOUNDATIONLIB +LIBWINE_RULES +SOCKETLIBS DLLWRAP DLLTOOL ac_ct_READELF @@ -699,9 +699,7 @@ LDD LDRPATH_LOCAL LDRPATH_INSTALL IMPLIBEXT -LIBEXT LDDLLFLAGS -LDSHARED DLLFLAGS DLLEXT CPP @@ -6282,18 +6280,15 @@ DLLEXT="" DLLFLAGS="-D_REENTRANT" -LDSHARED="" - LDDLLFLAGS="" -LIBEXT="so" - IMPLIBEXT="def" LDRPATH_INSTALL="" LDRPATH_LOCAL="" +LIBEXT="so" STATIC_IMPLIBEXT="def.a" # Extract the first word of "ldd", so it can be a program name with args. set dummy ldd; ac_word=$2 @@ -6625,10 +6620,9 @@ else fi if test "$DLLWRAP" = "false"; then - LIBEXT="a" - else - LIBEXT="dll" + as_fn_error $? "dllwrap is needed to build a dll for Windows" "$LINENO" 5 fi + LIBEXT="dll" IMPLIBEXT="a" STATIC_IMPLIBEXT="a" enable_iphlpapi=${enable_iphlpapi:-no} @@ -6640,14 +6634,45 @@ fi enable_server=${enable_server:-no} with_x=${with_x:-no} with_pthread=${with_pthread:-no} + + crtlibs="" + case $host_os in + mingw32*) + crtlibs="-lmsvcrt" + SOCKETLIBS="-L\$(top_builddir)/dlls/ws2_32 -lws2_32" + ;; + esac + + LIBWINE_RULES=" +all: libwine.dll libwine.a + +libwine.a: wine.def + \$(DLLTOOL) -l \$@ -d \$(srcdir)/wine.def + +libwine.dll: \$(OBJS) wine.def Makefile.in + \$(DLLWRAP) --def \$(srcdir)/wine.def -o \$@ \$(OBJS) $crtlibs \$(EXTRALIBS) + +install install-lib:: libwine.dll \$(DESTDIR)\$(libdir) dummy + \$(INSTALL_DATA) libwine.dll \$(DESTDIR)\$(libdir)/libwine.dll + +install install-dev:: libwine.a \$(DESTDIR)\$(libdir) dummy + \$(INSTALL_DATA) libwine.a \$(DESTDIR)\$(libdir)/libwine.a + +uninstall:: + -cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.a libwine.dll + +clean:: + \$(RM) libwine.dll version.c +" + ;; + darwin*|macosx*) DLLEXT=".so" LIBEXT="dylib" DLLFLAGS="$DLLFLAGS -fPIC" LDDLLFLAGS="-bundle -multiply_defined suppress" LIBWINE_LDFLAGS="-multiply_defined suppress" - LDSHARED="\$(CC) -dynamiclib" LDRPATH_INSTALL="-Wl,-rpath,@loader_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`" LDRPATH_LOCAL="-Wl,-rpath,@loader_path/\$(top_builddir)/libs/wine" COREFOUNDATIONLIB="-framework CoreFoundation" @@ -6818,7 +6843,35 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ fi fi + + LIBWINE_RULES=" +all: libwine.dylib + +libwine.\$(VERSION).dylib: \$(OBJS) \$(RELPATH) Makefile.in + \$(CC) -dynamiclib -install_name @rpath/libwine.\$(SOVERSION).dylib -Wl,-rpath,@loader_path/ -compatibility_version \$(SOVERSION) -current_version \$(VERSION) \$(OBJS) \$(EXTRALIBS) \$(LDFLAGS) \$(LIBS) -o \$@ + +libwine.\$(SOVERSION).dylib: libwine.\$(VERSION).dylib + \$(RM) \$@ && \$(LN_S) libwine.\$(VERSION).dylib \$@ + +libwine.dylib: libwine.\$(SOVERSION).dylib + \$(RM) \$@ && \$(LN_S) libwine.\$(SOVERSION).dylib \$@ + +install install-lib:: libwine.\$(VERSION).dylib \$(DESTDIR)\$(libdir) dummy + \$(INSTALL_PROGRAM) libwine.\$(VERSION).dylib \$(DESTDIR)\$(libdir)/libwine.\$(VERSION).dylib + cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.\$(SOVERSION).dylib && \$(LN_S) libwine.\$(VERSION).dylib libwine.\$(SOVERSION).dylib + +install install-dev:: \$(DESTDIR)\$(libdir) dummy + cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.dylib && \$(LN_S) libwine.\$(VERSION).dylib libwine.dylib + +uninstall:: + -cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.dylib libwine.\$(VERSION).dylib libwine.\$(SOVERSION).dylib + +clean:: + \$(RM) libwine.dylib libwine.\$(VERSION).dylib libwine.\$(SOVERSION).dylib version.c +" + ;; + *) DLLFLAGS="$DLLFLAGS -fPIC" DLLEXT=".so" @@ -6871,7 +6924,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__fPIC__shared__Wl__soname_confest_so_1" >&5 $as_echo "$ac_cv_cflags__fPIC__shared__Wl__soname_confest_so_1" >&6; } if test $ac_cv_cflags__fPIC__shared__Wl__soname_confest_so_1 = yes; then : - LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)" + LDSHARED="\$(CC) -shared -Wl,-soname,libwine.so.\$(SOVERSION)" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -shared -Wl,-h,confest.so.1" >&5 $as_echo_n "checking whether the compiler supports -fPIC -shared -Wl,-h,confest.so.1... " >&6; } @@ -6896,7 +6949,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__fPIC__shared__Wl__h_confest_so_1" >&5 $as_echo "$ac_cv_cflags__fPIC__shared__Wl__h_confest_so_1" >&6; } if test $ac_cv_cflags__fPIC__shared__Wl__h_confest_so_1 = yes; then : - LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-h,%)" + LDSHARED="\$(CC) -shared -Wl,-h,libwine.so.\$(SOVERSION)" fi fi @@ -6976,7 +7029,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map" >&5 $as_echo "$ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map" >&6; } if test $ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map = yes; then : - LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)" + LDSHARED="$LDSHARED -Wl,--version-script=\$(srcdir)/wine.map" fi rm -f conftest.map @@ -7195,55 +7248,42 @@ fi $as_echo "$ac_cv_c_dll_unixware" >&6; } if test "$ac_cv_c_dll_unixware" = "yes" then - LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)" + LDSHARED="\$(CC) -Wl,-G,-h,libwine.so.\$(SOVERSION)" LDDLLFLAGS="-Wl,-G,-B,symbolic" - - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can build an HP-UX dll" >&5 -$as_echo_n "checking whether we can build an HP-UX dll... " >&6; } -if ${ac_cv_c_dll_hpux+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_wine_try_cflags_saved=$CFLAGS -CFLAGS="$CFLAGS -shared" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -void myfunc() {} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_c_dll_hpux="yes" -else - ac_cv_c_dll_hpux="no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -CFLAGS=$ac_wine_try_cflags_saved -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_dll_hpux" >&5 -$as_echo "$ac_cv_c_dll_hpux" >&6; } - if test "$ac_cv_c_dll_hpux" = "yes" - then - LIBEXT="sl" - DLLEXT=".sl" - LDDLLFLAGS="-shared -fPIC" - LDSHARED="\$(CC) -shared" - fi fi fi + LIBWINE_RULES=" +all: libwine.so + +libwine.so.\$(VERSION): \$(OBJS) wine.map Makefile.in + $LDSHARED \$(OBJS) \$(EXTRALIBS) \$(LDFLAGS) \$(LIBS) -o \$@ + +libwine.so.\$(SOVERSION): libwine.so.\$(VERSION) + \$(RM) \$@ && \$(LN_S) libwine.so.\$(VERSION) \$@ + +libwine.so: libwine.so.\$(SOVERSION) + \$(RM) \$@ && \$(LN_S) libwine.so.\$(SOVERSION) \$@ + +install install-lib:: libwine.so.\$(VERSION) \$(DESTDIR)\$(libdir) dummy + \$(INSTALL_PROGRAM) libwine.so.\$(VERSION) \$(DESTDIR)\$(libdir)/libwine.so.\$(VERSION) + cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.so.\$(SOVERSION) && \$(LN_S) libwine.so.\$(VERSION) libwine.so.\$(SOVERSION) + +install install-dev:: \$(DESTDIR)\$(libdir) dummy + cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.so && \$(LN_S) libwine.so.\$(VERSION) libwine.so + +uninstall:: + -cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.so libwine.so.\$(VERSION) libwine.so.\$(SOVERSION) + +clean:: + \$(RM) libwine.so.\$(SOVERSION) libwine.so.\$(VERSION) version.c +" + ;; esac enable_wineqtdecoder=${enable_wineqtdecoder:-no} enable_winemac_drv=${enable_winemac_drv:-no} -if test "$LIBEXT" = "a"; then - as_fn_error $? "could not find a way to build shared libraries. -It is currently not possible to build Wine without shared library -(.so) support to allow transparent switch between .so and .dll files. -If you are using Linux, you will need a newer binutils. -" "$LINENO" 5 -fi - CROSSTEST_DISABLE=\# if test "$cross_compiling" = "no" -a "x$enable_tests" != xno -a "$LIBEXT" != "dll" @@ -12983,15 +13023,6 @@ case $build_os in ;; esac -case $host_os in - mingw32*) - CRTLIBS="-lmsvcrt" - - SOCKETLIBS="-L\$(top_builddir)/dlls/ws2_32 -lws2_32" - - ;; -esac - MAIN_BINARY="wine" test "x$enable_win64" != "xyes" || MAIN_BINARY="wine64" diff --git a/configure.ac b/configure.ac index 084a2d6c1dd..270d1e5f64d 100644 --- a/configure.ac +++ b/configure.ac @@ -679,12 +679,11 @@ dnl **** Check for working dll **** AC_SUBST(DLLEXT,"") AC_SUBST(DLLFLAGS,"-D_REENTRANT") -AC_SUBST(LDSHARED,"") AC_SUBST(LDDLLFLAGS,"") -AC_SUBST(LIBEXT,"so") AC_SUBST(IMPLIBEXT,"def") AC_SUBST(LDRPATH_INSTALL,"") AC_SUBST(LDRPATH_LOCAL,"") +LIBEXT="so" STATIC_IMPLIBEXT="def.a" WINE_PATH_SONAME_TOOLS @@ -693,11 +692,9 @@ case $host_os in AC_CHECK_TOOL(DLLTOOL,dlltool,false) AC_CHECK_TOOL(DLLWRAP,dllwrap,false) if test "$DLLWRAP" = "false"; then - LIBEXT="a" - else - dnl FIXME - check whether dllwrap works correctly... - LIBEXT="dll" + AC_MSG_ERROR([dllwrap is needed to build a dll for Windows]) fi + LIBEXT="dll" IMPLIBEXT="a" STATIC_IMPLIBEXT="a" dnl Disable modules that can't be used on Windows @@ -711,14 +708,44 @@ case $host_os in dnl Disable dependencies that are not useful on Windows with_x=${with_x:-no} with_pthread=${with_pthread:-no} + + dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet + crtlibs="" + case $host_os in + mingw32*) + crtlibs="-lmsvcrt" + AC_SUBST(SOCKETLIBS,"-L\$(top_builddir)/dlls/ws2_32 -lws2_32") ;; + esac + + AC_SUBST(LIBWINE_RULES,[" +all: libwine.dll libwine.a + +libwine.a: wine.def + \$(DLLTOOL) -l \$@ -d \$(srcdir)/wine.def + +libwine.dll: \$(OBJS) wine.def Makefile.in + \$(DLLWRAP) --def \$(srcdir)/wine.def -o \$@ \$(OBJS) $crtlibs \$(EXTRALIBS) + +install install-lib:: libwine.dll \$(DESTDIR)\$(libdir) dummy + \$(INSTALL_DATA) libwine.dll \$(DESTDIR)\$(libdir)/libwine.dll + +install install-dev:: libwine.a \$(DESTDIR)\$(libdir) dummy + \$(INSTALL_DATA) libwine.a \$(DESTDIR)\$(libdir)/libwine.a + +uninstall:: + -cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.a libwine.dll + +clean:: + \$(RM) libwine.dll version.c +"]) ;; + darwin*|macosx*) DLLEXT=".so" LIBEXT="dylib" DLLFLAGS="$DLLFLAGS -fPIC" LDDLLFLAGS="-bundle -multiply_defined suppress" LIBWINE_LDFLAGS="-multiply_defined suppress" - LDSHARED="\$(CC) -dynamiclib" LDRPATH_INSTALL="-Wl,-rpath,@loader_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`" LDRPATH_LOCAL="-Wl,-rpath,@loader_path/\$(top_builddir)/libs/wine" dnl declare needed frameworks @@ -823,7 +850,34 @@ case $host_os in AC_MSG_ERROR([Xcode 3.x cannot build 16-bit code correctly. Use --disable-win16 if you don't need 16-bit support.])], AC_MSG_RESULT([[cross-compiling, assuming yes]])) fi + + AC_SUBST(LIBWINE_RULES,[" +all: libwine.dylib + +libwine.\$(VERSION).dylib: \$(OBJS) \$(RELPATH) Makefile.in + \$(CC) -dynamiclib -install_name @rpath/libwine.\$(SOVERSION).dylib -Wl,-rpath,@loader_path/ -compatibility_version \$(SOVERSION) -current_version \$(VERSION) \$(OBJS) \$(EXTRALIBS) \$(LDFLAGS) \$(LIBS) -o \$@ + +libwine.\$(SOVERSION).dylib: libwine.\$(VERSION).dylib + \$(RM) \$@ && \$(LN_S) libwine.\$(VERSION).dylib \$@ + +libwine.dylib: libwine.\$(SOVERSION).dylib + \$(RM) \$@ && \$(LN_S) libwine.\$(SOVERSION).dylib \$@ + +install install-lib:: libwine.\$(VERSION).dylib \$(DESTDIR)\$(libdir) dummy + \$(INSTALL_PROGRAM) libwine.\$(VERSION).dylib \$(DESTDIR)\$(libdir)/libwine.\$(VERSION).dylib + cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.\$(SOVERSION).dylib && \$(LN_S) libwine.\$(VERSION).dylib libwine.\$(SOVERSION).dylib + +install install-dev:: \$(DESTDIR)\$(libdir) dummy + cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.dylib && \$(LN_S) libwine.\$(VERSION).dylib libwine.dylib + +uninstall:: + -cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.dylib libwine.\$(VERSION).dylib libwine.\$(SOVERSION).dylib + +clean:: + \$(RM) libwine.dylib libwine.\$(VERSION).dylib libwine.\$(SOVERSION).dylib version.c +"]) ;; + *) DLLFLAGS="$DLLFLAGS -fPIC" DLLEXT=".so" @@ -835,9 +889,9 @@ case $host_os in LDSHARED="\$(CC) -shared" LDDLLFLAGS="-shared -Wl,-Bsymbolic" WINE_TRY_CFLAGS([-fPIC -shared -Wl,-soname,confest.so.1], - [LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"], + [LDSHARED="\$(CC) -shared -Wl,-soname,libwine.so.\$(SOVERSION)"], [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-h,confest.so.1], - [LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-h,%)"])]) + [LDSHARED="\$(CC) -shared -Wl,-h,libwine.so.\$(SOVERSION)"])]) WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs], [LDDLLFLAGS="$LDDLLFLAGS,-z,defs"]) @@ -846,7 +900,7 @@ case $host_os in echo '{ global: *; };' >conftest.map WINE_TRY_CFLAGS([-fPIC -shared -Wl,--version-script=conftest.map], - [LDSHARED="$LDSHARED \$(VERSCRIPT:%=-Wl,--version-script=%)"]) + [LDSHARED="$LDSHARED -Wl,--version-script=\$(srcdir)/wine.map"]) rm -f conftest.map WINE_TRY_CFLAGS([-fPIC -Wl,--export-dynamic], @@ -884,36 +938,41 @@ case $host_os in ac_cv_c_dll_unixware="yes",ac_cv_c_dll_unixware="no")]) if test "$ac_cv_c_dll_unixware" = "yes" then - LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)" + LDSHARED="\$(CC) -Wl,-G,-h,libwine.so.\$(SOVERSION)" LDDLLFLAGS="-Wl,-G,-B,symbolic" - - else - AC_CACHE_CHECK(whether we can build an HP-UX dll, ac_cv_c_dll_hpux, - [WINE_TRY_SHLIB_FLAGS([-shared], ac_cv_c_dll_hpux="yes", ac_cv_c_dll_hpux="no")]) - if test "$ac_cv_c_dll_hpux" = "yes" - then - LIBEXT="sl" - DLLEXT=".sl" - LDDLLFLAGS="-shared -fPIC" - LDSHARED="\$(CC) -shared" - fi fi fi + AC_SUBST(LIBWINE_RULES,[" +all: libwine.so + +libwine.so.\$(VERSION): \$(OBJS) wine.map Makefile.in + $LDSHARED \$(OBJS) \$(EXTRALIBS) \$(LDFLAGS) \$(LIBS) -o \$@ + +libwine.so.\$(SOVERSION): libwine.so.\$(VERSION) + \$(RM) \$@ && \$(LN_S) libwine.so.\$(VERSION) \$@ + +libwine.so: libwine.so.\$(SOVERSION) + \$(RM) \$@ && \$(LN_S) libwine.so.\$(SOVERSION) \$@ + +install install-lib:: libwine.so.\$(VERSION) \$(DESTDIR)\$(libdir) dummy + \$(INSTALL_PROGRAM) libwine.so.\$(VERSION) \$(DESTDIR)\$(libdir)/libwine.so.\$(VERSION) + cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.so.\$(SOVERSION) && \$(LN_S) libwine.so.\$(VERSION) libwine.so.\$(SOVERSION) + +install install-dev:: \$(DESTDIR)\$(libdir) dummy + cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.so && \$(LN_S) libwine.so.\$(VERSION) libwine.so + +uninstall:: + -cd \$(DESTDIR)\$(libdir) && \$(RM) libwine.so libwine.so.\$(VERSION) libwine.so.\$(SOVERSION) + +clean:: + \$(RM) libwine.so.\$(SOVERSION) libwine.so.\$(VERSION) version.c +"]) ;; esac enable_wineqtdecoder=${enable_wineqtdecoder:-no} enable_winemac_drv=${enable_winemac_drv:-no} -if test "$LIBEXT" = "a"; then - AC_MSG_ERROR( -[could not find a way to build shared libraries. -It is currently not possible to build Wine without shared library -(.so) support to allow transparent switch between .so and .dll files. -If you are using Linux, you will need a newer binutils.] -) -fi - dnl Check for cross compiler to build test programs AC_SUBST([CROSSTEST_DISABLE],[\#]) if test "$cross_compiling" = "no" -a "x$enable_tests" != xno -a "$LIBEXT" != "dll" @@ -1931,14 +1990,6 @@ case $build_os in ;; esac -dnl Mingw needs explicit msvcrt for linking libwine and winsock for wininet -case $host_os in - mingw32*) - AC_SUBST(CRTLIBS,"-lmsvcrt") - AC_SUBST(SOCKETLIBS,"-L\$(top_builddir)/dlls/ws2_32 -lws2_32") - ;; -esac - AC_SUBST(MAIN_BINARY,"wine") test "x$enable_win64" != "xyes" || MAIN_BINARY="wine64" diff --git a/libs/wine/Makefile.in b/libs/wine/Makefile.in index 3468ee054ab..b8dc3854b20 100644 --- a/libs/wine/Makefile.in +++ b/libs/wine/Makefile.in @@ -1,13 +1,9 @@ DLLFLAGS = @DLLFLAGS@ -MODULE = libwine.$(LIBEXT) -VERSCRIPT = $(srcdir)/wine.map -EXTRALIBS = $(LIBPORT) @LIBDL@ @CRTLIBS@ @COREFOUNDATIONLIB@ @CORESERVICESLIB@ +EXTRALIBS = $(LIBPORT) @LIBDL@ @COREFOUNDATIONLIB@ @CORESERVICESLIB@ DEFS = -D__WINESRC__ -DWINE_UNICODE_API="" VERSION = 1.0 SOVERSION = 1 -SONAME = libwine.so.$(SOVERSION) -DYNAME = libwine.$(SOVERSION).dylib INSTALLDIRS = $(DESTDIR)$(libdir) @@ -94,8 +90,6 @@ C_SRCS = \ EXTRA_OBJS = version.o -all: $(MODULE) $(MODULE:.dll=.a) - @MAKE_RULES@ # Special defines needed for config.c @@ -111,70 +105,10 @@ CONFIGDIRS = \ config.o: config.c $(RELPATH) $(CC) -c $(ALLCFLAGS) -o $@ $(srcdir)/config.c $(CONFIGDIRS) -# Linking rules - -libwine.so.$(VERSION): $(OBJS) $(VERSCRIPT) Makefile.in - $(LDSHARED) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@ - -libwine.so.$(SOVERSION): libwine.so.$(VERSION) - $(RM) $@ && $(LN_S) libwine.so.$(VERSION) $@ - -libwine.so: libwine.so.$(SOVERSION) - $(RM) $@ && $(LN_S) libwine.so.$(SOVERSION) $@ - -libwine.a: wine.def - $(DLLTOOL) -l $@ -d $(srcdir)/wine.def - -libwine.dll: $(OBJS) wine.def Makefile.in - $(DLLWRAP) --def $(srcdir)/wine.def -o $@ $(OBJS) $(EXTRALIBS) - -DYLIB_LDFLAGS = -compatibility_version $(SOVERSION) -current_version $(VERSION) - -libwine.$(VERSION).dylib: $(OBJS) $(RELPATH) Makefile.in - $(LDSHARED) -install_name @rpath/$(DYNAME) -Wl,-rpath,@loader_path/ $(DYLIB_LDFLAGS) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@ - -libwine.$(SOVERSION).dylib: libwine.$(VERSION).dylib - $(RM) $@ && $(LN_S) libwine.$(VERSION).dylib $@ - -libwine.dylib: libwine.$(SOVERSION).dylib - $(RM) $@ && $(LN_S) libwine.$(SOVERSION).dylib $@ - -# Install rules - -.PHONY: install-lib-so install-lib-dll install-lib-dylib install-dev-so install-dev-dll install-dev-dylib - -install-lib-so: libwine.so.$(VERSION) $(DESTDIR)$(libdir) dummy - $(INSTALL_PROGRAM) libwine.so.$(VERSION) $(DESTDIR)$(libdir)/libwine.so.$(VERSION) - cd $(DESTDIR)$(libdir) && $(RM) libwine.so.$(SOVERSION) && $(LN_S) libwine.so.$(VERSION) libwine.so.$(SOVERSION) - -install-lib-dll: libwine.dll $(DESTDIR)$(libdir) dummy - $(INSTALL_DATA) libwine.dll $(DESTDIR)$(libdir)/libwine.dll - -install-lib-dylib: libwine.$(VERSION).dylib $(DESTDIR)$(libdir) dummy - $(INSTALL_PROGRAM) libwine.$(VERSION).dylib $(DESTDIR)$(libdir)/libwine.$(VERSION).dylib - cd $(DESTDIR)$(libdir) && $(RM) libwine.$(SOVERSION).dylib && $(LN_S) libwine.$(VERSION).dylib libwine.$(SOVERSION).dylib - -install-dev-so: $(DESTDIR)$(libdir) dummy - cd $(DESTDIR)$(libdir) && $(RM) libwine.so && $(LN_S) libwine.so.$(VERSION) libwine.so - -install-dev-dll: libwine.a $(DESTDIR)$(libdir) dummy - $(INSTALL_DATA) libwine.a $(DESTDIR)$(libdir)/libwine.a - -install-dev-dylib: $(DESTDIR)$(libdir) dummy - cd $(DESTDIR)$(libdir) && $(RM) libwine.dylib && $(LN_S) libwine.$(VERSION).dylib libwine.dylib - -install install-lib:: $(LIBEXT:%=install-lib-%) -install install-dev:: $(LIBEXT:%=install-dev-%) - -uninstall:: - -cd $(DESTDIR)$(libdir) && $(RM) libwine.a libwine.dll libwine.so libwine.so.$(VERSION) \ - libwine.so.$(SOVERSION) libwine.dylib libwine.$(VERSION).dylib libwine.$(SOVERSION).dylib - version.c: dummy version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-@PACKAGE_VERSION@") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1) -clean:: - $(RM) libwine.so.$(SOVERSION) libwine.so.$(VERSION) version.c - $(RELPATH): @cd $(TOOLSDIR)/tools && $(MAKE) relpath$(TOOLSEXT) + +@LIBWINE_RULES@