# -*- 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/. # Build mozglue as a shared lib on Windows, OSX and Android. But not for # embedders! # If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in if CONFIG["JS_STANDALONE"] and not CONFIG["MOZ_MEMORY"]: Library("mozglue") elif CONFIG["OS_TARGET"] in ("WINNT", "Darwin", "Android"): SharedLibrary("mozglue") else: Library("mozglue") if CONFIG["OS_TARGET"] == "Android": LDFLAGS += ["-Wl,--version-script,%s/mozglue.ver" % SRCDIR] SOURCES += [ "BionicGlue.cpp", ] if CONFIG["MOZ_ASAN"]: SOURCES += [ "AsanOptions.cpp", ] if CONFIG["MOZ_UBSAN"]: SOURCES += [ "UbsanOptions.cpp", ] if CONFIG["MOZ_TSAN"]: SOURCES += [ "TsanOptions.cpp", ] if CONFIG["OS_TARGET"] == "WINNT": if CONFIG["MOZ_MEMORY"]: DEFFILE = "mozglue.def" OS_LIBS += [ "advapi32", "user32", "winmm", "uuid", ] # We'll break the DLL blocklist if we immediately load user32.dll. # For the same reason, we delayload these other DLLs to avoid eager # dependencies on user32.dll. DELAYLOAD_DLLS += [ "advapi32.dll", "dbghelp.dll", "oleaut32.dll", "ole32.dll", "user32.dll", "version.dll", "winmm.dll", ] if CONFIG["MOZ_WIDGET_TOOLKIT"]: if CONFIG["MOZ_MEMORY"] and FORCE_SHARED_LIB: pass # TODO: SHARED_LIBRARY_LIBS go here else: # Temporary, until bug 662814 lands NoVisibilityFlags() SOURCES += [ "dummy.cpp", ] if CONFIG["OS_TARGET"] == "WINNT": LOCAL_INCLUDES += [ "/memory/build", ] EXPORTS.mozilla += [ "arm.h", "mips.h", "ppc.h", ] if CONFIG["CPU_ARCH"] == "arm": SOURCES += [ "arm.cpp", ] if CONFIG["CPU_ARCH"].startswith("mips"): SOURCES += [ "mips.cpp", ] if CONFIG["CPU_ARCH"].startswith("ppc"): SOURCES += [ "ppc.cpp", ] if CONFIG["MOZ_LINKER"]: USE_LIBS += [ "zlib", ] USE_LIBS += [ "mfbt", ] if CONFIG["OS_ARCH"] == "WINNT": RCINCLUDE = "/mozglue/mozglue.rc" if not CONFIG["HAVE_64BIT_BUILD"]: EXPORTS += [ "IAccessible32.manifest", ] EXPORTS += [ "IAccessible64.manifest", ] LIBRARY_DEFINES["IMPL_MFBT"] = True LIBRARY_DEFINES["MOZ_HAS_MOZGLUE"] = True if CONFIG["MOZ_LINKER"] and CONFIG["CPU_ARCH"] == "arm": LDFLAGS += ["-Wl,-version-script,%s/arm-eabi-filter" % SRCDIR] DIST_INSTALL = True include("replace_malloc.mozbuild")