Make use of $ORIGIN in rpath now supported in Haiku

This commit is contained in:
Ingo Weinhold
2013-11-26 22:44:45 +01:00
parent bd4216a951
commit 91dc0dcc7e

View File

@@ -1,4 +1,4 @@
From e022b9718d7c0c0b72b70c47e736750a890b7623 Mon Sep 17 00:00:00 2001
From 2a98aa8f929d5018f35ac90064ebbbf2a64dc27a Mon Sep 17 00:00:00 2001
From: Ingo Weinhold <ingo_weinhold@gmx.de>
Date: Sat, 9 Nov 2013 02:30:27 +0100
Subject: Defs-haiku.gmk: Fix Haiku specific *_PATH variables
@@ -67,7 +67,7 @@ index c1cc440..134e128 100644
1.8.3.4
From 6b685d7575c8263ddc856d9a3f9c6c9d8e3078c1 Mon Sep 17 00:00:00 2001
From 60b48baf8bd582d783bc12df7d968c166297617b Mon Sep 17 00:00:00 2001
From: Ingo Weinhold <ingo_weinhold@gmx.de>
Date: Sat, 9 Nov 2013 02:35:20 +0100
Subject: PLATFORM_API_HaikuOS_PCM.cpp: Fix SoundConsumer include
@@ -91,7 +91,7 @@ index ec111fc..d69c6a9 100644
1.8.3.4
From fd80deb96af7c068b2ceca47fea7e45b13307ecc Mon Sep 17 00:00:00 2001
From 4da954b7d748decbf8120cb4953a67babbc2ab96 Mon Sep 17 00:00:00 2001
From: Ingo Weinhold <ingo_weinhold@gmx.de>
Date: Sat, 9 Nov 2013 14:52:36 +0100
Subject: Fix freetype paths for Haiku
@@ -116,7 +116,7 @@ index a478f97..c0dc0d0 100644
1.8.3.4
From e70bf2516ea1f3e533e3428ed7c3b3b5b32f1917 Mon Sep 17 00:00:00 2001
From 99858f834541b5934ca8b34b30c8c43adf2f98f8 Mon Sep 17 00:00:00 2001
From: Ingo Weinhold <ingo_weinhold@gmx.de>
Date: Sat, 9 Nov 2013 14:53:56 +0100
Subject: HaikuFontManager: Use BPathFinder API to find font dirs
@@ -164,3 +164,72 @@ index a645d00..66af9ab 100644
--
1.8.3.4
From 8951c824cd602b066bb51895be71c407c86a8578 Mon Sep 17 00:00:00 2001
From: Ingo Weinhold <ingo_weinhold@gmx.de>
Date: Tue, 26 Nov 2013 17:50:46 +0100
Subject: Make use of $ORIGIN in rpath now supported in Haiku
diff --git a/make/common/Defs-haiku.gmk b/make/common/Defs-haiku.gmk
index 7375327..70ae24b 100644
--- a/make/common/Defs-haiku.gmk
+++ b/make/common/Defs-haiku.gmk
@@ -219,15 +219,6 @@ ifdef LIBRARY
# The environment variable LD_LIBRARY_PATH will over-ride these runpaths.
# Try: 'readelf -d lib*.so' to see these settings in a library.
#
- # On Haiku, %A is sort of like $ORIGIN except that it's relative to the
- # program's directory rather than the library's. This causes problems
- # with some of the libraries (like nio for one) so you should add the
- # library directory to your LIBRARY_PATH if you need those.
- #
- # I plan to see if I can add a %B or some such to the runtime loader
- # for proper relative-to-the-library rpaths. At the moment %A gets the
- # basics done for the launchers.
- #
Z_ORIGIN_FLAG/sparc = -Xlinker -z -Xlinker origin
Z_ORIGIN_FLAG/i586 = -Xlinker -z -Xlinker origin
Z_ORIGIN_FLAG/amd64 = -Xlinker -z -Xlinker origin
@@ -238,8 +229,8 @@ ifdef LIBRARY
LDFLAG_Z_ORIGIN = $(Z_ORIGIN_FLAG/$(ARCH_FAMILY))
- LDFLAGS_COMMON += $(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \%A
- LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=$(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \%A/%)
+ LDFLAGS_COMMON += $(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN
+ LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=$(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN/%)
endif
diff --git a/make/common/Program.gmk b/make/common/Program.gmk
index 87e9d00..ec0a555 100644
--- a/make/common/Program.gmk
+++ b/make/common/Program.gmk
@@ -99,8 +99,8 @@ ifneq (,$(findstring $(PLATFORM), linux solaris haiku)) # UNIX systems
ifeq ($(PLATFORM), haiku)
LDFLAGS += $(LDFLAG_Z_ORIGIN)
LDFLAGS += -Wl,--allow-shlib-undefined
- LDFLAGS += -Wl,-rpath -Wl,\%A/../lib/$(LIBARCH)/jli
- LDFLAGS += -Wl,-rpath -Wl,\%A/../jre/lib/$(LIBARCH)/jli
+ LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli
+ LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH)/jli
endif
endif
ifeq ($(PLATFORM), windows)
diff --git a/make/java/instrument/Makefile b/make/java/instrument/Makefile
index bb0db1e..74e744e 100644
--- a/make/java/instrument/Makefile
+++ b/make/java/instrument/Makefile
@@ -120,7 +120,7 @@ else
ifeq ($(PLATFORM), haiku)
LDFLAGS += $(LDFLAG_Z_ORIGIN)
LDFLAGS += -Wl,--allow-shlib-undefined
- LDFLAGS += -Wl,-rpath -Wl,\%A/jli
+ LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/jli
endif
endif
--
1.8.3.4