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

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",
        "-DHAVE_GRALLOC1",
        "-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: {
            relative_install_path: "egl",
            header_libs: [
                "swiftshader_platform_headers",
                "libnativebase_headers",
            ],
            shared_libs: [
                "libnativewindow",
                "libhardware",
                "libcutils",
                "libsync",
                "liblog",
            ],
            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/EmulatedReactor.cpp",
        "Reactor/ExecutableMemory.cpp",
        "Reactor/LLVMJIT.cpp",
        "Reactor/LLVMReactor.cpp",
        "Reactor/Reactor.cpp",
    ],

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

    static_libs: [
        "libLLVM7_swiftshader",
    ],

    shared_libs: [
        "liblog",
    ],
}

cc_defaults {
    name: "libswiftshadervk_llvm_defaults",

    header_libs: [
        "swiftshader_platform_headers",
    ],

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

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

    static_libs: [
        "libLLVM7_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",
        "libLLVM7_swiftshader",
    ],
}

cc_defaults {
    name: "swiftshader_client_libraries_debug",

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

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",
    ],
}

// libGLESv1_CM libraries

cc_defaults {
    name: "libGLESv1_CM_swiftshader_defaults",

    defaults: [ "libswiftshader" ],

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

    srcs: [
        "OpenGL/libGLES_CM/Buffer.cpp",
        "OpenGL/libGLES_CM/Context.cpp",
        "OpenGL/libGLES_CM/Device.cpp",
        "OpenGL/libGLES_CM/Framebuffer.cpp",
        "OpenGL/libGLES_CM/IndexDataManager.cpp",
        "OpenGL/libGLES_CM/libGLES_CM.cpp",
        "OpenGL/libGLES_CM/main.cpp",
        "OpenGL/libGLES_CM/Renderbuffer.cpp",
        "OpenGL/libGLES_CM/ResourceManager.cpp",
        "OpenGL/libGLES_CM/Texture.cpp",
        "OpenGL/libGLES_CM/utilities.cpp",
        "OpenGL/libGLES_CM/VertexDataManager.cpp",
    ],

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

cc_library_shared {
    name: "libGLESv1_CM_swiftshader",

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

cc_library_shared {
    name: "libGLESv1_CM_swiftshader_debug",

    defaults: [
        "libGLESv1_CM_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",
        "-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: [
                "libnativewindow",
                "libhardware",
                "libcutils",
                "libsync",
                "liblog",
            ],
            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)
    ],

    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",
    ],

    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",
        "libLLVM7_swiftshader",
    ],

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

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

    static_libs: [
        "libswiftshadervk_llvm_debug",
        "libLLVM7_swiftshader",
    ],

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

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