• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2016 The SwiftShader Authors. All Rights Reserved.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#    http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15import("../../src/swiftshader.gni")
16
17# Need a separate config to ensure the warnings are added to the end.
18config("swiftshader_llvm_private_config") {
19  cflags = []
20
21  if (is_win) {
22    cflags += [
23      "/wd4005",
24      "/wd4065",
25      "/wd4146",
26      "/wd4245",
27      "/wd4267",
28      "/wd4310",
29      "/wd4319",
30      "/wd4334",
31      "/wd4389",
32      "/wd4624",
33      "/wd4701",
34      "/wd4702",
35      "/wd4703",
36      "/wd4706",
37      "/wd4800",
38    ]
39
40    if (!is_debug) {
41      cflags += [ "/wd4324" ]
42    }
43
44    if (is_clang) {
45      cflags += [
46        "-Wno-format",
47        "-Wno-sign-compare",
48        "-Wno-macro-redefined",
49      ]
50    }
51  }
52
53  if (is_clang) {
54    cflags += [
55      "-msse2",
56      "-Wno-header-hygiene",
57      "-Wno-null-dereference",
58    ]
59  } else {
60    cflags += [ "-Wno-unused-but-set-variable" ]
61  }
62  cflags += [
63    "-Wno-attributes",
64    "-Wno-deprecated-declarations",
65    "-Wno-enum-compare",
66    "-Wno-unused-function",
67    "-Wno-unused-local-typedef",
68    "-Wno-unused-private-field",
69    "-Wno-unused-result",
70    "-Wno-unused-variable",
71  ]
72  defines = [
73    "__STDC_CONSTANT_MACROS",
74    "__STDC_LIMIT_MACROS",
75  ]
76}
77
78swiftshader_source_set("swiftshader_llvm") {
79  sources = [
80    "lib/Analysis/AliasAnalysis.cpp",
81    "lib/Analysis/AliasSetTracker.cpp",
82    "lib/Analysis/BasicAliasAnalysis.cpp",
83    "lib/Analysis/BranchProbabilityInfo.cpp",
84    "lib/Analysis/CaptureTracking.cpp",
85    "lib/Analysis/ConstantFolding.cpp",
86    "lib/Analysis/DIBuilder.cpp",
87    "lib/Analysis/DebugInfo.cpp",
88    "lib/Analysis/IVUsers.cpp",
89    "lib/Analysis/InstructionSimplify.cpp",
90    "lib/Analysis/Loads.cpp",
91    "lib/Analysis/LoopInfo.cpp",
92    "lib/Analysis/LoopPass.cpp",
93    "lib/Analysis/MemoryBuiltins.cpp",
94    "lib/Analysis/MemoryDependenceAnalysis.cpp",
95    "lib/Analysis/NoAliasAnalysis.cpp",
96    "lib/Analysis/PHITransAddr.cpp",
97    "lib/Analysis/PathNumbering.cpp",
98    "lib/Analysis/ProfileInfo.cpp",
99    "lib/Analysis/ScalarEvolution.cpp",
100    "lib/Analysis/ScalarEvolutionExpander.cpp",
101    "lib/Analysis/ScalarEvolutionNormalization.cpp",
102    "lib/Analysis/TypeBasedAliasAnalysis.cpp",
103    "lib/Analysis/ValueTracking.cpp",
104    "lib/CodeGen/AggressiveAntiDepBreaker.cpp",
105    "lib/CodeGen/AllocationOrder.cpp",
106    "lib/CodeGen/Analysis.cpp",
107    "lib/CodeGen/BranchFolding.cpp",
108    "lib/CodeGen/CalcSpillWeights.cpp",
109    "lib/CodeGen/CallingConvLower.cpp",
110    "lib/CodeGen/CodeGen.cpp",
111    "lib/CodeGen/CodePlacementOpt.cpp",
112    "lib/CodeGen/CriticalAntiDepBreaker.cpp",
113    "lib/CodeGen/DeadMachineInstructionElim.cpp",
114    "lib/CodeGen/DwarfEHPrepare.cpp",
115    "lib/CodeGen/ELFCodeEmitter.cpp",
116    "lib/CodeGen/ELFWriter.cpp",
117    "lib/CodeGen/EdgeBundles.cpp",
118    "lib/CodeGen/ExecutionDepsFix.cpp",
119    "lib/CodeGen/ExpandISelPseudos.cpp",
120    "lib/CodeGen/ExpandPostRAPseudos.cpp",
121    "lib/CodeGen/GCMetadata.cpp",
122    "lib/CodeGen/GCStrategy.cpp",
123    "lib/CodeGen/IfConversion.cpp",
124    "lib/CodeGen/InlineSpiller.cpp",
125    "lib/CodeGen/InterferenceCache.cpp",
126    "lib/CodeGen/IntrinsicLowering.cpp",
127    "lib/CodeGen/LLVMTargetMachine.cpp",
128    "lib/CodeGen/LatencyPriorityQueue.cpp",
129    "lib/CodeGen/LexicalScopes.cpp",
130    "lib/CodeGen/LiveDebugVariables.cpp",
131    "lib/CodeGen/LiveInterval.cpp",
132    "lib/CodeGen/LiveIntervalAnalysis.cpp",
133    "lib/CodeGen/LiveIntervalUnion.cpp",
134    "lib/CodeGen/LiveRangeCalc.cpp",
135    "lib/CodeGen/LiveRangeEdit.cpp",
136    "lib/CodeGen/LiveStackAnalysis.cpp",
137    "lib/CodeGen/LiveVariables.cpp",
138    "lib/CodeGen/LocalStackSlotAllocation.cpp",
139    "lib/CodeGen/MachineBasicBlock.cpp",
140    "lib/CodeGen/MachineBlockFrequencyInfo.cpp",
141    "lib/CodeGen/MachineBranchProbabilityInfo.cpp",
142    "lib/CodeGen/MachineCSE.cpp",
143    "lib/CodeGen/MachineDominators.cpp",
144    "lib/CodeGen/MachineFunction.cpp",
145    "lib/CodeGen/MachineFunctionAnalysis.cpp",
146    "lib/CodeGen/MachineFunctionPass.cpp",
147    "lib/CodeGen/MachineFunctionPrinterPass.cpp",
148    "lib/CodeGen/MachineInstr.cpp",
149    "lib/CodeGen/MachineLICM.cpp",
150    "lib/CodeGen/MachineLoopInfo.cpp",
151    "lib/CodeGen/MachineLoopRanges.cpp",
152    "lib/CodeGen/MachineModuleInfo.cpp",
153    "lib/CodeGen/MachineModuleInfoImpls.cpp",
154    "lib/CodeGen/MachinePassRegistry.cpp",
155    "lib/CodeGen/MachineRegisterInfo.cpp",
156    "lib/CodeGen/MachineSSAUpdater.cpp",
157    "lib/CodeGen/MachineSink.cpp",
158    "lib/CodeGen/MachineVerifier.cpp",
159    "lib/CodeGen/ObjectCodeEmitter.cpp",
160    "lib/CodeGen/OcamlGC.cpp",
161    "lib/CodeGen/OptimizePHIs.cpp",
162    "lib/CodeGen/PHIElimination.cpp",
163    "lib/CodeGen/PHIEliminationUtils.cpp",
164    "lib/CodeGen/Passes.cpp",
165    "lib/CodeGen/PeepholeOptimizer.cpp",
166    "lib/CodeGen/PostRASchedulerList.cpp",
167    "lib/CodeGen/ProcessImplicitDefs.cpp",
168    "lib/CodeGen/PrologEpilogInserter.cpp",
169    "lib/CodeGen/PseudoSourceValue.cpp",
170    "lib/CodeGen/RegAllocBasic.cpp",
171    "lib/CodeGen/RegAllocFast.cpp",
172    "lib/CodeGen/RegAllocGreedy.cpp",
173    "lib/CodeGen/RegAllocLinearScan.cpp",
174    "lib/CodeGen/RegAllocPBQP.cpp",
175    "lib/CodeGen/RegisterClassInfo.cpp",
176    "lib/CodeGen/RegisterCoalescer.cpp",
177    "lib/CodeGen/RegisterScavenging.cpp",
178    "lib/CodeGen/RenderMachineFunction.cpp",
179    "lib/CodeGen/ScheduleDAG.cpp",
180    "lib/CodeGen/ScheduleDAGEmit.cpp",
181    "lib/CodeGen/ScheduleDAGInstrs.cpp",
182    "lib/CodeGen/ScheduleDAGPrinter.cpp",
183    "lib/CodeGen/ScoreboardHazardRecognizer.cpp",
184    "lib/CodeGen/SelectionDAG/DAGCombiner.cpp",
185    "lib/CodeGen/SelectionDAG/FastISel.cpp",
186    "lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp",
187    "lib/CodeGen/SelectionDAG/InstrEmitter.cpp",
188    "lib/CodeGen/SelectionDAG/LegalizeDAG.cpp",
189    "lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp",
190    "lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp",
191    "lib/CodeGen/SelectionDAG/LegalizeTypes.cpp",
192    "lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp",
193    "lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp",
194    "lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp",
195    "lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp",
196    "lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp",
197    "lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp",
198    "lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp",
199    "lib/CodeGen/SelectionDAG/SelectionDAG.cpp",
200    "lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp",
201    "lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp",
202    "lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp",
203    "lib/CodeGen/SelectionDAG/TargetLowering.cpp",
204    "lib/CodeGen/SelectionDAG/TargetSelectionDAGInfo.cpp",
205    "lib/CodeGen/ShadowStackGC.cpp",
206    "lib/CodeGen/ShrinkWrapping.cpp",
207    "lib/CodeGen/SjLjEHPrepare.cpp",
208    "lib/CodeGen/SlotIndexes.cpp",
209    "lib/CodeGen/SpillPlacement.cpp",
210    "lib/CodeGen/Spiller.cpp",
211    "lib/CodeGen/SplitKit.cpp",
212    "lib/CodeGen/Splitter.cpp",
213    "lib/CodeGen/StackProtector.cpp",
214    "lib/CodeGen/StackSlotColoring.cpp",
215    "lib/CodeGen/StrongPHIElimination.cpp",
216    "lib/CodeGen/TailDuplication.cpp",
217    "lib/CodeGen/TargetInstrInfoImpl.cpp",
218    "lib/CodeGen/TargetLoweringObjectFileImpl.cpp",
219    "lib/CodeGen/TwoAddressInstructionPass.cpp",
220    "lib/CodeGen/UnreachableBlockElim.cpp",
221    "lib/CodeGen/VirtRegMap.cpp",
222    "lib/CodeGen/VirtRegRewriter.cpp",
223    "lib/ExecutionEngine/ExecutionEngine.cpp",
224    "lib/ExecutionEngine/JIT/Intercept.cpp",
225    "lib/ExecutionEngine/JIT/JIT.cpp",
226    "lib/ExecutionEngine/JIT/JITDebugRegisterer.cpp",
227    "lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp",
228    "lib/ExecutionEngine/JIT/JITEmitter.cpp",
229    "lib/ExecutionEngine/JIT/JITMemoryManager.cpp",
230    "lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp",
231    "lib/ExecutionEngine/TargetSelect.cpp",
232    "lib/MC/ELFObjectWriter.cpp",
233    "lib/MC/MCAsmBackend.cpp",
234    "lib/MC/MCAsmInfo.cpp",
235    "lib/MC/MCAsmInfoCOFF.cpp",
236    "lib/MC/MCAsmInfoDarwin.cpp",
237    "lib/MC/MCAsmStreamer.cpp",
238    "lib/MC/MCAssembler.cpp",
239    "lib/MC/MCAtom.cpp",
240    "lib/MC/MCCodeEmitter.cpp",
241    "lib/MC/MCCodeGenInfo.cpp",
242    "lib/MC/MCContext.cpp",
243    "lib/MC/MCDisassembler.cpp",
244    "lib/MC/MCDwarf.cpp",
245    "lib/MC/MCELF.cpp",
246    "lib/MC/MCELFObjectTargetWriter.cpp",
247    "lib/MC/MCELFStreamer.cpp",
248    "lib/MC/MCExpr.cpp",
249    "lib/MC/MCInst.cpp",
250    "lib/MC/MCInstPrinter.cpp",
251    "lib/MC/MCInstrAnalysis.cpp",
252    "lib/MC/MCLabel.cpp",
253    "lib/MC/MCLoggingStreamer.cpp",
254    "lib/MC/MCMachOStreamer.cpp",
255    "lib/MC/MCMachObjectTargetWriter.cpp",
256    "lib/MC/MCModule.cpp",
257    "lib/MC/MCNullStreamer.cpp",
258    "lib/MC/MCObjectFileInfo.cpp",
259    "lib/MC/MCObjectStreamer.cpp",
260    "lib/MC/MCObjectWriter.cpp",
261    "lib/MC/MCPureStreamer.cpp",
262    "lib/MC/MCSection.cpp",
263    "lib/MC/MCSectionCOFF.cpp",
264    "lib/MC/MCSectionELF.cpp",
265    "lib/MC/MCSectionMachO.cpp",
266    "lib/MC/MCStreamer.cpp",
267    "lib/MC/MCSubtargetInfo.cpp",
268    "lib/MC/MCSymbol.cpp",
269    "lib/MC/MCTargetAsmLexer.cpp",
270    "lib/MC/MCValue.cpp",
271    "lib/MC/MCWin64EH.cpp",
272    "lib/MC/MachObjectWriter.cpp",
273    "lib/MC/SubtargetFeature.cpp",
274    "lib/MC/WinCOFFObjectWriter.cpp",
275    "lib/MC/WinCOFFStreamer.cpp",
276    "lib/Support/APFloat.cpp",
277    "lib/Support/APInt.cpp",
278    "lib/Support/APSInt.cpp",
279    "lib/Support/Allocator.cpp",
280    "lib/Support/Atomic.cpp",
281    "lib/Support/BlockFrequency.cpp",
282    "lib/Support/BranchProbability.cpp",
283    "lib/Support/CommandLine.cpp",
284    "lib/Support/ConstantRange.cpp",
285    "lib/Support/CrashRecoveryContext.cpp",
286    "lib/Support/DAGDeltaAlgorithm.cpp",
287    "lib/Support/DataExtractor.cpp",
288    "lib/Support/Debug.cpp",
289    "lib/Support/DeltaAlgorithm.cpp",
290    "lib/Support/Disassembler.cpp",
291    "lib/Support/Dwarf.cpp",
292    "lib/Support/DynamicLibrary.cpp",
293    "lib/Support/Errno.cpp",
294    "lib/Support/ErrorHandling.cpp",
295    "lib/Support/FileUtilities.cpp",
296    "lib/Support/FoldingSet.cpp",
297    "lib/Support/FormattedStream.cpp",
298    "lib/Support/GraphWriter.cpp",
299    "lib/Support/Host.cpp",
300    "lib/Support/IncludeFile.cpp",
301    "lib/Support/IntEqClasses.cpp",
302    "lib/Support/IntervalMap.cpp",
303    "lib/Support/IsInf.cpp",
304    "lib/Support/IsNAN.cpp",
305    "lib/Support/ManagedStatic.cpp",
306    "lib/Support/Memory.cpp",
307    "lib/Support/MemoryBuffer.cpp",
308    "lib/Support/MemoryObject.cpp",
309    "lib/Support/Mutex.cpp",
310    "lib/Support/Path.cpp",
311    "lib/Support/PathV2.cpp",
312    "lib/Support/PluginLoader.cpp",
313    "lib/Support/PrettyStackTrace.cpp",
314    "lib/Support/Process.cpp",
315    "lib/Support/Program.cpp",
316    "lib/Support/RWMutex.cpp",
317    "lib/Support/SearchForAddressOfSpecialSymbol.cpp",
318    "lib/Support/Signals.cpp",
319    "lib/Support/SmallPtrSet.cpp",
320    "lib/Support/SmallVector.cpp",
321    "lib/Support/SourceMgr.cpp",
322    "lib/Support/Statistic.cpp",
323    "lib/Support/StringExtras.cpp",
324    "lib/Support/StringMap.cpp",
325    "lib/Support/StringPool.cpp",
326    "lib/Support/StringRef.cpp",
327    "lib/Support/SystemUtils.cpp",
328    "lib/Support/TargetRegistry.cpp",
329    "lib/Support/ThreadLocal.cpp",
330    "lib/Support/Threading.cpp",
331    "lib/Support/TimeValue.cpp",
332    "lib/Support/Timer.cpp",
333    "lib/Support/ToolOutputFile.cpp",
334    "lib/Support/Triple.cpp",
335    "lib/Support/Twine.cpp",
336    "lib/Support/Valgrind.cpp",
337    "lib/Support/circular_raw_ostream.cpp",
338    "lib/Support/raw_os_ostream.cpp",
339    "lib/Support/raw_ostream.cpp",
340    "lib/Support/system_error.cpp",
341    "lib/Target/Mangler.cpp",
342    "lib/Target/Target.cpp",
343    "lib/Target/TargetData.cpp",
344    "lib/Target/TargetELFWriterInfo.cpp",
345    "lib/Target/TargetFrameLowering.cpp",
346    "lib/Target/TargetInstrInfo.cpp",
347    "lib/Target/TargetLibraryInfo.cpp",
348    "lib/Target/TargetLoweringObjectFile.cpp",
349    "lib/Target/TargetMachine.cpp",
350    "lib/Target/TargetRegisterInfo.cpp",
351    "lib/Target/TargetSubtargetInfo.cpp",
352    "lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp",
353    "lib/Target/X86/InstPrinter/X86InstComments.cpp",
354    "lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp",
355    "lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp",
356    "lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp",
357    "lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp",
358    "lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp",
359    "lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp",
360    "lib/Target/X86/TargetInfo/X86TargetInfo.cpp",
361    "lib/Target/X86/Utils/X86ShuffleDecode.cpp",
362    "lib/Target/X86/X86CodeEmitter.cpp",
363    "lib/Target/X86/X86ELFWriterInfo.cpp",
364    "lib/Target/X86/X86FastISel.cpp",
365    "lib/Target/X86/X86FloatingPoint.cpp",
366    "lib/Target/X86/X86FrameLowering.cpp",
367    "lib/Target/X86/X86ISelDAGToDAG.cpp",
368    "lib/Target/X86/X86ISelLowering.cpp",
369    "lib/Target/X86/X86InstrInfo.cpp",
370    "lib/Target/X86/X86JITInfo.cpp",
371    "lib/Target/X86/X86RegisterInfo.cpp",
372    "lib/Target/X86/X86SelectionDAGInfo.cpp",
373    "lib/Target/X86/X86Subtarget.cpp",
374    "lib/Target/X86/X86TargetMachine.cpp",
375    "lib/Target/X86/X86TargetObjectFile.cpp",
376    "lib/Target/X86/X86VZeroUpper.cpp",
377    "lib/Transforms/InstCombine/InstCombineAddSub.cpp",
378    "lib/Transforms/InstCombine/InstCombineAndOrXor.cpp",
379    "lib/Transforms/InstCombine/InstCombineCalls.cpp",
380    "lib/Transforms/InstCombine/InstCombineCasts.cpp",
381    "lib/Transforms/InstCombine/InstCombineCompares.cpp",
382    "lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp",
383    "lib/Transforms/InstCombine/InstCombineMulDivRem.cpp",
384    "lib/Transforms/InstCombine/InstCombinePHI.cpp",
385    "lib/Transforms/InstCombine/InstCombineSelect.cpp",
386    "lib/Transforms/InstCombine/InstCombineShifts.cpp",
387    "lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp",
388    "lib/Transforms/InstCombine/InstCombineVectorOps.cpp",
389    "lib/Transforms/InstCombine/InstructionCombining.cpp",
390    "lib/Transforms/Scalar/ADCE.cpp",
391    "lib/Transforms/Scalar/CodeGenPrepare.cpp",
392    "lib/Transforms/Scalar/DeadStoreElimination.cpp",
393    "lib/Transforms/Scalar/GVN.cpp",
394    "lib/Transforms/Scalar/LICM.cpp",
395    "lib/Transforms/Scalar/LoopStrengthReduce.cpp",
396    "lib/Transforms/Scalar/Reassociate.cpp",
397    "lib/Transforms/Scalar/Reg2Mem.cpp",
398    "lib/Transforms/Scalar/SCCP.cpp",
399    "lib/Transforms/Scalar/ScalarReplAggregates.cpp",
400    "lib/Transforms/Scalar/SimplifyCFGPass.cpp",
401    "lib/Transforms/Utils/AddrModeMatcher.cpp",
402    "lib/Transforms/Utils/BasicBlockUtils.cpp",
403    "lib/Transforms/Utils/BreakCriticalEdges.cpp",
404    "lib/Transforms/Utils/BuildLibCalls.cpp",
405    "lib/Transforms/Utils/DemoteRegToStack.cpp",
406    "lib/Transforms/Utils/InstructionNamer.cpp",
407    "lib/Transforms/Utils/LCSSA.cpp",
408    "lib/Transforms/Utils/Local.cpp",
409    "lib/Transforms/Utils/LoopSimplify.cpp",
410    "lib/Transforms/Utils/LowerInvoke.cpp",
411    "lib/Transforms/Utils/LowerSwitch.cpp",
412    "lib/Transforms/Utils/Mem2Reg.cpp",
413    "lib/Transforms/Utils/PromoteMemoryToRegister.cpp",
414    "lib/Transforms/Utils/SSAUpdater.cpp",
415    "lib/Transforms/Utils/SimplifyCFG.cpp",
416    "lib/Transforms/Utils/UnifyFunctionExitNodes.cpp",
417    "lib/VMCore/AsmWriter.cpp",
418    "lib/VMCore/Attributes.cpp",
419    "lib/VMCore/AutoUpgrade.cpp",
420    "lib/VMCore/BasicBlock.cpp",
421    "lib/VMCore/ConstantFold.cpp",
422    "lib/VMCore/Constants.cpp",
423    "lib/VMCore/Core.cpp",
424    "lib/VMCore/DebugInfoProbe.cpp",
425    "lib/VMCore/DebugLoc.cpp",
426    "lib/VMCore/Dominators.cpp",
427    "lib/VMCore/Function.cpp",
428    "lib/VMCore/GCOV.cpp",
429    "lib/VMCore/GVMaterializer.cpp",
430    "lib/VMCore/Globals.cpp",
431    "lib/VMCore/IRBuilder.cpp",
432    "lib/VMCore/InlineAsm.cpp",
433    "lib/VMCore/Instruction.cpp",
434    "lib/VMCore/Instructions.cpp",
435    "lib/VMCore/IntrinsicInst.cpp",
436    "lib/VMCore/LLVMContext.cpp",
437    "lib/VMCore/LLVMContextImpl.cpp",
438    "lib/VMCore/LeakDetector.cpp",
439    "lib/VMCore/Metadata.cpp",
440    "lib/VMCore/Module.cpp",
441    "lib/VMCore/Pass.cpp",
442    "lib/VMCore/PassManager.cpp",
443    "lib/VMCore/PassRegistry.cpp",
444    "lib/VMCore/PrintModulePass.cpp",
445    "lib/VMCore/Type.cpp",
446    "lib/VMCore/Use.cpp",
447    "lib/VMCore/User.cpp",
448    "lib/VMCore/Value.cpp",
449    "lib/VMCore/ValueSymbolTable.cpp",
450    "lib/VMCore/ValueTypes.cpp",
451    "lib/VMCore/Verifier.cpp",
452  ]
453
454  configs = [ ":swiftshader_llvm_private_config" ]
455
456  include_dirs = [ "lib/Target/X86" ]
457
458  # The "include" directory includes common files and the Windows specific config file.
459  # The "include-<platform>" directory includes the <platform> specific config file.
460  # Non-Windows platforms must add their platform specific include directory before the "include" directory
461  # is added, otherwise, the Windows specific config file will be used and compilation will fail.
462  if (is_linux) {
463    include_dirs += [ "include-linux" ]
464  } else if (is_mac) {
465    include_dirs += [ "include-osx" ]
466  } else if (is_fuchsia) {
467    include_dirs += [ "include-fuchsia" ]
468  }
469
470  include_dirs += [ "include" ]
471}
472