# Copyright 2016 The SwiftShader Authors. All Rights Reserved.
#
# 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.

declare_args() {
  # Currently, Subzero is not used by default
  # LLVM is still the default backend
  use_swiftshader_with_subzero = is_win || is_linux
}

# Need a separate config to ensure the warnings are added to the end.
config("swiftshader_subzero_common_private_config") {
  defines = [
    "ALLOW_DUMP=0",
    "ALLOW_TIMERS=0",
    "ALLOW_LLVM_CL=0",
    "ALLOW_LLVM_IR=0",
    "ALLOW_LLVM_IR_AS_INPUT=0",
    "ALLOW_MINIMAL_BUILD=0",
    "ALLOW_WASM=0",
    "ICE_THREAD_LOCAL_HACK=0",
  ]

  if (is_win) {
    defines += [ "SUBZERO_USE_MICROSOFT_ABI" ]
  }

  if (target_cpu == "x64") {
    defines += [
      "SZTARGET=X8664",
      "SUBZERO_TARGET=X8664",
    ]
  } else {
    defines += [
      "SZTARGET=X8632",
      "SUBZERO_TARGET=X8632",
    ]
  }

  include_dirs = [
    "../../third_party/subzero",
    "../../third_party/subzero/pnacl-llvm/include/",
    "../../third_party/llvm-subzero/include/",
  ]

  if (is_win) {
    include_dirs += [ "../../third_party/llvm-subzero/build/Windows/include/" ]
  } else if (is_linux) {
    include_dirs += [ "../../third_party/llvm-subzero/build/Linux/include/" ]
  } else if (is_mac) {
    include_dirs += [ "../../third_party/llvm-subzero/build/MacOS/include/" ]
  }
}

config("swiftshader_subzero_private_config") {
  cflags = []

  if (is_win) {
    cflags += [
      "/wd4005",
      "/wd4018",
      "/wd4141",
      "/wd4146",
      "/wd4245",  # conversion from int to unsigned int (llvm)
      "/wd4267",
      "/wd4310",
      "/wd4334",
      "/wd4389",
      "/wd4701",
      "/wd4702",
      "/wd4703",
      "/wd4706",
      "/wd4800",
    ]

    if (!is_debug) {
      cflags += [ "/wd4718" ]
    }

    if (is_clang) {
      if (is_debug) {
        cflags += [ "-Wno-sign-compare" ]
      }
    }
  } else if (is_linux || is_mac) {
    cflags += [ "-Wno-macro-redefined" ]
  }

  if (is_clang) {
    cflags += [ "-Wno-header-hygiene" ]
  }
}

config("swiftshader_reactor_with_subzero_private_config") {
  cflags = []

  if (is_win) {
    cflags += [
      "/wd4141",
      "/wd4146",
      "/wd4245",  # conversion from int to unsigned int (llvm)
      "/wd4267",
      "/wd4702",
      "/wd4800",
    ]

    if (use_swiftshader_with_subzero) {
      cflags += [
        "/wd4018",  # signed/unsigned mismatch (llvm)
        "/wd4310",  # cast truncates constant value (llvm)
      ]
    }

    if (is_clang) {
      if (is_debug) {
        cflags += [ "-Wno-sign-compare" ]
      }
    }
  }

  if (is_clang) {
    cflags += [ "-Wno-header-hygiene" ]
  }
}

config("swiftshader_reactor_private_config") {
  if (is_win) {
    cflags = [
      "/wd4201",  # nameless struct/union
      "/wd4245",  # conversion from int to unsigned int (llvm)
    ]
  } else {
    cflags = [
      "-Wno-unused-local-typedef",
      "-msse2",
    ]

    defines = [
      "LOG_TAG=\"swiftshader_reactor\"",
      "__STDC_CONSTANT_MACROS",
      "__STDC_LIMIT_MACROS",
    ]
  }
}

if (use_swiftshader_with_subzero) {
  source_set("swiftshader_subzero") {
    subzero_dir = "../../third_party/subzero"
    subzero_llvm_dir = "../../third_party/llvm-subzero"

    sources = [
      "$subzero_dir/src/IceAssembler.cpp",
      "$subzero_dir/src/IceCfg.cpp",
      "$subzero_dir/src/IceCfgNode.cpp",
      "$subzero_dir/src/IceClFlags.cpp",
      "$subzero_dir/src/IceELFObjectWriter.cpp",
      "$subzero_dir/src/IceELFSection.cpp",
      "$subzero_dir/src/IceFixups.cpp",
      "$subzero_dir/src/IceGlobalContext.cpp",
      "$subzero_dir/src/IceGlobalInits.cpp",
      "$subzero_dir/src/IceInst.cpp",
      "$subzero_dir/src/IceInstrumentation.cpp",
      "$subzero_dir/src/IceIntrinsics.cpp",
      "$subzero_dir/src/IceLiveness.cpp",
      "$subzero_dir/src/IceLoopAnalyzer.cpp",
      "$subzero_dir/src/IceMangling.cpp",
      "$subzero_dir/src/IceMemory.cpp",
      "$subzero_dir/src/IceOperand.cpp",
      "$subzero_dir/src/IceRNG.cpp",
      "$subzero_dir/src/IceRangeSpec.cpp",
      "$subzero_dir/src/IceRegAlloc.cpp",
      "$subzero_dir/src/IceRevision.cpp",
      "$subzero_dir/src/IceSwitchLowering.cpp",
      "$subzero_dir/src/IceTargetLowering.cpp",
      "$subzero_dir/src/IceTargetLoweringX86.cpp",
      "$subzero_dir/src/IceThreading.cpp",
      "$subzero_dir/src/IceTimerTree.cpp",
      "$subzero_dir/src/IceTypes.cpp",
      "$subzero_dir/src/IceVariableSplitting.cpp",
      "$subzero_llvm_dir/lib/Demangle/ItaniumDemangle.cpp",
      "$subzero_llvm_dir/lib/Support/APInt.cpp",
      "$subzero_llvm_dir/lib/Support/Atomic.cpp",
      "$subzero_llvm_dir/lib/Support/CommandLine.cpp",
      "$subzero_llvm_dir/lib/Support/ConvertUTF.cpp",
      "$subzero_llvm_dir/lib/Support/ConvertUTFWrapper.cpp",
      "$subzero_llvm_dir/lib/Support/Debug.cpp",
      "$subzero_llvm_dir/lib/Support/Errno.cpp",
      "$subzero_llvm_dir/lib/Support/ErrorHandling.cpp",
      "$subzero_llvm_dir/lib/Support/FoldingSet.cpp",
      "$subzero_llvm_dir/lib/Support/Hashing.cpp",
      "$subzero_llvm_dir/lib/Support/Host.cpp",
      "$subzero_llvm_dir/lib/Support/ManagedStatic.cpp",
      "$subzero_llvm_dir/lib/Support/MemoryBuffer.cpp",
      "$subzero_llvm_dir/lib/Support/Mutex.cpp",
      "$subzero_llvm_dir/lib/Support/NativeFormatting.cpp",
      "$subzero_llvm_dir/lib/Support/Path.cpp",
      "$subzero_llvm_dir/lib/Support/Process.cpp",
      "$subzero_llvm_dir/lib/Support/Program.cpp",
      "$subzero_llvm_dir/lib/Support/Regex.cpp",
      "$subzero_llvm_dir/lib/Support/Signals.cpp",
      "$subzero_llvm_dir/lib/Support/SmallPtrSet.cpp",
      "$subzero_llvm_dir/lib/Support/SmallVector.cpp",
      "$subzero_llvm_dir/lib/Support/StringExtras.cpp",
      "$subzero_llvm_dir/lib/Support/StringMap.cpp",
      "$subzero_llvm_dir/lib/Support/StringRef.cpp",
      "$subzero_llvm_dir/lib/Support/StringSaver.cpp",
      "$subzero_llvm_dir/lib/Support/TargetParser.cpp",
      "$subzero_llvm_dir/lib/Support/Threading.cpp",
      "$subzero_llvm_dir/lib/Support/Timer.cpp",
      "$subzero_llvm_dir/lib/Support/Triple.cpp",
      "$subzero_llvm_dir/lib/Support/Twine.cpp",
      "$subzero_llvm_dir/lib/Support/circular_raw_ostream.cpp",
      "$subzero_llvm_dir/lib/Support/raw_os_ostream.cpp",
      "$subzero_llvm_dir/lib/Support/raw_ostream.cpp",
      "$subzero_llvm_dir/lib/Support/regcomp.c",
      "$subzero_llvm_dir/lib/Support/regerror.c",
      "$subzero_llvm_dir/lib/Support/regexec.c",
      "$subzero_llvm_dir/lib/Support/regfree.c",
      "$subzero_llvm_dir/lib/Support/regstrlcpy.c",
    ]

    if (target_cpu == "x64") {
      sources += [
        "$subzero_dir/src/IceInstX8664.cpp",
        "$subzero_dir/src/IceTargetLoweringX8664.cpp",
      ]
    } else {
      sources += [
        "$subzero_dir/src/IceInstX8632.cpp",
        "$subzero_dir/src/IceTargetLoweringX8632.cpp",
      ]
    }

    if (is_win) {
      configs -= [ "//build/config/win:unicode" ]
    }
    configs += [
      ":swiftshader_subzero_common_private_config",
      ":swiftshader_subzero_private_config",
    ]
  }
}

source_set("swiftshader_reactor") {
  deps = [
    "../OpenGL/common:swiftshader_opengl_common",
  ]

  sources = [
    "Routine.cpp",
  ]

  if (use_swiftshader_with_subzero) {
    deps += [ ":swiftshader_subzero" ]

    sources += [
      "Optimizer.cpp",
      "SubzeroReactor.cpp",
    ]

    configs += [
      ":swiftshader_subzero_common_private_config",
      ":swiftshader_reactor_with_subzero_private_config",
    ]
  } else {
    deps += [ "../../third_party/LLVM:swiftshader_llvm" ]

    sources += [
      "LLVMReactor.cpp",
      "LLVMRoutine.cpp",
      "LLVMRoutineManager.cpp",
    ]

    configs += [ ":swiftshader_reactor_private_config" ]

    include_dirs = [
      "..",
      "../Common",
      "../../third_party/LLVM/include/",
    ]
  }

  if (is_win) {
    configs -= [ "//build/config/win:unicode" ]
  }
}
