-- https://github.com/TurkeyMan/premake-emscripten.git adds "emscripten" as a valid system, but
-- premake5 still doesn't accept "--os=emscripten" from the command line. To work around this we add
-- a custom "--wasm" flag that sets system to "emscripten" for us.
newoption {
    trigger = 'emsdk',
    value = 'type',
    description = 'Build with emscripten',
    allowed = {
        {'none', "don't use emscripten"},
        {'wasm', 'build WASM with emscripten'},
        {'js', 'build Javascript with emscripten'},
    },
    default = 'none'
}
if _OPTIONS['emsdk'] ~= 'none'
then
    -- Target emscripten via https://github.com/TurkeyMan/premake-emscripten.git
    -- Premake doesn't properly load the _preload.lua for this module, so we load it here manually.
    -- BUG: https://github.com/premake/premake-core/issues/1235
    dofile "premake-emscripten/_preload.lua"
    dofile "premake-emscripten/emscripten.lua"
    system "emscripten"
    toolset "emcc"
end

filter {'system:emscripten'}
do
    linkoptions {
        "-sALLOW_MEMORY_GROWTH",
    }
end

filter {'system:emscripten', 'options:emsdk=wasm'}
do
    buildoptions {
        "-msimd128",
    }
    linkoptions {
        "-sWASM=1",
    }
end

filter {'system:emscripten', 'options:emsdk=js'}
do
    linkoptions {
        "-sWASM=0",
    }
end

filter 'system:not emscripten'
do
    toolset (_OPTIONS["toolset"] or "clang")
end

filter 'system:windows'
do
    staticruntime "on"  -- Match Skia's /MT flag for link compatibility
    runtime "Release"  -- Use /MT even in debug (/MTd is incompatible with Skia)
end

filter {'system:windows', 'options:toolset=clang'}
do
    buildoptions {
        '-Wno-c++98-compat',
        '-Wno-c++20-compat',
        '-Wno-c++98-compat-pedantic',
        '-Wno-c99-extensions',
        '-Wno-ctad-maybe-unsupported',
        '-Wno-deprecated-copy-with-user-provided-dtor',
        '-Wno-deprecated-declarations',
        '-Wno-documentation',
        '-Wno-documentation-pedantic',
        '-Wno-documentation-unknown-command',
        '-Wno-double-promotion',
        '-Wno-exit-time-destructors',
        '-Wno-float-equal',
        '-Wno-global-constructors',
        '-Wno-implicit-float-conversion',
        '-Wno-newline-eof',
        '-Wno-old-style-cast',
        '-Wno-reserved-identifier',
        '-Wno-shadow',
        '-Wno-sign-compare',
        '-Wno-sign-conversion',
        '-Wno-unused-macros',
        '-Wno-unused-parameter',
        '-Wno-four-char-constants',
        '-Wno-unreachable-code',
        '-Wno-switch-enum',
        '-Wno-missing-field-initializers',
        '-Wno-unsafe-buffer-usage'
    }
end

filter {'system:windows', 'options:toolset=msc'}
do
    -- We currently suppress several warnings for the MSVC build, some serious. Once this build
    -- is fully integrated into GitHub actions, we will definitely want to address these.
    disablewarnings {
        "4061", -- enumerator 'identifier' in switch of enum 'enumeration' is not explicitly
                -- handled by a case label
        "4100", -- 'identifier': unreferenced formal parameter
        "4201", -- nonstandard extension used: nameless struct/union
        "4244", -- 'conversion_type': conversion from 'type1' to 'type2', possible loss of data
        "4245", -- 'conversion_type': conversion from 'type1' to 'type2', signed/unsigned
                --  mismatch
        "4267", -- 'variable': conversion from 'size_t' to 'type', possible loss of data
        "4355", -- 'this': used in base member initializer list
        "4365", -- 'expression': conversion from 'type1' to 'type2', signed/unsigned mismatch
        "4388", -- 'expression': signed/unsigned mismatch
        "4389", -- 'operator': signed/unsigned mismatch
        "4458", -- declaration of 'identifier' hides class member
        "4514", -- 'function': unreferenced inline function has been removed
        "4583", -- 'Catch::clara::detail::ResultValueBase<T>::m_value': destructor is not
                -- implicitly called
        "4623", -- 'Catch::AssertionInfo': default constructor was implicitly defined as deleted
        "4625", -- 'derived class': copy constructor was implicitly defined as deleted because a
                -- base class copy constructor is inaccessible or deleted
        "4626", -- 'derived class': assignment operator was implicitly defined as deleted
                --  because a base class assignment operator is inaccessible or deleted
        "4820", -- 'bytes' bytes padding added after construct 'member_name'
        "4868", -- (catch.hpp) compiler may not enforce left-to-right evaluation order in braced
                -- initializer list
        "5026", -- 'type': move constructor was implicitly defined as deleted
        "5027", -- 'type': move assignment operator was implicitly defined as deleted
        "5039", -- (catch.hpp) 'AddVectoredExceptionHandler': pointer or reference to
                -- potentially throwing function passed to 'extern "C"' function under -EHc.
                -- Undefined behavior may occur if this function throws an exception.
        "5045", -- Compiler will insert Spectre mitigation for memory load if /Qspectre switch
                -- specified
        "5204", -- 'Catch::Matchers::Impl::MatcherMethod<T>': class has virtual functions, but
                -- its trivial destructor is not virtual; instances of objects derived from this
                -- class may not be destructed correctly
        "5219", -- implicit conversion from 'type-1' to 'type-2', possible loss of data
        "5262", -- MSVC\14.34.31933\include\atomic(917,9): implicit fall-through occurs here;
                -- are you missing a break statement?
        "5264", -- 'rive::math::PI': 'const' variable is not used
        "4647", -- behavior change: __is_pod(rive::Vec2D) has different value in previous versions
    }
end

filter{}

newoption {
    trigger = "with-rtti",
    description = "don't disable rtti (nonstandard for Rive)",
}
newoption {
    trigger = "with-exceptions",
    description = "don't disable exceptions (nonstandard for Rive)",
}
filter {"options:not with-rtti"} rtti "Off"
filter {"options:with-rtti"} rtti "On"
filter {"options:not with-exceptions"} exceptionhandling "Off"
filter {"options:with-exceptions"} exceptionhandling "On"
filter{}

-- Don't use filter() here because we don't want to generate the "android_ndk" toolset if not
-- building for android.
if _OPTIONS["os"] == "android"
then
    local ndk = os.getenv("NDK_PATH")
    if not ndk or ndk == "" then
        error("export $NDK_PATH")
    end

    local ndk_toolchain = ndk .. "/toolchains/llvm/prebuilt"
    if os.host() == 'windows' then
        ndk_toolchain = ndk_toolchain .. "/windows-x86_64"
    elseif os.host() == 'macosx' then
        ndk_toolchain = ndk_toolchain .. "/darwin-x86_64"
    else
        ndk_toolchain = ndk_toolchain .. "/linux-x86_64"
    end

    -- clone the clang toolset into a custom one called "android_ndk".
    premake.tools.android_ndk = {}
    for k,v in pairs(premake.tools.clang) do
        premake.tools.android_ndk[k] = v
    end

    -- update the android_ndk toolset to use the appropriate binaries.
    local android_ndk_tools = {
        cc = ndk_toolchain .. "/bin/clang",
        cxx = ndk_toolchain .. "/bin/clang++",
        ar = ndk_toolchain .. "/bin/llvm-ar"
    }
    function premake.tools.android_ndk.gettoolname(cfg, tool)
        return android_ndk_tools[tool]
    end

    toolset "android_ndk"

    buildoptions {
        "--sysroot=" .. ndk_toolchain .. "/sysroot",
        "-fdata-sections",
        "-ffunction-sections",
        "-funwind-tables",
        "-fstack-protector-strong",
        "-no-canonical-prefixes",
    }

    linkoptions {
        "--sysroot=" .. ndk_toolchain .. "/sysroot",
        "-fdata-sections",
        "-ffunction-sections",
        "-funwind-tables",
        "-fstack-protector-strong",
        "-no-canonical-prefixes",
        "-Wl,--fatal-warnings",
        "-Wl,--gc-sections",
        "-Wl,--no-rosegment",
        "-Wl,--no-undefined",
        "-static-libstdc++",
    }

    pic "on" -- Position-independent code is required for NDK libraries.
    filter "options:arch=x86"
    do
        architecture "x86"
        buildoptions {"--target=i686-none-linux-android21"}
        linkoptions {"--target=i686-none-linux-android21"}
    end
    filter "options:arch=x64"
    do
        architecture "x64"
        buildoptions {"--target=x86_64-none-linux-android21"}
        linkoptions {"--target=x86_64-none-linux-android21"}
    end
    filter "options:arch=arm"
    do
        architecture "arm"
        buildoptions {"--target=armv7a-none-linux-android21"}
        linkoptions {"--target=armv7a-none-linux-android21"}
    end
    filter "options:arch=arm64"
    do
        architecture "arm64"
        buildoptions {"--target=aarch64-none-linux-android21"}
        linkoptions {"--target=aarch64-none-linux-android21"}
    end
    filter {}
end

newoption {
    trigger = 'toolset',
    value = 'type',
    description = 'Choose which toolchain to build with',
    allowed = {
        {'clang', 'Build with Clang'},
        {'msc', 'Build with the Microsoft C/C++ compiler'}
    },
    default = 'clang'
}

newoption {
    trigger = 'arch',
    value = 'ABI',
    description = 'The ABI with the right toolchain for this build, generally with Android',
    allowed = {
        {'x86'},
        {'x64'},
        {'arm'},
        {'arm64'}
    }
}
