Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Unified Diff: third_party/libcxx/BUILD.gn

Issue 1596483004: [fusl] Build libcxx atop fusl (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « fusl/BUILD.gn ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/libcxx/BUILD.gn
diff --git a/third_party/libcxx/BUILD.gn b/third_party/libcxx/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..8df93d3f36db645ad1e5cadd235bd5fc897f01c9
--- /dev/null
+++ b/third_party/libcxx/BUILD.gn
@@ -0,0 +1,188 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+config("libcxx_config") {
+ cflags = [
+ # Flags from upstream CMake build
+ "-D_DEBUG",
+ "-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER",
+ "-D__STDC_CONSTANT_MACROS",
+ "-D__STDC_FORMAT_MACROS",
+ "-D__STDC_LIMIT_MACROS",
+ "-Dcxx_EXPORTS",
+ "-DLIBCXX_BUILDING_LIBCXXABI",
+
+ "-UNDEBUG",
+
+ "-fPIC",
+ "-fvisibility-inlines-hidden",
+
+ "-Wall",
+ "-Werror=return-type",
+
+ "-Wcast-qual",
+ "-Wcovered-switch-default",
+ "-Wdelete-non-virtual-dtor",
+ "-Wmissing-field-initializers",
+ "-Wno-error",
+ "-Wno-long-long",
+ "-Wno-long-long",
+ "-Wno-unused-parameter",
+ "-Wno-unused-parameter",
+ "-Wnon-virtual-dtor",
+ "-Wwrite-strings",
+
+ "-std=c++11",
+ "-nostdinc++",
+
+ # Use musl-based libc
+ "-D_LIBCPP_HAS_MUSL_LIBC",
viettrungluu 2016/01/15 23:41:50 Is this only used in the .cpp files? (Ditto for s
Petr Hosek 2016/01/16 02:55:02 The problem with this approach is that everyone wh
+ ]
+}
+
+static_library("libcxx") {
+ cflags = []
+
+ configs = []
+ configs += [ ":libcxx_config" ]
+
+ include_dirs = [
+ "libcxx/include",
+ "libcxxabi/include",
+ ]
+
+ cflags += [
viettrungluu 2016/01/15 23:41:50 Note: A simple "cflags = [ ... ]" here works and i
+ "--sysroot",
viettrungluu 2016/01/15 23:41:50 Is this really the right way to do this? Should w
+ "obj/fusl/sysroot",
+ ]
+
+ complete_static_lib = true
+
+ deps = [
+ "//fusl:sysroot",
+ ]
+
+ sources = [
+ "libcxx/src/algorithm.cpp",
+ "libcxx/src/any.cpp",
+ "libcxx/src/bind.cpp",
+ "libcxx/src/chrono.cpp",
+ "libcxx/src/condition_variable.cpp",
+ "libcxx/src/debug.cpp",
+ "libcxx/src/exception.cpp",
+ "libcxx/src/future.cpp",
+ "libcxx/src/hash.cpp",
+ "libcxx/src/ios.cpp",
+ "libcxx/src/iostream.cpp",
+ "libcxx/src/locale.cpp",
+ "libcxx/src/memory.cpp",
+ "libcxx/src/mutex.cpp",
+ "libcxx/src/new.cpp",
+ "libcxx/src/optional.cpp",
+ "libcxx/src/random.cpp",
+ "libcxx/src/regex.cpp",
+ "libcxx/src/shared_mutex.cpp",
+ "libcxx/src/stdexcept.cpp",
+ "libcxx/src/string.cpp",
+ "libcxx/src/strstream.cpp",
+ "libcxx/src/system_error.cpp",
+ "libcxx/src/thread.cpp",
+ "libcxx/src/typeinfo.cpp",
+ "libcxx/src/utility.cpp",
+ "libcxx/src/valarray.cpp",
+ ]
+}
+
+config("libcxxabi_config") {
viettrungluu 2016/01/15 23:41:50 I wonder if we should share more of this with libc
+ cflags = [
+ # Flags from upstream CMake build
+ "-D_DEBUG",
+ "-D__STDC_CONSTANT_MACROS",
+ "-D__STDC_FORMAT_MACROS",
+ "-D__STDC_LIMIT_MACROS",
+
+ "-fPIC",
+ "-fstrict-aliasing",
+ "-fvisibility-inlines-hidden",
+
+ "-Wall",
+ "-Wcast-qual",
+ "-Wchar-subscripts",
+ "-Wconversion",
+ "-Wcovered-switch-default",
+ "-Wdelete-non-virtual-dtor",
+ "-Werror=return-type",
+ "-Wmismatched-tags",
+ "-Wmissing-braces",
+ "-Wmissing-field-initializers",
+ "-Wnewline-eof",
+ "-Wno-error",
+ "-Wno-long-long",
+ "-Wno-unused-function",
+ "-Wno-unused-parameter",
+ "-Wnon-virtual-dtor",
+ "-Wshadow",
+ "-Wshorten-64-to-32",
+ "-Wsign-compare",
+ "-Wsign-conversion",
+ "-Wstrict-aliasing=2",
+ "-Wstrict-overflow=4",
+ "-Wundef",
+ "-Wunused-parameter",
+ "-Wunused-variable",
+ "-Wwrite-strings",
+ "-Wwrite-strings",
+
+ "-std=c++11",
+ "-pedantic",
+ "-nostdinc++",
+
+ # Use musl-based libc
+ "-D_LIBCPP_HAS_MUSL_LIBC",
+ ]
+}
+
+static_library("libcxxabi") {
+ cflags = []
+
+ configs = []
+ configs += [ ":libcxxabi_config" ]
+
+ include_dirs = [
+ "libcxx/include",
+ "libcxxabi/include",
+ ]
+
+ cflags += [
+ "--sysroot",
+ "obj/fusl/sysroot",
+ ]
+
+ complete_static_lib = true
+
+ deps = [
+ "//fusl:sysroot",
+ ]
+
+ sources = [
+ "libcxxabi/src/abort_message.cpp",
+ "libcxxabi/src/cxa_aux_runtime.cpp",
+ "libcxxabi/src/cxa_default_handlers.cpp",
+ "libcxxabi/src/cxa_demangle.cpp",
+ "libcxxabi/src/cxa_exception.cpp",
+ "libcxxabi/src/cxa_exception_storage.cpp",
+ "libcxxabi/src/cxa_guard.cpp",
+ "libcxxabi/src/cxa_handlers.cpp",
+ "libcxxabi/src/cxa_new_delete.cpp",
+ "libcxxabi/src/cxa_personality.cpp",
+ "libcxxabi/src/cxa_thread_atexit.cpp",
+ "libcxxabi/src/cxa_unexpected.cpp",
+ "libcxxabi/src/cxa_vector.cpp",
+ "libcxxabi/src/cxa_virtual.cpp",
+ "libcxxabi/src/exception.cpp",
+ "libcxxabi/src/private_typeinfo.cpp",
+ "libcxxabi/src/stdexcept.cpp",
+ "libcxxabi/src/typeinfo.cpp",
+ ]
+}
« no previous file with comments | « fusl/BUILD.gn ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698