# Copyright (C) 2017 The Android Open Source Project # # 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. import("libc++.gni") config("config") { if (use_custom_libcxx) { defines = [ "_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS", "_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS", ] if (is_debug) { # Enable "lightweight" assertions in libc++ (e.g. bounds checking, empty # optional dereferencing etc) with _LIBCPP_ENABLE_ASSERTIONS but do not # enable iterator debugging with _LIBCPP_DEBUG (which can be very # expensive). defines += [ "_LIBCPP_ENABLE_ASSERTIONS=1" ] defines += [ "_LIBCPP_DEBUG=0" ] } cflags_cc = [ "-nostdinc++", "-isystem" + rebase_path("$libcxx_prefix/include", root_build_dir), "-isystem" + rebase_path("$libcxxabi_prefix/include", root_build_dir), ] include_dirs = [ "//buildtools/libcxx_config" ] # Avoid linking both libc++ and libstdc++. ldflags = [ "-nostdlib++" ] libs = [ "dl" ] # libdl: dynamic linking. } } group("deps") { if (use_custom_libcxx) { public_deps = [ "//buildtools:libc++" ] } }