//
// Copyright (C) 2019 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_defaults {
  name: "libartpalette_defaults",
  defaults: ["art_defaults"],
  host_supported: true,
  export_include_dirs: ["include"],
}

// libartpalette-system is the implementation of the abstraction layer. It is
// only available as a shared library on Android.
art_cc_library {
    name: "libartpalette-system",
    defaults: ["libartpalette_defaults"],
    compile_multilib: "both",
    target: {
        android: {
          srcs: ["system/palette_android.cc",],
          header_libs: ["libbase_headers"],
          shared_libs: [
            "libcutils",
            "liblog",
            "libprocessgroup",
          ],
        },
        host: {
          header_libs: ["libbase_headers"],
          srcs: ["system/palette_fake.cc",],
        },
        darwin: {
            enabled: false,
        },
        windows: {
            enabled: false,
        },
    },
    static: {
        enabled: false,
    },
    version_script: "libartpalette.map.txt",
}

// libartpalette is the dynamic loader of the platform abstraction
// layer. It is only used on Android. For other targets, it just
// implements a fake platform implementation.
art_cc_library {
    name: "libartpalette",
    defaults: ["libartpalette_defaults"],
    required: ["libartpalette-system"],  // libartpalette.so dlopen()'s libartpalette-system.
    header_libs: ["libbase_headers"],
    target: {
        // Targets supporting dlopen build the client library which loads
        // and binds the methods in the libartpalette-system library.
        android: {
            srcs: ["apex/palette.cc"],
            shared: {
                shared_libs: ["liblog"],
            },
            static: {
                static_libs: ["liblog"],
            },
            version_script: "libartpalette.map.txt",
        },
        linux_bionic: {
          header_libs: ["libbase_headers"],
            srcs: ["system/palette_fake.cc"],
            shared: {
                shared_libs: ["liblog"],
            },
            version_script: "libartpalette.map.txt",
        },
        linux_glibc: {
          header_libs: ["libbase_headers"],
            srcs: ["system/palette_fake.cc"],
            shared: {
                shared_libs: ["liblog"],
            },
            version_script: "libartpalette.map.txt",
        },
        // Targets without support for dlopen just use the sources for
        // the system library which actually implements functionality.
        darwin: {
            enabled: true,
            header_libs: ["libbase_headers"],
            srcs: ["system/palette_fake.cc"],
        },
        windows: {
            enabled: true,
            header_libs: ["libbase_headers"],
            srcs: ["system/palette_fake.cc"],
        },
    }
}

art_cc_test {
    name: "art_libartpalette_tests",
    defaults: ["art_gtest_defaults"],
    host_supported: true,
    srcs: ["apex/palette_test.cc"],
    shared_libs: ["libartpalette"],
    test_per_src: true,
}
