//
// 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.
//

// Set to true to enable a debug build of the libraries.
// To control what is logged, set the environment variable UNW_DEBUG_LEVEL=x,
// where x controls the verbosity (from 1 to 20).
//libunwind_debug = false

cc_defaults {
    name: "libunwind_defaults",
    host_supported: true,

    cppflags: [
        "-Wno-old-style-cast",
    ],

    cflags: [
        "-Werror",
        "-Wno-#pragma-messages",
        "-Wno-unused-parameter",

        "-DHAVE_CONFIG_H",
        "-D_GNU_SOURCE",
        "-DNDEBUG",
    ],

    arch: {
        arm: {
            local_include_dirs: ["include/tdep-arm"],
        },
        arm64: {
            local_include_dirs: ["include/tdep-aarch64"],
        },
        mips: {
            local_include_dirs: ["include/tdep-mips"],
        },
        mips64: {
            local_include_dirs: ["include/tdep-mips"],
        },
        x86: {
            local_include_dirs: ["include/tdep-x86"],
        },
        x86_64: {
            local_include_dirs: ["include/tdep-x86_64"],
        },
    },

    target: {
        android: {
            // gcc 4.8 appears to be overeager declaring that a variable is uninitialized,
            // under certain circumstances. Turn off this warning only for target so that
            // coverage is still present for the host code. When the entire build system
            // is switched to 4.9, then this can be removed.
            cflags: ["-Wno-maybe-uninitialized"],
        },
        darwin: {
            enabled: false,
        },
    },

    clang_cflags: [
        // src/mi/backtrace.c is misdetected as a bogus header guard by clang 3.5
        // src/x86_64/Gstash_frame.c has unnecessary calls to labs.
        "-Wno-header-guard",
        "-Wno-absolute-value",
        // The latest clang (r230699) does not allow SP/PC to be declared in inline asm lists.
        "-Wno-inline-asm",
    ],

    debug: {
        cflags: [
            "-UNDEBUG",
            "-DDEBUG",
            "-U_FORTIFY_SOURCE",
        ],
    },

    local_include_dirs: [
        "src",
        "include",
    ],
}

//-----------------------------------------------------------------------
// libunwind shared and static library
//-----------------------------------------------------------------------

cc_library {
    name: "libunwind",
    defaults: ["libunwind_defaults"],
    sdk_version: "21",
    stl: "none",

    srcs: [
        "src/mi/init.c",
        "src/mi/flush_cache.c",
        "src/mi/mempool.c",
        "src/mi/strerror.c",
        "src/mi/backtrace.c",
        "src/mi/dyn-cancel.c",
        "src/mi/dyn-info-list.c",
        "src/mi/dyn-register.c",
        "src/mi/map.c",
        "src/mi/Lmap.c",
        "src/mi/Ldyn-extract.c",
        "src/mi/Lfind_dynamic_proc_info.c",
        "src/mi/Lget_proc_info_by_ip.c",
        "src/mi/Lget_proc_name.c",
        "src/mi/Lput_dynamic_unwind_info.c",
        "src/mi/Ldestroy_addr_space.c",
        "src/mi/Lget_reg.c",
        "src/mi/Lset_reg.c",
        "src/mi/Lget_fpreg.c",
        "src/mi/Lset_fpreg.c",
        "src/mi/Lset_caching_policy.c",
        "src/mi/Gdyn-extract.c",
        "src/mi/Gdyn-remote.c",
        "src/mi/Gfind_dynamic_proc_info.c",
        "src/mi/Gget_accessors.c",
        "src/mi/Gget_proc_info_by_ip.c",
        "src/mi/Gget_proc_name.c",
        "src/mi/Gput_dynamic_unwind_info.c",
        "src/mi/Gdestroy_addr_space.c",
        "src/mi/Gget_reg.c",
        "src/mi/Gset_reg.c",
        "src/mi/Gget_fpreg.c",
        "src/mi/Gset_fpreg.c",
        "src/mi/Gset_caching_policy.c",
        "src/dwarf/Lexpr.c",
        "src/dwarf/Lfde.c",
        "src/dwarf/Lparser.c",
        "src/dwarf/Lpe.c",
        "src/dwarf/Lstep_dwarf.c",
        "src/dwarf/Lfind_proc_info-lsb.c",
        "src/dwarf/Lfind_unwind_table.c",
        "src/dwarf/Gexpr.c",
        "src/dwarf/Gfde.c",
        "src/dwarf/Gfind_proc_info-lsb.c",
        "src/dwarf/Gfind_unwind_table.c",
        "src/dwarf/Gparser.c",
        "src/dwarf/Gpe.c",
        "src/dwarf/Gstep_dwarf.c",
        "src/dwarf/global.c",
        "src/os-common.c",
        "src/os-linux.c",
        "src/Los-common.c",

        // ptrace files for remote unwinding.
        "src/ptrace/_UPT_accessors.c",
        "src/ptrace/_UPT_access_fpreg.c",
        "src/ptrace/_UPT_access_mem.c",
        "src/ptrace/_UPT_access_reg.c",
        "src/ptrace/_UPT_create.c",
        "src/ptrace/_UPT_destroy.c",
        "src/ptrace/_UPT_find_proc_info.c",
        "src/ptrace/_UPT_get_dyn_info_list_addr.c",
        "src/ptrace/_UPT_put_unwind_info.c",
        "src/ptrace/_UPT_get_proc_name.c",
        "src/ptrace/_UPT_reg_offset.c",
        "src/ptrace/_UPT_resume.c",
     ],

    arch: {
        arm: {
            srcs: [
                "src/arm/is_fpreg.c",
                "src/arm/regname.c",
                "src/arm/Gcreate_addr_space.c",
                "src/arm/Gget_proc_info.c",
                "src/arm/Gget_save_loc.c",
                "src/arm/Gglobal.c",
                "src/arm/Ginit.c",
                "src/arm/Ginit_local.c",
                "src/arm/Ginit_remote.c",
                "src/arm/Gregs.c",
                "src/arm/Gresume.c",
                "src/arm/Gstep.c",
                "src/arm/Lcreate_addr_space.c",
                "src/arm/Lget_proc_info.c",
                "src/arm/Lget_save_loc.c",
                "src/arm/Lglobal.c",
                "src/arm/Linit.c",
                "src/arm/Linit_local.c",
                "src/arm/Linit_remote.c",
                "src/arm/Lregs.c",
                "src/arm/Lresume.c",
                "src/arm/Lstep.c",

                "src/arm/getcontext.S",
                "src/arm/Gis_signal_frame.c",
                "src/arm/Gex_tables.c",
                "src/arm/Lis_signal_frame.c",
                "src/arm/Lex_tables.c",
            ],
        },
        arm64: {
            srcs: [
                "src/aarch64/is_fpreg.c",
                "src/aarch64/regname.c",
                "src/aarch64/Gcreate_addr_space.c",
                "src/aarch64/Gget_proc_info.c",
                "src/aarch64/Gget_save_loc.c",
                "src/aarch64/Gglobal.c",
                "src/aarch64/Ginit.c",
                "src/aarch64/Ginit_local.c",
                "src/aarch64/Ginit_remote.c",
                "src/aarch64/Gregs.c",
                "src/aarch64/Gresume.c",
                "src/aarch64/Gstep.c",
                "src/aarch64/Lcreate_addr_space.c",
                "src/aarch64/Lget_proc_info.c",
                "src/aarch64/Lget_save_loc.c",
                "src/aarch64/Lglobal.c",
                "src/aarch64/Linit.c",
                "src/aarch64/Linit_local.c",
                "src/aarch64/Linit_remote.c",
                "src/aarch64/Lregs.c",
                "src/aarch64/Lresume.c",
                "src/aarch64/Lstep.c",

                "src/aarch64/Gis_signal_frame.c",
                "src/aarch64/Lis_signal_frame.c",
            ],
        },
        mips: {
            srcs: [
                "src/mips/is_fpreg.c",
                "src/mips/regname.c",
                "src/mips/Gcreate_addr_space.c",
                "src/mips/Gget_proc_info.c",
                "src/mips/Gget_save_loc.c",
                "src/mips/Gglobal.c",
                "src/mips/Ginit.c",
                "src/mips/Ginit_local.c",
                "src/mips/Ginit_remote.c",
                "src/mips/Gregs.c",
                "src/mips/Gresume.c",
                "src/mips/Gstep.c",
                "src/mips/Lcreate_addr_space.c",
                "src/mips/Lget_proc_info.c",
                "src/mips/Lget_save_loc.c",
                "src/mips/Lglobal.c",
                "src/mips/Linit.c",
                "src/mips/Linit_local.c",
                "src/mips/Linit_remote.c",
                "src/mips/Lregs.c",
                "src/mips/Lresume.c",
                "src/mips/Lstep.c",

                "src/mips/getcontext-android.S",
                "src/mips/Gis_signal_frame.c",
                "src/mips/Lis_signal_frame.c",
            ],
        },
        // mips and mips64 use the same sources but define _MIP_SIM differently
        // to change the behavior.
        //   mips uses o32 abi (_MIPS_SIM == _ABIO32).
        //   mips64 uses n64 abi (_MIPS_SIM == _ABI64).
        mips64: {
            srcs: [
                "src/mips/is_fpreg.c",
                "src/mips/regname.c",
                "src/mips/Gcreate_addr_space.c",
                "src/mips/Gget_proc_info.c",
                "src/mips/Gget_save_loc.c",
                "src/mips/Gglobal.c",
                "src/mips/Ginit.c",
                "src/mips/Ginit_local.c",
                "src/mips/Ginit_remote.c",
                "src/mips/Gregs.c",
                "src/mips/Gresume.c",
                "src/mips/Gstep.c",
                "src/mips/Lcreate_addr_space.c",
                "src/mips/Lget_proc_info.c",
                "src/mips/Lget_save_loc.c",
                "src/mips/Lglobal.c",
                "src/mips/Linit.c",
                "src/mips/Linit_local.c",
                "src/mips/Linit_remote.c",
                "src/mips/Lregs.c",
                "src/mips/Lresume.c",
                "src/mips/Lstep.c",

                "src/mips/getcontext-android.S",
                "src/mips/Gis_signal_frame.c",
                "src/mips/Lis_signal_frame.c",
            ],
        },
        x86: {
            srcs: [
                "src/x86/is_fpreg.c",
                "src/x86/regname.c",
                "src/x86/Gcreate_addr_space.c",
                "src/x86/Gget_proc_info.c",
                "src/x86/Gget_save_loc.c",
                "src/x86/Gglobal.c",
                "src/x86/Ginit.c",
                "src/x86/Ginit_local.c",
                "src/x86/Ginit_remote.c",
                "src/x86/Gregs.c",
                "src/x86/Gresume.c",
                "src/x86/Gstep.c",
                "src/x86/Lcreate_addr_space.c",
                "src/x86/Lget_proc_info.c",
                "src/x86/Lget_save_loc.c",
                "src/x86/Lglobal.c",
                "src/x86/Linit.c",
                "src/x86/Linit_local.c",
                "src/x86/Linit_remote.c",
                "src/x86/Lregs.c",
                "src/x86/Lresume.c",
                "src/x86/Lstep.c",

                "src/x86/getcontext-linux.S",
                "src/x86/Gos-linux.c",
                "src/x86/Los-linux.c",
            ],
        },
        x86_64: {
            srcs: [
                "src/x86_64/is_fpreg.c",
                "src/x86_64/regname.c",
                "src/x86_64/Gcreate_addr_space.c",
                "src/x86_64/Gget_proc_info.c",
                "src/x86_64/Gget_save_loc.c",
                "src/x86_64/Gglobal.c",
                "src/x86_64/Ginit.c",
                "src/x86_64/Ginit_local.c",
                "src/x86_64/Ginit_remote.c",
                "src/x86_64/Gregs.c",
                "src/x86_64/Gresume.c",
                "src/x86_64/Gstep.c",
                "src/x86_64/Lcreate_addr_space.c",
                "src/x86_64/Lget_proc_info.c",
                "src/x86_64/Lget_save_loc.c",
                "src/x86_64/Lglobal.c",
                "src/x86_64/Linit.c",
                "src/x86_64/Linit_local.c",
                "src/x86_64/Linit_remote.c",
                "src/x86_64/Lregs.c",
                "src/x86_64/Lresume.c",
                "src/x86_64/Lstep.c",

                "src/x86_64/getcontext.S",
                "src/x86_64/Gstash_frame.c",
                "src/x86_64/Gtrace.c",
                "src/x86_64/Gos-linux.c",
                "src/x86_64/Lstash_frame.c",
                "src/x86_64/Ltrace.c",
                "src/x86_64/Los-linux.c",
                "src/x86_64/setcontext.S",
            ],
        },
    },

    multilib: {
        lib32: {
            srcs: ["src/elf32.c"],
        },
        lib64: {
            srcs: ["src/elf64.c"],
        },
    },

    target: {
        android: {
            shared_libs: ["libdl"],
        },
        host: {
            ldflags: ["-nostdlib"],
            host_ldlibs: [
                "-lc",
                "-lpthread",
            ],
        },
    },

    export_include_dirs: ["include"],

    shared_libs: ["liblzma"],

    debug: {
        //shared_libs: ["liblog"],
    },
}

//-----------------------------------------------------------------------
// libunwindbacktrace static library
//-----------------------------------------------------------------------
cc_library_static {
    name: "libunwindbacktrace",
    defaults: ["libunwind_defaults"],
    sdk_version: "21",
    srcs: [
        "src/unwind/BacktraceWrapper.c",
        "src/unwind/DeleteException.c",
        "src/unwind/FindEnclosingFunction.c",
        "src/unwind/ForcedUnwind.c",
        "src/unwind/GetBSP.c",
        "src/unwind/GetCFA.c",
        "src/unwind/GetDataRelBase.c",
        "src/unwind/GetGR.c",
        "src/unwind/GetIP.c",
        "src/unwind/GetIPInfo.c",
        "src/unwind/GetLanguageSpecificData.c",
        "src/unwind/GetRegionStart.c",
        "src/unwind/GetTextRelBase.c",
        "src/unwind/RaiseException.c",
        "src/unwind/Resume.c",
        "src/unwind/Resume_or_Rethrow.c",
        "src/unwind/SetGR.c",
        "src/unwind/SetIP.c",
    ],

    cflags: [
        "-Wno-old-style-declaration",
        "-fvisibility=hidden",
    ],

    whole_static_libs: ["libunwind"],
}

//-----------------------------------------------------------------------
// libunwind testing
//-----------------------------------------------------------------------
cc_test {
    name: "libunwind-unit-tests",
    srcs: ["android/tests/local_test.cpp"],
    defaults: ["libunwind_defaults"],

    cflags: [
        "-fno-builtin",
        "-O0",
        "-g",
    ],

    local_include_dirs: ["include"],
    shared_libs: ["libunwind"],
}

/*
// Run the unit tests built for x86 or x86_64.
// ANDROIDMK TRANSLATION ERROR: unsupported conditional
// ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64))
// ANDROIDMK TRANSLATION ERROR: unsupported conditional
// ifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86))
LINKER = ["linker64"]
TEST_SUFFIX = ["64"]
// ANDROIDMK TRANSLATION ERROR: else from unsupported contitional
// else
LINKER = ["linker"]
TEST_SUFFIX = ["32"]
// ANDROIDMK TRANSLATION ERROR: endif from unsupported contitional
// endif

// ANDROIDMK TRANSLATION ERROR: endif from unsupported contitional
// endif
*/
