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

cc_library_shared {
    name: "libframesequence",

    // Main library
    // NOTE: the following code when dropped during the Android.mk->Android.bp
    // conversion because FRAMESEQUENCE_INCLUDE_WEBP is never set:
    //  ifeq ($(FRAMESEQUENCE_INCLUDE_WEBP),true)
    //    LOCAL_C_INCLUDES += external/webp/include
    //    LOCAL_SRC_FILES += FrameSequence_webp.cpp
    //    LOCAL_STATIC_LIBRARIES += libwebp-decode
    //  endif

    static_libs: ["libgif"],
    include_dirs: ["external/giflib"],
    srcs: [
        "BitmapDecoderJNI.cpp",
        "FrameSequence.cpp",
        "FrameSequenceJNI.cpp",
        "FrameSequence_gif.cpp",
        "JNIHelpers.cpp",
        "Registry.cpp",
        "Stream.cpp",
    ],
    cflags: [
        "-Wall",
        "-Werror",
        "-Wno-unused-parameter",
        "-Wno-unused-variable",
        "-Wno-overloaded-virtual",
        "-fvisibility=hidden",
    ],
    sdk_version: "8",
    shared_libs: [
        "libjnigraphics",
        "liblog",
    ],

    product_specific: true,
}
