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

Side by Side Diff: build/config/compiler/BUILD.gn

Issue 691783003: [WIP NOT FOR COMMIT] Switch Android to libc++ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove more unused stuff Created 5 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 unified diff | Download patch
« no previous file with comments | « build/config/android/config.gni ('k') | net/base/net_util_linux.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//build/config/android/config.gni") 5 import("//build/config/android/config.gni")
6 if (cpu_arch == "arm") { 6 if (cpu_arch == "arm") {
7 import("//build/config/arm.gni") 7 import("//build/config/arm.gni")
8 } 8 }
9 if (is_posix) { 9 if (is_posix) {
10 import("//build/config/gcc/gcc_version.gni") 10 import("//build/config/gcc/gcc_version.gni")
(...skipping 463 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 defines += [ 474 defines += [
475 "__STD_C", 475 "__STD_C",
476 "__STDC_CONSTANT_MACROS", 476 "__STDC_CONSTANT_MACROS",
477 "__STDC_FORMAT_MACROS", 477 "__STDC_FORMAT_MACROS",
478 "_CRT_RAND_S", 478 "_CRT_RAND_S",
479 "_CRT_SECURE_NO_DEPRECATE", 479 "_CRT_SECURE_NO_DEPRECATE",
480 "_SCL_SECURE_NO_DEPRECATE", 480 "_SCL_SECURE_NO_DEPRECATE",
481 ] 481 ]
482 } 482 }
483 483
484 # Stlport setup. Android uses a different (smaller) version of the STL. 484 # Android setup.
485 if (is_android) { 485 if (is_android) {
486 if (is_clang) { 486 if (is_clang) {
487 # Work around incompatibilities between bionic and clang headers. 487 # Work around incompatibilities between bionic and clang headers.
488 defines += [ 488 defines += [
489 "__compiler_offsetof=__builtin_offsetof", 489 "__compiler_offsetof=__builtin_offsetof",
490 "nan=__builtin_nan", 490 "nan=__builtin_nan",
491 ] 491 ]
492 } 492 }
493 493
494 defines += [ 494 defines += [ "__GNU_SOURCE=1" ] # Necessary for clone().
495 "USE_STLPORT=1",
496 "_STLP_USE_PTR_SPECIALIZATIONS=1",
497 "__GNU_SOURCE=1", # Necessary for clone().
498 ]
499 495
500 ldflags += [ 496 ldflags += [
501 "-Wl,--warn-shared-textrel", 497 "-Wl,--warn-shared-textrel",
502 "-nostdlib", 498 "-nostdlib",
503 ] 499 ]
504 500
505 # NOTE: The stlport header include paths below are specified in cflags 501 # Libc++ setup.
506 # rather than include_dirs because they need to come after include_dirs. 502 android_libcpp_root = "$android_ndk_root/sources/cxx-stl/llvm-libc++"
507 # Think of them like system headers, but don't use '-isystem' because the
508 # arm-linux-androideabi-4.4.3 toolchain (circa Gingerbread) will exhibit
509 # strange errors. The include ordering here is important; change with
510 # caution.
511 android_stlport_root = "$android_ndk_root/sources/cxx-stl/stlport"
512 503
513 cflags += [ "-isystem" + 504 cflags += [
514 rebase_path("$android_stlport_root/stlport", root_build_dir) ] 505 "-isystem" +
515 lib_dirs += [ "$android_stlport_root/libs/$android_app_abi" ] 506 rebase_path("$android_libcpp_root/libcxx/include", root_build_dir),
507 "-isystem" + rebase_path(
508 "$android_ndk_root/sources/cxx-stl/llvm-libc++abi/libcxxabi/includ e",
509 root_build_dir),
510 "-isystem" +
511 rebase_path("$android_ndk_root/sources/android/support/include",
512 root_build_dir),
513 ]
516 514
517 if (component_mode == "shared_library") { 515 lib_dirs += [ "$android_libcpp_root/libs/$android_app_abi" ]
518 libs += [ "stlport_shared" ] 516 libs += [
519 } else { 517 "$android_libcpp_library",
520 libs += [ "stlport_static" ] 518 "atomic",
521 }
522 519
523 if (cpu_arch == "mipsel") { 520 # Manually link the libgcc.a that the cross compiler uses. This is
524 libs += [ 521 # absolute because the linker will look inside the sysroot if it's not.
525 # ld linker is used for mips Android, and ld does not accept library 522 rebase_path(android_libgcc_file),
526 # absolute path prefixed by "-l"; Since libgcc does not exist in mips 523 "m",
527 # sysroot the proper library will be linked.
528 # TODO(gordanac): Remove once gold linker is used for mips Android.
529 "gcc",
530 ]
531 } else {
532 libs += [
533 # Manually link the libgcc.a that the cross compiler uses. This is
534 # absolute because the linker will look inside the sysroot if it's not.
535 rebase_path(android_libgcc_file),
536 ]
537 }
538
539 libs += [
540 "c", 524 "c",
541 "dl", 525 "dl",
542 "m",
543 ] 526 ]
544 } 527 }
545 } 528 }
546 529
547 # chromium_code --------------------------------------------------------------- 530 # chromium_code ---------------------------------------------------------------
548 # 531 #
549 # Toggles between higher and lower warnings for code that is (or isn't) 532 # Toggles between higher and lower warnings for code that is (or isn't)
550 # part of Chromium. 533 # part of Chromium.
551 534
552 config("chromium_code") { 535 config("chromium_code") {
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after
987 cflags += [ "-gsplit-dwarf" ] 970 cflags += [ "-gsplit-dwarf" ]
988 } 971 }
989 } 972 }
990 } 973 }
991 974
992 config("no_symbols") { 975 config("no_symbols") {
993 if (!is_win) { 976 if (!is_win) {
994 cflags = [ "-g0" ] 977 cflags = [ "-g0" ]
995 } 978 }
996 } 979 }
OLDNEW
« no previous file with comments | « build/config/android/config.gni ('k') | net/base/net_util_linux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698