vbox的更動 12872 路徑 trunk/src/libs/xpcom18a4/Makefile.kmk
- 時間撮記:
- 2008-10-1 下午07:16:49 (16 年 以前)
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/libs/xpcom18a4/Makefile.kmk
r12455 r12872 26 26 # symbol namespace pollution, causing trouble with system libraries. 27 27 XPCOM_C_NAMESPACE_MAP = $(VBOX_PATH_XPCOM_SRC)/xpcom-namespace-cleanup.map 28 ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP 29 VBOX_NM=nm$(HOSTSUFF_EXE) 30 # At the moment, only Solaris uses the generated map file. GNU ld is smart 31 # enough to handle symbol wildcards itself. 32 if1of ($(KBUILD_TARGET), solaris) 33 XPCOM_C_NAMESPACE_MAP = $(PATH_TARGET)/xpcom-namespace-cleanup.map 34 OTHER_CLEAN += $(XPCOM_C_NAMESPACE_MAP) 35 endif 36 endif 28 37 29 38 # @todo check whether VBoxXPCOMIPCC.so or VBoxXPCOMIPCD contain undefined … … 1125 1134 ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP 1126 1135 VBoxXPCOM_LDFLAGS.linux = -Wl,--version-script=$(XPCOM_C_NAMESPACE_MAP) 1127 VBoxXPCOM_DEPS.linux += $(XPCOM_C_NAMESPACE_MAP) 1128 # Disable temporarily, as Solaris doesn't support map files with non-trivial wildcards. 1129 # VBoxXPCOM_LDFLAGS.solaris = -Wl,-M,$(XPCOM_C_NAMESPACE_MAP) 1136 ## @todo DEPS for DLLs are busted, they end up in the wrong place, workaround below 1137 # VBoxXPCOM_DEPS.linux += $(XPCOM_C_NAMESPACE_MAP) 1138 VBoxXPCOM_LDFLAGS.solaris = -Wl,-M,$(XPCOM_C_NAMESPACE_MAP) 1139 ## @todo DEPS for DLLs are busted, they end up in the wrong place, workaround below 1130 1140 # VBoxXPCOM_DEPS.solaris += $(XPCOM_C_NAMESPACE_MAP) 1131 1141 endif … … 1735 1745 $(VBOX_XPIDL): $$(PATH_VBox-xpcom-string)/idl_ts 1736 1746 1747 ## @todo workaround for the DLL dependency bug in kBuild 1748 $(TARGET_VBoxXPCOM): $(XPCOM_C_NAMESPACE_MAP) 1749 1750 # Generate linker map file filtering out unwanted global symbols. 1751 # Never used on windows, so we can use pipes as we wish. 1752 $(PATH_TARGET)/xpcom-namespace-cleanup.map: $(VBoxXPCOM_LIBS) $(VBoxXPCOM_OBJS_) 1753 $(call MSG_L1, Creating linker map $@ for scrubbing the symbol namespace) 1754 $(QUIET)$(VBOX_NM) -p -g $^ | ( $(ECHO_EXT) '{ global: '; $(SED) -n -e '/^$$/b' -e '/:$$/b' -e '/ U /b' -e 's/^[^ ]* [A-Z] \(.*\)$$/\1/' -e 's/\<_Z[^ ]*$$/&;/p' -e 's/\<VBoxNs[^ ]*$$/&;/p' -e 's/\<_edata$$/&;/p' -e 's/\<_end$$/&;/p' -e 's/\<_etext$$/&;/p' -e 's/\<_fini$$/&;/p' -e 's/\<_init$$/&;/p'; $(ECHO_EXT) 'local: *; };' ) > $@
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器