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

package {
    // http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // the below license kinds from "external_swiftshader_license":
    //   SPDX-license-identifier-Apache-2.0
    //   SPDX-license-identifier-BSD
    default_applicable_licenses: ["external_swiftshader_license"],
}

cc_defaults {
    name: "libswiftshader",
    vendor: true,
    host_supported: true,

    defaults: [ "swiftshader_common" ],

    cflags: [
        "-D_GNU_SOURCE",
        "-D__STDC_LIMIT_MACROS",
        "-D__STDC_CONSTANT_MACROS",
        "-D__STDC_FORMAT_MACROS",
        "-DNO_SANITIZE_FUNCTION=",
        // FIXME: Use <android/api-level.h> instead?
        "-DANDROID_PLATFORM_SDK_VERSION=10000",
        "-Wno-implicit-fallthrough",
        "-Wno-unused-parameter",
        "-Wno-unused-local-typedef",
    ],

    cppflags: [
        "-Wno-sign-promo",
        "-Wno-non-virtual-dtor",
    ],

    local_include_dirs: [ "OpenGL" ],

    target: {
        android: {
            cflags: [
                "-DHAVE_GRALLOC1",
                "-DHAVE_GRALLOC3",
                "-DHAVE_GRALLOC4",
            ],
            relative_install_path: "egl",
            header_libs: [
                "swiftshader_platform_headers",
                "libnativebase_headers",
            ],
            shared_libs: [
                "android.hardware.graphics.mapper@3.0",
                "android.hardware.graphics.mapper@4.0",
                "libnativewindow",
                "libhardware",
                "libhidlbase",
                "libcutils",
                "libsync",
                "liblog",
                "libutils",
            ],
            static_libs: [
                "libarect",
            ],
        },

        host: {
            header_libs: [
                "swiftshader_host_headers",
                "swiftshader_platform_headers",
                "libnativebase_headers",
            ],

            // Pretend to build for Android
            cflags: [ "-D__ANDROID__", "-DANDROID_HOST_BUILD" ],

            allow_undefined_symbols: true,
            host_ldlibs: ["-ldl"],
        },
    },
}

cc_defaults {
    name: "libswiftshader_release",

    defaults: [ "libswiftshader" ],

    cflags: [
        "-fomit-frame-pointer",
        "-ffunction-sections",
        "-fdata-sections",
        "-DANGLE_DISABLE_TRACE",
    ],
}

cc_defaults {
    name: "libswiftshader_debug",

    defaults: [ "libswiftshader" ],

    cflags: [
        "-UNDEBUG",
        "-g",
        "-O0",
        "-DDEFAULT_THREAD_COUNT=1",
    ],
}

// Common libraries

cc_defaults {
    name: "libswiftshader_common_defaults",

    cflags: [
        "-DLOG_TAG=\"swiftshader\"",
    ],

    srcs: [
        "Common/Configurator.cpp",
        "Common/CPUID.cpp",
        "Common/DebugAndroid.cpp",
        "Common/GrallocAndroid.cpp",
        "Common/Half.cpp",
        "Common/Math.cpp",
        "Common/Memory.cpp",
        "Common/Resource.cpp",
        "Common/SharedLibrary.cpp",
        "Common/Socket.cpp",
        "Common/Thread.cpp",
        "Common/Timer.cpp",
        "Main/Config.cpp",
        "Main/FrameBuffer.cpp",
        "Main/FrameBufferAndroid.cpp",
        "Main/SwiftConfig.cpp",
        "Renderer/Blitter.cpp",
        "Renderer/Clipper.cpp",
        "Renderer/Color.cpp",
        "Renderer/Context.cpp",
        "Renderer/ETC_Decoder.cpp",
        "Renderer/Matrix.cpp",
        "Renderer/PixelProcessor.cpp",
        "Renderer/Plane.cpp",
        "Renderer/Point.cpp",
        "Renderer/QuadRasterizer.cpp",
        "Renderer/Renderer.cpp",
        "Renderer/Sampler.cpp",
        "Renderer/SetupProcessor.cpp",
        "Renderer/Surface.cpp",
        "Renderer/TextureStage.cpp",
        "Renderer/Vector.cpp",
        "Renderer/VertexProcessor.cpp",
        "Shader/Constants.cpp",
        "Shader/PixelPipeline.cpp",
        "Shader/PixelProgram.cpp",
        "Shader/PixelRoutine.cpp",
        "Shader/PixelShader.cpp",
        "Shader/SamplerCore.cpp",
        "Shader/SetupRoutine.cpp",
        "Shader/Shader.cpp",
        "Shader/ShaderCore.cpp",
        "Shader/VertexPipeline.cpp",
        "Shader/VertexProgram.cpp",
        "Shader/VertexRoutine.cpp",
        "Shader/VertexShader.cpp",
        "OpenGL/common/Image.cpp",
        "OpenGL/common/Object.cpp",
        "OpenGL/common/MatrixStack.cpp",
    ],

    target: {
        host: {
            exclude_srcs: [ "Common/DebugAndroid.cpp" ],
            srcs: [ "Common/Debug.cpp" ],
        },
    },
}

cc_defaults {
    name: "libswiftshader_llvm_defaults",

    defaults: [ "libswiftshader_common_defaults" ],

    header_libs: [
        "swiftshader_platform_headers",
    ],

    srcs: [
        "Reactor/CPUID.cpp",
        "Reactor/Debug.cpp",
        "Reactor/EmulatedIntrinsics.cpp",
        "Reactor/ExecutableMemory.cpp",
        "Reactor/LLVMJIT.cpp",
        "Reactor/LLVMReactor.cpp",
        "Reactor/OptimalIntrinsics.cpp",
        "Reactor/Reactor.cpp",
    ],

    cflags: [
        "-DREACTOR_ANONYMOUS_MMAP_NAME=swiftshader_jit",
        "-Wno-unused-parameter",
        "-Wno-implicit-fallthrough",
    ],

    static_libs: [
        "libLLVM10_swiftshader",
    ],

    shared_libs: [
        "liblog",
    ],
}

cc_defaults {
    name: "libswiftshadervk_llvm_defaults",

    header_libs: [
        "swiftshader_platform_headers",
    ],

    srcs: [
        "Reactor/CPUID.cpp",
        "Reactor/Debug.cpp",
        "Reactor/EmulatedIntrinsics.cpp",
        "Reactor/ExecutableMemory.cpp",
        "Reactor/LLVMJIT.cpp",
        "Reactor/LLVMReactor.cpp",
        "Reactor/OptimalIntrinsics.cpp",
        "Reactor/Reactor.cpp",
    ],

    cflags: [
        "-DREACTOR_ANONYMOUS_MMAP_NAME=swiftshader_jit",
        "-Wno-unused-parameter",
        "-Wno-implicit-fallthrough",
    ],

    static_libs: [
        "libLLVM10_swiftshader",
    ],

    shared_libs: [
        "libcutils",
        "liblog",
    ],
}

cc_defaults {
    name: "libswiftshader_common",

    defaults: [ "libswiftshader_release", "libswiftshader_common_defaults" ],
}

cc_defaults {
    name: "libswiftshader_common_debug",

    srcs: [ "OpenGL/common/debug.cpp" ],

    defaults: [ "libswiftshader_debug", "libswiftshader_common_defaults" ],

    shared_libs: [
        "libutils",
    ],
}

cc_library_static {
    name: "libswiftshader_llvm",
    defaults: [ "libswiftshader_common", "libswiftshader_llvm_defaults" ],
}

cc_library_static {
    name: "libswiftshader_llvm_debug",
    defaults: [ "libswiftshader_common_debug", "libswiftshader_llvm_defaults" ],
}

cc_library_static {
    name: "libswiftshadervk_llvm",
    vendor: true,
    defaults: [ "libswiftshadervk_llvm_defaults" ],
}

cc_library_static {
    name: "libswiftshadervk_llvm_debug",
    vendor: true,
    defaults: [ "libswiftshadervk_llvm_defaults" ],
}

// compiler libraries

cc_defaults {
    name: "libswiftshader_compiler_defaults",

    defaults: [ "libswiftshader" ],

    cflags: [
        "-DLOG_TAG=\"swiftshader_compiler\"",
    ],

    srcs: [
        "OpenGL/compiler/preprocessor/DiagnosticsBase.cpp",
        "OpenGL/compiler/preprocessor/DirectiveHandlerBase.cpp",
        "OpenGL/compiler/preprocessor/DirectiveParser.cpp",
        "OpenGL/compiler/preprocessor/ExpressionParser.cpp",
        "OpenGL/compiler/preprocessor/Input.cpp",
        "OpenGL/compiler/preprocessor/Lexer.cpp",
        "OpenGL/compiler/preprocessor/Macro.cpp",
        "OpenGL/compiler/preprocessor/MacroExpander.cpp",
        "OpenGL/compiler/preprocessor/Preprocessor.cpp",
        "OpenGL/compiler/preprocessor/Token.cpp",
        "OpenGL/compiler/preprocessor/Tokenizer.cpp",
        "OpenGL/compiler/AnalyzeCallDepth.cpp",
        "OpenGL/compiler/Compiler.cpp",
        "OpenGL/compiler/debug.cpp",
        "OpenGL/compiler/Diagnostics.cpp",
        "OpenGL/compiler/DirectiveHandler.cpp",
        "OpenGL/compiler/glslang_lex.cpp",
        "OpenGL/compiler/glslang_tab.cpp",
        "OpenGL/compiler/InfoSink.cpp",
        "OpenGL/compiler/Initialize.cpp",
        "OpenGL/compiler/InitializeParseContext.cpp",
        "OpenGL/compiler/IntermTraverse.cpp",
        "OpenGL/compiler/Intermediate.cpp",
        "OpenGL/compiler/intermOut.cpp",
        "OpenGL/compiler/ossource_posix.cpp",
        "OpenGL/compiler/OutputASM.cpp",
        "OpenGL/compiler/parseConst.cpp",
        "OpenGL/compiler/ParseHelper.cpp",
        "OpenGL/compiler/PoolAlloc.cpp",
        "OpenGL/compiler/SymbolTable.cpp",
        "OpenGL/compiler/TranslatorASM.cpp",
        "OpenGL/compiler/util.cpp",
        "OpenGL/compiler/ValidateLimitations.cpp",
        "OpenGL/compiler/ValidateSwitch.cpp",
    ],
}

cc_library_static {
    name: "libswiftshader_compiler",

    defaults: [ "libswiftshader_release", "libswiftshader_compiler_defaults" ],
}

cc_library_static {
    name: "libswiftshader_compiler_debug",

    defaults: [ "libswiftshader_debug", "libswiftshader_compiler_defaults" ],
}

// libEGL libraries

cc_defaults {
    name: "swiftshader_client_libraries",

    defaults: [ "libswiftshader_release" ],
    static_libs: [
        "libswiftshader_llvm",
        "libLLVM10_swiftshader",
    ],
}

cc_defaults {
    name: "swiftshader_client_libraries_debug",

    defaults: [ "libswiftshader_debug" ],
    static_libs: [
        "libswiftshader_llvm_debug",
        "libLLVM10_swiftshader_debug",
    ],
}

cc_defaults {
    name: "libEGL_swiftshader_defaults",

    defaults: [ "libswiftshader" ],

    cflags: [
        "-DLOG_TAG=\"libEGL_swiftshader\"",
        "-DEGLAPI=",
        "-DEGL_EGLEXT_PROTOTYPES",
        "-Wno-format",
    ],

    srcs: [
       "OpenGL/libEGL/Config.cpp",
       "OpenGL/libEGL/Display.cpp",
       "OpenGL/libEGL/Surface.cpp",
       "OpenGL/libEGL/libEGL.cpp",
       "OpenGL/libEGL/main.cpp",
    ],

    version_script: "OpenGL/libEGL/libEGL.lds",
}

cc_library_shared {
    name: "libEGL_swiftshader",

    defaults: [
        "libEGL_swiftshader_defaults",
        "swiftshader_client_libraries",
    ],
}

cc_library_shared {
    name: "libEGL_swiftshader_debug",

    defaults: [
        "libEGL_swiftshader_defaults",
        "swiftshader_client_libraries_debug",
    ],
}

// libGLESv2 libraries

cc_defaults {
    name: "libGLESv2_swiftshader_defaults",

    defaults: [ "libswiftshader" ],

    cflags: [
        "-DLOG_TAG=\"libGLESv2_swiftshader\"",
        "-DEGLAPI=",
        "-DGL_API=",
        "-DGL_APICALL=",
        "-DGL_GLEXT_PROTOTYPES",
        "-Wno-format",
    ],

    srcs: [
        "OpenGL/libGLESv2/Buffer.cpp",
        "OpenGL/libGLESv2/Context.cpp",
        "OpenGL/libGLESv2/Device.cpp",
        "OpenGL/libGLESv2/Fence.cpp",
        "OpenGL/libGLESv2/Framebuffer.cpp",
        "OpenGL/libGLESv2/IndexDataManager.cpp",
        "OpenGL/libGLESv2/libGLESv2.cpp",
        "OpenGL/libGLESv2/libGLESv3.cpp",
        "OpenGL/libGLESv2/main.cpp",
        "OpenGL/libGLESv2/entry_points.cpp",
        "OpenGL/libGLESv2/Program.cpp",
        "OpenGL/libGLESv2/Query.cpp",
        "OpenGL/libGLESv2/Renderbuffer.cpp",
        "OpenGL/libGLESv2/ResourceManager.cpp",
        "OpenGL/libGLESv2/Shader.cpp",
        "OpenGL/libGLESv2/Texture.cpp",
        "OpenGL/libGLESv2/TransformFeedback.cpp",
        "OpenGL/libGLESv2/utilities.cpp",
        "OpenGL/libGLESv2/VertexArray.cpp",
        "OpenGL/libGLESv2/VertexDataManager.cpp",
    ],

    version_script: "OpenGL/libGLESv2/libGLESv2.lds",
}

cc_library_shared {
    name: "libGLESv2_swiftshader",

    defaults: [
        "libGLESv2_swiftshader_defaults",
        "swiftshader_client_libraries",
    ],

    static_libs: [ "libswiftshader_compiler" ],
}

cc_library_shared {
    name: "libGLESv2_swiftshader_debug",

    defaults: [
        "libGLESv2_swiftshader_defaults",
        "swiftshader_client_libraries_debug",
    ],

    static_libs: [ "libswiftshader_compiler_debug" ],
}


// Vulkan

genrule {
    name: "commit_header",
    out: ["commit.h"],
    tool_files: ["commit_id.py"],
    cmd: "$(location commit_id.py) gen $(genDir)/commit.h",
}

cc_defaults {
    name: "libvk_swiftshader_defaults",
    vendor: true,

    defaults: [ "swiftshader_common" ],

    cflags: [
        "-D_GNU_SOURCE",
        "-D__STDC_LIMIT_MACROS",
        "-D__STDC_CONSTANT_MACROS",
        "-D__STDC_FORMAT_MACROS",
        "-DHAVE_GRALLOC1",
        "-DHAVE_GRALLOC3",
        "-DHAVE_GRALLOC4",
        "-DNO_SANITIZE_FUNCTION=",
        // FIXME: Use <android/api-level.h> instead?
        "-DANDROID_PLATFORM_SDK_VERSION=10000",
        "-Wno-implicit-fallthrough",
        "-Wno-unused-parameter",
        "-Wno-unused-local-typedef",
        "-Wno-missing-field-initializers",
        // Enable to output commit hash when SwiftShader is initialized
        //"-DENABLE_BUILD_VERSION_OUTPUT",
    ],

    cppflags: [
        "-Wno-sign-promo",
        "-Wno-non-virtual-dtor",
    ],

    ldflags: [
        // -Bsymbolic binds symbol references to their global definitions within
        // a shared object, thereby preventing symbol preemption.
        "-Wl,-Bsymbolic",
    ],

    local_include_dirs: [ "Vulkan" ],

    version_script: "Vulkan/android_vk_swiftshader.lds",

    generated_headers: [ "commit_header" ],

    target: {
        android: {
            relative_install_path: "hw",
            header_libs: [
                "swiftshader_platform_headers",
                "vulkan_headers",
                "hwvulkan_headers",
            ],
            shared_libs: [
                "android.hardware.graphics.mapper@3.0",
                "android.hardware.graphics.mapper@4.0",
                "libnativewindow",
                "libhardware",
                "libhidlbase",
                "libcutils",
                "libsync",
                "liblog",
                "libutils",
            ],
            static_libs: [
                "libarect",
            ],
        },
    },
}

cc_library_static {
    name: "swiftshader_debug",

    vendor_available: true,

    cflags: [
        "-DLOG_TAG=\"swiftshader\"",
    ],

    srcs: [
        "System/Debug.cpp",
    ],

    export_include_dirs: [
        ".",
    ],

    shared_libs: [
        "liblog",
    ],
}

cc_defaults {
    name: "libvk_swiftshader_common_defaults",

    cflags: [
        "-DLOG_TAG=\"swiftshader\"",
        "-DSWIFTSHADER_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER",
        "-DSWIFTSHADER_ENABLE_ASTC",  // TODO(b/150130101)
        //"-DSWIFTSHADER_DEVICE_MEMORY_REPORT",
    ],

    srcs: [
        "System/Build.cpp",
        "System/Configurator.cpp",
        "System/CPUID.cpp",
        "System/GrallocAndroid.cpp",
        "System/Half.cpp",
        "System/Linux/MemFd.cpp",
        "System/Math.cpp",
        "System/Memory.cpp",
        "System/Socket.cpp",
        "System/Timer.cpp",
        "Device/*.cpp",
        "Pipeline/*.cpp",
        "Vulkan/*.cpp",
        "WSI/HeadlessSurfaceKHR.cpp",
        "WSI/VkSurfaceKHR.cpp",
    ],

    static_libs: [
        "swiftshader_astc",
        "swiftshader_debug",
        "swiftshader_marl",
        "swiftshader_spirv-tools",
    ],

    include_dirs: [
        "external/swiftshader/third_party/SPIRV-Headers/include",
        "external/swiftshader/include",
    ],
}

cc_library_shared {
    name: "vulkan.pastel",

    static_libs: [
        "libswiftshadervk_llvm_debug",
        "libLLVM10_swiftshader",
    ],

    defaults: [
        "libvk_swiftshader_common_defaults",
        "libvk_swiftshader_defaults"
    ],
}

cc_library_shared {
    name: "vulkan.pastel.debug",

    static_libs: [
        "libswiftshadervk_llvm_debug",
        "libLLVM10_swiftshader_debug",
    ],

    cflags: [
        "-UNDEBUG",
        "-g",
        "-O0",
        "-DDEFAULT_THREAD_COUNT=1",
    ],

    defaults: [
        "libvk_swiftshader_common_defaults",
        "libvk_swiftshader_defaults",
    ],
}
