makefiles: Generate the platform-specific libwine rules from configure.
This commit is contained in:
parent
8849885f73
commit
54244470f3
|
@ -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)
|
||||
|
|
|
@ -30,7 +30,6 @@ BISON = @BISON@
|
|||
FLEX = @FLEX@
|
||||
EXEEXT = @EXEEXT@
|
||||
OBJEXT = @OBJEXT@
|
||||
LIBEXT = @LIBEXT@
|
||||
DLLEXT = @DLLEXT@
|
||||
FAKEEXT = $(DLLEXT:.so=.fake)
|
||||
TOOLSEXT = @TOOLSEXT@
|
||||
|
|
|
@ -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"
|
||||
|
|
129
configure.ac
129
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"
|
||||
|
||||
|
|
|
@ -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@
|
||||
|
|
Loading…
Reference in New Issue