# 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) { # libc++ has two levels of debug mode. Setting _LIBCPP_DEBUG to zero # enables most assertions. Setting it to one additionally enables iterator # debugging, but that seems to require some extra link-time dependencies. # See https://libcxx.llvm.org/docs/DesignDocs/DebugMode.html 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), ] # Avoid linking both libc++ and libstdc++. ldflags = [ "-nostdlib++" ] libs = [ "dl" ] # libdl: dynamic linking. } } group("deps") { if (use_custom_libcxx) { public_deps = [ "//buildtools:libc++" ] } }