Alexandre Julliard : configure: Set rpath on all executables that link to libwine.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Aug 25 13:34:16 CDT 2006


Module: wine
Branch: master
Commit: 13a93b4a94512fd6829d9884eb4bb0aba7abac16
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=13a93b4a94512fd6829d9884eb4bb0aba7abac16

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Aug 25 17:23:44 2006 +0200

configure: Set rpath on all executables that link to libwine.

Also add the -multiply_defined suppress option for executables on MacOS.

---

 Make.rules.in         |    1 +
 configure             |   10 ++++++----
 configure.ac          |    4 +++-
 loader/Makefile.in    |    7 +++----
 server/Makefile.in    |    4 +---
 tools/wmc/Makefile.in |    2 +-
 tools/wrc/Makefile.in |    2 +-
 7 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/Make.rules.in b/Make.rules.in
index 18cfd5c..f77ae49 100644
--- a/Make.rules.in
+++ b/Make.rules.in
@@ -84,6 +84,7 @@ DLLDIR       = $(TOPOBJDIR)/dlls
 LIBPORT      = $(TOPOBJDIR)/libs/port/libwine_port.a
 LIBWPP       = $(TOPOBJDIR)/libs/wpp/libwpp.a
 LIBWINE      = -L$(TOPOBJDIR)/libs/wine -lwine
+LIBWINE_LDFLAGS = @LIBWINE_LDFLAGS@ $(LIBWINE)
 
 @SET_MAKE@
 
diff --git a/configure b/configure
index ca41210..78210e8 100755
--- a/configure
+++ b/configure
@@ -738,13 +738,13 @@ LDSHARED
 LDDLLFLAGS
 LIBEXT
 IMPLIBEXT
+LIBWINE_LDFLAGS
 DLLTOOL
 DLLWRAP
 COREFOUNDATIONLIB
 IOKITLIB
 LDEXECFLAGS
 COREAUDIO
-LDEXERPATH
 CROSSTEST
 CROSSCC
 CROSSWINDRES
@@ -15224,6 +15224,8 @@ LIBEXT="so"
 
 IMPLIBEXT="def"
 
+LIBWINE_LDFLAGS=""
+
 
 case $host_os in
   cygwin*|mingw32*)
@@ -15433,6 +15435,7 @@ fi
     LIBEXT="dylib"
     DLLFLAGS="$DLLFLAGS -fPIC"
     LDDLLFLAGS="-bundle -multiply_defined suppress"
+    LIBWINE_LDFLAGS="-multiply_defined suppress"
     LDSHARED="\$(CC) -dynamiclib -install_name @executable_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`/\$(DYNAME)"
     STRIP="$STRIP -u -r"
         COREFOUNDATIONLIB="-framework CoreFoundation"
@@ -16042,8 +16045,7 @@ ac_res=`eval echo '${'$as_ac_var'}'`
 	       { echo "$as_me:$LINENO: result: $ac_res" >&5
 echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
-  LDEXERPATH="-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"
-
+  LIBWINE_LDFLAGS="-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"
 fi
 
 
@@ -25170,13 +25172,13 @@ LDSHARED!$LDSHARED$ac_delim
 LDDLLFLAGS!$LDDLLFLAGS$ac_delim
 LIBEXT!$LIBEXT$ac_delim
 IMPLIBEXT!$IMPLIBEXT$ac_delim
+LIBWINE_LDFLAGS!$LIBWINE_LDFLAGS$ac_delim
 DLLTOOL!$DLLTOOL$ac_delim
 DLLWRAP!$DLLWRAP$ac_delim
 COREFOUNDATIONLIB!$COREFOUNDATIONLIB$ac_delim
 IOKITLIB!$IOKITLIB$ac_delim
 LDEXECFLAGS!$LDEXECFLAGS$ac_delim
 COREAUDIO!$COREAUDIO$ac_delim
-LDEXERPATH!$LDEXERPATH$ac_delim
 CROSSTEST!$CROSSTEST$ac_delim
 CROSSCC!$CROSSCC$ac_delim
 CROSSWINDRES!$CROSSWINDRES$ac_delim
diff --git a/configure.ac b/configure.ac
index 1ed3b1e..f6125e5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -999,6 +999,7 @@ AC_SUBST(LDSHARED,"")
 AC_SUBST(LDDLLFLAGS,"")
 AC_SUBST(LIBEXT,"so")
 AC_SUBST(IMPLIBEXT,"def")
+AC_SUBST(LIBWINE_LDFLAGS,"")
 
 case $host_os in
   cygwin*|mingw32*)
@@ -1020,6 +1021,7 @@ case $host_os in
     LIBEXT="dylib"
     DLLFLAGS="$DLLFLAGS -fPIC"
     LDDLLFLAGS="-bundle -multiply_defined suppress"
+    LIBWINE_LDFLAGS="-multiply_defined suppress"
     LDSHARED="\$(CC) -dynamiclib -install_name @executable_path/\`\$(RELPATH) \$(bindir) \$(libdir)\`/\$(DYNAME)"
     STRIP="$STRIP -u -r"
     dnl declare needed frameworks
@@ -1066,7 +1068,7 @@ case $host_os in
                       [AC_SUBST(LDEXECFLAGS,["-Wl,--export-dynamic"])])
 
       WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
-                      [AC_SUBST(LDEXERPATH,["-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"])])
+                      [LIBWINE_LDFLAGS="-Wl,--rpath,\\\$\$ORIGIN/\`\$(RELPATH) \$(bindir) \$(libdir)\`"])
 
       case $host_cpu in
         *i[[3456789]]86* | x86_64)
diff --git a/loader/Makefile.in b/loader/Makefile.in
index abf4a5f..51f190d 100644
--- a/loader/Makefile.in
+++ b/loader/Makefile.in
@@ -28,19 +28,18 @@ all: $(WINE_BINARIES) $(MODULE) $(MANPAG
 
 LIBPTHREAD  = @LIBPTHREAD@
 LDEXECFLAGS = @LDEXECFLAGS@
-LDRPATH     = @LDEXERPATH@
 
 wine-glibc: glibc.o Makefile.in
-	$(CC) -o $@ glibc.o $(LDRPATH) $(LIBWINE) $(LIBPORT) $(LIBPTHREAD) $(EXTRALIBS) $(LDFLAGS)
+	$(CC) -o $@ glibc.o $(LIBWINE_LDFLAGS) $(LIBPORT) $(LIBPTHREAD) $(EXTRALIBS) $(LDFLAGS)
 
 wine-preloader: preloader.o Makefile.in
 	$(CC) -o $@ -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c000000 preloader.o $(LIBPORT) $(LDFLAGS)
 
 wine-kthread: $(KTHREAD_OBJS) Makefile.in
-	$(CC) -o $@ $(LDEXECFLAGS) $(LDRPATH) $(KTHREAD_OBJS) $(LIBWINE) $(LIBPORT) $(EXTRALIBS) $(LDFLAGS)
+	$(CC) -o $@ $(LDEXECFLAGS) $(KTHREAD_OBJS) $(LIBWINE_LDFLAGS) $(LIBPORT) $(EXTRALIBS) $(LDFLAGS)
 
 wine-pthread: $(PTHREAD_OBJS) Makefile.in
-	$(CC) -o $@ $(LDEXECFLAGS) $(LDRPATH) $(PTHREAD_OBJS) $(LIBWINE) $(LIBPORT) $(LIBPTHREAD) $(EXTRALIBS) $(LDFLAGS)
+	$(CC) -o $@ $(LDEXECFLAGS) $(PTHREAD_OBJS) $(LIBWINE_LDFLAGS) $(LIBPORT) $(LIBPTHREAD) $(EXTRALIBS) $(LDFLAGS)
 
 $(MODULE): $(MAIN_BINARY)
 	$(RM) $(MODULE) && $(LN_S) $(MAIN_BINARY) $(MODULE)
diff --git a/server/Makefile.in b/server/Makefile.in
index afa6539..05f92aa 100644
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -60,10 +60,8 @@ all: $(PROGRAMS) $(MANPAGES)
 
 @MAKE_RULES@
 
-LDEXERPATH = @LDEXERPATH@
-
 wineserver: $(OBJS)
-	$(CC) -o $@ $(LDEXERPATH) $(OBJS) $(LIBWINE) $(LIBPORT) $(LDFLAGS) $(LIBS)
+	$(CC) -o $@ $(OBJS) $(LIBWINE_LDFLAGS) $(LIBPORT) $(LDFLAGS) $(LIBS)
 
 install:: $(PROGRAMS) $(MANPAGES) $(INSTALLDIRS)
 	$(INSTALL_PROGRAM) wineserver $(DESTDIR)$(bindir)/wineserver
diff --git a/tools/wmc/Makefile.in b/tools/wmc/Makefile.in
index 4584a97..5c99710 100644
--- a/tools/wmc/Makefile.in
+++ b/tools/wmc/Makefile.in
@@ -27,7 +27,7 @@ mcl.o: mcy.tab.h
 @MAKE_RULES@
 
 wmc$(EXEEXT): $(OBJS)
-	$(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBWINE) $(LIBPORT) $(LEXLIB) $(LDFLAGS)
+	$(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBWINE_LDFLAGS) $(LIBPORT) $(LEXLIB) $(LDFLAGS)
 
 mcy.tab.c mcy.tab.h: mcy.y
 	$(BISON) -d -t $(SRCDIR)/mcy.y -o mcy.tab.c
diff --git a/tools/wrc/Makefile.in b/tools/wrc/Makefile.in
index 4e40df5..dd2ca82 100644
--- a/tools/wrc/Makefile.in
+++ b/tools/wrc/Makefile.in
@@ -29,7 +29,7 @@ all: $(PROGRAMS) $(MANPAGES)
 @MAKE_RULES@
 
 wrc$(EXEEXT): $(OBJS) $(LIBWPP)
-	$(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBWPP) $(LIBWINE) $(LIBPORT) $(LEXLIB) $(LDFLAGS)
+	$(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBWPP) $(LIBWINE_LDFLAGS) $(LIBPORT) $(LEXLIB) $(LDFLAGS)
 
 parser.tab.c parser.tab.h: parser.y
 	$(BISON) -d -t $(SRCDIR)/parser.y -o parser.tab.c




More information about the wine-cvs mailing list