
Switch over to LLVM 14 for static builds. Keep using LLVM 13 for regular builds for now. This uses a branch of the upstream Espressif branch to fix an issue, see: https://github.com/espressif/llvm-project/pull/59
29 строки
827 Б
C++
29 строки
827 Б
C++
// +build byollvm
|
|
|
|
// This file provides C wrappers for liblld.
|
|
|
|
#include <lld/Common/Driver.h>
|
|
|
|
extern "C" {
|
|
|
|
bool tinygo_link_elf(int argc, char **argv) {
|
|
std::vector<const char*> args(argv, argv + argc);
|
|
return lld::elf::link(args, llvm::outs(), llvm::errs(), false, false);
|
|
}
|
|
|
|
bool tinygo_link_macho(int argc, char **argv) {
|
|
std::vector<const char*> args(argv, argv + argc);
|
|
return lld::macho::link(args, llvm::outs(), llvm::errs(), false, false);
|
|
}
|
|
|
|
bool tinygo_link_mingw(int argc, char **argv) {
|
|
std::vector<const char*> args(argv, argv + argc);
|
|
return lld::mingw::link(args, llvm::outs(), llvm::errs(), false, false);
|
|
}
|
|
|
|
bool tinygo_link_wasm(int argc, char **argv) {
|
|
std::vector<const char*> args(argv, argv + argc);
|
|
return lld::wasm::link(args, llvm::outs(), llvm::errs(), false, false);
|
|
}
|
|
|
|
} // external "C"
|