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

cc_library_static {
    name: "libdex",
    host_supported: true,

    srcs: [
        "CmdUtils.cpp",
        "DexCatch.cpp",
        "DexClass.cpp",
        "DexDataMap.cpp",
        "DexDebugInfo.cpp",
        "DexFile.cpp",
        "DexInlines.cpp",
        "DexOptData.cpp",
        "DexOpcodes.cpp",
        "DexProto.cpp",
        "DexSwapVerify.cpp",
        "DexUtf.cpp",
        "InstrUtils.cpp",
        "Leb128.cpp",
        "OptInvocation.cpp",
        "sha1.cpp",
        "SysUtil.cpp",
    ],
    include_dirs: [
        "dalvik",
        "external/zlib",
        "external/safe-iop/include",
    ],
    static_libs: ["liblog"],
    whole_static_libs: ["libziparchive"],

    cflags: [
        "-Wall",
        "-Werror",
    ],
    target: {
        android: {
            shared_libs: ["libutils"],
        },
        host: {
            static_libs: ["libutils"],
        },
        windows: {
            enabled: true,
            cflags: ["-Wno-unused-parameter"],
        },
    },
}
