Try to link system LLVM libraries
This commit is contained in:
parent
48f9902f2b
commit
1954c643f0
@ -252,6 +252,14 @@ pub fn compileCSourceFile(context: *const Context, arguments: [][*:0]u8) !void {
|
|||||||
var clang_args = UnpinnedArray([]const u8){};
|
var clang_args = UnpinnedArray([]const u8){};
|
||||||
try clang_args.append(context.my_allocator, context.executable_absolute_path);
|
try clang_args.append(context.my_allocator, context.executable_absolute_path);
|
||||||
try clang_args.append(context.my_allocator, "clang");
|
try clang_args.append(context.my_allocator, "clang");
|
||||||
|
try clang_args.append(context.my_allocator, "-nostdinc");
|
||||||
|
try clang_args.append_slice(context.my_allocator, &.{"-isystem", "/home/david/dev/zig/lib/include", "-isystem", "/home/david/dev/zig/lib/libc/include/x86_64-linux-gnu", "-isystem", "/home/david/dev/zig/lib/libc/include/generic-glibc", "-isystem", "/home/david/dev/zig/lib/libc/include/x86-linux-any", "-isystem", "/home/david/dev/zig/lib/libc/include/any-linux-any"});
|
||||||
|
|
||||||
|
|
||||||
|
try clang_args.append(context.my_allocator, "-isystem");
|
||||||
|
try clang_args.append(context.my_allocator, "/usr/include");
|
||||||
|
try clang_args.append(context.my_allocator, "-isystem");
|
||||||
|
try clang_args.append(context.my_allocator, "/usr/include/linux");
|
||||||
for (arguments) |arg| {
|
for (arguments) |arg| {
|
||||||
try clang_args.append(context.my_allocator, span(arg));
|
try clang_args.append(context.my_allocator, span(arg));
|
||||||
}
|
}
|
||||||
|
509
build.zig
509
build.zig
@ -8,11 +8,12 @@ pub fn build(b: *std.Build) !void {
|
|||||||
const print_stack_trace = b.option(bool, "print_stack_trace", "This option enables printing stack traces inside the compiler") orelse is_ci or @import("builtin").os.tag == .macos;
|
const print_stack_trace = b.option(bool, "print_stack_trace", "This option enables printing stack traces inside the compiler") orelse is_ci or @import("builtin").os.tag == .macos;
|
||||||
const native_target = b.resolveTargetQuery(.{});
|
const native_target = b.resolveTargetQuery(.{});
|
||||||
const optimization = b.standardOptimizeOption(.{});
|
const optimization = b.standardOptimizeOption(.{});
|
||||||
var target_query = b.standardTargetOptionsQueryOnly(.{});
|
const target_query = b.standardTargetOptionsQueryOnly(.{});
|
||||||
const os = target_query.os_tag orelse @import("builtin").os.tag;
|
const os = target_query.os_tag orelse @import("builtin").os.tag;
|
||||||
if (os == .linux) {
|
_ = os; // autofix
|
||||||
target_query.abi = .musl;
|
// if (os == .linux) {
|
||||||
}
|
// target_query.abi = .musl;
|
||||||
|
// }
|
||||||
const target = b.resolveTargetQuery(target_query);
|
const target = b.resolveTargetQuery(target_query);
|
||||||
const compiler_options = b.addOptions();
|
const compiler_options = b.addOptions();
|
||||||
compiler_options.addOption(bool, "print_stack_trace", print_stack_trace);
|
compiler_options.addOption(bool, "print_stack_trace", print_stack_trace);
|
||||||
@ -31,7 +32,19 @@ pub fn build(b: *std.Build) !void {
|
|||||||
compiler.want_lto = false;
|
compiler.want_lto = false;
|
||||||
|
|
||||||
compiler.linkLibC();
|
compiler.linkLibC();
|
||||||
compiler.linkSystemLibrary("c++");
|
compiler.addObjectFile(.{ .cwd_relative = "/usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../lib/libstdc++.so" });
|
||||||
|
compiler.addIncludePath(.{ .cwd_relative = "/usr/include"});
|
||||||
|
compiler.addIncludePath(.{ .cwd_relative = "/usr/include/c++/13.2.1"});
|
||||||
|
compiler.addIncludePath(.{ .cwd_relative = "/usr/include/c++/13.2.1/x86_64-pc-linux-gnu"});
|
||||||
|
compiler.addLibraryPath(.{ .cwd_relative = "/usr/lib"});
|
||||||
|
compiler.linkSystemLibrary("LLVM");
|
||||||
|
compiler.linkSystemLibrary("clang-cpp");
|
||||||
|
compiler.linkSystemLibrary("lldCommon");
|
||||||
|
compiler.linkSystemLibrary("lldCOFF");
|
||||||
|
compiler.linkSystemLibrary("lldELF");
|
||||||
|
compiler.linkSystemLibrary("lldMachO");
|
||||||
|
compiler.linkSystemLibrary("lldWasm");
|
||||||
|
compiler.linkSystemLibrary("unwind");
|
||||||
|
|
||||||
// TODO:
|
// TODO:
|
||||||
// if (target.result.os.tag == .windows) {
|
// if (target.result.os.tag == .windows) {
|
||||||
@ -92,8 +105,10 @@ pub fn build(b: *std.Build) !void {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const llvm_include_dir = try std.mem.concat(b.allocator, u8, &.{ llvm_path, "/include" });
|
const llvm_include_dir = try std.mem.concat(b.allocator, u8, &.{ llvm_path, "/include" });
|
||||||
|
_ = llvm_include_dir; // autofix
|
||||||
const llvm_lib_dir = try std.mem.concat(b.allocator, u8, &.{ llvm_path, "/lib" });
|
const llvm_lib_dir = try std.mem.concat(b.allocator, u8, &.{ llvm_path, "/lib" });
|
||||||
compiler.addIncludePath(std.Build.LazyPath.relative(llvm_include_dir));
|
_ = llvm_lib_dir; // autofix
|
||||||
|
// compiler.addIncludePath(std.Build.LazyPath.relative(llvm_include_dir));
|
||||||
const cpp_files = .{
|
const cpp_files = .{
|
||||||
"src/llvm/llvm.cpp",
|
"src/llvm/llvm.cpp",
|
||||||
"src/llvm/lld.cpp",
|
"src/llvm/lld.cpp",
|
||||||
@ -120,248 +135,248 @@ pub fn build(b: *std.Build) !void {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const zlib = if (target.result.os.tag == .windows) "zstd.lib" else "libzstd.a";
|
// const zlib = if (target.result.os.tag == .windows) "zstd.lib" else "libzstd.a";
|
||||||
const llvm_libraries = [_][]const u8{
|
// const llvm_libraries = [_][]const u8{
|
||||||
"libLLVMAArch64AsmParser.a",
|
// "libLLVMAArch64AsmParser.a",
|
||||||
"libLLVMAArch64CodeGen.a",
|
// "libLLVMAArch64CodeGen.a",
|
||||||
"libLLVMAArch64Desc.a",
|
// "libLLVMAArch64Desc.a",
|
||||||
"libLLVMAArch64Disassembler.a",
|
// "libLLVMAArch64Disassembler.a",
|
||||||
"libLLVMAArch64Info.a",
|
// "libLLVMAArch64Info.a",
|
||||||
"libLLVMAArch64Utils.a",
|
// "libLLVMAArch64Utils.a",
|
||||||
"libLLVMAggressiveInstCombine.a",
|
// "libLLVMAggressiveInstCombine.a",
|
||||||
"libLLVMAMDGPUAsmParser.a",
|
// "libLLVMAMDGPUAsmParser.a",
|
||||||
"libLLVMAMDGPUCodeGen.a",
|
// "libLLVMAMDGPUCodeGen.a",
|
||||||
"libLLVMAMDGPUDesc.a",
|
// "libLLVMAMDGPUDesc.a",
|
||||||
"libLLVMAMDGPUDisassembler.a",
|
// "libLLVMAMDGPUDisassembler.a",
|
||||||
"libLLVMAMDGPUInfo.a",
|
// "libLLVMAMDGPUInfo.a",
|
||||||
"libLLVMAMDGPUTargetMCA.a",
|
// "libLLVMAMDGPUTargetMCA.a",
|
||||||
"libLLVMAMDGPUUtils.a",
|
// "libLLVMAMDGPUUtils.a",
|
||||||
"libLLVMAnalysis.a",
|
// "libLLVMAnalysis.a",
|
||||||
"libLLVMARMAsmParser.a",
|
// "libLLVMARMAsmParser.a",
|
||||||
"libLLVMARMCodeGen.a",
|
// "libLLVMARMCodeGen.a",
|
||||||
"libLLVMARMDesc.a",
|
// "libLLVMARMDesc.a",
|
||||||
"libLLVMARMDisassembler.a",
|
// "libLLVMARMDisassembler.a",
|
||||||
"libLLVMARMInfo.a",
|
// "libLLVMARMInfo.a",
|
||||||
"libLLVMARMUtils.a",
|
// "libLLVMARMUtils.a",
|
||||||
"libLLVMAsmParser.a",
|
// "libLLVMAsmParser.a",
|
||||||
"libLLVMAsmPrinter.a",
|
// "libLLVMAsmPrinter.a",
|
||||||
"libLLVMAVRAsmParser.a",
|
// "libLLVMAVRAsmParser.a",
|
||||||
"libLLVMAVRCodeGen.a",
|
// "libLLVMAVRCodeGen.a",
|
||||||
"libLLVMAVRDesc.a",
|
// "libLLVMAVRDesc.a",
|
||||||
"libLLVMAVRDisassembler.a",
|
// "libLLVMAVRDisassembler.a",
|
||||||
"libLLVMAVRInfo.a",
|
// "libLLVMAVRInfo.a",
|
||||||
"libLLVMBinaryFormat.a",
|
// "libLLVMBinaryFormat.a",
|
||||||
"libLLVMBitReader.a",
|
// "libLLVMBitReader.a",
|
||||||
"libLLVMBitstreamReader.a",
|
// "libLLVMBitstreamReader.a",
|
||||||
"libLLVMBitWriter.a",
|
// "libLLVMBitWriter.a",
|
||||||
"libLLVMBPFAsmParser.a",
|
// "libLLVMBPFAsmParser.a",
|
||||||
"libLLVMBPFCodeGen.a",
|
// "libLLVMBPFCodeGen.a",
|
||||||
"libLLVMBPFDesc.a",
|
// "libLLVMBPFDesc.a",
|
||||||
"libLLVMBPFDisassembler.a",
|
// "libLLVMBPFDisassembler.a",
|
||||||
"libLLVMBPFInfo.a",
|
// "libLLVMBPFInfo.a",
|
||||||
"libLLVMCFGuard.a",
|
// "libLLVMCFGuard.a",
|
||||||
"libLLVMCFIVerify.a",
|
// "libLLVMCFIVerify.a",
|
||||||
"libLLVMCodeGen.a",
|
// "libLLVMCodeGen.a",
|
||||||
"libLLVMCodeGenTypes.a",
|
// "libLLVMCodeGenTypes.a",
|
||||||
"libLLVMCore.a",
|
// "libLLVMCore.a",
|
||||||
"libLLVMCoroutines.a",
|
// "libLLVMCoroutines.a",
|
||||||
"libLLVMCoverage.a",
|
// "libLLVMCoverage.a",
|
||||||
"libLLVMDebugInfoBTF.a",
|
// "libLLVMDebugInfoBTF.a",
|
||||||
"libLLVMDebugInfoCodeView.a",
|
// "libLLVMDebugInfoCodeView.a",
|
||||||
"libLLVMDebuginfod.a",
|
// "libLLVMDebuginfod.a",
|
||||||
"libLLVMDebugInfoDWARF.a",
|
// "libLLVMDebugInfoDWARF.a",
|
||||||
"libLLVMDebugInfoGSYM.a",
|
// "libLLVMDebugInfoGSYM.a",
|
||||||
"libLLVMDebugInfoLogicalView.a",
|
// "libLLVMDebugInfoLogicalView.a",
|
||||||
"libLLVMDebugInfoMSF.a",
|
// "libLLVMDebugInfoMSF.a",
|
||||||
"libLLVMDebugInfoPDB.a",
|
// "libLLVMDebugInfoPDB.a",
|
||||||
"libLLVMDemangle.a",
|
// "libLLVMDemangle.a",
|
||||||
"libLLVMDiff.a",
|
// "libLLVMDiff.a",
|
||||||
"libLLVMDlltoolDriver.a",
|
// "libLLVMDlltoolDriver.a",
|
||||||
"libLLVMDWARFLinker.a",
|
// "libLLVMDWARFLinker.a",
|
||||||
"libLLVMDWARFLinkerParallel.a",
|
// "libLLVMDWARFLinkerParallel.a",
|
||||||
"libLLVMDWP.a",
|
// "libLLVMDWP.a",
|
||||||
"libLLVMExecutionEngine.a",
|
// "libLLVMExecutionEngine.a",
|
||||||
"libLLVMExtensions.a",
|
// "libLLVMExtensions.a",
|
||||||
"libLLVMFileCheck.a",
|
// "libLLVMFileCheck.a",
|
||||||
"libLLVMFrontendHLSL.a",
|
// "libLLVMFrontendHLSL.a",
|
||||||
"libLLVMFrontendOpenACC.a",
|
// "libLLVMFrontendOpenACC.a",
|
||||||
"libLLVMFrontendOpenMP.a",
|
// "libLLVMFrontendOpenMP.a",
|
||||||
"libLLVMFuzzerCLI.a",
|
// "libLLVMFuzzerCLI.a",
|
||||||
"libLLVMFuzzMutate.a",
|
// "libLLVMFuzzMutate.a",
|
||||||
"libLLVMGlobalISel.a",
|
// "libLLVMGlobalISel.a",
|
||||||
"libLLVMHexagonAsmParser.a",
|
// "libLLVMHexagonAsmParser.a",
|
||||||
"libLLVMHexagonCodeGen.a",
|
// "libLLVMHexagonCodeGen.a",
|
||||||
"libLLVMHexagonDesc.a",
|
// "libLLVMHexagonDesc.a",
|
||||||
"libLLVMHexagonDisassembler.a",
|
// "libLLVMHexagonDisassembler.a",
|
||||||
"libLLVMHexagonInfo.a",
|
// "libLLVMHexagonInfo.a",
|
||||||
"libLLVMInstCombine.a",
|
// "libLLVMInstCombine.a",
|
||||||
"libLLVMInstrumentation.a",
|
// "libLLVMInstrumentation.a",
|
||||||
"libLLVMInterfaceStub.a",
|
// "libLLVMInterfaceStub.a",
|
||||||
"libLLVMInterpreter.a",
|
// "libLLVMInterpreter.a",
|
||||||
"libLLVMipo.a",
|
// "libLLVMipo.a",
|
||||||
"libLLVMIRPrinter.a",
|
// "libLLVMIRPrinter.a",
|
||||||
"libLLVMIRReader.a",
|
// "libLLVMIRReader.a",
|
||||||
"libLLVMJITLink.a",
|
// "libLLVMJITLink.a",
|
||||||
"libLLVMLanaiAsmParser.a",
|
// "libLLVMLanaiAsmParser.a",
|
||||||
"libLLVMLanaiCodeGen.a",
|
// "libLLVMLanaiCodeGen.a",
|
||||||
"libLLVMLanaiDesc.a",
|
// "libLLVMLanaiDesc.a",
|
||||||
"libLLVMLanaiDisassembler.a",
|
// "libLLVMLanaiDisassembler.a",
|
||||||
"libLLVMLanaiInfo.a",
|
// "libLLVMLanaiInfo.a",
|
||||||
"libLLVMLibDriver.a",
|
// "libLLVMLibDriver.a",
|
||||||
"libLLVMLineEditor.a",
|
// "libLLVMLineEditor.a",
|
||||||
"libLLVMLinker.a",
|
// "libLLVMLinker.a",
|
||||||
"libLLVMLoongArchAsmParser.a",
|
// "libLLVMLoongArchAsmParser.a",
|
||||||
"libLLVMLoongArchCodeGen.a",
|
// "libLLVMLoongArchCodeGen.a",
|
||||||
"libLLVMLoongArchDesc.a",
|
// "libLLVMLoongArchDesc.a",
|
||||||
"libLLVMLoongArchDisassembler.a",
|
// "libLLVMLoongArchDisassembler.a",
|
||||||
"libLLVMLoongArchInfo.a",
|
// "libLLVMLoongArchInfo.a",
|
||||||
"libLLVMLTO.a",
|
// "libLLVMLTO.a",
|
||||||
"libLLVMMC.a",
|
// "libLLVMMC.a",
|
||||||
"libLLVMMCA.a",
|
// "libLLVMMCA.a",
|
||||||
"libLLVMMCDisassembler.a",
|
// "libLLVMMCDisassembler.a",
|
||||||
"libLLVMMCJIT.a",
|
// "libLLVMMCJIT.a",
|
||||||
"libLLVMMCParser.a",
|
// "libLLVMMCParser.a",
|
||||||
"libLLVMMipsAsmParser.a",
|
// "libLLVMMipsAsmParser.a",
|
||||||
"libLLVMMipsCodeGen.a",
|
// "libLLVMMipsCodeGen.a",
|
||||||
"libLLVMMipsDesc.a",
|
// "libLLVMMipsDesc.a",
|
||||||
"libLLVMMipsDisassembler.a",
|
// "libLLVMMipsDisassembler.a",
|
||||||
"libLLVMMipsInfo.a",
|
// "libLLVMMipsInfo.a",
|
||||||
"libLLVMMIRParser.a",
|
// "libLLVMMIRParser.a",
|
||||||
"libLLVMMSP430AsmParser.a",
|
// "libLLVMMSP430AsmParser.a",
|
||||||
"libLLVMMSP430CodeGen.a",
|
// "libLLVMMSP430CodeGen.a",
|
||||||
"libLLVMMSP430Desc.a",
|
// "libLLVMMSP430Desc.a",
|
||||||
"libLLVMMSP430Disassembler.a",
|
// "libLLVMMSP430Disassembler.a",
|
||||||
"libLLVMMSP430Info.a",
|
// "libLLVMMSP430Info.a",
|
||||||
"libLLVMNVPTXCodeGen.a",
|
// "libLLVMNVPTXCodeGen.a",
|
||||||
"libLLVMNVPTXDesc.a",
|
// "libLLVMNVPTXDesc.a",
|
||||||
"libLLVMNVPTXInfo.a",
|
// "libLLVMNVPTXInfo.a",
|
||||||
"libLLVMObjCARCOpts.a",
|
// "libLLVMObjCARCOpts.a",
|
||||||
"libLLVMObjCopy.a",
|
// "libLLVMObjCopy.a",
|
||||||
"libLLVMObject.a",
|
// "libLLVMObject.a",
|
||||||
"libLLVMObjectYAML.a",
|
// "libLLVMObjectYAML.a",
|
||||||
"libLLVMOption.a",
|
// "libLLVMOption.a",
|
||||||
"libLLVMOrcJIT.a",
|
// "libLLVMOrcJIT.a",
|
||||||
"libLLVMOrcShared.a",
|
// "libLLVMOrcShared.a",
|
||||||
"libLLVMOrcTargetProcess.a",
|
// "libLLVMOrcTargetProcess.a",
|
||||||
"libLLVMPasses.a",
|
// "libLLVMPasses.a",
|
||||||
"libLLVMPowerPCAsmParser.a",
|
// "libLLVMPowerPCAsmParser.a",
|
||||||
"libLLVMPowerPCCodeGen.a",
|
// "libLLVMPowerPCCodeGen.a",
|
||||||
"libLLVMPowerPCDesc.a",
|
// "libLLVMPowerPCDesc.a",
|
||||||
"libLLVMPowerPCDisassembler.a",
|
// "libLLVMPowerPCDisassembler.a",
|
||||||
"libLLVMPowerPCInfo.a",
|
// "libLLVMPowerPCInfo.a",
|
||||||
"libLLVMProfileData.a",
|
// "libLLVMProfileData.a",
|
||||||
"libLLVMRemarks.a",
|
// "libLLVMRemarks.a",
|
||||||
"libLLVMRISCVAsmParser.a",
|
// "libLLVMRISCVAsmParser.a",
|
||||||
"libLLVMRISCVCodeGen.a",
|
// "libLLVMRISCVCodeGen.a",
|
||||||
"libLLVMRISCVDesc.a",
|
// "libLLVMRISCVDesc.a",
|
||||||
"libLLVMRISCVDisassembler.a",
|
// "libLLVMRISCVDisassembler.a",
|
||||||
"libLLVMRISCVInfo.a",
|
// "libLLVMRISCVInfo.a",
|
||||||
"libLLVMRISCVTargetMCA.a",
|
// "libLLVMRISCVTargetMCA.a",
|
||||||
"libLLVMRuntimeDyld.a",
|
// "libLLVMRuntimeDyld.a",
|
||||||
"libLLVMScalarOpts.a",
|
// "libLLVMScalarOpts.a",
|
||||||
"libLLVMSelectionDAG.a",
|
// "libLLVMSelectionDAG.a",
|
||||||
"libLLVMSparcAsmParser.a",
|
// "libLLVMSparcAsmParser.a",
|
||||||
"libLLVMSparcCodeGen.a",
|
// "libLLVMSparcCodeGen.a",
|
||||||
"libLLVMSparcDesc.a",
|
// "libLLVMSparcDesc.a",
|
||||||
"libLLVMSparcDisassembler.a",
|
// "libLLVMSparcDisassembler.a",
|
||||||
"libLLVMSparcInfo.a",
|
// "libLLVMSparcInfo.a",
|
||||||
"libLLVMSupport.a",
|
// "libLLVMSupport.a",
|
||||||
"libLLVMSymbolize.a",
|
// "libLLVMSymbolize.a",
|
||||||
"libLLVMSystemZAsmParser.a",
|
// "libLLVMSystemZAsmParser.a",
|
||||||
"libLLVMSystemZCodeGen.a",
|
// "libLLVMSystemZCodeGen.a",
|
||||||
"libLLVMSystemZDesc.a",
|
// "libLLVMSystemZDesc.a",
|
||||||
"libLLVMSystemZDisassembler.a",
|
// "libLLVMSystemZDisassembler.a",
|
||||||
"libLLVMSystemZInfo.a",
|
// "libLLVMSystemZInfo.a",
|
||||||
"libLLVMTableGen.a",
|
// "libLLVMTableGen.a",
|
||||||
"libLLVMTableGenCommon.a",
|
// "libLLVMTableGenCommon.a",
|
||||||
"libLLVMTableGenGlobalISel.a",
|
// "libLLVMTableGenGlobalISel.a",
|
||||||
"libLLVMTarget.a",
|
// "libLLVMTarget.a",
|
||||||
"libLLVMTargetParser.a",
|
// "libLLVMTargetParser.a",
|
||||||
"libLLVMTextAPI.a",
|
// "libLLVMTextAPI.a",
|
||||||
"libLLVMTransformUtils.a",
|
// "libLLVMTransformUtils.a",
|
||||||
"libLLVMVEAsmParser.a",
|
// "libLLVMVEAsmParser.a",
|
||||||
"libLLVMVECodeGen.a",
|
// "libLLVMVECodeGen.a",
|
||||||
"libLLVMVectorize.a",
|
// "libLLVMVectorize.a",
|
||||||
"libLLVMVEDesc.a",
|
// "libLLVMVEDesc.a",
|
||||||
"libLLVMVEDisassembler.a",
|
// "libLLVMVEDisassembler.a",
|
||||||
"libLLVMVEInfo.a",
|
// "libLLVMVEInfo.a",
|
||||||
"libLLVMWebAssemblyAsmParser.a",
|
// "libLLVMWebAssemblyAsmParser.a",
|
||||||
"libLLVMWebAssemblyCodeGen.a",
|
// "libLLVMWebAssemblyCodeGen.a",
|
||||||
"libLLVMWebAssemblyDesc.a",
|
// "libLLVMWebAssemblyDesc.a",
|
||||||
"libLLVMWebAssemblyDisassembler.a",
|
// "libLLVMWebAssemblyDisassembler.a",
|
||||||
"libLLVMWebAssemblyInfo.a",
|
// "libLLVMWebAssemblyInfo.a",
|
||||||
"libLLVMWebAssemblyUtils.a",
|
// "libLLVMWebAssemblyUtils.a",
|
||||||
"libLLVMWindowsDriver.a",
|
// "libLLVMWindowsDriver.a",
|
||||||
"libLLVMWindowsManifest.a",
|
// "libLLVMWindowsManifest.a",
|
||||||
"libLLVMX86AsmParser.a",
|
// "libLLVMX86AsmParser.a",
|
||||||
"libLLVMX86CodeGen.a",
|
// "libLLVMX86CodeGen.a",
|
||||||
"libLLVMX86Desc.a",
|
// "libLLVMX86Desc.a",
|
||||||
"libLLVMX86Disassembler.a",
|
// "libLLVMX86Disassembler.a",
|
||||||
"libLLVMX86Info.a",
|
// "libLLVMX86Info.a",
|
||||||
"libLLVMX86TargetMCA.a",
|
// "libLLVMX86TargetMCA.a",
|
||||||
"libLLVMXCoreCodeGen.a",
|
// "libLLVMXCoreCodeGen.a",
|
||||||
"libLLVMXCoreDesc.a",
|
// "libLLVMXCoreDesc.a",
|
||||||
"libLLVMXCoreDisassembler.a",
|
// "libLLVMXCoreDisassembler.a",
|
||||||
"libLLVMXCoreInfo.a",
|
// "libLLVMXCoreInfo.a",
|
||||||
"libLLVMXRay.a",
|
// "libLLVMXRay.a",
|
||||||
//LLD
|
// //LLD
|
||||||
"liblldCOFF.a",
|
// "liblldCOFF.a",
|
||||||
"liblldCommon.a",
|
// "liblldCommon.a",
|
||||||
"liblldELF.a",
|
// "liblldELF.a",
|
||||||
"liblldMachO.a",
|
// "liblldMachO.a",
|
||||||
"liblldMinGW.a",
|
// "liblldMinGW.a",
|
||||||
"liblldWasm.a",
|
// "liblldWasm.a",
|
||||||
// Zlib
|
// // Zlib
|
||||||
zlib,
|
// zlib,
|
||||||
"libz.a",
|
// "libz.a",
|
||||||
// Clang
|
// // Clang
|
||||||
"libclangAnalysis.a",
|
// "libclangAnalysis.a",
|
||||||
"libclangAnalysisFlowSensitive.a",
|
// "libclangAnalysisFlowSensitive.a",
|
||||||
"libclangAnalysisFlowSensitiveModels.a",
|
// "libclangAnalysisFlowSensitiveModels.a",
|
||||||
"libclangAPINotes.a",
|
// "libclangAPINotes.a",
|
||||||
"libclangARCMigrate.a",
|
// "libclangARCMigrate.a",
|
||||||
"libclangAST.a",
|
// "libclangAST.a",
|
||||||
"libclangASTMatchers.a",
|
// "libclangASTMatchers.a",
|
||||||
"libclangBasic.a",
|
// "libclangBasic.a",
|
||||||
"libclangCodeGen.a",
|
// "libclangCodeGen.a",
|
||||||
"libclangCrossTU.a",
|
// "libclangCrossTU.a",
|
||||||
"libclangDependencyScanning.a",
|
// "libclangDependencyScanning.a",
|
||||||
"libclangDirectoryWatcher.a",
|
// "libclangDirectoryWatcher.a",
|
||||||
"libclangDriver.a",
|
// "libclangDriver.a",
|
||||||
"libclangDynamicASTMatchers.a",
|
// "libclangDynamicASTMatchers.a",
|
||||||
"libclangEdit.a",
|
// "libclangEdit.a",
|
||||||
"libclangExtractAPI.a",
|
// "libclangExtractAPI.a",
|
||||||
"libclangFormat.a",
|
// "libclangFormat.a",
|
||||||
"libclangFrontend.a",
|
// "libclangFrontend.a",
|
||||||
"libclangFrontendTool.a",
|
// "libclangFrontendTool.a",
|
||||||
"libclangHandleCXX.a",
|
// "libclangHandleCXX.a",
|
||||||
"libclangHandleLLVM.a",
|
// "libclangHandleLLVM.a",
|
||||||
"libclangIndex.a",
|
// "libclangIndex.a",
|
||||||
"libclangIndexSerialization.a",
|
// "libclangIndexSerialization.a",
|
||||||
"libclangInterpreter.a",
|
// "libclangInterpreter.a",
|
||||||
"libclangLex.a",
|
// "libclangLex.a",
|
||||||
"libclangParse.a",
|
// "libclangParse.a",
|
||||||
"libclangRewrite.a",
|
// "libclangRewrite.a",
|
||||||
"libclangRewriteFrontend.a",
|
// "libclangRewriteFrontend.a",
|
||||||
"libclangSema.a",
|
// "libclangSema.a",
|
||||||
"libclangSerialization.a",
|
// "libclangSerialization.a",
|
||||||
"libclangStaticAnalyzerCheckers.a",
|
// "libclangStaticAnalyzerCheckers.a",
|
||||||
"libclangStaticAnalyzerCore.a",
|
// "libclangStaticAnalyzerCore.a",
|
||||||
"libclangStaticAnalyzerFrontend.a",
|
// "libclangStaticAnalyzerFrontend.a",
|
||||||
"libclangSupport.a",
|
// "libclangSupport.a",
|
||||||
"libclangTooling.a",
|
// "libclangTooling.a",
|
||||||
"libclangToolingASTDiff.a",
|
// "libclangToolingASTDiff.a",
|
||||||
"libclangToolingCore.a",
|
// "libclangToolingCore.a",
|
||||||
"libclangToolingInclusions.a",
|
// "libclangToolingInclusions.a",
|
||||||
"libclangToolingInclusionsStdlib.a",
|
// "libclangToolingInclusionsStdlib.a",
|
||||||
"libclangToolingRefactoring.a",
|
// "libclangToolingRefactoring.a",
|
||||||
"libclangToolingSyntax.a",
|
// "libclangToolingSyntax.a",
|
||||||
"libclangTransformer.a",
|
// "libclangTransformer.a",
|
||||||
};
|
// };
|
||||||
|
|
||||||
for (llvm_libraries) |llvm_library| {
|
// for (llvm_libraries) |llvm_library| {
|
||||||
compiler.addObjectFile(std.Build.LazyPath.relative(try std.mem.concat(b.allocator, u8, &.{ llvm_lib_dir, "/", llvm_library })));
|
// compiler.addObjectFile(std.Build.LazyPath.relative(try std.mem.concat(b.allocator, u8, &.{ llvm_lib_dir, "/", llvm_library })));
|
||||||
}
|
// }
|
||||||
|
|
||||||
const install_exe = b.addInstallArtifact(compiler, .{});
|
const install_exe = b.addInstallArtifact(compiler, .{});
|
||||||
b.getInstallStep().dependOn(&install_exe.step);
|
b.getInstallStep().dependOn(&install_exe.step);
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
|
#include <stdio.h>
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
|
printf("Hello world\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user