//
// Copyright (C) 2014 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.
//

LIBUNWIND_SRC_FILES = [
    "src/libunwind.cpp",
    "src/Unwind-EHABI.cpp",
    "src/Unwind-sjlj.c",
    "src/UnwindLevel1-gcc-ext.c",
    "src/UnwindLevel1.c",
    "src/UnwindRegistersSave.S",
    "src/UnwindRegistersRestore.S",
]

LIBUNWIND_INCLUDES = [
    "external/libcxx/include",
]

LIBUNWIND_LOCAL_INCLUDES = [
    "include",
]

LIBUNWIND_CPPFLAGS = [
    "-std=c++14",
    "-fexceptions",
    "-Wall",
    "-Wextra",
    "-Wno-unused-function",
    "-Wno-unused-parameter",
    "-Werror",
]

cc_library_static {
    name: "libunwind_llvm",
    clang: true,
    srcs: LIBUNWIND_SRC_FILES,
    include_dirs: LIBUNWIND_INCLUDES,
    local_include_dirs: LIBUNWIND_LOCAL_INCLUDES,
    cppflags: LIBUNWIND_CPPFLAGS,
    stl: "none",
    sanitize: ["never"],
    enabled: false,
    arch: {
        arm: {
            enabled: true,
        },
    },
}