Home | History | Annotate | Download | only in libunwind_llvm
      1 //
      2 // Copyright (C) 2014 The Android Open Source Project
      3 //
      4 // Licensed under the Apache License, Version 2.0 (the "License");
      5 // you may not use this file except in compliance with the License.
      6 // You may obtain a copy of the License at
      7 //
      8 //      http://www.apache.org/licenses/LICENSE-2.0
      9 //
     10 // Unless required by applicable law or agreed to in writing, software
     11 // distributed under the License is distributed on an "AS IS" BASIS,
     12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 // See the License for the specific language governing permissions and
     14 // limitations under the License.
     15 //
     16 
     17 LIBUNWIND_SRC_FILES = [
     18     "src/libunwind.cpp",
     19     "src/Unwind-EHABI.cpp",
     20     "src/Unwind-sjlj.c",
     21     "src/UnwindLevel1-gcc-ext.c",
     22     "src/UnwindLevel1.c",
     23     "src/UnwindRegistersSave.S",
     24     "src/UnwindRegistersRestore.S",
     25 ]
     26 
     27 LIBUNWIND_INCLUDES = [
     28     "external/libcxx/include",
     29 ]
     30 
     31 LIBUNWIND_LOCAL_INCLUDES = [
     32     "include",
     33 ]
     34 
     35 LIBUNWIND_CFLAGS = [
     36     "-Wall",
     37     "-Werror",
     38 ]
     39 
     40 LIBUNWIND_CPPFLAGS = [
     41     "-std=c++14",
     42     "-fexceptions",
     43     "-Wextra",
     44     "-Wno-implicit-fallthrough",
     45     // src/Unwind-EHABI.cpp line 97 and 100 have implicit fallthrough.
     46     "-Wno-unused-function",
     47     "-Wno-unused-parameter",
     48     "-Wno-unused-local-typedef",
     49 ]
     50 
     51 cc_library_static {
     52     name: "libunwind_llvm",
     53     sdk_version: "21",
     54     vendor_available: true,
     55     recovery_available: true,
     56     srcs: LIBUNWIND_SRC_FILES,
     57     include_dirs: LIBUNWIND_INCLUDES,
     58     local_include_dirs: LIBUNWIND_LOCAL_INCLUDES,
     59     cflags: LIBUNWIND_CFLAGS,
     60     cppflags: LIBUNWIND_CPPFLAGS,
     61     stl: "none",
     62     sanitize: {
     63         never: true,
     64     },
     65     enabled: false,
     66     arch: {
     67         arm: {
     68             enabled: true,
     69         },
     70     },
     71 }
     72