VirtualBox

Changeset 12958 in vbox


Ignore:
Timestamp:
Oct 2, 2008 8:52:14 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
37386
Message:

xpcom18a4/Makefile: Use LNK_DEPS as mentioned on IRC. Made the nm | sed stuff readable.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/libs/xpcom18a4/Makefile.kmk

    r12879 r12958  
    2727XPCOM_C_NAMESPACE_MAP = $(VBOX_PATH_XPCOM_SRC)/xpcom-namespace-cleanup.map
    2828ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP
    29  VBOX_NM=nm$(HOSTSUFF_EXE)
     29 VBOX_NM = nm$(HOSTSUFF_EXE)
    3030 # At the moment, only Solaris uses the generated map file. GNU ld is smart
    3131 # enough to handle symbol wildcards itself.
     
    11341134ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP
    11351135 VBoxXPCOM_LDFLAGS.linux    = -Wl,--version-script=$(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)
     1136 VBoxXPCOM_LNK_DEPS.linux  += $(XPCOM_C_NAMESPACE_MAP)
    11381137 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
    1140 # VBoxXPCOM_DEPS.solaris    += $(XPCOM_C_NAMESPACE_MAP)
     1138 VBoxXPCOM_LNK_DEPS.solaris+= $(XPCOM_C_NAMESPACE_MAP)
    11411139endif
    11421140VBoxXPCOM_SOURCES = \
     
    17451743$(VBOX_XPIDL): $$(PATH_VBox-xpcom-string)/idl_ts
    17461744
    1747 ## @todo workaround for the DLL dependency bug in kBuild
    1748 $$(TARGET_VBoxXPCOM): $(XPCOM_C_NAMESPACE_MAP)
    1749 
     1745
     1746#
    17501747# 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_)
     1748#
     1749$(PATH_TARGET)/xpcom-namespace-cleanup.map foo.map: $$(VBoxXPCOM_LIBS) $$(VBoxXPCOM_OBJS_)
    17531750        $(call MSG_L1, Creating linker map $@ for scrubbing the symbol namespace)
    1754         $(QUIET)$(VBOX_NM) -p -g $^ | ( $(ECHO_EXT) '{ local: *; 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) '};' ) > $@
     1751        $(QUIET)$(APPEND) -t $@ '{ local: *; global: '
     1752        $(QUIET)$(VBOX_NM) -p -g $^ \
     1753        | $(SED) -n \
     1754                -e '/^$$/b' \
     1755                -e '/:$$/b' \
     1756                -e '/ U /b' \
     1757                -e 's/^[^ ]* [A-Z] \(.*\)$$/\1/' \
     1758                -e 's/\<_Z[^ ]*$$/&;/p' \
     1759                -e 's/\<VBoxNs[^ ]*$$/&;/p' \
     1760                -e 's/\<_edata$$/&;/p' \
     1761                -e 's/\<_end$$/&;/p' \
     1762                -e 's/\<_etext$$/&;/p'\
     1763                -e 's/\<_fini$$/&;/p' \
     1764                -e 's/\<_init$$/&;/p' \
     1765                --append $@
     1766        $(QUIET)$(APPEND) $@ '};'
     1767
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette