diff --git a/VirtualBox/src/VBox/Devices/Makefile.kmk b/VirtualBox/src/VBox/Devices/Makefile.kmk index 7cca00d..43dd50a 100644 --- a/VirtualBox/src/VBox/Devices/Makefile.kmk +++ b/VirtualBox/src/VBox/Devices/Makefile.kmk @@ -106,7 +106,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 # @@ -205,7 +205,7 @@ VBoxDD_LDFLAGS.darwin = -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxDD.dyli -framework IOKit \ -framework Carbon \ -framework DiskArbitration -VBoxDD_LDFLAGS.linux = -Wl,--no-undefined +VBoxDD_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) VBoxDD_LDFLAGS.l4 = -Wl,--no-undefined # @@ -232,7 +232,7 @@ VBoxDD2_LIBS += \ endif VBoxDD2_LIBS.darwin += $(LIB_REM) VBoxDD2_LDFLAGS.darwin = -install_name $(VBOX_DYLD_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 6e1b336..6973dea 100644 --- a/VirtualBox/src/VBox/Devices/Storage/testcase/Makefile.kmk +++ b/VirtualBox/src/VBox/Devices/Storage/testcase/Makefile.kmk @@ -36,6 +36,7 @@ include $(KBUILD_PATH)/subheader.kmk # else # vditool_TEMPLATE = VBOXR3TSTEXE # vditool_LIBS = $(LIB_DDU) $(LIB_RUNTIME) +# vditool_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) # endif # vditool_SOURCES = vditool.cpp #endif diff --git a/VirtualBox/src/VBox/Frontends/VBoxBFE/Makefile.kmk b/VirtualBox/src/VBox/Frontends/VBoxBFE/Makefile.kmk index c642001..595f9d4 100644 --- a/VirtualBox/src/VBox/Frontends/VBoxBFE/Makefile.kmk +++ b/VirtualBox/src/VBox/Frontends/VBoxBFE/Makefile.kmk @@ -154,6 +154,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 3519a99..0ea6bc3 100644 --- a/VirtualBox/src/VBox/Frontends/VBoxFB/Makefile.kmk +++ b/VirtualBox/src/VBox/Frontends/VBoxFB/Makefile.kmk @@ -52,6 +52,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 1f39bf3..873540e 100644 --- a/VirtualBox/src/VBox/Frontends/VBoxManage/Makefile.kmk +++ b/VirtualBox/src/VBox/Frontends/VBoxManage/Makefile.kmk @@ -64,6 +64,7 @@ endif ifndef VBOX_ONLY_DOCS VBoxManage_LIBS += $(LIB_DDU) endif # !VBOX_ONLY_DOCS +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 4ce5fe7..dcb9629 100644 --- a/VirtualBox/src/VBox/Frontends/VBoxSDL/Makefile.kmk +++ b/VirtualBox/src/VBox/Frontends/VBoxSDL/Makefile.kmk @@ -112,6 +112,7 @@ endif VBoxSDL_LDFLAGS.darwin = \ -framework Foundation -framework AppKit +VBoxSDL_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) VBoxSDL_CLEAN = $(PATH_VBoxSDL)/Ico64x01.h VBoxSDL_INTERMEDIATES = $(PATH_VBoxSDL)/Ico64x01.h diff --git a/VirtualBox/src/VBox/Frontends/VirtualBox/Makefile.kmk b/VirtualBox/src/VBox/Frontends/VirtualBox/Makefile.kmk index 63d807c..0f09e36 100644 --- a/VirtualBox/src/VBox/Frontends/VirtualBox/Makefile.kmk +++ b/VirtualBox/src/VBox/Frontends/VirtualBox/Makefile.kmk @@ -353,6 +353,7 @@ VirtualBox_LDFLAGS.os2 = -Zlinker /PM:PM -Zno-fork VirtualBox_LDFLAGS.darwin = \ -framework IOKit -framework Carbon -framework QuickTime \ $(if $(VBOX_WITH_HARDENING),-install_name $(VBOX_DYLD_EXECUTABLE_PATH)/VirtualBox3.dylib) +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 c766b99..b2b0828 100644 --- a/VirtualBox/src/VBox/Main/Makefile.kmk +++ b/VirtualBox/src/VBox/Main/Makefile.kmk @@ -223,6 +223,7 @@ ifdef VBOX_WITH_USB endif VBoxSVC_LIBS += \ + $(LIB_RUNTIME) \ $(LIB_DDU) \ $(LIB_SETTINGS) VBoxSVC_LIBS.darwin = \ @@ -322,6 +323,7 @@ ifdef VBOX_WITH_NETFLT endif endif VBoxSVC_LDFLAGS.darwin = -framework IOKit -framework SystemConfiguration +VBoxSVC_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) ifeq ($(KBUILD_TYPE),debug) VBoxSVC_LDFLAGS.linux += -rdynamic # for backtrace_symbols() endif @@ -418,6 +420,7 @@ VBoxSVCM_SOURCES = \ VBoxSVCM_LDFLAGS.darwin = \ -install_name $(VBOX_DYLD_EXECUTABLE_PATH)/components/VBoxSVCM.dylib \ -exported_symbols_list $(PATH_VBoxSVCM)/VBoxSVCM.def +VBoxSVCM_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) ifeq ($(KBUILD_TARGET),darwin) VBoxSVCM_ORDERDEPS += $(PATH_VBoxSVCM)/VBoxSVCM.def VBoxSVCM_CLEAN += $(PATH_VBoxSVCM)/VBoxSVCM.def @@ -532,6 +535,8 @@ VBoxC_SOURCES += \ RemoteUSBBackend.cpp endif +VBoxC_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) + ifeq ($(KBUILD_TARGET),darwin) VBoxC_ORDERDEPS += $(PATH_VBoxC)/VBoxC.def VBoxC_CLEAN += $(PATH_VBoxC)/VBoxC.def diff --git a/VirtualBox/src/VBox/VMM/Makefile.kmk b/VirtualBox/src/VBox/VMM/Makefile.kmk index b4f2f28..09ca796 100644 --- a/VirtualBox/src/VBox/VMM/Makefile.kmk +++ b/VirtualBox/src/VBox/VMM/Makefile.kmk @@ -212,7 +212,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 $(VBOX_DYLD_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 3121c34..be28861 100644 --- a/VirtualBox/src/libs/xpcom18a4/Makefile.kmk +++ b/VirtualBox/src/libs/xpcom18a4/Makefile.kmk @@ -656,7 +656,7 @@ else xpidl_CFLAGS = \ $(libIDL_config_cflags) xpidl_LDFLAGS = \ - $(libIDL_config_libs) + -Wl,--no-as-needed $(libIDL_config_libs) endif # @@ -1204,6 +1204,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 $(VBOX_DYLD_EXECUTABLE_PATH)/VBoxXPCOM.dylib +VBoxXPCOM_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) ifdef VBOX_IPC_RELEASE_LOG IPC_LOGGING = 1 @@ -1284,7 +1285,9 @@ VBoxXPCOMIPCC_SOURCES += \ ipc/ipcd/client/src/ipcConnectionUnix.cpp endif VBoxXPCOMIPCC_LDFLAGS.darwin = -install_name $(VBOX_DYLD_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) \ @@ -1310,6 +1313,7 @@ else VBoxXPCOMIPCD_SOURCES += \ ipc/ipcd/daemon/src/ipcdUnix.cpp endif +VBoxXPCOMIPCD_LDFLAGS.linux = -Wl,-rpath,$(VBOXDIR) # diff --git a/VirtualBox/src/recompiler/Makefile.kmk b/VirtualBox/src/recompiler/Makefile.kmk index d97faa3..f84cfa3 100644 --- a/VirtualBox/src/recompiler/Makefile.kmk +++ b/VirtualBox/src/recompiler/Makefile.kmk @@ -205,7 +205,7 @@ else # !REM_USE_NOCRT $(REM_MOD)_LDFLAGS.darwin = -read_only_relocs suppress -install_name $(VBOX_DYLD_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) ifneq ($(KBUILD_TARGET),win) ifdef VBOX_WITH_RUNPATH $(REM_MOD)_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RUNPATH)'