mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-26 09:18:37 +09:00
utf_info.cxx imported from 1.4.1 upstream. Also moved unicode_info struct to the header to fix bustage with compiling the new utf_info.cxx. I've also gone ahead and deunified this new shared library as unified building is busting in hunspell.cxx, complaining about config.h not being found. Weird that it only happens in unified mode. This reduces libxul size on all platforms by ~200 KB.
325 lines
7.6 KiB
INI
325 lines
7.6 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/.
|
|
|
|
@template
|
|
def Libxul_defines():
|
|
LIBRARY_DEFINES['MOZILLA_INTERNAL_API'] = True
|
|
LIBRARY_DEFINES['IMPL_LIBXUL'] = True
|
|
if not CONFIG['JS_SHARED_LIBRARY']:
|
|
LIBRARY_DEFINES['STATIC_EXPORTABLE_JS_API'] = True
|
|
|
|
@template
|
|
def Libxul(name):
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'uikit'):
|
|
# This is going to be a framework named "XUL", not an ordinary library named
|
|
# "libxul.dylib"
|
|
GeckoFramework(name, linkage=None)
|
|
SHARED_LIBRARY_NAME = 'XUL'
|
|
else:
|
|
GeckoSharedLibrary(name, linkage=None)
|
|
SHARED_LIBRARY_NAME = 'xul'
|
|
|
|
DELAYLOAD_DLLS += [
|
|
'comdlg32.dll',
|
|
'netapi32.dll',
|
|
'secur32.dll',
|
|
'wininet.dll',
|
|
'winspool.drv'
|
|
]
|
|
|
|
if CONFIG['ACCESSIBILITY']:
|
|
DELAYLOAD_DLLS += ['oleacc.dll']
|
|
|
|
if CONFIG['MOZ_WEBRTC']:
|
|
DELAYLOAD_DLLS += ['msdmo.dll']
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT':
|
|
DELAYLOAD_DLLS += [
|
|
'api-ms-win-core-winrt-l1-1-0.dll',
|
|
'api-ms-win-core-winrt-string-l1-1-0.dll',
|
|
]
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT' and not CONFIG['GNU_CC']:
|
|
LOCAL_INCLUDES += [
|
|
'/widget/windows',
|
|
'/xpcom/base',
|
|
]
|
|
# config/version.mk says $(srcdir)/$(RCINCLUDE), and this needs to
|
|
# be valid in both toolkit/library and toolkit/library/gtest.
|
|
# Eventually, the make backend would do its own path canonicalization
|
|
# and config/version.mk would lift the $(srcdir)
|
|
RCINCLUDE = '$(DEPTH)/toolkit/library/xulrunner.rc'
|
|
|
|
Libxul_defines()
|
|
|
|
if CONFIG['MOZ_NEEDS_LIBATOMIC']:
|
|
OS_LIBS += ['atomic']
|
|
|
|
Libxul('xul')
|
|
|
|
SDK_LIBRARY = True
|
|
|
|
FORCE_STATIC_LIB = True
|
|
|
|
STATIC_LIBRARY_NAME = 'xul_s'
|
|
|
|
SOURCES += [
|
|
'StaticXULComponentsStart.cpp',
|
|
]
|
|
|
|
# This, combined with the fact the file is first, makes the start pointer
|
|
# it contains first in Windows PGO builds.
|
|
SOURCES['StaticXULComponentsStart.cpp'].no_pgo = True
|
|
|
|
# Don't let LTO reorder StaticXULComponentsStart.o.
|
|
if '-flto' in CONFIG['OS_CXXFLAGS']:
|
|
SOURCES['StaticXULComponentsStart.cpp'].flags += ['-fno-lto']
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT':
|
|
SOURCES += [
|
|
'nsDllMain.cpp',
|
|
]
|
|
|
|
LOCAL_INCLUDES += [
|
|
'/config',
|
|
# need widget/windows for resource.h (included from widget.rc)
|
|
'/widget/windows',
|
|
]
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT' and not CONFIG['GNU_CC']:
|
|
LOCAL_INCLUDES += [
|
|
'/xpcom/base',
|
|
]
|
|
|
|
DIRS += ['gtest']
|
|
|
|
# js needs to come after xul for now, because it is an archive and its content
|
|
# is discarded when it comes first.
|
|
USE_LIBS += [
|
|
'js',
|
|
]
|
|
|
|
USE_LIBS += [
|
|
'gkmedias',
|
|
'lgpllibs',
|
|
'nspr',
|
|
'nss',
|
|
'psshparser',
|
|
'sqlite',
|
|
'zlib',
|
|
]
|
|
|
|
if CONFIG['USE_ICU']:
|
|
USE_LIBS += [
|
|
'icu',
|
|
]
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3':
|
|
USE_LIBS += [
|
|
'mozgtk_stub',
|
|
]
|
|
|
|
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT'] or \
|
|
CONFIG['MOZ_TREE_FREETYPE']:
|
|
USE_LIBS += [
|
|
'freetype',
|
|
]
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
|
CXXFLAGS += CONFIG['TK_CFLAGS']
|
|
|
|
if CONFIG['MOZ_WEBRTC']:
|
|
if CONFIG['OS_TARGET'] == 'WINNT':
|
|
OS_LIBS += [
|
|
'secur32',
|
|
'iphlpapi',
|
|
'strmiids',
|
|
'dmoguids',
|
|
'wmcodecdspuuid',
|
|
'amstrmid',
|
|
'msdmo',
|
|
'wininet',
|
|
]
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
|
OS_LIBS += [
|
|
'-framework OpenGL',
|
|
'-framework SystemConfiguration',
|
|
'-framework AVFoundation',
|
|
'-framework CoreMedia',
|
|
'-framework IOKit',
|
|
'-F%s' % CONFIG['MACOS_PRIVATE_FRAMEWORKS_DIR'],
|
|
'-framework CoreUI',
|
|
'-framework CoreSymbolication',
|
|
'cups',
|
|
]
|
|
|
|
if CONFIG['MOZ_WMF']:
|
|
OS_LIBS += [
|
|
'mfuuid',
|
|
'wmcodecdspuuid',
|
|
'strmiids',
|
|
]
|
|
|
|
if CONFIG['OS_ARCH'] == 'FreeBSD':
|
|
OS_LIBS += [
|
|
'util',
|
|
]
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT':
|
|
OS_LIBS += [
|
|
'crypt32',
|
|
'shell32',
|
|
'ole32',
|
|
'version',
|
|
'winspool',
|
|
]
|
|
|
|
if CONFIG['OS_ARCH'] == 'Linux':
|
|
OS_LIBS += [
|
|
'rt',
|
|
]
|
|
|
|
OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS']
|
|
OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
|
|
|
|
if CONFIG['SERVO_TARGET_DIR']:
|
|
if CONFIG['_MSC_VER']:
|
|
OS_LIBS += ['%s/geckoservo' % CONFIG['SERVO_TARGET_DIR']]
|
|
else:
|
|
OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
|
|
|
|
if CONFIG['MOZ_SYSTEM_JPEG']:
|
|
OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
|
|
|
|
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
|
|
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
|
|
else:
|
|
USE_LIBS += [ 'hunspell' ]
|
|
|
|
if not CONFIG['MOZ_TREE_PIXMAN']:
|
|
OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
|
|
|
|
if CONFIG['MOZ_ALSA']:
|
|
OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
|
|
|
|
if CONFIG['HAVE_CLOCK_MONOTONIC']:
|
|
OS_LIBS += CONFIG['REALTIME_LIBS']
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
|
|
OS_LIBS += [
|
|
'GLESv2',
|
|
]
|
|
|
|
if 'rtsp' in CONFIG['NECKO_PROTOCOLS']:
|
|
OS_LIBS += [
|
|
'stagefright_foundation',
|
|
]
|
|
|
|
OS_LIBS += CONFIG['ICONV_LIBS']
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'uikit'):
|
|
OS_LIBS += CONFIG['TK_LIBS']
|
|
|
|
if CONFIG['MOZ_SNDIO']:
|
|
OS_LIBS += [
|
|
'sndio',
|
|
]
|
|
|
|
if CONFIG['MOZ_ENABLE_DBUS']:
|
|
OS_LIBS += CONFIG['MOZ_DBUS_GLIB_LIBS']
|
|
|
|
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3':
|
|
OS_LIBS += [l for l in CONFIG['TK_LIBS']
|
|
if l not in ('-lgtk-3', '-lgdk-3')]
|
|
else:
|
|
OS_LIBS += CONFIG['TK_LIBS']
|
|
OS_LIBS += CONFIG['XLDFLAGS']
|
|
OS_LIBS += CONFIG['XLIBS']
|
|
OS_LIBS += CONFIG['XEXT_LIBS']
|
|
OS_LIBS += CONFIG['MOZ_PANGO_LIBS']
|
|
OS_LIBS += CONFIG['XT_LIBS']
|
|
OS_LIBS += [
|
|
'gthread-2.0',
|
|
]
|
|
|
|
if CONFIG['MOZ_ENABLE_STARTUP_NOTIFICATION']:
|
|
OS_LIBS += CONFIG['MOZ_STARTUP_NOTIFICATION_LIBS']
|
|
|
|
if CONFIG['MOZ_ENABLE_LIBPROXY']:
|
|
OS_LIBS += CONFIG['MOZ_LIBPROXY_LIBS']
|
|
|
|
if CONFIG['OS_ARCH'] == 'SunOS':
|
|
OS_LIBS += [
|
|
'elf',
|
|
'sendfile',
|
|
]
|
|
|
|
if CONFIG['OS_ARCH'] == 'FreeBSD':
|
|
OS_LIBS += [
|
|
'util',
|
|
]
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT':
|
|
OS_LIBS += [
|
|
'shell32',
|
|
'ole32',
|
|
'version',
|
|
'winspool',
|
|
'comdlg32',
|
|
'imm32',
|
|
'msimg32',
|
|
'netapi32',
|
|
'shlwapi',
|
|
'psapi',
|
|
'ws2_32',
|
|
'dbghelp',
|
|
'rasapi32',
|
|
'rasdlg',
|
|
'iphlpapi',
|
|
'uxtheme',
|
|
'setupapi',
|
|
'secur32',
|
|
'sensorsapi',
|
|
'portabledeviceguids',
|
|
'windowscodecs',
|
|
'wininet',
|
|
'wbemuuid',
|
|
'wintrust',
|
|
'wtsapi32',
|
|
'locationapi',
|
|
'sapi',
|
|
'dxguid',
|
|
]
|
|
if CONFIG['ACCESSIBILITY']:
|
|
OS_LIBS += [
|
|
'oleacc',
|
|
]
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
|
|
OS_LIBS += [
|
|
'usp10',
|
|
'oleaut32',
|
|
]
|
|
|
|
if CONFIG['COMPILE_ENVIRONMENT']:
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'uikit'):
|
|
full_libname = SHARED_LIBRARY_NAME
|
|
else:
|
|
full_libname = '%s%s%s' % (
|
|
CONFIG['DLL_PREFIX'],
|
|
LIBRARY_NAME,
|
|
CONFIG['DLL_SUFFIX']
|
|
)
|
|
GENERATED_FILES += ['dependentlibs.list']
|
|
GENERATED_FILES['dependentlibs.list'].script = 'dependentlibs.py:gen_list'
|
|
GENERATED_FILES['dependentlibs.list'].inputs = [
|
|
'!%s' % full_libname,
|
|
]
|
|
FINAL_TARGET_FILES += ['!dependentlibs.list']
|
|
|
|
# This library needs to be last to make XPCOM module registration work.
|
|
USE_LIBS += ['StaticXULComponentsEnd']
|