Define an LDDLL command to link dlls, instead of using LDDLLFLAGS.

This commit is contained in:
Alexandre Julliard 2003-10-11 01:05:18 +00:00
parent e8dae9c029
commit 6ac34ac6ab
7 changed files with 19 additions and 29 deletions

View File

@ -35,6 +35,7 @@ LIBEXT = @LIBEXT@
DLLEXT = @DLLEXT@ DLLEXT = @DLLEXT@
IMPLIBEXT = @IMPLIBEXT@ IMPLIBEXT = @IMPLIBEXT@
LDSHARED = @LDSHARED@ LDSHARED = @LDSHARED@
LDDLL = @LDDLL@
DLLTOOL = @DLLTOOL@ DLLTOOL = @DLLTOOL@
DLLWRAP = @DLLWRAP@ DLLWRAP = @DLLWRAP@
AR = @AR@ rc AR = @AR@ rc

14
configure vendored
View File

@ -308,7 +308,7 @@ ac_includes_default="\
# include <unistd.h> # include <unistd.h>
#endif" #endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS WIN16_FILES WIN16_INSTALL LIBPTHREAD build build_cpu build_vendor build_os host host_cpu host_vendor host_os SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP TOOLSDIR X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS YACC LEX LEXLIB LEX_OUTPUT_ROOT XYACC XLEX AS ac_ct_AS LD ac_ct_LD AR ac_ct_AR RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP WINDRES ac_ct_WINDRES LN_S LN LDCONFIG INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LINT LINTFLAGS DB2HTML DB2PDF DB2PS DB2TXT JPEGLIB EGREP GIFLIB XLIB XFILES OPENGLFILES GLU32FILES OPENGL_LIBS NASLIBS CURSESLIBS sane_devel SANELIBS SANEINCL ICULIBS ft_devel ft_devel2 FREETYPEINCL ARTSCCONFIG ARTSLIBS ARTSINCL ALSALIBS AUDIOIOLIBS EXTRACFLAGS DLLEXT DLLFLAGS DLLIBS LDDLLFLAGS LDSHARED LIBEXT IMPLIBEXT DLLTOOL ac_ct_DLLTOOL DLLWRAP ac_ct_DLLWRAP LDEXECFLAGS CROSSTEST CROSSCC CROSSWINDRES LDPATH CRTLIBS LDD ALLOCA LIBOBJS LTLIBOBJS' ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS WIN16_FILES WIN16_INSTALL LIBPTHREAD build build_cpu build_vendor build_os host host_cpu host_vendor host_os SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP TOOLSDIR X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS YACC LEX LEXLIB LEX_OUTPUT_ROOT XYACC XLEX AS ac_ct_AS LD ac_ct_LD AR ac_ct_AR RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP WINDRES ac_ct_WINDRES LN_S LN LDCONFIG INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LINT LINTFLAGS DB2HTML DB2PDF DB2PS DB2TXT JPEGLIB EGREP GIFLIB XLIB XFILES OPENGLFILES GLU32FILES OPENGL_LIBS NASLIBS CURSESLIBS sane_devel SANELIBS SANEINCL ICULIBS ft_devel ft_devel2 FREETYPEINCL ARTSCCONFIG ARTSLIBS ARTSINCL ALSALIBS AUDIOIOLIBS EXTRACFLAGS DLLEXT DLLFLAGS DLLIBS LDSHARED LDDLL LIBEXT IMPLIBEXT DLLTOOL ac_ct_DLLTOOL DLLWRAP ac_ct_DLLWRAP LDEXECFLAGS CROSSTEST CROSSCC CROSSWINDRES LDPATH CRTLIBS LDD ALLOCA LIBOBJS LTLIBOBJS'
ac_subst_files='MAKE_RULES MAKE_DLL_RULES MAKE_TEST_RULES MAKE_LIB_RULES MAKE_PROG_RULES' ac_subst_files='MAKE_RULES MAKE_DLL_RULES MAKE_TEST_RULES MAKE_LIB_RULES MAKE_PROG_RULES'
# Initialize some variables set by options. # Initialize some variables set by options.
@ -11675,10 +11675,10 @@ DLLFLAGS="-D_REENTRANT"
DLLIBS="" DLLIBS=""
LDDLLFLAGS=""
LDSHARED="" LDSHARED=""
LDDLL=""
LIBEXT="so" LIBEXT="so"
IMPLIBEXT="def" IMPLIBEXT="def"
@ -12202,7 +12202,7 @@ echo "${ECHO_T}$ac_cv_c_dll_gnuelf" >&6
if test "$ac_cv_c_dll_gnuelf" = "yes" if test "$ac_cv_c_dll_gnuelf" = "yes"
then then
LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)" LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
LDDLLFLAGS="-Wl,-Bsymbolic" LDDLL="\$(CC) -shared -Wl,-Bsymbolic"
echo "$as_me:$LINENO: checking whether the linker accepts -z defs" >&5 echo "$as_me:$LINENO: checking whether the linker accepts -z defs" >&5
echo $ECHO_N "checking whether the linker accepts -z defs... $ECHO_C" >&6 echo $ECHO_N "checking whether the linker accepts -z defs... $ECHO_C" >&6
if test "${ac_cv_c_dll_zdefs+set}" = set; then if test "${ac_cv_c_dll_zdefs+set}" = set; then
@ -12252,7 +12252,7 @@ echo "$as_me:$LINENO: result: $ac_cv_c_dll_zdefs" >&5
echo "${ECHO_T}$ac_cv_c_dll_zdefs" >&6 echo "${ECHO_T}$ac_cv_c_dll_zdefs" >&6
if test "$ac_cv_c_dll_zdefs" = "yes" if test "$ac_cv_c_dll_zdefs" = "yes"
then then
LDDLLFLAGS="$LDDLLFLAGS,-z,defs" LDDLL="$LDDLL,-z,defs"
fi fi
echo "$as_me:$LINENO: checking whether we can relocate the executable to 0x3c000000" >&5 echo "$as_me:$LINENO: checking whether we can relocate the executable to 0x3c000000" >&5
echo $ECHO_N "checking whether we can relocate the executable to 0x3c000000... $ECHO_C" >&6 echo $ECHO_N "checking whether we can relocate the executable to 0x3c000000... $ECHO_C" >&6
@ -12356,7 +12356,7 @@ echo "${ECHO_T}$ac_cv_c_dll_unixware" >&6
if test "$ac_cv_c_dll_unixware" = "yes" if test "$ac_cv_c_dll_unixware" = "yes"
then then
LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)" LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
LDDLLFLAGS="-Wl,-B,symbolic" LDDLL="\$(CC) -Wl,-G,-B,symbolic"
fi fi
fi fi
fi fi
@ -17767,8 +17767,8 @@ s,@EXTRACFLAGS@,$EXTRACFLAGS,;t t
s,@DLLEXT@,$DLLEXT,;t t s,@DLLEXT@,$DLLEXT,;t t
s,@DLLFLAGS@,$DLLFLAGS,;t t s,@DLLFLAGS@,$DLLFLAGS,;t t
s,@DLLIBS@,$DLLIBS,;t t s,@DLLIBS@,$DLLIBS,;t t
s,@LDDLLFLAGS@,$LDDLLFLAGS,;t t
s,@LDSHARED@,$LDSHARED,;t t s,@LDSHARED@,$LDSHARED,;t t
s,@LDDLL@,$LDDLL,;t t
s,@LIBEXT@,$LIBEXT,;t t s,@LIBEXT@,$LIBEXT,;t t
s,@IMPLIBEXT@,$IMPLIBEXT,;t t s,@IMPLIBEXT@,$IMPLIBEXT,;t t
s,@DLLTOOL@,$DLLTOOL,;t t s,@DLLTOOL@,$DLLTOOL,;t t

View File

@ -810,8 +810,8 @@ dnl **** Check for working dll ****
AC_SUBST(DLLEXT,"") AC_SUBST(DLLEXT,"")
AC_SUBST(DLLFLAGS,"-D_REENTRANT") AC_SUBST(DLLFLAGS,"-D_REENTRANT")
AC_SUBST(DLLIBS,"") AC_SUBST(DLLIBS,"")
AC_SUBST(LDDLLFLAGS,"")
AC_SUBST(LDSHARED,"") AC_SUBST(LDSHARED,"")
AC_SUBST(LDDLL,"")
AC_SUBST(LIBEXT,"so") AC_SUBST(LIBEXT,"so")
AC_SUBST(IMPLIBEXT,"def") AC_SUBST(IMPLIBEXT,"def")
@ -846,13 +846,13 @@ case $host_os in
if test "$ac_cv_c_dll_gnuelf" = "yes" if test "$ac_cv_c_dll_gnuelf" = "yes"
then then
LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)" LDSHARED="\$(CC) -shared \$(SONAME:%=-Wl,-soname,%)"
LDDLLFLAGS="-Wl,-Bsymbolic" LDDLL="\$(CC) -shared -Wl,-Bsymbolic"
AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs, AC_CACHE_CHECK([whether the linker accepts -z defs], ac_cv_c_dll_zdefs,
[WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs], [WINE_TRY_CFLAGS([-fPIC -shared -Wl,-Bsymbolic,-z,defs],
ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")]) ac_cv_c_dll_zdefs="yes",ac_cv_c_dll_zdefs="no")])
if test "$ac_cv_c_dll_zdefs" = "yes" if test "$ac_cv_c_dll_zdefs" = "yes"
then then
LDDLLFLAGS="$LDDLLFLAGS,-z,defs" LDDLL="$LDDLL,-z,defs"
fi fi
AC_CACHE_CHECK([whether we can relocate the executable to 0x3c000000], ac_cv_ld_reloc_exec, AC_CACHE_CHECK([whether we can relocate the executable to 0x3c000000], ac_cv_ld_reloc_exec,
[saved_CFLAGS="$CFLAGS" [saved_CFLAGS="$CFLAGS"
@ -874,7 +874,7 @@ case $host_os in
if test "$ac_cv_c_dll_unixware" = "yes" if test "$ac_cv_c_dll_unixware" = "yes"
then then
LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)" LDSHARED="\$(CC) -Wl,-G \$(SONAME:%=-Wl,-h,%)"
LDDLLFLAGS="-Wl,-B,symbolic" LDDLL="\$(CC) -Wl,-G,-B,symbolic"
fi fi
fi fi
fi fi

View File

@ -29,7 +29,7 @@ $(MAINSPEC).c: $(MAINSPEC) $(RC_SRCS:.rc=.res) $(ALL_OBJS) $(IMPORTLIBS) $(WINEB
$(WINEBUILD) $(DEFS) $(DLLFLAGS) -o $@ --spec $(SRCDIR)/$(MAINSPEC) $(RC_SRCS:.rc=.res) $(ALL_OBJS) -L$(DLLDIR) $(DELAYIMPORTS:%=-d%) $(IMPORTS:%=-l%) $(WINEBUILD) $(DEFS) $(DLLFLAGS) -o $@ --spec $(SRCDIR)/$(MAINSPEC) $(RC_SRCS:.rc=.res) $(ALL_OBJS) -L$(DLLDIR) $(DELAYIMPORTS:%=-d%) $(IMPORTS:%=-l%)
$(MODULE).so: $(MAINSPEC).o $(ALL_OBJS) Makefile.in $(MODULE).so: $(MAINSPEC).o $(ALL_OBJS) Makefile.in
$(LDSHARED) $(LDDLLFLAGS) $(MAINSPEC).o $(ALL_OBJS) -o $@ $(ALL_LIBS) -lc $(LDDLL) $(MAINSPEC).o $(ALL_OBJS) -o $@ $(ALL_LIBS) -lc
# Rules for .dll files # Rules for .dll files
@ -40,14 +40,12 @@ $(SPEC_DEF): $(WINEBUILD)
# Rules for checking that no imports are missing # Rules for checking that no imports are missing
CHECKLINK_RPATH = dlls libs/unicode libs/wine
.PHONY: checklink16 $(WIN16_FILES:%=__checklink16__%) .PHONY: checklink16 $(WIN16_FILES:%=__checklink16__%)
$(WIN16_FILES:%=__checklink16__%): checklink16 $(WIN16_FILES:%=__checklink16__%): checklink16
checklink16:: $(MAINSPEC).o $(OBJS) $(MODULE).dbg.o dummy checklink16:: $(MAINSPEC).o $(OBJS) $(MODULE).dbg.o dummy
$(CC) -o checklink $(CHECKLINK_RPATH:%=-Wl,-rpath,$(TOPOBJDIR)/%) $(TOPSRCDIR)/dlls/checklink.c $(MAINSPEC).o $(OBJS) $(MODULE).dbg.o $(ALL_LIBS) && $(RM) checklink $(CC) -o checklink -Wl,-rpath,$(TOPOBJDIR)/libs $(TOPSRCDIR)/dlls/checklink.c $(MAINSPEC).o $(OBJS) $(MODULE).dbg.o $(ALL_LIBS) && $(RM) checklink
checklink:: $(WIN16_FILES:%=__checklink16__%) checklink:: $(WIN16_FILES:%=__checklink16__%)
@ -70,12 +68,6 @@ doc-sgml: $(C_SRCS)
.PHONY: man doc-html doc-sgml .PHONY: man doc-html doc-sgml
# Sanity check
Makedll.rules: $(TOPSRCDIR)/dlls/Makedll.rules.in $(TOPSRCDIR)/configure
@echo $? is newer than 'Makedll.rules', please rerun ./configure!
@exit 1
# Rules for installation # Rules for installation
WIN16_INSTALL = $(ALTNAMES:%=_install_/%$(DLLEXT)) WIN16_INSTALL = $(ALTNAMES:%=_install_/%$(DLLEXT))

View File

@ -11,7 +11,6 @@
DEFS = $(EXTRADEFS) DEFS = $(EXTRADEFS)
DLLFLAGS = @DLLFLAGS@ DLLFLAGS = @DLLFLAGS@
LDDLLFLAGS = @LDDLLFLAGS@
MODULE = $(TESTDLL:%.dll=%)_test.exe MODULE = $(TESTDLL:%.dll=%)_test.exe
TESTLIST = testlist.c TESTLIST = testlist.c
@ -42,7 +41,7 @@ $(MODULE).spec.c: $(RC_SRCS:.rc=.res) $(OBJS) $(IMPORTLIBS) $(WINEBUILD)
# Rules for .so main module # Rules for .so main module
$(MODULE).so: $(MODULE).spec.o $(OBJS) Makefile.in $(MODULE).so: $(MODULE).spec.o $(OBJS) Makefile.in
$(LDSHARED) $(LDDLLFLAGS) $(MODULE).spec.o $(OBJS) -o $@ $(ALL_LIBS) -lc $(LDDLL) $(MODULE).spec.o $(OBJS) -o $@ $(ALL_LIBS) -lc
# Rules for .exe main module # Rules for .exe main module

View File

@ -11,7 +11,6 @@
DEFS = $(EXTRADEFS) DEFS = $(EXTRADEFS)
DLLFLAGS = @DLLFLAGS@ DLLFLAGS = @DLLFLAGS@
LDDLLFLAGS = @LDDLLFLAGS@
ALL_OBJS = $(OBJS) $(MODULE).dbg.o ALL_OBJS = $(OBJS) $(MODULE).dbg.o
ALL_LIBS = $(LIBWINE) $(EXTRALIBS) $(LIBPORT) $(LDFLAGS) $(LIBS) ALL_LIBS = $(LIBWINE) $(EXTRALIBS) $(LIBPORT) $(LDFLAGS) $(LIBS)
BASEMODULE = $(MODULE:.exe=) BASEMODULE = $(MODULE:.exe=)
@ -30,7 +29,7 @@ $(MODULE).spec.c: $(RC_SRCS:.rc=.res) $(ALL_OBJS) $(WINEBUILD)
# Rules for .so main module # Rules for .so main module
$(MODULE).so: $(MODULE).spec.o $(ALL_OBJS) Makefile.in $(MODULE).so: $(MODULE).spec.o $(ALL_OBJS) Makefile.in
$(LDSHARED) $(LDDLLFLAGS) $(MODULE).spec.o $(ALL_OBJS) -o $@ $(ALL_LIBS) -lc $(LDDLL) $(MODULE).spec.o $(ALL_OBJS) -o $@ $(ALL_LIBS) -lc
$(BASEMODULE): $(WINEWRAPPER) $(BASEMODULE): $(WINEWRAPPER)
$(RM) $@ && $(LN_S) $(WINEWRAPPER) $@ $(RM) $@ && $(LN_S) $(WINEWRAPPER) $@

View File

@ -1,6 +1,5 @@
DEFS = $(EXTRADEFS) DEFS = $(EXTRADEFS)
DLLFLAGS = @DLLFLAGS@ DLLFLAGS = @DLLFLAGS@
LDDLLFLAGS = @LDDLLFLAGS@
TOPSRCDIR = @top_srcdir@ TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../.. TOPOBJDIR = ../..
SRCDIR = @srcdir@ SRCDIR = @srcdir@
@ -28,13 +27,13 @@ icinfo.exe.spec.c: icinfo.o $(WINEBUILD)
$(WINEBUILD) $(DEFS) $(DLLFLAGS) -o $@ --exe icinfo.exe --exe-mode gui icinfo.o -L$(DLLDIR) -lmsvfw32 -lkernel32 $(WINEBUILD) $(DEFS) $(DLLFLAGS) -o $@ --exe icinfo.exe --exe-mode gui icinfo.o -L$(DLLDIR) -lmsvfw32 -lkernel32
aviinfo.exe.so: aviinfo.o aviinfo.exe.spec.o aviinfo.exe.so: aviinfo.o aviinfo.exe.spec.o
$(LDSHARED) $(LDDLLFLAGS) -o $@ aviinfo.o aviinfo.exe.spec.o $(ALL_LIBS) -lc $(LDDLL) -o $@ aviinfo.o aviinfo.exe.spec.o $(ALL_LIBS) -lc
aviplay.exe.so: aviplay.o aviplay.exe.spec.o aviplay.exe.so: aviplay.o aviplay.exe.spec.o
$(LDSHARED) $(LDDLLFLAGS) -o $@ aviplay.o aviplay.exe.spec.o $(ALL_LIBS) -lc $(LDDLL) -o $@ aviplay.o aviplay.exe.spec.o $(ALL_LIBS) -lc
icinfo.exe.so: icinfo.o icinfo.exe.spec.o icinfo.exe.so: icinfo.o icinfo.exe.spec.o
$(LDSHARED) $(LDDLLFLAGS) -o $@ icinfo.o icinfo.exe.spec.o $(ALL_LIBS) -lc $(LDDLL) -o $@ icinfo.o icinfo.exe.spec.o $(ALL_LIBS) -lc
aviinfo.exe: aviinfo.o aviinfo.exe: aviinfo.o
$(CC) -o $@ aviinfo.o -lkernel32 $(ALL_LIBS) $(CC) -o $@ aviinfo.o -lkernel32 $(ALL_LIBS)