diff --git a/VirtualBox/src/VBox/Devices/Makefile.kmk b/VirtualBox/src/VBox/Devices/Makefile.kmk index dc58dbc..ffcacb0 100644 --- a/VirtualBox/src/VBox/Devices/Makefile.kmk +++ b/VirtualBox/src/VBox/Devices/Makefile.kmk @@ -108,7 +108,7 @@ ifdef VBOX_WITH_USB endif endif -VBoxDDU_LDFLAGS.linux = -Wl,--no-undefined +VBoxDDU_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) VBoxDDU_LDFLAGS.l4 = -Wl,--no-undefined # @@ -183,7 +183,7 @@ VBoxDD_LDFLAGS.darwin = -install_name @executable_path/VBoxDD.dylib \ -framework IOKit \ -framework Carbon \ -framework DiskArbitration -VBoxDD_LDFLAGS.linux = -Wl,--no-undefined +VBoxDD_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) VBoxDD_LDFLAGS.l4 = -Wl,--no-undefined @@ -216,7 +216,7 @@ VBoxDD2_LIBS += \ endif VBoxDD2_LIBS.darwin += $(LIB_REM) VBoxDD2_LDFLAGS.darwin = -install_name @executable_path/VBoxDD2.dylib -VBoxDD2_LDFLAGS.linux = -Wl,--no-undefined +VBoxDD2_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) VBoxDD2_LDFLAGS.l4 = -Wl,--no-undefined diff --git a/VirtualBox/src/VBox/Devices/Storage/testcase/Makefile.kmk b/VirtualBox/src/VBox/Devices/Storage/testcase/Makefile.kmk index d8d364c..e610510 100644 --- a/VirtualBox/src/VBox/Devices/Storage/testcase/Makefile.kmk +++ b/VirtualBox/src/VBox/Devices/Storage/testcase/Makefile.kmk @@ -35,6 +35,7 @@ ifeq ($(KBUILD_TARGET),l4) else vditool_TEMPLATE = VBOXR3EXE vditool_LIBS = $(LIB_DDU) $(LIB_RUNTIME) + vditool_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) endif vditool_SOURCES = vditool.cpp diff --git a/VirtualBox/src/VBox/Frontends/VBoxBFE/Makefile.kmk b/VirtualBox/src/VBox/Frontends/VBoxBFE/Makefile.kmk index 919c93d..0e4b6f6 100644 --- a/VirtualBox/src/VBox/Frontends/VBoxBFE/Makefile.kmk +++ b/VirtualBox/src/VBox/Frontends/VBoxBFE/Makefile.kmk @@ -136,6 +136,7 @@ VBoxBFE_LIBS.l4 = \ VBoxBFE_LIBS.darwin = \ $(LIB_SDK_LIBSDL_SDLMAIN) VBoxBFE_LDFLAGS.darwin = -framework Foundation -framework AppKit +VBoxBFE_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) VBoxBFE_CXXFLAGS.win = \ -EHsc diff --git a/VirtualBox/src/VBox/Frontends/VBoxFB/Makefile.kmk b/VirtualBox/src/VBox/Frontends/VBoxFB/Makefile.kmk index d8b5b0b..a866574 100644 --- a/VirtualBox/src/VBox/Frontends/VBoxFB/Makefile.kmk +++ b/VirtualBox/src/VBox/Frontends/VBoxFB/Makefile.kmk @@ -48,6 +48,7 @@ VBoxFB_LIBPATH = \ VBoxFB_CXXFLAGS = \ -DNDEBUG -DTRIMMED -O -Wall -fno-rtti -fno-exceptions \ -Wno-non-virtual-dtor -Wno-long-long -fshort-wchar -pthread -pipe +VBoxFB_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) include $(KBUILD_PATH)/subfooter.kmk diff --git a/VirtualBox/src/VBox/Frontends/VBoxManage/Makefile.kmk b/VirtualBox/src/VBox/Frontends/VBoxManage/Makefile.kmk index 3f50ee4..c57b421 100644 --- a/VirtualBox/src/VBox/Frontends/VBoxManage/Makefile.kmk +++ b/VirtualBox/src/VBox/Frontends/VBoxManage/Makefile.kmk @@ -37,6 +37,7 @@ VBoxManage_SOURCES = \ VBoxInternalManage.cpp \ VBoxManageSVN.cpp VBoxManage_LIBS += $(LIB_DDU) +VBoxManage_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) # VBoxManageSVN.cpp uses VBOX_SVN_REV. VBoxManageSVN.cpp_DEFS = VBOX_SVN_REV=$(VBOX_SVN_REV) diff --git a/VirtualBox/src/VBox/Frontends/VBoxSDL/Makefile.kmk b/VirtualBox/src/VBox/Frontends/VBoxSDL/Makefile.kmk index bf6e36b..71b28ed 100644 --- a/VirtualBox/src/VBox/Frontends/VBoxSDL/Makefile.kmk +++ b/VirtualBox/src/VBox/Frontends/VBoxSDL/Makefile.kmk @@ -96,6 +96,7 @@ endif VBoxSDL_LDFLAGS.darwin = \ -framework Foundation -framework AppKit +VBoxSDL_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) VBoxSDL_CLEAN = $(PATH_VBoxSDL)/Ico64x01.h Framebuffer.cpp_DEPS = $(PATH_VBoxSDL)/Ico64x01.h diff --git a/VirtualBox/src/VBox/Frontends/VirtualBox/Makefile.kmk b/VirtualBox/src/VBox/Frontends/VirtualBox/Makefile.kmk index f095e18..61dcb2f 100644 --- a/VirtualBox/src/VBox/Frontends/VirtualBox/Makefile.kmk +++ b/VirtualBox/src/VBox/Frontends/VirtualBox/Makefile.kmk @@ -381,6 +381,7 @@ else endif VirtualBox_LDFLAGS.os2 = -Zlinker /PM:PM -Zno-fork VirtualBox_LDFLAGS.darwin = -framework IOKit +VirtualBox_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) ifdef VBOX_WITH_ICHAT_THEATER VirtualBox_LDFLAGS.darwin += -framework Foundation -framework AppKit -framework InstantMessage -framework QuartzCore endif diff --git a/VirtualBox/src/VBox/Main/Makefile.kmk b/VirtualBox/src/VBox/Main/Makefile.kmk index 2b72f06..f7c9e48 100644 --- a/VirtualBox/src/VBox/Main/Makefile.kmk +++ b/VirtualBox/src/VBox/Main/Makefile.kmk @@ -171,6 +171,7 @@ ifdef VBOX_WITH_USB endif VBoxSVC_LIBS += \ + $(LIB_RUNTIME) \ $(LIB_DDU) \ $(LIB_SETTINGS) VBoxSVC_LIBS.darwin = \ @@ -248,6 +249,7 @@ VBoxSVC_SOURCES.win += win/USBProxyServiceWindows.cpp endif VBoxSVC_LDFLAGS.darwin = -framework IOKit +VBoxSVC_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) ifeq ($(KBUILD_TYPE),debug) VBoxSVC_LDFLAGS.linux += -rdynamic # for backtrace_symbols() endif @@ -283,6 +285,7 @@ endif VBoxSVCM_LDFLAGS.darwin = \ -install_name @executable_path/components/VBoxSVCM.dylib \ -exported_symbols_list $(PATH_TARGET)/VBoxSVCM.def +VBoxSVCM_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) ifeq ($(KBUILD_TARGET),darwin) VBoxSVCM_ORDERDEPS += $(PATH_TARGET)/VBoxSVCM.def VBoxSVCM_CLEAN += $(PATH_TARGET)/VBoxSVCM.def @@ -405,6 +408,8 @@ VBoxC_SOURCES += \ RemoteUSBBackend.cpp endif +VBoxC_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) + ifeq ($(KBUILD_TARGET),darwin) VBoxC_ORDERDEPS += $(PATH_TARGET)/VBoxC.def VBoxC_CLEAN += $(PATH_TARGET)/VBoxC.def diff --git a/VirtualBox/src/VBox/VMM/Makefile.kmk b/VirtualBox/src/VBox/VMM/Makefile.kmk index 61588ec..c904e14 100644 --- a/VirtualBox/src/VBox/VMM/Makefile.kmk +++ b/VirtualBox/src/VBox/VMM/Makefile.kmk @@ -198,7 +198,7 @@ VBoxVMM_LIBS += \ VBoxVMM_LIBS.win = $(PATH_TOOL_$(VBOX_VCC_TOOL)_LIB)/delayimp.lib VBoxVMM_LDFLAGS.win = /DELAYLOAD:dbghelp.dll -VBoxVMM_LDFLAGS.linux = -Wl,--no-undefined +VBoxVMM_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) VBoxVMM_LDFLAGS.darwin = -install_name @executable_path/VBoxVMM.dylib VBoxVMM_LDFLAGS.solaris = -mimpure-text ifdef VBOX_WITH_PDM_ASYNC_COMPLETION diff --git a/VirtualBox/src/libs/xpcom18a4/Makefile.kmk b/VirtualBox/src/libs/xpcom18a4/Makefile.kmk index c0098ae..69524a6 100644 --- a/VirtualBox/src/libs/xpcom18a4/Makefile.kmk +++ b/VirtualBox/src/libs/xpcom18a4/Makefile.kmk @@ -612,7 +612,7 @@ else xpidl_CFLAGS = \ $(libIDL_config_cflags) xpidl_LDFLAGS = \ - $(libIDL_config_libs) + -Wl,--no-as-needed $(libIDL_config_libs) endif # @@ -1141,6 +1141,7 @@ VBoxXPCOM_LDFLAGS.solaris = -Wl,-z,allextract \ #VBoxXPCOM_LIBS += $(LIB_RUNTIME_EF) #VBoxXPCOM_LDFLAGS = -Wl,--whole-archive $(VBoxXPCOM_LIBS) -Wl,--no-whole-archive $(LIB_RUNTIME) VBoxXPCOM_LDFLAGS.darwin = -install_name @executable_path/VBoxXPCOM.dylib +VBoxXPCOM_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) ifdef VBOX_IPC_RELEASE_LOG IPC_LOGGING = 1 @@ -1227,7 +1228,9 @@ VBoxXPCOMIPCC_SOURCES += \ ipc/ipcd/client/src/ipcConnectionUnix.cpp endif VBoxXPCOMIPCC_LDFLAGS.darwin = -install_name @executable_path/components/VBoxXPCOMIPCC.dylib +VBoxXPCOMIPCC_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) VBoxXPCOMIPCC_LIBS = \ + $(TARGET_VBoxXPCOM) \ $(TARGET_VBox-xpcom-ipcutils) \ $(TARGET_VBox-xpcom-ipcshared) \ $(TARGET_VBox-xpcom-ipcdlock) \ @@ -1250,6 +1253,7 @@ else VBoxXPCOMIPCD_SOURCES += \ ipc/ipcd/daemon/src/ipcdUnix.cpp endif +VBoxXPCOMIPCD_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) # # testcases diff --git a/VirtualBox/src/recompiler/Makefile.kmk b/VirtualBox/src/recompiler/Makefile.kmk index 63042b4..2125882 100644 --- a/VirtualBox/src/recompiler/Makefile.kmk +++ b/VirtualBox/src/recompiler/Makefile.kmk @@ -194,7 +194,7 @@ else # !REM_USE_NOCRT $(REM_MOD)_LDFLAGS.darwin = -read_only_relocs suppress -install_name @executable_path/$(REM_MOD).dylib -multiple_defined warning $(REM_MOD)_LDFLAGS.l4 = -T$(L4_LIBDIR)/../main_rel.ld -nostdlib -Wl,--no-undefined - $(REM_MOD)_LDFLAGS.linux = $(VBOX_LD_as_needed) + $(REM_MOD)_LDFLAGS.linux = $(VBOX_LD_as_needed) -Wl,-rpath,$(VBOXDIR) $(REM_MOD)_LDFLAGS.os2 = -Zomf $(REM_MOD)_LDFLAGS.debug = -g $(REM_MOD)_LDFLAGS.solaris = -mimpure-text