Bug 1333826 - Remove SDK_FILES, SDK_LIBRARY, and related is_sdk support in the build goop, r?mshal draft
authorBenjamin Smedberg <benjamin@smedbergs.us>
Wed, 25 Jan 2017 14:07:49 -0500
changeset 466282 901f0ac92b5c0acc6a74d6e979d22ae60ecdc549
parent 466281 b8e81669a4f5c200dd7b1eea5c750c177aa934ef
child 466283 6f7a20f8826b6820543e573362e4a88e823079f4
child 467291 25dc3055368c7fef930295a3b950cc18f6e70b89
push id42859
push userbsmedberg@mozilla.com
push dateWed, 25 Jan 2017 19:35:31 +0000
reviewersmshal
bugs1333826
milestone54.0a1
Bug 1333826 - Remove SDK_FILES, SDK_LIBRARY, and related is_sdk support in the build goop, r?mshal MozReview-Commit-ID: 52vPyDXdFte
build/docs/defining-binaries.rst
build/unix/moz.build
config/rules.mk
intl/unicharutil/util/moz.build
js/src/moz.build
js/xpconnect/shell/moz.build
memory/build/moz.build
memory/jemalloc/moz.build
mozglue/build/moz.build
python/mozbuild/mozbuild/backend/recursivemake.py
python/mozbuild/mozbuild/frontend/context.py
python/mozbuild/mozbuild/frontend/data.py
python/mozbuild/mozbuild/frontend/emitter.py
python/mozbuild/mozbuild/test/backend/data/sdk-files/bar.ico
python/mozbuild/mozbuild/test/backend/data/sdk-files/foo.ico
python/mozbuild/mozbuild/test/backend/data/sdk-files/moz.build
python/mozbuild/mozbuild/test/backend/data/sdk-files/sub/quux.png
python/mozbuild/mozbuild/test/backend/test_recursivemake.py
python/mozbuild/mozbuild/test/frontend/test_emitter.py
security/moz.build
toolkit/library/moz.build
xpcom/glue/standalone/moz.build
xpcom/glue/standalone/staticruntime/moz.build
xpcom/idl-parser/xpidl/moz.build
xpcom/typelib/xpt/tools/moz.build
--- a/build/docs/defining-binaries.rst
+++ b/build/docs/defining-binaries.rst
@@ -292,19 +292,16 @@ needs to be prefixed with ``static:`` in
       USE_LIBS += [
           'static:mylib',
       ]
 
 
 Miscellaneous
 =============
 
-The ``SDK_LIBRARY`` boolean variable defines whether the library in the current
-directory is going to be installed in the SDK.
-
 The ``SONAME`` variable declares a "shared object name" for the library. It
 defaults to the ``Library`` name or the ``SHARED_LIBRARY_NAME`` if set. When
 linking to a library with a ``SONAME``, the resulting library or program will
 have a dependency on the library with the name corresponding to the ``SONAME``
 instead of the ``Library`` name. This only impacts ELF systems.
 
 ::
 
--- a/build/unix/moz.build
+++ b/build/unix/moz.build
@@ -8,15 +8,11 @@ if CONFIG['MOZ_LIBSTDCXX_TARGET_VERSION'
     DIRS += ['stdc++compat']
 
 if CONFIG['USE_ELF_HACK']:
     DIRS += ['elfhack']
 
 if CONFIG['LLVM_SYMBOLIZER']:
     FINAL_TARGET_FILES += ['/' + CONFIG['LLVM_SYMBOLIZER']]
 
-SDK_FILES.bin += [
-    'run-mozilla.sh',
-]
-
 FINAL_TARGET_FILES += [
     'run-mozilla.sh',
 ]
--- a/config/rules.mk
+++ b/config/rules.mk
@@ -111,18 +111,18 @@ ifdef REAL_LIBRARY
 ifdef FORCE_SHARED_LIB
 # ... except when we really want one
 ifdef NO_EXPAND_LIBS
 LIBRARY			:= $(REAL_LIBRARY)
 else
 LIBRARY			:= $(REAL_LIBRARY).$(LIBS_DESC_SUFFIX)
 endif
 else
-# Only build actual library if it is installed in DIST/lib or SDK
-ifeq (,$(SDK_LIBRARY)$(DIST_INSTALL)$(NO_EXPAND_LIBS))
+# Only build actual library if it is installed in DIST/lib
+ifeq (,$(DIST_INSTALL)$(NO_EXPAND_LIBS))
 LIBRARY			:= $(REAL_LIBRARY).$(LIBS_DESC_SUFFIX)
 else
 ifdef NO_EXPAND_LIBS
 LIBRARY			:= $(REAL_LIBRARY)
 else
 LIBRARY			:= $(REAL_LIBRARY) $(REAL_LIBRARY).$(LIBS_DESC_SUFFIX)
 endif
 endif
@@ -244,17 +244,16 @@ LIBRARY :=
 SHARED_LIBRARY :=
 IMPORT_LIBRARY :=
 REAL_LIBRARY :=
 PROGRAM :=
 SIMPLE_PROGRAMS :=
 HOST_LIBRARY :=
 HOST_PROGRAM :=
 HOST_SIMPLE_PROGRAMS :=
-SDK_LIBRARY :=
 endif
 
 ALL_TRASH = \
 	$(GARBAGE) $(TARGETS) $(OBJS) $(PROGOBJS) LOGS TAGS a.out \
 	$(filter-out $(ASFILES),$(OBJS:.$(OBJ_SUFFIX)=.s)) $(OBJS:.$(OBJ_SUFFIX)=.ii) \
 	$(OBJS:.$(OBJ_SUFFIX)=.i) $(OBJS:.$(OBJ_SUFFIX)=.i_o) \
 	$(HOST_PROGOBJS) $(HOST_OBJS) $(IMPORT_LIBRARY) \
 	$(EXE_DEF_FILE) so_locations _gen _stubs $(wildcard *.res) $(wildcard *.RES) \
@@ -1179,28 +1178,16 @@ PREF_DIR = defaults/pref
 # If DIST_SUBDIR is defined it indicates that app and gre dirs are
 # different and that we are building app related resources. Hence,
 # PREF_DIR should point to the app prefs location.
 ifneq (,$(DIST_SUBDIR)$(XPI_NAME))
 PREF_DIR = defaults/preferences
 endif
 
 ################################################################################
-# SDK
-
-ifneq (,$(SDK_LIBRARY))
-ifndef NO_DIST_INSTALL
-SDK_LIBRARY_FILES := $(SDK_LIBRARY)
-SDK_LIBRARY_DEST := $(SDK_LIB_DIR)
-SDK_LIBRARY_TARGET := target
-INSTALL_TARGETS += SDK_LIBRARY
-endif
-endif # SDK_LIBRARY
-
-################################################################################
 # CHROME PACKAGING
 
 chrome::
 	$(MAKE) realchrome
 	$(LOOP_OVER_DIRS)
 
 $(FINAL_TARGET)/chrome: $(call mkdir_deps,$(FINAL_TARGET)/chrome)
 
--- a/intl/unicharutil/util/moz.build
+++ b/intl/unicharutil/util/moz.build
@@ -24,18 +24,16 @@ EXPORTS += [
 include('objs.mozbuild')
 
 UNIFIED_SOURCES += intl_unicharutil_util_cppsrcs
 
 Library('unicharutil_external_s')
 
 FORCE_STATIC_LIB = True
 
-SDK_LIBRARY = True
-
 USE_STATIC_LIBS = True
 
 if CONFIG['_MSC_VER']:
     DEFINES['_USE_ANSI_CPP'] = True
     # Don't include directives about which CRT to use
     CFLAGS += ['-Zl']
     CXXFLAGS += ['-Zl']
 
--- a/js/src/moz.build
+++ b/js/src/moz.build
@@ -640,17 +640,16 @@ jsautokw.inputs += [
 # and then the static data cells used for locking no longer work.
 #
 # In fact, we now build both a static and a shared library, as the
 # JS shell would like to link to the static library.
 
 if CONFIG['JS_SHARED_LIBRARY']:
     GeckoSharedLibrary('js', linkage=None)
     SHARED_LIBRARY_NAME = CONFIG['JS_LIBRARY_NAME']
-    SDK_LIBRARY = True
 else:
     Library('js')
 
 FORCE_STATIC_LIB = True
 STATIC_LIBRARY_NAME = 'js_static'
 
 if CONFIG['ENABLE_INTL_API']:
     if not CONFIG['MOZ_ICU_DATA_ARCHIVE']:
--- a/js/xpconnect/shell/moz.build
+++ b/js/xpconnect/shell/moz.build
@@ -1,21 +1,16 @@
 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 GeckoProgram('xpcshell', linkage='dependent')
 
-if CONFIG['COMPILE_ENVIRONMENT']:
-    SDK_FILES.bin += [
-        '!xpcshell%s' % CONFIG['BIN_SUFFIX'],
-    ]
-
 SOURCES += [
     'xpcshell.cpp',
 ]
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
     SOURCES += [
         'xpcshellMacUtils.mm',
     ]
--- a/memory/build/moz.build
+++ b/memory/build/moz.build
@@ -43,17 +43,16 @@ if CONFIG['OS_TARGET'] == 'Darwin' and (
         CONFIG['MOZ_MEMORY'] and not CONFIG['MOZ_JEMALLOC4']):
     SOURCES += [
         'zone.c',
     ]
 
 Library('memory')
 
 if CONFIG['MOZ_GLUE_IN_PROGRAM']:
-    SDK_LIBRARY = True
     DIST_INSTALL = True
 
 # Keep jemalloc separated when mozglue is statically linked
 if CONFIG['MOZ_MEMORY'] and (CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android') or
                              CONFIG['MOZ_SYSTEM_JEMALLOC']):
     FINAL_LIBRARY = 'mozglue'
 
 if CONFIG['MOZ_REPLACE_MALLOC'] and CONFIG['OS_TARGET'] == 'Darwin':
--- a/memory/jemalloc/moz.build
+++ b/memory/jemalloc/moz.build
@@ -50,17 +50,16 @@ if CONFIG['OS_TARGET'] == 'Darwin' and n
     ]
 
 if CONFIG['MOZ_JEMALLOC4']:
     FINAL_LIBRARY = 'memory'
 else:
     FINAL_LIBRARY = 'replace_jemalloc'
 
 if CONFIG['MOZ_GLUE_IN_PROGRAM']:
-    SDK_LIBRARY = True
     DIST_INSTALL = True
 
 if CONFIG['_MSC_VER']:
     DEFINES['DLLEXPORT'] = True
     LOCAL_INCLUDES += ['src/include/msvc_compat']
     if not CONFIG['HAVE_INTTYPES_H']:
         LOCAL_INCLUDES += ['src/include/msvc_compat/C99']
 
--- a/mozglue/build/moz.build
+++ b/mozglue/build/moz.build
@@ -6,18 +6,16 @@
 
 # Build mozglue as a shared lib on Windows, OSX and Android.
 # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
 if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'):
     SharedLibrary('mozglue')
 else:
     Library('mozglue')
 
-SDK_LIBRARY = True
-
 if CONFIG['OS_TARGET'] == 'Android':
     SOURCES += [
         'BionicGlue.cpp',
     ]
 
 if CONFIG['MOZ_ASAN']:
     SOURCES += [
         'AsanOptions.cpp',
--- a/python/mozbuild/mozbuild/backend/recursivemake.py
+++ b/python/mozbuild/mozbuild/backend/recursivemake.py
@@ -119,18 +119,16 @@ MOZBUILD_VARIABLES = [
     b'NO_EXPAND_LIBS',
     b'NO_INTERFACES_MANIFEST',
     b'NO_JS_MANIFEST',
     b'OS_LIBS',
     b'PARALLEL_DIRS',
     b'PREF_JS_EXPORTS',
     b'PROGRAM',
     b'RESOURCE_FILES',
-    b'SDK_HEADERS',
-    b'SDK_LIBRARY',
     b'SHARED_LIBRARY_LIBS',
     b'SHARED_LIBRARY_NAME',
     b'SIMPLE_PROGRAMS',
     b'SONAME',
     b'STATIC_LIBRARY_NAME',
     b'TEST_DIRS',
     b'TOOL_DIRS',
     # XXX config/Makefile.in specifies this in a make invocation
@@ -389,17 +387,16 @@ class RecursiveMakeBackend(CommonBackend
 
         self._install_manifests = defaultdict(InstallManifest)
         # The build system relies on some install manifests always existing
         # even if they are empty, because the directories are still filled
         # by the build system itself, and the install manifests are only
         # used for a "magic" rm -rf.
         self._install_manifests['dist_public']
         self._install_manifests['dist_private']
-        self._install_manifests['dist_sdk']
 
         self._traversal = RecursiveMakeTraversal()
         self._compile_graph = OrderedDefaultDict(set)
 
         self._no_skip = {
             'export': set(),
             'libs': set(),
             'misc': set(),
@@ -1183,29 +1180,25 @@ class RecursiveMakeBackend(CommonBackend
         backend_file.write_once('LIBRARY_NAME := %s\n' % libdef.basename)
         backend_file.write('FORCE_SHARED_LIB := 1\n')
         backend_file.write('IMPORT_LIBRARY := %s\n' % libdef.import_name)
         backend_file.write('SHARED_LIBRARY := %s\n' % libdef.lib_name)
         if libdef.variant == libdef.COMPONENT:
             backend_file.write('IS_COMPONENT := 1\n')
         if libdef.soname:
             backend_file.write('DSO_SONAME := %s\n' % libdef.soname)
-        if libdef.is_sdk:
-            backend_file.write('SDK_LIBRARY := %s\n' % libdef.import_name)
         if libdef.symbols_file:
             backend_file.write('SYMBOLS_FILE := %s\n' % libdef.symbols_file)
         if not libdef.cxx_link:
             backend_file.write('LIB_IS_C_ONLY := 1\n')
 
     def _process_static_library(self, libdef, backend_file):
         backend_file.write_once('LIBRARY_NAME := %s\n' % libdef.basename)
         backend_file.write('FORCE_STATIC_LIB := 1\n')
         backend_file.write('REAL_LIBRARY := %s\n' % libdef.lib_name)
-        if libdef.is_sdk:
-            backend_file.write('SDK_LIBRARY := %s\n' % libdef.import_name)
         if libdef.no_expand_lib:
             backend_file.write('NO_EXPAND_LIBS := 1\n')
 
     def _process_rust_library(self, libdef, backend_file):
         backend_file.write_once('RUST_LIBRARY_FILE := %s\n' % libdef.import_name)
         backend_file.write('CARGO_FILE := $(srcdir)/Cargo.toml\n')
         if libdef.features:
             backend_file.write('RUST_LIBRARY_FEATURES := %s\n' % ' '.join(libdef.features))
@@ -1304,17 +1297,16 @@ class RecursiveMakeBackend(CommonBackend
     def _process_final_target_files(self, obj, files, backend_file):
         target = obj.install_target
         path = mozpath.basedir(target, (
             'dist/bin',
             'dist/xpi-stage',
             '_tests',
             'dist/include',
             'dist/branding',
-            'dist/sdk',
         ))
         if not path:
             raise Exception("Cannot install to " + target)
 
         manifest = path.replace('/', '_')
         install_manifest = self._install_manifests[manifest]
         reltarget = mozpath.relpath(target, path)
 
--- a/python/mozbuild/mozbuild/frontend/context.py
+++ b/python/mozbuild/mozbuild/frontend/context.py
@@ -1295,36 +1295,16 @@ VARIABLES = {
         For example, to export ``foo.png`` to the top-level directory and
         ``bar.png`` to the directory ``images/subdir``, append to
         ``BRANDING_FILES`` like so::
 
            BRANDING_FILES += ['foo.png']
            BRANDING_FILES.images.subdir += ['bar.png']
         """),
 
-    'SDK_FILES': (ContextDerivedTypedHierarchicalStringList(Path), list,
-        """List of files to be installed into the sdk directory.
-
-        ``SDK_FILES`` will copy (or symlink, if the platform supports it)
-        the contents of its files to the ``dist/sdk`` directory. Files that
-        are destined for a subdirectory can be specified by accessing a field.
-        For example, to export ``foo.py`` to the top-level directory and
-        ``bar.py`` to the directory ``subdir``, append to
-        ``SDK_FILES`` like so::
-
-           SDK_FILES += ['foo.py']
-           SDK_FILES.subdir += ['bar.py']
-        """),
-
-    'SDK_LIBRARY': (bool, bool,
-        """Whether the library built in the directory is part of the SDK.
-
-        The library will be copied into ``SDK_LIB_DIR`` (``$DIST/sdk/lib``).
-        """),
-
     'SIMPLE_PROGRAMS': (StrictOrderingOnAppendList, list,
         """Compile a list of executable names.
 
         Each name in this variable corresponds to an executable built from the
         corresponding source file with the same base name.
 
         If the configuration token ``BIN_SUFFIX`` is set, its value will be
         automatically appended to each name. If a name already ends with
--- a/python/mozbuild/mozbuild/frontend/data.py
+++ b/python/mozbuild/mozbuild/frontend/data.py
@@ -489,35 +489,33 @@ class BaseLibrary(Linkable):
     def __repr__(self):
         return '<%s: %s/%s>' % (type(self).__name__, self.relobjdir, self.lib_name)
 
 
 class Library(BaseLibrary):
     """Context derived container object for a library"""
     KIND = 'target'
     __slots__ = (
-        'is_sdk',
     )
 
-    def __init__(self, context, basename, real_name=None, is_sdk=False):
+    def __init__(self, context, basename, real_name=None):
         BaseLibrary.__init__(self, context, real_name or basename)
         self.basename = basename
-        self.is_sdk = is_sdk
 
 
 class StaticLibrary(Library):
     """Context derived container object for a static library"""
     __slots__ = (
         'link_into',
         'no_expand_lib',
     )
 
-    def __init__(self, context, basename, real_name=None, is_sdk=False,
+    def __init__(self, context, basename, real_name=None,
         link_into=None, no_expand_lib=False):
-        Library.__init__(self, context, basename, real_name, is_sdk)
+        Library.__init__(self, context, basename, real_name)
         self.link_into = link_into
         self.no_expand_lib = no_expand_lib
 
 
 class RustLibrary(StaticLibrary):
     """Context derived container object for a static library"""
     __slots__ = (
         'cargo_file',
@@ -563,20 +561,20 @@ class SharedLibrary(Library):
         'relobjdir',
         'soname',
     }
 
     FRAMEWORK = 1
     COMPONENT = 2
     MAX_VARIANT = 3
 
-    def __init__(self, context, basename, real_name=None, is_sdk=False,
+    def __init__(self, context, basename, real_name=None,
                  soname=None, variant=None, symbols_file=False):
         assert(variant in range(1, self.MAX_VARIANT) or variant is None)
-        Library.__init__(self, context, basename, real_name, is_sdk)
+        Library.__init__(self, context, basename, real_name)
         self.variant = variant
         self.lib_name = real_name or basename
         assert self.lib_name
 
         if variant == self.FRAMEWORK:
             self.import_name = self.lib_name
         else:
             self.import_name = '%s%s%s' % (
@@ -976,29 +974,16 @@ class BrandingFiles(FinalTargetFiles):
     this object fills that role. It just has a reference to the underlying
     HierarchicalStringList, which is created when parsing BRANDING_FILES.
     """
     @property
     def install_target(self):
         return 'dist/branding'
 
 
-class SdkFiles(FinalTargetFiles):
-    """Sandbox container object for SDK_FILES, which is a
-    HierarchicalStringList.
-
-    We need an object derived from ContextDerived for use in the backend, so
-    this object fills that role. It just has a reference to the underlying
-    HierarchicalStringList, which is created when parsing SDK_FILES.
-    """
-    @property
-    def install_target(self):
-        return 'dist/sdk'
-
-
 class GeneratedFile(ContextDerived):
     """Represents a generated file."""
 
     __slots__ = (
         'script',
         'method',
         'outputs',
         'inputs',
--- a/python/mozbuild/mozbuild/frontend/emitter.py
+++ b/python/mozbuild/mozbuild/frontend/emitter.py
@@ -59,17 +59,16 @@ from .data import (
     ObjdirFiles,
     ObjdirPreprocessedFiles,
     PerSourceFlag,
     PreprocessedTestWebIDLFile,
     PreprocessedWebIDLFile,
     Program,
     RustLibrary,
     RustProgram,
-    SdkFiles,
     SharedLibrary,
     SimpleProgram,
     Sources,
     StaticLibrary,
     TestHarnessFiles,
     TestWebIDLFile,
     TestManifest,
     UnifiedSources,
@@ -635,24 +634,16 @@ class TreeMetadataEmitter(LoggingMixin):
                 shared_args['real_name'] = shared_name
 
             if soname:
                 if not shared_lib:
                     raise SandboxValidationError(
                         'SONAME requires FORCE_SHARED_LIB', context)
                 shared_args['soname'] = soname
 
-            # If both a shared and a static library are created, only the
-            # shared library is meant to be a SDK library.
-            if context.get('SDK_LIBRARY'):
-                if shared_lib:
-                    shared_args['is_sdk'] = True
-                elif static_lib:
-                    static_args['is_sdk'] = True
-
             if context.get('NO_EXPAND_LIBS'):
                 if not static_lib:
                     raise SandboxValidationError(
                         'NO_EXPAND_LIBS can only be set for static libraries.',
                         context)
                 static_args['no_expand_lib'] = True
 
             if shared_lib and static_lib:
@@ -1002,17 +993,16 @@ class TreeMetadataEmitter(LoggingMixin):
         components = []
         for var, cls in (
             ('BRANDING_FILES', BrandingFiles),
             ('EXPORTS', Exports),
             ('FINAL_TARGET_FILES', FinalTargetFiles),
             ('FINAL_TARGET_PP_FILES', FinalTargetPreprocessedFiles),
             ('OBJDIR_FILES', ObjdirFiles),
             ('OBJDIR_PP_FILES', ObjdirPreprocessedFiles),
-            ('SDK_FILES', SdkFiles),
             ('TEST_HARNESS_FILES', TestHarnessFiles),
         ):
             all_files = context.get(var)
             if not all_files:
                 continue
             if dist_install is False and var != 'TEST_HARNESS_FILES':
                 raise SandboxValidationError(
                     '%s cannot be used with DIST_INSTALL = False' % var,
deleted file mode 100644
deleted file mode 100644
deleted file mode 100644
--- a/python/mozbuild/mozbuild/test/backend/data/sdk-files/moz.build
+++ /dev/null
@@ -1,11 +0,0 @@
-# Any copyright is dedicated to the Public Domain.
-# http://creativecommons.org/publicdomain/zero/1.0/
-
-SDK_FILES += [
-    'bar.ico',
-    'sub/quux.png',
-]
-
-SDK_FILES.icons += [
-    'foo.ico',
-]
deleted file mode 100644
--- a/python/mozbuild/mozbuild/test/backend/test_recursivemake.py
+++ b/python/mozbuild/mozbuild/test/backend/test_recursivemake.py
@@ -490,28 +490,16 @@ class TestRecursiveMakeBackend(BackendTe
         #BRANDING_FILES should appear in the dist_branding install manifest.
         m = InstallManifest(path=os.path.join(env.topobjdir,
             '_build_manifests', 'install', 'dist_branding'))
         self.assertEqual(len(m), 3)
         self.assertIn('bar.ico', m)
         self.assertIn('quux.png', m)
         self.assertIn('icons/foo.ico', m)
 
-    def test_sdk_files(self):
-        """Ensure SDK_FILES is handled properly."""
-        env = self._consume('sdk-files', RecursiveMakeBackend)
-
-        #SDK_FILES should appear in the dist_sdk install manifest.
-        m = InstallManifest(path=os.path.join(env.topobjdir,
-            '_build_manifests', 'install', 'dist_sdk'))
-        self.assertEqual(len(m), 3)
-        self.assertIn('bar.ico', m)
-        self.assertIn('quux.png', m)
-        self.assertIn('icons/foo.ico', m)
-
     def test_test_manifests_files_written(self):
         """Ensure test manifests get turned into files."""
         env = self._consume('test-manifests-written', RecursiveMakeBackend)
 
         tests_dir = mozpath.join(env.topobjdir, '_tests')
         m_master = mozpath.join(tests_dir, 'testing', 'mochitest', 'tests', 'mochitest.ini')
         x_master = mozpath.join(tests_dir, 'xpcshell', 'xpcshell.ini')
         self.assertTrue(os.path.exists(m_master))
--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
+++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
@@ -29,17 +29,16 @@ from mozbuild.frontend.data import (
     HostSources,
     IPDLFile,
     JARManifest,
     LinkageMultipleRustLibrariesError,
     LocalInclude,
     Program,
     RustLibrary,
     RustProgram,
-    SdkFiles,
     SharedLibrary,
     SimpleProgram,
     Sources,
     StaticLibrary,
     TestHarnessFiles,
     TestManifest,
     UnifiedSources,
     VariablePassthru,
@@ -377,32 +376,16 @@ class TestEmitterBasic(unittest.TestCase
 
         self.assertEqual(files._strings, ['bar.ico', 'baz.png', 'foo.xpm'])
 
         self.assertIn('icons', files._children)
         icons = files._children['icons']
 
         self.assertEqual(icons._strings, ['quux.icns'])
 
-    def test_sdk_files(self):
-        reader = self.reader('sdk-files')
-        objs = self.read_topsrcdir(reader)
-
-        self.assertEqual(len(objs), 1)
-        self.assertIsInstance(objs[0], SdkFiles)
-
-        files = objs[0].files
-
-        self.assertEqual(files._strings, ['bar.ico', 'baz.png', 'foo.xpm'])
-
-        self.assertIn('icons', files._children)
-        icons = files._children['icons']
-
-        self.assertEqual(icons._strings, ['quux.icns'])
-
     def test_program(self):
         reader = self.reader('program')
         objs = self.read_topsrcdir(reader)
 
         self.assertEqual(len(objs), 3)
         self.assertIsInstance(objs[0], Program)
         self.assertIsInstance(objs[1], SimpleProgram)
         self.assertIsInstance(objs[2], SimpleProgram)
--- a/security/moz.build
+++ b/security/moz.build
@@ -9,18 +9,16 @@ if CONFIG['MOZ_SYSTEM_NSS']:
     OS_LIBS += CONFIG['NSS_LIBS']
 else:
     include('/build/gyp_base.mozbuild')
     if CONFIG['MOZ_FOLD_LIBS']:
         GeckoSharedLibrary('nss', linkage=None)
         # TODO: The library name can be changed when bug 845217 is fixed.
         SHARED_LIBRARY_NAME = 'nss3'
 
-        SDK_LIBRARY = True
-
         USE_LIBS += [
             'nspr4',
             'nss3_static',
             'nssutil',
             'plc4',
             'plds4',
             'smime3_static',
             'ssl',
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
@@ -68,18 +68,16 @@ def Libxul(name):
 
     # This option should go away in bug 1290972, but we need to wait until
     # Rust 1.12 has been released.
     if CONFIG['MOZ_RUST'] and CONFIG['OS_ARCH'] == 'Darwin':
         LDFLAGS += ['-Wl,-no_compact_unwind']
 
 Libxul('xul')
 
-SDK_LIBRARY = True
-
 FORCE_STATIC_LIB = True
 
 STATIC_LIBRARY_NAME = 'xul_s'
 
 SOURCES += [
     'StaticXULComponentsStart.cpp',
 ]
 
--- a/xpcom/glue/standalone/moz.build
+++ b/xpcom/glue/standalone/moz.build
@@ -11,18 +11,16 @@ if CONFIG['OS_ARCH'] == 'WINNT':
 
 SOURCES += [
     '../FileUtils.cpp',
     'nsXPCOMGlue.cpp',
 ]
 
 Library('xpcomglue')
 
-SDK_LIBRARY = True
-
 FORCE_STATIC_LIB = True
 
 if CONFIG['_MSC_VER']:
     DEFINES['_USE_ANSI_CPP'] = True
     # Don't include directives about which CRT to use
     CFLAGS += ['-Zl']
     CXXFLAGS += ['-Zl']
 
--- a/xpcom/glue/standalone/staticruntime/moz.build
+++ b/xpcom/glue/standalone/staticruntime/moz.build
@@ -6,18 +6,16 @@
 
 SOURCES += [
     '../../FileUtils.cpp',
     '../nsXPCOMGlue.cpp',
 ]
 
 Library('xpcomglue_staticruntime')
 
-SDK_LIBRARY = True
-
 # create a static lib
 FORCE_STATIC_LIB = True
 
 if CONFIG['_MSC_VER']:
     DEFINES['_USE_ANSI_CPP'] = True
     # Don't include directives about which CRT to use
     CFLAGS += ['-Zl']
     CXXFLAGS += ['-Zl']
--- a/xpcom/idl-parser/xpidl/moz.build
+++ b/xpcom/idl-parser/xpidl/moz.build
@@ -8,22 +8,8 @@ PYTHON_UNITTEST_MANIFESTS += [
     'python.ini',
 ]
 
 GENERATED_FILES += [
     ('xpidl.stub', 'xpidllex.py', 'xpidlyacc.py'),
 ]
 
 GENERATED_FILES[('xpidl.stub', 'xpidllex.py', 'xpidlyacc.py')].script = 'header.py:main'
-
-SDK_FILES.bin += [
-    '!xpidllex.py',
-    '!xpidlyacc.py',
-    'header.py',
-    'typelib.py',
-    'xpidl.py',
-]
-
-SDK_FILES.bin.ply += [
-    '/other-licenses/ply/ply/__init__.py',
-    '/other-licenses/ply/ply/lex.py',
-    '/other-licenses/ply/ply/yacc.py',
-]
--- a/xpcom/typelib/xpt/tools/moz.build
+++ b/xpcom/typelib/xpt/tools/moz.build
@@ -2,12 +2,8 @@
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 PYTHON_UNITTEST_MANIFESTS += [
     'python.ini',
 ]
-
-SDK_FILES.bin += [
-    'xpt.py',
-]