blob: b4bf522c28ff18b64144758d85c945acc10f1c82 [file] [log] [blame]
# Copyright 2019 The Cobalt Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{
'targets': [
{
'target_name': 'cxx',
'type': 'static_library',
'include_dirs': [
'include',
'<(DEPTH)/third_party/llvm-project/libcxxabi/include',
],
'dependencies': [
'<(DEPTH)/starboard/common/common.gyp:common',
'<(DEPTH)/starboard/starboard_headers_only.gyp:starboard_headers_only',
'<(DEPTH)/third_party/musl/musl.gyp:c',
'<(DEPTH)/third_party/llvm-project/compiler-rt/compiler-rt.gyp:compiler_rt',
'<(DEPTH)/third_party/llvm-project/libcxxabi/libcxxabi.gyp:cxxabi',
'<(DEPTH)/third_party/llvm-project/libunwind/libunwind.gyp:unwind',
],
'cflags': [
'-nostdinc',
],
'cflags_cc': [
'-std=c++11',
'-nostdinc++',
'-fvisibility-inlines-hidden',
'-fms-compatibility-version=19.00',
'-Wall',
'-Wextra',
'-W',
'-Wwrite-strings',
'-Wno-long-long',
'-Werror=return-type',
'-Wno-user-defined-literals',
'-Wno-bitwise-op-parentheses',
'-Wno-shift-op-parentheses',
'-Wno-error',
'-Wno-unused-parameter',
'-Wno-unused-command-line-argument',
'-fPIC',
],
'defines': [
'_LIBCPP_BUILDING_LIBRARY',
'_LIBCPP_HAS_MUSL_LIBC',
'_LIBCPP_HAS_NO_STDIN',
# This macro is used to build libcxxabi with libunwind.
'LIBCXX_BUILDING_LIBCXXABI',
],
'sources': [
'include/apple_availability.h',
'include/atomic_support.h',
'include/config_elast.h',
'include/refstring.h',
'src/algorithm.cpp',
'src/any.cpp',
'src/bind.cpp',
'src/charconv.cpp',
'src/chrono.cpp',
'src/condition_variable.cpp',
'src/exception.cpp',
# Remove file system operations
#'src/filesystem/directory_iterator.cpp',
#'src/filesystem/filesystem_common.h',
#'src/filesystem/int128_builtins.cpp',
#'src/filesystem/operations.cpp',
'src/functional.cpp',
'src/future.cpp',
'src/hash.cpp',
'src/ios.cpp',
'src/iostream.cpp',
'src/locale.cpp',
'src/memory.cpp',
'src/mutex.cpp',
'src/new.cpp',
'src/optional.cpp',
'src/regex.cpp',
'src/shared_mutex.cpp',
'src/stdexcept.cpp',
'src/string.cpp',
'src/strstream.cpp',
'src/system_error.cpp',
'src/thread.cpp',
'src/typeinfo.cpp',
'src/utility.cpp',
'src/valarray.cpp',
'src/variant.cpp',
'src/vector.cpp',
],
}
]
}