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