Bug 1414064 - Remove LD_VERSION_SCRIPT from the build system. draft
authorChris Manchester <cmanchester@mozilla.com>
Tue, 07 Nov 2017 14:35:05 -0800
changeset 694583 bac439f7a72dc1245dde2a82818d94d5517ee480
parent 694582 6cafbee7d153641b4d0d465228e04f3fd36a0c5a
child 739363 8c0aface2643bb35d8e24ec5d5373f8ba1a1f792
push id88162
push userbmo:cmanchester@mozilla.com
push dateTue, 07 Nov 2017 22:35:13 +0000
bugs1414064
milestone58.0a1
Bug 1414064 - Remove LD_VERSION_SCRIPT from the build system. MozReview-Commit-ID: 6KOLZh6aQmc
config/rules.mk
python/mozbuild/mozbuild/backend/recursivemake.py
python/mozbuild/mozbuild/frontend/context.py
python/mozbuild/mozbuild/frontend/emitter.py
--- a/config/rules.mk
+++ b/config/rules.mk
@@ -334,26 +334,16 @@ ifeq ($(OS_ARCH),NetBSD)
 ifneq (,$(filter arc cobalt hpcmips mipsco newsmips pmax sgimips,$(OS_TEST)))
 ifneq (,$(filter layout/%,$(relativesrcdir)))
 OS_CFLAGS += -Wa,-xgot
 OS_CXXFLAGS += -Wa,-xgot
 endif
 endif
 endif
 
-#
-# Linux: add -Bsymbolic flag for components
-#
-ifeq ($(OS_ARCH),Linux)
-ifdef LD_VERSION_SCRIPT
-EXTRA_DSO_LDOPTS += -Wl,--version-script,$(LD_VERSION_SCRIPT)
-EXTRA_DEPS += $(LD_VERSION_SCRIPT)
-endif
-endif
-
 ifdef SYMBOLS_FILE
 ifeq ($(OS_TARGET),WINNT)
 ifndef GNU_CC
 EXTRA_DSO_LDOPTS += -DEF:$(call normalizepath,$(SYMBOLS_FILE))
 else
 EXTRA_DSO_LDOPTS += $(call normalizepath,$(SYMBOLS_FILE))
 endif
 else
--- a/python/mozbuild/mozbuild/backend/recursivemake.py
+++ b/python/mozbuild/mozbuild/backend/recursivemake.py
@@ -109,17 +109,16 @@ MOZBUILD_VARIABLES = [
     b'HOST_CMMSRCS',
     b'HOST_CXXFLAGS',
     b'HOST_EXTRA_LIBS',
     b'HOST_LIBRARY_NAME',
     b'HOST_PROGRAM',
     b'HOST_SIMPLE_PROGRAMS',
     b'JAR_MANIFEST',
     b'JAVA_JAR_TARGETS',
-    b'LD_VERSION_SCRIPT',
     b'LIBRARY_NAME',
     b'LIBS',
     b'MAKE_FRAMEWORK',
     b'MODULE',
     b'NO_DIST_INSTALL',
     b'NO_EXPAND_LIBS',
     b'NO_INTERFACES_MANIFEST',
     b'NO_JS_MANIFEST',
--- a/python/mozbuild/mozbuild/frontend/context.py
+++ b/python/mozbuild/mozbuild/frontend/context.py
@@ -1539,22 +1539,16 @@ VARIABLES = {
         """),
 
     'DEFFILE': (unicode, unicode,
         """The program .def (module definition) file.
 
         This variable can only be used on Windows.
         """),
 
-    'LD_VERSION_SCRIPT': (unicode, unicode,
-        """The linker version script for shared libraries.
-
-        This variable can only be used on Linux.
-        """),
-
     'SYMBOLS_FILE': (Path, unicode,
         """A file containing a list of symbols to export from a shared library.
 
         The given file contains a list of symbols to be exported, and is
         preprocessed.
         A special marker "@DATA@" must be added after a symbol name if it
         points to data instead of code, so that the Windows linker can treat
         them correctly.
--- a/python/mozbuild/mozbuild/frontend/emitter.py
+++ b/python/mozbuild/mozbuild/frontend/emitter.py
@@ -714,20 +714,20 @@ class TreeMetadataEmitter(LoggingMixin):
                         context)
 
             symbols_file = context.get('SYMBOLS_FILE')
             if symbols_file:
                 if not shared_lib:
                     raise SandboxValidationError(
                         'SYMBOLS_FILE can only be used with a SHARED_LIBRARY.',
                         context)
-                if context.get('DEFFILE') or context.get('LD_VERSION_SCRIPT'):
+                if context.get('DEFFILE'):
                     raise SandboxValidationError(
-                        'SYMBOLS_FILE cannot be used along DEFFILE or '
-                        'LD_VERSION_SCRIPT.', context)
+                        'SYMBOLS_FILE cannot be used along DEFFILE.',
+                        context)
                 if isinstance(symbols_file, SourcePath):
                     if not os.path.exists(symbols_file.full_path):
                         raise SandboxValidationError(
                             'Path specified in SYMBOLS_FILE does not exist: %s '
                             '(resolved to %s)' % (symbols_file,
                             symbols_file.full_path), context)
                     shared_args['symbols_file'] = True
                 else:
@@ -943,17 +943,16 @@ class TreeMetadataEmitter(LoggingMixin):
             'ANDROID_APK_PACKAGE',
             'ANDROID_GENERATED_RESFILES',
             'EXTRA_DSO_LDOPTS',
             'RCFILE',
             'RESFILE',
             'RCINCLUDE',
             'DEFFILE',
             'WIN32_EXE_LDFLAGS',
-            'LD_VERSION_SCRIPT',
             'USE_EXTENSION_MANIFEST',
             'NO_JS_MANIFEST',
             'HAS_MISC_RULE',
         ]
         for v in varlist:
             if v in context and context[v]:
                 passthru.variables[v] = context[v]