# 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/. DIRS += [ "icons", ] if CONFIG['MOZ_NO_PIE_COMPAT']: GeckoProgram(CONFIG['MOZ_APP_NAME'] + '-bin') DIRS += ['no-pie'] else: GeckoProgram(CONFIG['MOZ_APP_NAME']) SOURCES += ["nsSuiteApp.cpp"] LOCAL_INCLUDES += [ "!/build", "/toolkit/xre", "/xpcom/base", "/xpcom/build", ] if CONFIG["OS_ARCH"] == "WINNT": RCINCLUDE = "splash.rc" DEFINES["MOZ_SUITE"] = True if CONFIG["LIBFUZZER"]: USE_LIBS += ["fuzzer"] LOCAL_INCLUDES += [ "/tools/fuzzing/libfuzzer", ] if CONFIG["CC_TYPE"] in ("msvc", "clang-cl"): # Always enter a Windows program through wmain, whether or not we're # a console application. WIN32_EXE_LDFLAGS += ["-ENTRY:wmainCRTStartup"] if CONFIG["MOZ_SANDBOX"] and CONFIG["OS_ARCH"] == "Darwin": USE_LIBS += [ "mozsandbox", ] OS_LIBS += [ "-framework CoreFoundation", ] if CONFIG["MOZ_SANDBOX"] and CONFIG["OS_ARCH"] == "WINNT": # For sandbox includes and the include dependencies those have LOCAL_INCLUDES += [ "/security/sandbox/chromium", "/security/sandbox/chromium-shim", ] OS_LIBS += [ "version", ] USE_LIBS += [ "sandbox_s", ] OS_LIBS += [ "advapi32", "winmm", "user32", ] DELAYLOAD_DLLS += [ "winmm.dll", "user32.dll", ] if CONFIG["OS_ARCH"] == "WINNT": OS_LIBS += [ "ntdll", ] if CONFIG["CC_TYPE"] == "msvc": CFLAGS += ["-guard:cf"] CXXFLAGS += ["-guard:cf"] LDFLAGS += ["-guard:cf"] # Control the default heap size. # This is the heap returned by GetProcessHeap(). # As we use the CRT heap, the default size is too large and wastes VM. # # The default heap size is 1MB on Win32. # The heap will grow if need be. # # Set it to 256k. See bug 127069. if CONFIG["OS_ARCH"] == "WINNT" and CONFIG["CC_TYPE"] not in ("clang", "gcc"): LDFLAGS += ["/HEAP:0x40000"] DisableStlWrapping() if CONFIG["MOZ_LINKER"]: OS_LIBS += CONFIG["MOZ_ZLIB_LIBS"] if CONFIG["HAVE_CLOCK_MONOTONIC"]: OS_LIBS += CONFIG["REALTIME_LIBS"] if CONFIG["MOZ_LINUX_32_SSE2_STARTUP_ERROR"]: DEFINES["MOZ_LINUX_32_SSE2_STARTUP_ERROR"] = True COMPILE_FLAGS["OS_CXXFLAGS"] = [ f for f in COMPILE_FLAGS.get("OS_CXXFLAGS", []) if not f.startswith("-march=") and f not in ("-msse", "-msse2", "-mfpmath=sse") ] + [ "-mno-sse", "-mno-sse2", "-mfpmath=387", ] # For splash.rc DEFINES["SEAMONKEY_ICO"] = '"%s/%s/icons/windows/main-window.ico"' % ( TOPSRCDIR, CONFIG["MOZ_BRANDING_DIRECTORY"], ) DEFINES["HTML_FILE_ICO"] = '"%s/%s/icons/windows/html-file.ico"' % ( TOPSRCDIR, CONFIG["MOZ_BRANDING_DIRECTORY"], ) DEFINES["APP_VERSION"] = CONFIG["MOZ_APP_VERSION"] JS_PREFERENCE_PP_FILES += [ "profile/suite-prefs.js", ] FINAL_TARGET_FILES += ["blocklist.xml"] FINAL_TARGET_FILES.defaults += ["permissions"]