mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-20 07:17:32 +09:00
It seems that if we're going to enable JS_SHARED_LIBRARY, we need ICU to be a shared library too in order to prevent code duplication in mozjs.dll bloating it to a whopping 21 MB. This unfortunately means we have to fold icudata back to icu itself. But since icudata is still separated from libxul (which is what really matters for #1451), I think this is a fair compromise. Building ICU as shared is offered as an option via --enable-shared-icu. But technically you really need --enable-shared-icu if you're going to use --enable-shared-js. Unfortunately I can't make configure exit with an error if MOZ_SHARED_ICU is not defined when JS_SHARED_LIBRARY is enabled, because options are controlled by different configure scripts (icu is based on bash, while js is based on python), and I have no idea how to pass MOZ_SHARED_ICU to js's moz.configure. Tag #62
46 lines
1.2 KiB
INI
46 lines
1.2 KiB
INI
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
# 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/.
|
|
|
|
# This file builds the unicharutil_external_s library which should be used
|
|
# by frozen (dependent) linkage components. Internal-linkage code should use
|
|
# unicharutil_s which is built in the internal/ subdirectory.
|
|
|
|
DIRS += ['internal']
|
|
|
|
EXPORTS += [
|
|
'GreekCasing.h',
|
|
'ICUUtils.h',
|
|
'IrishCasing.h',
|
|
'nsBidiUtils.h',
|
|
'nsSpecialCasingData.h',
|
|
'nsUnicharUtils.h',
|
|
'nsUnicodeProperties.h',
|
|
'nsUnicodeScriptCodes.h',
|
|
]
|
|
|
|
include('objs.mozbuild')
|
|
|
|
UNIFIED_SOURCES += intl_unicharutil_util_cppsrcs
|
|
|
|
# This line breaks building ICU as a shared library due to a
|
|
# SandboxValidationError from the frontend reader.
|
|
if not CONFIG['MOZ_SHARED_ICU']:
|
|
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']
|
|
|
|
USE_LIBS += ['icu']
|
|
|
|
DIST_INSTALL = True
|