2013-04-01 18:36:59 +00:00
|
|
|
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
|
2013-02-25 21:19:09 +00:00
|
|
|
# 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/.
|
|
|
|
|
2014-09-04 00:04:45 +00:00
|
|
|
@template
|
|
|
|
def Libxul(name):
|
|
|
|
MSVC_ENABLE_PGO = True
|
|
|
|
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
|
|
|
# This is going to be a framework named "XUL", not an ordinary library named
|
|
|
|
# "libxul.dylib"
|
2014-10-30 04:06:12 +00:00
|
|
|
GeckoFramework(name, linkage=None)
|
2014-09-04 00:04:45 +00:00
|
|
|
SHARED_LIBRARY_NAME = 'XUL'
|
|
|
|
else:
|
2014-10-30 04:06:12 +00:00
|
|
|
GeckoSharedLibrary(name, linkage=None)
|
2014-09-04 00:04:45 +00:00
|
|
|
SHARED_LIBRARY_NAME = 'xul'
|
|
|
|
|
|
|
|
DELAYLOAD_DLLS += [
|
|
|
|
'comdlg32.dll',
|
|
|
|
'dbghelp.dll',
|
|
|
|
'psapi.dll',
|
|
|
|
'rasapi32.dll',
|
|
|
|
'rasdlg.dll',
|
|
|
|
'secur32.dll',
|
|
|
|
'wininet.dll',
|
|
|
|
'winspool.drv'
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['MOZ_METRO']:
|
|
|
|
DELAYLOAD_DLLS += [
|
|
|
|
'API-MS-WIN-CORE-WINRT-L' + CONFIG['CRTEXPDLLVERSION'] + '.DLL',
|
|
|
|
'API-MS-WIN-CORE-WINRT-STRING-L' + CONFIG['CRTEXPDLLVERSION'] + '.DLL',
|
|
|
|
'uiautomationcore.dll'
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['ACCESSIBILITY']:
|
|
|
|
DELAYLOAD_DLLS += ['oleacc.dll']
|
|
|
|
|
|
|
|
if CONFIG['MOZ_WEBRTC']:
|
|
|
|
DELAYLOAD_DLLS += ['msdmo.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'
|
|
|
|
|
2014-09-05 04:38:54 +00:00
|
|
|
LIBRARY_DEFINES['MOZILLA_INTERNAL_API'] = True
|
|
|
|
LIBRARY_DEFINES['IMPL_LIBXUL'] = True
|
|
|
|
if not CONFIG['JS_SHARED_LIBRARY']:
|
|
|
|
LIBRARY_DEFINES['STATIC_EXPORTABLE_JS_API'] = True
|
|
|
|
|
|
|
|
|
2014-09-04 00:04:45 +00:00
|
|
|
Libxul('xul')
|
2013-06-18 12:13:42 +00:00
|
|
|
|
2014-07-23 04:33:09 +00:00
|
|
|
SDK_LIBRARY = True
|
|
|
|
|
|
|
|
FORCE_STATIC_LIB = True
|
|
|
|
|
|
|
|
STATIC_LIBRARY_NAME = 'xul_s'
|
|
|
|
|
2013-10-24 23:23:05 +00:00
|
|
|
SOURCES += [
|
2013-11-19 04:45:31 +00:00
|
|
|
'StaticXULComponentsStart.cpp',
|
2013-04-23 21:54:15 +00:00
|
|
|
]
|
|
|
|
|
2014-07-23 04:33:09 +00:00
|
|
|
MSVC_ENABLE_PGO = True
|
|
|
|
|
2013-11-19 04:45:31 +00:00
|
|
|
# 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
|
|
|
|
|
2014-08-28 20:41:18 +00:00
|
|
|
# Don't let LTO reorder StaticXULComponentsStart.o.
|
|
|
|
if '-flto' in CONFIG['OS_CXXFLAGS']:
|
|
|
|
SOURCES['StaticXULComponentsStart.cpp'].flags += ['-fno-lto']
|
|
|
|
|
2013-04-23 21:54:15 +00:00
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT':
|
2013-10-24 23:23:05 +00:00
|
|
|
SOURCES += [
|
2013-04-23 21:54:15 +00:00
|
|
|
'nsDllMain.cpp',
|
|
|
|
]
|
2013-06-17 19:21:01 +00:00
|
|
|
|
2014-02-10 14:03:53 +00:00
|
|
|
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',
|
|
|
|
]
|
|
|
|
|
2013-12-03 17:33:57 +00:00
|
|
|
FAIL_ON_WARNINGS = True
|
|
|
|
|
2014-07-23 04:33:09 +00:00
|
|
|
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',
|
|
|
|
]
|
|
|
|
|
2014-08-27 14:32:55 +00:00
|
|
|
if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_ARCH'] == 'WINNT':
|
2014-07-23 04:33:09 +00:00
|
|
|
USE_LIBS += [
|
|
|
|
'sandboxbroker',
|
|
|
|
]
|
|
|
|
|
|
|
|
USE_LIBS += [
|
|
|
|
'gkmedias',
|
|
|
|
'mozalloc',
|
2014-08-07 05:21:03 +00:00
|
|
|
'nspr',
|
|
|
|
'nss',
|
|
|
|
'sqlite',
|
|
|
|
'zlib',
|
2014-07-23 04:33:09 +00:00
|
|
|
]
|
|
|
|
|
2014-10-10 06:55:00 +00:00
|
|
|
if CONFIG['USE_ICU']:
|
2014-08-07 05:21:03 +00:00
|
|
|
USE_LIBS += [
|
|
|
|
'icu',
|
|
|
|
]
|
|
|
|
|
2014-07-23 04:33:09 +00:00
|
|
|
if CONFIG['MOZ_WIDGET_GTK'] and CONFIG['MOZ_ENABLE_GTK3']:
|
|
|
|
USE_LIBS += [
|
|
|
|
'mozgtk_stub',
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['MOZ_JPROF']:
|
|
|
|
USE_LIBS += [
|
|
|
|
'jprof',
|
|
|
|
]
|
|
|
|
|
2014-08-07 05:21:03 +00:00
|
|
|
if CONFIG['MOZ_WIDGET_GTK'] or CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt' or \
|
|
|
|
CONFIG['MOZ_TREE_FREETYPE']:
|
|
|
|
USE_LIBS += [
|
|
|
|
'freetype',
|
|
|
|
]
|
2014-07-24 15:55:33 +00:00
|
|
|
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
|
|
|
CXXFLAGS += CONFIG['TK_CFLAGS']
|
2014-08-05 22:25:33 +00:00
|
|
|
|
|
|
|
if CONFIG['MOZ_WEBRTC']:
|
|
|
|
if CONFIG['OS_TARGET'] == 'WINNT':
|
|
|
|
OS_LIBS += [
|
|
|
|
'secur32',
|
|
|
|
'crypt32',
|
|
|
|
'iphlpapi',
|
|
|
|
'strmiids',
|
|
|
|
'dmoguids',
|
|
|
|
'wmcodecdspuuid',
|
|
|
|
'amstrmid',
|
|
|
|
'msdmo',
|
|
|
|
'wininet',
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
|
|
|
OS_LIBS += [
|
|
|
|
'-framework OpenGL',
|
|
|
|
'-framework SystemConfiguration',
|
|
|
|
'-framework QTKit',
|
|
|
|
'-framework IOKit',
|
|
|
|
'-F%s' % CONFIG['MACOS_PRIVATE_FRAMEWORKS_DIR'],
|
|
|
|
'-framework CoreUI',
|
|
|
|
'cups',
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['MOZ_WMF']:
|
|
|
|
OS_LIBS += [
|
|
|
|
'mfuuid',
|
|
|
|
'wmcodecdspuuid',
|
|
|
|
'strmiids',
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['MOZ_DIRECTSHOW']:
|
|
|
|
OS_LIBS += [
|
|
|
|
'dmoguids',
|
|
|
|
'wmcodecdspuuid',
|
|
|
|
'strmiids',
|
|
|
|
'msdmo',
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['OS_ARCH'] == 'FreeBSD':
|
|
|
|
OS_LIBS += [
|
|
|
|
'util',
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT':
|
|
|
|
OS_LIBS += [
|
|
|
|
'shell32',
|
|
|
|
'ole32',
|
|
|
|
'version',
|
|
|
|
'winspool',
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['MOZ_B2G_BT_BLUEZ'] and CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
|
|
|
|
OS_LIBS += [
|
|
|
|
'dbus',
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['MOZ_B2G_CAMERA']:
|
|
|
|
OS_LIBS += [
|
|
|
|
'stagefright',
|
|
|
|
'stagefright_omx',
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['OS_ARCH'] == 'Linux' and CONFIG['OS_TARGET'] != 'Android':
|
|
|
|
OS_LIBS += [
|
|
|
|
'rt',
|
|
|
|
]
|
|
|
|
|
|
|
|
OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS']
|
|
|
|
OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
|
|
|
|
|
|
|
|
if CONFIG['MOZ_NATIVE_JPEG']:
|
|
|
|
OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
|
|
|
|
|
|
|
|
if CONFIG['MOZ_NATIVE_PNG']:
|
|
|
|
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
|
|
|
|
|
|
|
|
if CONFIG['MOZ_NATIVE_HUNSPELL']:
|
|
|
|
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
|
|
|
|
|
|
|
|
if CONFIG['MOZ_NATIVE_LIBEVENT']:
|
|
|
|
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
|
|
|
|
|
|
|
|
if CONFIG['MOZ_NATIVE_LIBVPX']:
|
|
|
|
OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
|
|
|
|
|
|
|
|
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 CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
|
|
|
|
OS_LIBS += [
|
|
|
|
'ui',
|
|
|
|
'media',
|
|
|
|
'hardware_legacy',
|
|
|
|
'hardware',
|
|
|
|
'utils',
|
|
|
|
'cutils',
|
|
|
|
'sysutils',
|
|
|
|
'camera_client',
|
|
|
|
'sensorservice',
|
|
|
|
'stagefright',
|
|
|
|
'stagefright_foundation',
|
|
|
|
'stagefright_omx',
|
|
|
|
'binder',
|
|
|
|
'gui',
|
|
|
|
'mtp',
|
|
|
|
]
|
|
|
|
|
|
|
|
if 'rtsp' in CONFIG['NECKO_PROTOCOLS']:
|
|
|
|
OS_LIBS += [
|
|
|
|
'stagefright_foundation',
|
|
|
|
]
|
|
|
|
|
|
|
|
OS_LIBS += CONFIG['ICONV_LIBS']
|
|
|
|
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
|
|
|
OS_LIBS += CONFIG['TK_LIBS']
|
|
|
|
|
|
|
|
if CONFIG['OS_ARCH'] == 'OpenBSD':
|
|
|
|
OS_LIBS += [
|
|
|
|
'sndio',
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['MOZ_ENABLE_DBUS']:
|
|
|
|
OS_LIBS += CONFIG['MOZ_DBUS_GLIB_LIBS']
|
|
|
|
|
|
|
|
if CONFIG['MOZ_WIDGET_GTK']:
|
|
|
|
if CONFIG['MOZ_ENABLE_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_WIDGET_TOOLKIT'] == 'qt':
|
|
|
|
OS_LIBS += CONFIG['XLDFLAGS']
|
|
|
|
OS_LIBS += CONFIG['XLIBS']
|
|
|
|
OS_LIBS += CONFIG['XT_LIBS']
|
|
|
|
OS_LIBS += CONFIG['MOZ_QT_LIBS']
|
|
|
|
OS_LIBS += CONFIG['MOZ_PANGO_LIBS']
|
|
|
|
|
|
|
|
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',
|
|
|
|
]
|
|
|
|
if CONFIG['GNU_CC']:
|
|
|
|
OS_LIBS += [
|
|
|
|
'demangle',
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['OS_ARCH'] == 'FreeBSD':
|
|
|
|
OS_LIBS += [
|
|
|
|
'util',
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['OS_ARCH'] == 'WINNT':
|
|
|
|
OS_LIBS += [
|
|
|
|
'shell32',
|
|
|
|
'ole32',
|
|
|
|
'version',
|
|
|
|
'winspool',
|
|
|
|
'comdlg32',
|
|
|
|
'imm32',
|
|
|
|
'msimg32',
|
|
|
|
'shlwapi',
|
|
|
|
'psapi',
|
|
|
|
'ws2_32',
|
|
|
|
'dbghelp',
|
|
|
|
'rasapi32',
|
|
|
|
'rasdlg',
|
|
|
|
'iphlpapi',
|
|
|
|
'uxtheme',
|
|
|
|
'setupapi',
|
|
|
|
'secur32',
|
|
|
|
'sensorsapi',
|
|
|
|
'portabledeviceguids',
|
|
|
|
'windowscodecs',
|
|
|
|
'wininet',
|
|
|
|
'wbemuuid',
|
|
|
|
'wintrust',
|
|
|
|
'wtsapi32',
|
|
|
|
]
|
|
|
|
if CONFIG['ACCESSIBILITY']:
|
|
|
|
OS_LIBS += [
|
|
|
|
'oleacc',
|
|
|
|
]
|
|
|
|
if CONFIG['MOZ_METRO']:
|
|
|
|
OS_LIBS += [
|
|
|
|
'uiautomationcore',
|
|
|
|
'runtimeobject',
|
|
|
|
]
|
|
|
|
|
|
|
|
if CONFIG['MOZ_ENABLE_QT']:
|
|
|
|
OS_LIBS += CONFIG['XEXT_LIBS']
|
|
|
|
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa' and CONFIG['MOZ_GSTREAMER']:
|
|
|
|
OS_LIBS += CONFIG['GSTREAMER_LIBS']
|
|
|
|
|
|
|
|
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
|
|
|
|
OS_LIBS += [
|
|
|
|
'usp10',
|
|
|
|
'oleaut32',
|
|
|
|
]
|
2014-08-07 05:21:03 +00:00
|
|
|
|
|
|
|
# This needs to be last
|
|
|
|
USE_LIBS += ['StaticXULComponentsEnd']
|