2016-07-14 16:16:42 +00:00
|
|
|
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
2013-02-25 21:20:02 +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/.
|
|
|
|
|
2015-03-10 23:41:38 +00:00
|
|
|
with Files('**'):
|
|
|
|
BUG_COMPONENT = ('Core', 'String')
|
|
|
|
|
2014-06-25 22:08:54 +00:00
|
|
|
EXPORTS += [
|
2017-05-10 17:12:30 +00:00
|
|
|
'nsASCIIMask.h',
|
2014-06-25 22:08:54 +00:00
|
|
|
'nsAString.h',
|
|
|
|
'nsCharTraits.h',
|
|
|
|
'nsDependentString.h',
|
|
|
|
'nsDependentSubstring.h',
|
|
|
|
'nsLiteralString.h',
|
|
|
|
'nsPrintfCString.h',
|
|
|
|
'nsPromiseFlatString.h',
|
|
|
|
'nsReadableUtils.h',
|
|
|
|
'nsString.h',
|
|
|
|
'nsStringBuffer.h',
|
2017-08-14 21:22:50 +00:00
|
|
|
'nsStringFlags.h',
|
2014-06-25 22:08:54 +00:00
|
|
|
'nsStringFwd.h',
|
|
|
|
'nsStringIterator.h',
|
|
|
|
'nsSubstring.h',
|
|
|
|
'nsSubstringTuple.h',
|
|
|
|
'nsTDependentString.h',
|
|
|
|
'nsTDependentSubstring.h',
|
2017-01-20 19:19:22 +00:00
|
|
|
'nsTextFormatter.h',
|
2014-06-25 22:08:54 +00:00
|
|
|
'nsTLiteralString.h',
|
|
|
|
'nsTPromiseFlatString.h',
|
|
|
|
'nsTString.h',
|
2017-08-14 21:22:50 +00:00
|
|
|
'nsTStringRepr.h',
|
2014-06-25 22:08:54 +00:00
|
|
|
'nsTSubstring.h',
|
|
|
|
'nsTSubstringTuple.h',
|
|
|
|
'nsUTF8Utils.h',
|
|
|
|
]
|
2013-03-19 18:47:00 +00:00
|
|
|
|
2014-06-25 22:08:54 +00:00
|
|
|
UNIFIED_SOURCES += [
|
2017-05-10 17:12:30 +00:00
|
|
|
'nsASCIIMask.cpp',
|
2014-06-25 22:08:54 +00:00
|
|
|
'nsDependentString.cpp',
|
|
|
|
'nsDependentSubstring.cpp',
|
|
|
|
'nsPromiseFlatString.cpp',
|
|
|
|
'nsReadableUtils.cpp',
|
|
|
|
'nsString.cpp',
|
|
|
|
'nsStringComparator.cpp',
|
|
|
|
'nsStringObsolete.cpp',
|
|
|
|
'nsSubstring.cpp',
|
|
|
|
'nsSubstringTuple.cpp',
|
2017-01-20 19:19:22 +00:00
|
|
|
'nsTextFormatter.cpp',
|
2017-08-14 21:22:50 +00:00
|
|
|
'precompiled_templates.cpp',
|
2014-06-25 22:08:54 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
# Are we targeting x86 or x86-64? If so, compile the SSE2 functions for
|
2016-09-15 22:46:29 +00:00
|
|
|
# nsUTF8Utils.cpp and nsReadableUtils.cpp.
|
2014-06-25 22:08:54 +00:00
|
|
|
if CONFIG['INTEL_ARCHITECTURE']:
|
|
|
|
SOURCES += ['nsUTF8UtilsSSE2.cpp']
|
|
|
|
SOURCES['nsUTF8UtilsSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
|
2016-09-15 22:46:29 +00:00
|
|
|
SOURCES += ['nsReadableUtilsSSE2.cpp']
|
|
|
|
SOURCES['nsReadableUtilsSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
|
2014-06-25 22:08:54 +00:00
|
|
|
|
2018-01-12 06:46:11 +00:00
|
|
|
if CONFIG['BUILD_ARM_NEON'] or CONFIG['CPU_ARCH'] == 'aarch64':
|
|
|
|
SOURCES += ['nsUTF8UtilsNEON.cpp']
|
|
|
|
SOURCES['nsUTF8UtilsNEON.cpp'].flags += CONFIG['NEON_FLAGS']
|
|
|
|
|
2017-09-08 05:08:39 +00:00
|
|
|
# MSVC 2017 has a bug that incorrectly generates C5037 warning which
|
|
|
|
# hits the template string code. We need to disable this warning as a
|
|
|
|
# workaround. See https://developercommunity.visualstudio.com/
|
|
|
|
# content/problem/81223/incorrect-error-c5037-with-permissive.html
|
2017-12-08 12:46:13 +00:00
|
|
|
if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
|
2017-09-08 05:08:39 +00:00
|
|
|
CXXFLAGS += ['-wd5037']
|
|
|
|
|
2014-07-22 23:37:51 +00:00
|
|
|
FINAL_LIBRARY = 'xul'
|