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

# Need a separate config to ensure the warnings are added to the end.
config("swiftshader_llvm_private_config") {
  cflags = []

  if (is_win) {
    cflags += [
      "/wd4005",
      "/wd4065",
      "/wd4146",
      "/wd4245",
      "/wd4267",
      "/wd4310",
      "/wd4319",
      "/wd4334",
      "/wd4389",
      "/wd4624",
      "/wd4701",
      "/wd4702",
      "/wd4703",
      "/wd4706",
      "/wd4800",
    ]

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

    if (is_clang) {
      cflags += [
        "-Wno-format",
        "-Wno-sign-compare",
        "-Wno-macro-redefined",
      ]
    }
  }

  if (is_clang) {
    cflags += [
      "-msse2",
      "-D__STDC_CONSTANT_MACROS",
      "-D__STDC_LIMIT_MACROS",
      "-Wno-unused-local-typedef",
      "-Wno-unused-private-field",
      "-Wno-null-dereference",
      "-Wno-header-hygiene",
      "-Wno-unused-function",
      "-Wno-deprecated-declarations",
      "-Wno-unused-variable",
    ]
  }
}

source_set("swiftshader_llvm") {
  sources = [
    "lib/Analysis/AliasAnalysis.cpp",
    "lib/Analysis/AliasSetTracker.cpp",
    "lib/Analysis/BasicAliasAnalysis.cpp",
    "lib/Analysis/BranchProbabilityInfo.cpp",
    "lib/Analysis/CaptureTracking.cpp",
    "lib/Analysis/ConstantFolding.cpp",
    "lib/Analysis/DebugInfo.cpp",
    "lib/Analysis/DIBuilder.cpp",
    "lib/Analysis/InstructionSimplify.cpp",
    "lib/Analysis/IVUsers.cpp",
    "lib/Analysis/Loads.cpp",
    "lib/Analysis/LoopInfo.cpp",
    "lib/Analysis/LoopPass.cpp",
    "lib/Analysis/MemoryBuiltins.cpp",
    "lib/Analysis/MemoryDependenceAnalysis.cpp",
    "lib/Analysis/NoAliasAnalysis.cpp",
    "lib/Analysis/PathNumbering.cpp",
    "lib/Analysis/PHITransAddr.cpp",
    "lib/Analysis/ProfileInfo.cpp",
    "lib/Analysis/ScalarEvolution.cpp",
    "lib/Analysis/ScalarEvolutionExpander.cpp",
    "lib/Analysis/ScalarEvolutionNormalization.cpp",
    "lib/Analysis/TypeBasedAliasAnalysis.cpp",
    "lib/Analysis/ValueTracking.cpp",
    "lib/CodeGen/SelectionDAG/DAGCombiner.cpp",
    "lib/CodeGen/SelectionDAG/FastISel.cpp",
    "lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp",
    "lib/CodeGen/SelectionDAG/InstrEmitter.cpp",
    "lib/CodeGen/SelectionDAG/LegalizeDAG.cpp",
    "lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp",
    "lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp",
    "lib/CodeGen/SelectionDAG/LegalizeTypes.cpp",
    "lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp",
    "lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp",
    "lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp",
    "lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp",
    "lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp",
    "lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp",
    "lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp",
    "lib/CodeGen/SelectionDAG/SelectionDAG.cpp",
    "lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp",
    "lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp",
    "lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp",
    "lib/CodeGen/SelectionDAG/TargetLowering.cpp",
    "lib/CodeGen/SelectionDAG/TargetSelectionDAGInfo.cpp",
    "lib/CodeGen/AggressiveAntiDepBreaker.cpp",
    "lib/CodeGen/AllocationOrder.cpp",
    "lib/CodeGen/Analysis.cpp",
    "lib/CodeGen/BranchFolding.cpp",
    "lib/CodeGen/CalcSpillWeights.cpp",
    "lib/CodeGen/CallingConvLower.cpp",
    "lib/CodeGen/CodeGen.cpp",
    "lib/CodeGen/CodePlacementOpt.cpp",
    "lib/CodeGen/CriticalAntiDepBreaker.cpp",
    "lib/CodeGen/DeadMachineInstructionElim.cpp",
    "lib/CodeGen/DwarfEHPrepare.cpp",
    "lib/CodeGen/EdgeBundles.cpp",
    "lib/CodeGen/ELFCodeEmitter.cpp",
    "lib/CodeGen/ELFWriter.cpp",
    "lib/CodeGen/ExecutionDepsFix.cpp",
    "lib/CodeGen/ExpandISelPseudos.cpp",
    "lib/CodeGen/ExpandPostRAPseudos.cpp",
    "lib/CodeGen/GCMetadata.cpp",
    "lib/CodeGen/GCStrategy.cpp",
    "lib/CodeGen/IfConversion.cpp",
    "lib/CodeGen/InlineSpiller.cpp",
    "lib/CodeGen/InterferenceCache.cpp",
    "lib/CodeGen/IntrinsicLowering.cpp",
    "lib/CodeGen/LatencyPriorityQueue.cpp",
    "lib/CodeGen/LexicalScopes.cpp",
    "lib/CodeGen/LiveDebugVariables.cpp",
    "lib/CodeGen/LiveIntervalAnalysis.cpp",
    "lib/CodeGen/LiveInterval.cpp",
    "lib/CodeGen/LiveIntervalUnion.cpp",
    "lib/CodeGen/LiveRangeCalc.cpp",
    "lib/CodeGen/LiveRangeEdit.cpp",
    "lib/CodeGen/LiveStackAnalysis.cpp",
    "lib/CodeGen/LiveVariables.cpp",
    "lib/CodeGen/LLVMTargetMachine.cpp",
    "lib/CodeGen/LocalStackSlotAllocation.cpp",
    "lib/CodeGen/MachineBasicBlock.cpp",
    "lib/CodeGen/MachineBlockFrequencyInfo.cpp",
    "lib/CodeGen/MachineBranchProbabilityInfo.cpp",
    "lib/CodeGen/MachineCSE.cpp",
    "lib/CodeGen/MachineDominators.cpp",
    "lib/CodeGen/MachineFunctionAnalysis.cpp",
    "lib/CodeGen/MachineFunction.cpp",
    "lib/CodeGen/MachineFunctionPass.cpp",
    "lib/CodeGen/MachineFunctionPrinterPass.cpp",
    "lib/CodeGen/MachineInstr.cpp",
    "lib/CodeGen/MachineLICM.cpp",
    "lib/CodeGen/MachineLoopInfo.cpp",
    "lib/CodeGen/MachineLoopRanges.cpp",
    "lib/CodeGen/MachineModuleInfo.cpp",
    "lib/CodeGen/MachineModuleInfoImpls.cpp",
    "lib/CodeGen/MachinePassRegistry.cpp",
    "lib/CodeGen/MachineRegisterInfo.cpp",
    "lib/CodeGen/MachineSink.cpp",
    "lib/CodeGen/MachineSSAUpdater.cpp",
    "lib/CodeGen/MachineVerifier.cpp",
    "lib/CodeGen/ObjectCodeEmitter.cpp",
    "lib/CodeGen/OcamlGC.cpp",
    "lib/CodeGen/OptimizePHIs.cpp",
    "lib/CodeGen/Passes.cpp",
    "lib/CodeGen/PeepholeOptimizer.cpp",
    "lib/CodeGen/PHIElimination.cpp",
    "lib/CodeGen/PHIEliminationUtils.cpp",
    "lib/CodeGen/PostRASchedulerList.cpp",
    "lib/CodeGen/ProcessImplicitDefs.cpp",
    "lib/CodeGen/PrologEpilogInserter.cpp",
    "lib/CodeGen/PseudoSourceValue.cpp",
    "lib/CodeGen/RegAllocBasic.cpp",
    "lib/CodeGen/RegAllocFast.cpp",
    "lib/CodeGen/RegAllocGreedy.cpp",
    "lib/CodeGen/RegAllocLinearScan.cpp",
    "lib/CodeGen/RegAllocPBQP.cpp",
    "lib/CodeGen/RegisterClassInfo.cpp",
    "lib/CodeGen/RegisterCoalescer.cpp",
    "lib/CodeGen/RegisterScavenging.cpp",
    "lib/CodeGen/RenderMachineFunction.cpp",
    "lib/CodeGen/ScheduleDAG.cpp",
    "lib/CodeGen/ScheduleDAGEmit.cpp",
    "lib/CodeGen/ScheduleDAGInstrs.cpp",
    "lib/CodeGen/ScheduleDAGPrinter.cpp",
    "lib/CodeGen/ScoreboardHazardRecognizer.cpp",
    "lib/CodeGen/ShadowStackGC.cpp",
    "lib/CodeGen/ShrinkWrapping.cpp",
    "lib/CodeGen/SjLjEHPrepare.cpp",
    "lib/CodeGen/SlotIndexes.cpp",
    "lib/CodeGen/Spiller.cpp",
    "lib/CodeGen/SpillPlacement.cpp",
    "lib/CodeGen/SplitKit.cpp",
    "lib/CodeGen/Splitter.cpp",
    "lib/CodeGen/StackProtector.cpp",
    "lib/CodeGen/StackSlotColoring.cpp",
    "lib/CodeGen/StrongPHIElimination.cpp",
    "lib/CodeGen/TailDuplication.cpp",
    "lib/CodeGen/TargetInstrInfoImpl.cpp",
    "lib/CodeGen/TargetLoweringObjectFileImpl.cpp",
    "lib/CodeGen/TwoAddressInstructionPass.cpp",
    "lib/CodeGen/UnreachableBlockElim.cpp",
    "lib/CodeGen/VirtRegMap.cpp",
    "lib/CodeGen/VirtRegRewriter.cpp",
    "lib/ExecutionEngine/JIT/Intercept.cpp",
    "lib/ExecutionEngine/JIT/JIT.cpp",
    "lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp",
    "lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp",
    "lib/ExecutionEngine/JIT/JITEmitter.cpp",
    "lib/ExecutionEngine/JIT/JITMemoryManager.cpp",
    "lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp",
    "lib/ExecutionEngine/ExecutionEngine.cpp",
    "lib/ExecutionEngine/TargetSelect.cpp",
    "lib/MC/ELFObjectWriter.cpp",
    "lib/MC/MachObjectWriter.cpp",
    "lib/MC/MCAsmBackend.cpp",
    "lib/MC/MCAsmInfoCOFF.cpp",
    "lib/MC/MCAsmInfo.cpp",
    "lib/MC/MCAsmInfoDarwin.cpp",
    "lib/MC/MCAsmStreamer.cpp",
    "lib/MC/MCAssembler.cpp",
    "lib/MC/MCAtom.cpp",
    "lib/MC/MCCodeEmitter.cpp",
    "lib/MC/MCCodeGenInfo.cpp",
    "lib/MC/MCContext.cpp",
    "lib/MC/MCDisassembler.cpp",
    "lib/MC/MCDwarf.cpp",
    "lib/MC/MCELF.cpp",
    "lib/MC/MCELFObjectTargetWriter.cpp",
    "lib/MC/MCELFStreamer.cpp",
    "lib/MC/MCExpr.cpp",
    "lib/MC/MCInst.cpp",
    "lib/MC/MCInstPrinter.cpp",
    "lib/MC/MCInstrAnalysis.cpp",
    "lib/MC/MCLabel.cpp",
    "lib/MC/MCLoggingStreamer.cpp",
    "lib/MC/MCMachObjectTargetWriter.cpp",
    "lib/MC/MCMachOStreamer.cpp",
    "lib/MC/MCModule.cpp",
    "lib/MC/MCNullStreamer.cpp",
    "lib/MC/MCObjectFileInfo.cpp",
    "lib/MC/MCObjectStreamer.cpp",
    "lib/MC/MCObjectWriter.cpp",
    "lib/MC/MCPureStreamer.cpp",
    "lib/MC/MCSectionCOFF.cpp",
    "lib/MC/MCSection.cpp",
    "lib/MC/MCSectionELF.cpp",
    "lib/MC/MCSectionMachO.cpp",
    "lib/MC/MCStreamer.cpp",
    "lib/MC/MCSubtargetInfo.cpp",
    "lib/MC/MCSymbol.cpp",
    "lib/MC/MCTargetAsmLexer.cpp",
    "lib/MC/MCValue.cpp",
    "lib/MC/MCWin64EH.cpp",
    "lib/MC/SubtargetFeature.cpp",
    "lib/MC/WinCOFFObjectWriter.cpp",
    "lib/MC/WinCOFFStreamer.cpp",
    "lib/Support/Allocator.cpp",
    "lib/Support/APFloat.cpp",
    "lib/Support/APInt.cpp",
    "lib/Support/APSInt.cpp",
    "lib/Support/Atomic.cpp",
    "lib/Support/BlockFrequency.cpp",
    "lib/Support/BranchProbability.cpp",
    "lib/Support/circular_raw_ostream.cpp",
    "lib/Support/CommandLine.cpp",
    "lib/Support/ConstantRange.cpp",
    "lib/Support/CrashRecoveryContext.cpp",
    "lib/Support/DAGDeltaAlgorithm.cpp",
    "lib/Support/DataExtractor.cpp",
    "lib/Support/Debug.cpp",
    "lib/Support/DeltaAlgorithm.cpp",
    "lib/Support/Disassembler.cpp",
    "lib/Support/Dwarf.cpp",
    "lib/Support/DynamicLibrary.cpp",
    "lib/Support/Errno.cpp",
    "lib/Support/ErrorHandling.cpp",
    "lib/Support/FileUtilities.cpp",
    "lib/Support/FoldingSet.cpp",
    "lib/Support/FormattedStream.cpp",
    "lib/Support/GraphWriter.cpp",
    "lib/Support/Host.cpp",
    "lib/Support/IncludeFile.cpp",
    "lib/Support/IntEqClasses.cpp",
    "lib/Support/IntervalMap.cpp",
    "lib/Support/IsInf.cpp",
    "lib/Support/IsNAN.cpp",
    "lib/Support/ManagedStatic.cpp",
    "lib/Support/MemoryBuffer.cpp",
    "lib/Support/Memory.cpp",
    "lib/Support/MemoryObject.cpp",
    "lib/Support/Mutex.cpp",
    "lib/Support/Path.cpp",
    "lib/Support/PathV2.cpp",
    "lib/Support/PluginLoader.cpp",
    "lib/Support/PrettyStackTrace.cpp",
    "lib/Support/Process.cpp",
    "lib/Support/Program.cpp",
    "lib/Support/raw_os_ostream.cpp",
    "lib/Support/raw_ostream.cpp",
    "lib/Support/RWMutex.cpp",
    "lib/Support/SearchForAddressOfSpecialSymbol.cpp",
    "lib/Support/Signals.cpp",
    "lib/Support/SmallPtrSet.cpp",
    "lib/Support/SmallVector.cpp",
    "lib/Support/SourceMgr.cpp",
    "lib/Support/Statistic.cpp",
    "lib/Support/StringExtras.cpp",
    "lib/Support/StringMap.cpp",
    "lib/Support/StringPool.cpp",
    "lib/Support/StringRef.cpp",
    "lib/Support/system_error.cpp",
    "lib/Support/SystemUtils.cpp",
    "lib/Support/TargetRegistry.cpp",
    "lib/Support/Threading.cpp",
    "lib/Support/ThreadLocal.cpp",
    "lib/Support/Timer.cpp",
    "lib/Support/TimeValue.cpp",
    "lib/Support/ToolOutputFile.cpp",
    "lib/Support/Triple.cpp",
    "lib/Support/Twine.cpp",
    "lib/Support/Valgrind.cpp",
    "lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp",
    "lib/Target/X86/InstPrinter/X86InstComments.cpp",
    "lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp",
    "lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp",
    "lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp",
    "lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp",
    "lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp",
    "lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp",
    "lib/Target/X86/TargetInfo/X86TargetInfo.cpp",
    "lib/Target/X86/Utils/X86ShuffleDecode.cpp",
    "lib/Target/X86/X86CodeEmitter.cpp",
    "lib/Target/X86/X86ELFWriterInfo.cpp",
    "lib/Target/X86/X86FastISel.cpp",
    "lib/Target/X86/X86FloatingPoint.cpp",
    "lib/Target/X86/X86FrameLowering.cpp",
    "lib/Target/X86/X86InstrInfo.cpp",
    "lib/Target/X86/X86ISelDAGToDAG.cpp",
    "lib/Target/X86/X86ISelLowering.cpp",
    "lib/Target/X86/X86JITInfo.cpp",
    "lib/Target/X86/X86RegisterInfo.cpp",
    "lib/Target/X86/X86SelectionDAGInfo.cpp",
    "lib/Target/X86/X86Subtarget.cpp",
    "lib/Target/X86/X86TargetMachine.cpp",
    "lib/Target/X86/X86TargetObjectFile.cpp",
    "lib/Target/X86/X86VZeroUpper.cpp",
    "lib/Target/Mangler.cpp",
    "lib/Target/Target.cpp",
    "lib/Target/TargetData.cpp",
    "lib/Target/TargetELFWriterInfo.cpp",
    "lib/Target/TargetFrameLowering.cpp",
    "lib/Target/TargetInstrInfo.cpp",
    "lib/Target/TargetLibraryInfo.cpp",
    "lib/Target/TargetLoweringObjectFile.cpp",
    "lib/Target/TargetMachine.cpp",
    "lib/Target/TargetRegisterInfo.cpp",
    "lib/Target/TargetSubtargetInfo.cpp",
    "lib/Transforms/InstCombine/InstCombineAddSub.cpp",
    "lib/Transforms/InstCombine/InstCombineAndOrXor.cpp",
    "lib/Transforms/InstCombine/InstCombineCalls.cpp",
    "lib/Transforms/InstCombine/InstCombineCasts.cpp",
    "lib/Transforms/InstCombine/InstCombineCompares.cpp",
    "lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp",
    "lib/Transforms/InstCombine/InstCombineMulDivRem.cpp",
    "lib/Transforms/InstCombine/InstCombinePHI.cpp",
    "lib/Transforms/InstCombine/InstCombineSelect.cpp",
    "lib/Transforms/InstCombine/InstCombineShifts.cpp",
    "lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp",
    "lib/Transforms/InstCombine/InstCombineVectorOps.cpp",
    "lib/Transforms/InstCombine/InstructionCombining.cpp",
    "lib/Transforms/Scalar/ADCE.cpp",
    "lib/Transforms/Scalar/CodeGenPrepare.cpp",
    "lib/Transforms/Scalar/DeadStoreElimination.cpp",
    "lib/Transforms/Scalar/GVN.cpp",
    "lib/Transforms/Scalar/LICM.cpp",
    "lib/Transforms/Scalar/LoopStrengthReduce.cpp",
    "lib/Transforms/Scalar/Reassociate.cpp",
    "lib/Transforms/Scalar/Reg2Mem.cpp",
    "lib/Transforms/Scalar/ScalarReplAggregates.cpp",
    "lib/Transforms/Scalar/SCCP.cpp",
    "lib/Transforms/Scalar/SimplifyCFGPass.cpp",
    "lib/Transforms/Utils/AddrModeMatcher.cpp",
    "lib/Transforms/Utils/BasicBlockUtils.cpp",
    "lib/Transforms/Utils/BreakCriticalEdges.cpp",
    "lib/Transforms/Utils/BuildLibCalls.cpp",
    "lib/Transforms/Utils/DemoteRegToStack.cpp",
    "lib/Transforms/Utils/InstructionNamer.cpp",
    "lib/Transforms/Utils/LCSSA.cpp",
    "lib/Transforms/Utils/Local.cpp",
    "lib/Transforms/Utils/LoopSimplify.cpp",
    "lib/Transforms/Utils/LowerInvoke.cpp",
    "lib/Transforms/Utils/LowerSwitch.cpp",
    "lib/Transforms/Utils/Mem2Reg.cpp",
    "lib/Transforms/Utils/PromoteMemoryToRegister.cpp",
    "lib/Transforms/Utils/SimplifyCFG.cpp",
    "lib/Transforms/Utils/SSAUpdater.cpp",
    "lib/Transforms/Utils/UnifyFunctionExitNodes.cpp",
    "lib/VMCore/AsmWriter.cpp",
    "lib/VMCore/Attributes.cpp",
    "lib/VMCore/AutoUpgrade.cpp",
    "lib/VMCore/BasicBlock.cpp",
    "lib/VMCore/ConstantFold.cpp",
    "lib/VMCore/Constants.cpp",
    "lib/VMCore/Core.cpp",
    "lib/VMCore/DebugInfoProbe.cpp",
    "lib/VMCore/DebugLoc.cpp",
    "lib/VMCore/Dominators.cpp",
    "lib/VMCore/Function.cpp",
    "lib/VMCore/GCOV.cpp",
    "lib/VMCore/Globals.cpp",
    "lib/VMCore/GVMaterializer.cpp",
    "lib/VMCore/InlineAsm.cpp",
    "lib/VMCore/Instruction.cpp",
    "lib/VMCore/Instructions.cpp",
    "lib/VMCore/IntrinsicInst.cpp",
    "lib/VMCore/IRBuilder.cpp",
    "lib/VMCore/LeakDetector.cpp",
    "lib/VMCore/LLVMContext.cpp",
    "lib/VMCore/LLVMContextImpl.cpp",
    "lib/VMCore/Metadata.cpp",
    "lib/VMCore/Module.cpp",
    "lib/VMCore/Pass.cpp",
    "lib/VMCore/PassManager.cpp",
    "lib/VMCore/PassRegistry.cpp",
    "lib/VMCore/PrintModulePass.cpp",
    "lib/VMCore/Type.cpp",
    "lib/VMCore/Use.cpp",
    "lib/VMCore/User.cpp",
    "lib/VMCore/Value.cpp",
    "lib/VMCore/ValueSymbolTable.cpp",
    "lib/VMCore/ValueTypes.cpp",
    "lib/VMCore/Verifier.cpp",
  ]

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

  include_dirs = [ "lib/Target/X86" ]

  # The "include" directory includes common files and the Windows specific config file.
  # The "include-<platform>" directory includes the <platform> specific config file.
  # Non-Windows platforms must add their platform specific include directory before the "include" directory
  # is added, otherwise, the Windows specific config file will be used and compilation will fail.
  if (is_linux) {
    include_dirs += [ "include-linux" ]
  } else if (is_mac) {
    include_dirs += [ "include-osx" ]
  }

  include_dirs += [ "include" ]
}