diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6f2a88d34b..97608cddfc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -57,12 +57,14 @@ string(REGEX REPLACE "\\\\" "\\\\\\\\" ZIG_LIBC_INCLUDE_DIR_ESCAPED "${ZIG_LIBC_
option(ZIG_TEST_COVERAGE "Build Zig with test coverage instrumentation" OFF)
-# To see what patches have been applied to LLD in this repository:
-# git log -p -- deps/lld
-option(ZIG_FORCE_EXTERNAL_LLD "If your system has the LLD patches use it instead of the embedded LLD" OFF)
+# Zig no longer has embedded LLD. This option is kept for package maintainers
+# so that they don't have to update their scripts in case we ever re-introduce
+# LLD to the tree. This option does nothing.
+option(ZIG_FORCE_EXTERNAL_LLD "does nothing" OFF)
find_package(llvm)
find_package(clang)
+find_package(lld)
if(APPLE AND ZIG_STATIC)
list(REMOVE_ITEM LLVM_LIBRARIES "-lz")
@@ -82,205 +84,9 @@ foreach(CONFIG_TYPE ${CMAKE_CONFIGURATION_TYPES})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPE} ${ZIG_CPP_LIB_DIR})
endforeach(CONFIG_TYPE CMAKE_CONFIGURATION_TYPES)
-if(ZIG_FORCE_EXTERNAL_LLD)
- find_package(lld)
- include_directories(${LLVM_INCLUDE_DIRS})
- include_directories(${LLD_INCLUDE_DIRS})
- include_directories(${CLANG_INCLUDE_DIRS})
-else()
- # This goes first so that we find embedded LLD instead
- # of system LLD.
- include_directories("${CMAKE_SOURCE_DIR}/deps/lld/include")
-
- include_directories(${LLVM_INCLUDE_DIRS})
- include_directories(${CLANG_INCLUDE_DIRS})
- set(EMBEDDED_LLD_LIB_SOURCES
- "${CMAKE_SOURCE_DIR}/deps/lld/Common/Args.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/Common/ErrorHandler.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/Common/Filesystem.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/Common/Memory.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/Common/Reproduce.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/Common/Strings.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/Common/TargetOptionsCommandFlags.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/Common/Threads.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/Common/Timer.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/Common/Version.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/DefinedAtom.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/Error.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/File.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/LinkingContext.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/Reader.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/Resolver.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/SymbolTable.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/Writer.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/Driver/DarwinLdDriver.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/FileArchive.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/ArchHandler.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/ArchHandler_x86.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/GOTPass.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/LayoutPass.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/ObjCPass.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/ShimPass.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/StubsPass.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/TLVPass.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/WriterMachO.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp"
- )
-
- set(EMBEDDED_LLD_ELF_SOURCES
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/AArch64ErrataFix.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/AArch64.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/AMDGPU.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/ARM.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/AVR.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/Hexagon.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/MSP430.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/Mips.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/MipsArchTree.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/PPC.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/PPC64.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/RISCV.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/SPARCV9.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/X86.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/X86_64.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/CallGraphSort.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/DWARF.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Driver.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/DriverUtils.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/EhFrame.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/ICF.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/InputFiles.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/InputSection.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/LTO.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/LinkerScript.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/MapFile.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/MarkLive.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/OutputSections.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Relocations.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/ScriptLexer.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/ScriptParser.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/SymbolTable.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Symbols.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/SyntheticSections.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Target.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Thunks.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Writer.cpp"
- )
-
- set(EMBEDDED_LLD_COFF_SOURCES
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/Chunks.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/DLL.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/DebugTypes.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/Driver.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/DriverUtils.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/ICF.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/InputFiles.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/LTO.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/MapFile.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/MarkLive.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/MinGW.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/PDB.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/SymbolTable.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/Symbols.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF/Writer.cpp"
- )
- set(EMBEDDED_LLD_MINGW_SOURCES
- "${CMAKE_SOURCE_DIR}/deps/lld/MinGW/Driver.cpp"
- )
- set(EMBEDDED_LLD_WASM_SOURCES
- "${CMAKE_SOURCE_DIR}/deps/lld/wasm/Driver.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/wasm/InputChunks.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/wasm/InputFiles.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/wasm/LTO.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/wasm/MarkLive.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/wasm/OutputSections.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/wasm/Relocations.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/wasm/SymbolTable.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/wasm/Symbols.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/wasm/SyntheticSections.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/wasm/Writer.cpp"
- "${CMAKE_SOURCE_DIR}/deps/lld/wasm/WriterUtils.cpp"
- )
- add_library(embedded_lld_lib STATIC ${EMBEDDED_LLD_LIB_SOURCES})
- add_library(embedded_lld_elf STATIC ${EMBEDDED_LLD_ELF_SOURCES})
- add_library(embedded_lld_coff STATIC ${EMBEDDED_LLD_COFF_SOURCES})
- add_library(embedded_lld_mingw STATIC ${EMBEDDED_LLD_MINGW_SOURCES})
- add_library(embedded_lld_wasm STATIC ${EMBEDDED_LLD_WASM_SOURCES})
- if(MSVC)
- set(ZIG_LLD_COMPILE_FLAGS "-std=c++11 -D_CRT_SECURE_NO_WARNINGS /w")
- else()
- set(ZIG_LLD_COMPILE_FLAGS "-std=c++11 -fvisibility-inlines-hidden -fno-exceptions -fno-rtti -Wno-comment")
- if(MINGW)
- set(ZIG_LLD_COMPILE_FLAGS "${ZIG_LLD_COMPILE_FLAGS} -D__STDC_FORMAT_MACROS -D__USE_MINGW_ANSI_STDIO")
- endif()
- endif()
- set_target_properties(embedded_lld_lib PROPERTIES
- COMPILE_FLAGS ${ZIG_LLD_COMPILE_FLAGS}
- LINK_FLAGS " "
- )
- set_target_properties(embedded_lld_elf PROPERTIES
- COMPILE_FLAGS ${ZIG_LLD_COMPILE_FLAGS}
- LINK_FLAGS " "
- )
- set_target_properties(embedded_lld_coff PROPERTIES
- COMPILE_FLAGS ${ZIG_LLD_COMPILE_FLAGS}
- LINK_FLAGS " "
- )
- set_target_properties(embedded_lld_mingw PROPERTIES
- COMPILE_FLAGS ${ZIG_LLD_COMPILE_FLAGS}
- LINK_FLAGS " "
- )
- set_target_properties(embedded_lld_wasm PROPERTIES
- COMPILE_FLAGS ${ZIG_LLD_COMPILE_FLAGS}
- LINK_FLAGS " "
- )
- target_include_directories(embedded_lld_lib PRIVATE
- "${CMAKE_SOURCE_DIR}/deps/lld/include"
- "${CMAKE_SOURCE_DIR}/deps/lld-prebuilt"
- )
- target_include_directories(embedded_lld_elf PRIVATE
- "${CMAKE_SOURCE_DIR}/deps/lld/ELF"
- "${CMAKE_SOURCE_DIR}/deps/lld/include"
- "${CMAKE_SOURCE_DIR}/deps/lld-prebuilt/ELF"
- "${CMAKE_SOURCE_DIR}/deps/lld-prebuilt"
- )
- target_include_directories(embedded_lld_coff PRIVATE
- "${CMAKE_SOURCE_DIR}/deps/lld/COFF"
- "${CMAKE_SOURCE_DIR}/deps/lld/include"
- "${CMAKE_SOURCE_DIR}/deps/lld-prebuilt/COFF"
- "${CMAKE_SOURCE_DIR}/deps/lld-prebuilt"
- )
- target_include_directories(embedded_lld_mingw PRIVATE
- "${CMAKE_SOURCE_DIR}/deps/lld/MinGW"
- "${CMAKE_SOURCE_DIR}/deps/lld/include"
- "${CMAKE_SOURCE_DIR}/deps/lld-prebuilt/MinGW"
- "${CMAKE_SOURCE_DIR}/deps/lld-prebuilt"
- )
- target_include_directories(embedded_lld_wasm PRIVATE
- "${CMAKE_SOURCE_DIR}/deps/lld/wasm"
- "${CMAKE_SOURCE_DIR}/deps/lld/include"
- "${CMAKE_SOURCE_DIR}/deps/lld-prebuilt/wasm"
- "${CMAKE_SOURCE_DIR}/deps/lld-prebuilt"
- )
- set(LLD_INCLUDE_DIRS "")
- set(LLD_LIBRARIES
- embedded_lld_elf
- embedded_lld_coff
- embedded_lld_mingw
- embedded_lld_wasm
- embedded_lld_lib
- )
-endif()
+include_directories(${LLVM_INCLUDE_DIRS})
+include_directories(${LLD_INCLUDE_DIRS})
+include_directories(${CLANG_INCLUDE_DIRS})
# No patches have been applied to SoftFloat-3e
set(EMBEDDED_SOFTFLOAT_SOURCES
@@ -506,7 +312,7 @@ include_directories(
)
# These have to go before the -Wno- flags
-set(EXE_CFLAGS "-std=c++11")
+set(EXE_CFLAGS "-std=c++14")
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
if(MSVC)
set(EXE_CFLAGS "${EXE_CFLAGS} /w")
@@ -559,6 +365,11 @@ add_library(zig_cpp STATIC ${ZIG_CPP_SOURCES})
set_target_properties(zig_cpp PROPERTIES
COMPILE_FLAGS ${EXE_CFLAGS}
)
+target_link_libraries(zig_cpp LINK_PUBLIC
+ ${CLANG_LIBRARIES}
+ ${LLD_LIBRARIES}
+ ${LLVM_LIBRARIES}
+)
add_library(opt_c_util STATIC ${OPTIMIZED_C_SOURCES})
set_target_properties(opt_c_util PROPERTIES
@@ -574,9 +385,6 @@ target_link_libraries(zigcompiler LINK_PUBLIC
zig_cpp
opt_c_util
${SOFTFLOAT_LIBRARIES}
- ${CLANG_LIBRARIES}
- ${LLD_LIBRARIES}
- ${LLVM_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT}
)
if(NOT MSVC)
diff --git a/README.md b/README.md
index 0895d806f8..ac9e8208ae 100644
--- a/README.md
+++ b/README.md
@@ -27,7 +27,7 @@ Note that you can
* cmake >= 2.8.5
* gcc >= 5.0.0 or clang >= 3.6.0
- * LLVM, Clang, LLD development libraries == 9.x, compiled with the same gcc or clang version above
+ * LLVM, Clang, LLD development libraries == 10.x, compiled with the same gcc or clang version above
- Use the system package manager, or [build from source](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#posix).
##### Windows
@@ -37,7 +37,7 @@ Note that you can
- 2015 (version 14)
- 2017 (version 15.8)
- 2019 (version 16)
- * LLVM, Clang, LLD development libraries == 9.x
+ * LLVM, Clang, LLD development libraries == 10.x
- Use the [pre-built binaries](https://github.com/ziglang/zig/wiki/Building-Zig-on-Windows) or [build from source](https://github.com/ziglang/zig/wiki/How-to-build-LLVM,-libclang,-and-liblld-from-source#windows).
#### Instructions
@@ -54,8 +54,8 @@ make install
##### MacOS
```
-brew install cmake llvm@9
-brew outdated llvm@9 || brew upgrade llvm@9
+brew install cmake llvm@10
+brew outdated llvm@10 || brew upgrade llvm@10
mkdir build
cd build
cmake .. -DCMAKE_PREFIX_PATH=$(brew --prefix llvm)
diff --git a/build.zig b/build.zig
index f8b41f2dc4..d31d8bbe3c 100644
--- a/build.zig
+++ b/build.zig
@@ -46,6 +46,7 @@ pub fn build(b: *Builder) !void {
.llvm_config_exe = nextValue(&index, build_info),
.lld_include_dir = nextValue(&index, build_info),
.lld_libraries = nextValue(&index, build_info),
+ .clang_libraries = nextValue(&index, build_info),
.dia_guids_lib = nextValue(&index, build_info),
.llvm = undefined,
};
@@ -296,6 +297,12 @@ fn configureStage2(b: *Builder, exe: var, ctx: Context) !void {
addCppLib(b, exe, ctx.cmake_binary_dir, "embedded_lld_coff");
addCppLib(b, exe, ctx.cmake_binary_dir, "embedded_lld_lib");
}
+ {
+ var it = mem.tokenize(ctx.clang_libraries, ";");
+ while (it.next()) |lib| {
+ exe.addObjectFile(lib);
+ }
+ }
dependOnLib(b, exe, ctx.llvm);
if (exe.target.getOsTag() == .linux) {
@@ -365,6 +372,7 @@ const Context = struct {
llvm_config_exe: []const u8,
lld_include_dir: []const u8,
lld_libraries: []const u8,
+ clang_libraries: []const u8,
dia_guids_lib: []const u8,
llvm: LibraryDep,
};
diff --git a/ci/azure/linux_script b/ci/azure/linux_script
index 1116099cd7..c34d8d324f 100755
--- a/ci/azure/linux_script
+++ b/ci/azure/linux_script
@@ -5,32 +5,48 @@ set -e
BUILDDIR="$(pwd)"
-sudo sh -c 'echo "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main" >> /etc/apt/sources.list'
+sudo sh -c 'echo "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-10 main" >> /etc/apt/sources.list'
wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt-get update -q
sudo apt-get remove -y llvm-*
sudo rm -rf /usr/local/*
-sudo apt-get install -y libxml2-dev libclang-9-dev llvm-9 llvm-9-dev cmake s3cmd gcc-7 g++-7 qemu
+sudo apt-get install -y libxml2-dev libclang-10-dev llvm-10 llvm-10-dev liblld-10-dev cmake s3cmd gcc-7 g++-7 qemu
# Make the `zig version` number consistent.
# This will affect the cmake command below.
git config core.abbrev 9
+# This patch is a workaround for
+# https://bugs.llvm.org/show_bug.cgi?id=44870 / https://github.com/llvm/llvm-project/issues/191
+# It only applies to the apt.llvm.org packages.
+patch <<'END_PATCH'
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -369,6 +369,7 @@ target_link_libraries(zig_cpp LINK_PUBLIC
+ ${CLANG_LIBRARIES}
+ ${LLD_LIBRARIES}
+ ${LLVM_LIBRARIES}
++ "-Wl,/usr/lib/llvm-10/lib/LLVMPolly.so"
+ )
+
+ add_library(opt_c_util STATIC ${OPTIMIZED_C_SOURCES})
+END_PATCH
+
export CC=gcc-7
export CXX=g++-7
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
-make -j2 install
+make -j$(nproc) install
./zig build test -Denable-qemu
VERSION="$(./zig version)"
if [ "${BUILD_REASON}" != "PullRequest" ]; then
ARTIFACTSDIR="$BUILDDIR/artifacts"
mkdir "$ARTIFACTSDIR"
- docker run -i --mount type=bind,source="$ARTIFACTSDIR",target=/z ziglang/static-base:llvm9-x86_64 -j2 $BUILD_SOURCEVERSION
+ docker run -i --mount type=bind,source="$ARTIFACTSDIR",target=/z ziglang/static-base:llvm10-x86_64-1 -j2 $BUILD_SOURCEVERSION
TARBALL="$(ls $ARTIFACTSDIR)"
mv "$DOWNLOADSECUREFILE_SECUREFILEPATH" "$HOME/.s3cfg"
s3cmd put -P --add-header="cache-control: public, max-age=31536000, immutable" "$ARTIFACTSDIR/$TARBALL" s3://ziglang.org/builds/
diff --git a/ci/azure/macos_script b/ci/azure/macos_script
index be21d72f13..7dd4344e39 100755
--- a/ci/azure/macos_script
+++ b/ci/azure/macos_script
@@ -5,20 +5,20 @@ set -e
system_profiler SPHardwareDataType
-brew install s3cmd gcc@8
+brew install s3cmd gcc@9
ZIGDIR="$(pwd)"
-LLVMVER="9.0.1"
+LLVMVER="10.0.0"
ARCH="x86_64"
-CACHE_BASENAME="llvm+clang-$LLVMVER-macos-$ARCH-gcc8-release"
+CACHE_BASENAME="llvm+clang+lld-$LLVMVER-$ARCH-macosx-gcc9-release"
PREFIX="$HOME/$CACHE_BASENAME"
TMPDIR="$HOME/tmpz"
JOBS="-j2"
# I tried using the system default compiler (clang), but it couldn't statically link libc++.
-# So we use gcc-8 from homebrew.
-export CC=gcc-8
-export CXX=g++-8
+# So we use gcc-9 from homebrew.
+export CC=gcc-9
+export CXX=g++-9
rm -rf $PREFIX
rm -rf $TMPDIR
@@ -55,9 +55,18 @@ else
make $JOBS install
cd $TMPDIR
- wget https://releases.llvm.org/$LLVMVER/cfe-$LLVMVER.src.tar.xz
- tar xf cfe-$LLVMVER.src.tar.xz
- cd cfe-$LLVMVER.src/
+ wget https://github.com/llvm/llvm-project/releases/download/llvmorg-$LLVMVER/lld-$LLVMVER.src.tar.xz
+ tar xf lld-$LLVMVER.src.tar.xz
+ cd lld-$LLVMVER.src/
+ mkdir build
+ cd build
+ cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_PREFIX_PATH=$PREFIX -DCMAKE_BUILD_TYPE=Release
+ make $JOBS install
+
+ cd $TMPDIR
+ wget https://releases.llvm.org/$LLVMVER/clang-$LLVMVER.src.tar.xz
+ tar xf clang-$LLVMVER.src.tar.xz
+ cd clang-$LLVMVER.src/
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_PREFIX_PATH=$PREFIX -DCMAKE_BUILD_TYPE=Release
diff --git a/ci/azure/windows_install b/ci/azure/windows_install
index f0e02caa8e..ece3bbde11 100755
--- a/ci/azure/windows_install
+++ b/ci/azure/windows_install
@@ -6,5 +6,5 @@ set -e
pacman -Su --needed --noconfirm
pacman -S --needed --noconfirm wget p7zip python3-pip
pip install s3cmd
-wget -nv "https://ziglang.org/deps/llvm%2bclang-9.0.0-win64-msvc-mt.tar.xz"
-tar xf llvm+clang-9.0.0-win64-msvc-mt.tar.xz
+wget -nv "https://ziglang.org/deps/llvm%2bclang%2blld-10.0.0-x86_64-windows-msvc-release-mt.tar.xz"
+tar xf llvm+clang+lld-10.0.0-x86_64-windows-msvc-release-mt.tar.xz
diff --git a/ci/azure/windows_script.bat b/ci/azure/windows_script.bat
index db27c47b0c..a8ae902de4 100644
--- a/ci/azure/windows_script.bat
+++ b/ci/azure/windows_script.bat
@@ -11,7 +11,7 @@ SET "MSYSTEM=%PREVMSYSTEM%"
SET "ZIGBUILDDIR=%SRCROOT%\build"
SET "ZIGINSTALLDIR=%ZIGBUILDDIR%\dist"
-SET "ZIGPREFIXPATH=%SRCROOT%\llvm+clang-9.0.0-win64-msvc-mt"
+SET "ZIGPREFIXPATH=%SRCROOT%\llvm+clang+lld-10.0.0-x86_64-windows-msvc-release-mt"
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
diff --git a/ci/drone/drone.yml b/ci/drone/drone.yml
index 8fff358a93..b7bc300f4f 100644
--- a/ci/drone/drone.yml
+++ b/ci/drone/drone.yml
@@ -7,7 +7,7 @@ platform:
steps:
- name: build-and-test
- image: ziglang/static-base:llvm9-1
+ image: ziglang/static-base:llvm10-aarch64-1
environment:
SRHT_OAUTH_TOKEN:
from_secret: SRHT_OAUTH_TOKEN
diff --git a/ci/srht/freebsd_script b/ci/srht/freebsd_script
index 6cf4cb7582..97b869c9f9 100755
--- a/ci/srht/freebsd_script
+++ b/ci/srht/freebsd_script
@@ -7,12 +7,12 @@ sudo pkg update -fq
sudo pkg install -y cmake py27-s3cmd wget curl jq
ZIGDIR="$(pwd)"
-CACHE_BASENAME="llvm+clang-9.0.0-freebsd-x86_64-release"
+CACHE_BASENAME="llvm+clang+lld-10.0.0-x86_64-freebsd-release"
PREFIX="$HOME/$CACHE_BASENAME"
JOBS="-j$(sysctl -n hw.ncpu)"
cd $HOME
-wget -nv "https://ziglang.org/builds/$CACHE_BASENAME.tar.xz"
+wget -nv "https://ziglang.org/deps/$CACHE_BASENAME.tar.xz"
tar xf "$CACHE_BASENAME.tar.xz"
cd $ZIGDIR
diff --git a/cmake/Findclang.cmake b/cmake/Findclang.cmake
index 704eba9814..f67504068b 100644
--- a/cmake/Findclang.cmake
+++ b/cmake/Findclang.cmake
@@ -7,83 +7,53 @@
# CLANG_LIBRARIES
# CLANG_LIBDIRS
-if(MSVC)
- find_package(CLANG REQUIRED CONFIG)
+find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h
+ PATHS
+ /usr/lib/llvm/10/include
+ /usr/lib/llvm-10/include
+ /usr/lib/llvm-10.0/include
+ /usr/local/llvm100/include
+ /mingw64/include)
- set(CLANG_LIBRARIES
- clangFrontendTool
- clangCodeGen
- clangFrontend
- clangDriver
- clangSerialization
- clangSema
- clangStaticAnalyzerFrontend
- clangStaticAnalyzerCheckers
- clangStaticAnalyzerCore
- clangAnalysis
- clangASTMatchers
- clangAST
- clangParse
- clangSema
- clangBasic
- clangEdit
- clangLex
- clangARCMigrate
- clangRewriteFrontend
- clangRewrite
- clangCrossTU
- clangIndex
- )
+macro(FIND_AND_ADD_CLANG_LIB _libname_)
+ string(TOUPPER ${_libname_} _prettylibname_)
+ find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_}
+ PATHS
+ ${CLANG_LIBDIRS}
+ /usr/lib/llvm/10/lib
+ /usr/lib/llvm-10/lib
+ /usr/lib/llvm-10.0/lib
+ /usr/local/llvm100/lib
+ /mingw64/lib
+ /c/msys64/mingw64/lib
+ c:\\msys64\\mingw64\\lib)
+ if(CLANG_${_prettylibname_}_LIB)
+ set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_${_prettylibname_}_LIB})
+ endif()
+endmacro(FIND_AND_ADD_CLANG_LIB)
-else()
- find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h
- PATHS
- /usr/lib/llvm/9/include
- /usr/lib/llvm-9/include
- /usr/lib/llvm-9.0/include
- /usr/local/llvm90/include
- /mingw64/include)
-
- macro(FIND_AND_ADD_CLANG_LIB _libname_)
- string(TOUPPER ${_libname_} _prettylibname_)
- find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_}
- PATHS
- ${CLANG_LIBDIRS}
- /usr/lib/llvm/9/lib
- /usr/lib/llvm-9/lib
- /usr/lib/llvm-9.0/lib
- /usr/local/llvm90/lib
- /mingw64/lib
- /c/msys64/mingw64/lib
- c:\\msys64\\mingw64\\lib)
- if(CLANG_${_prettylibname_}_LIB)
- set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_${_prettylibname_}_LIB})
- endif()
- endmacro(FIND_AND_ADD_CLANG_LIB)
-
- FIND_AND_ADD_CLANG_LIB(clangFrontendTool)
- FIND_AND_ADD_CLANG_LIB(clangCodeGen)
- FIND_AND_ADD_CLANG_LIB(clangFrontend)
- FIND_AND_ADD_CLANG_LIB(clangDriver)
- FIND_AND_ADD_CLANG_LIB(clangSerialization)
- FIND_AND_ADD_CLANG_LIB(clangSema)
- FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerFrontend)
- FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCheckers)
- FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCore)
- FIND_AND_ADD_CLANG_LIB(clangAnalysis)
- FIND_AND_ADD_CLANG_LIB(clangASTMatchers)
- FIND_AND_ADD_CLANG_LIB(clangAST)
- FIND_AND_ADD_CLANG_LIB(clangParse)
- FIND_AND_ADD_CLANG_LIB(clangSema)
- FIND_AND_ADD_CLANG_LIB(clangBasic)
- FIND_AND_ADD_CLANG_LIB(clangEdit)
- FIND_AND_ADD_CLANG_LIB(clangLex)
- FIND_AND_ADD_CLANG_LIB(clangARCMigrate)
- FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend)
- FIND_AND_ADD_CLANG_LIB(clangRewrite)
- FIND_AND_ADD_CLANG_LIB(clangCrossTU)
- FIND_AND_ADD_CLANG_LIB(clangIndex)
-endif()
+FIND_AND_ADD_CLANG_LIB(clangFrontendTool)
+FIND_AND_ADD_CLANG_LIB(clangCodeGen)
+FIND_AND_ADD_CLANG_LIB(clangFrontend)
+FIND_AND_ADD_CLANG_LIB(clangDriver)
+FIND_AND_ADD_CLANG_LIB(clangSerialization)
+FIND_AND_ADD_CLANG_LIB(clangSema)
+FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerFrontend)
+FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCheckers)
+FIND_AND_ADD_CLANG_LIB(clangStaticAnalyzerCore)
+FIND_AND_ADD_CLANG_LIB(clangAnalysis)
+FIND_AND_ADD_CLANG_LIB(clangASTMatchers)
+FIND_AND_ADD_CLANG_LIB(clangAST)
+FIND_AND_ADD_CLANG_LIB(clangParse)
+FIND_AND_ADD_CLANG_LIB(clangSema)
+FIND_AND_ADD_CLANG_LIB(clangBasic)
+FIND_AND_ADD_CLANG_LIB(clangEdit)
+FIND_AND_ADD_CLANG_LIB(clangLex)
+FIND_AND_ADD_CLANG_LIB(clangARCMigrate)
+FIND_AND_ADD_CLANG_LIB(clangRewriteFrontend)
+FIND_AND_ADD_CLANG_LIB(clangRewrite)
+FIND_AND_ADD_CLANG_LIB(clangCrossTU)
+FIND_AND_ADD_CLANG_LIB(clangIndex)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(CLANG DEFAULT_MSG CLANG_LIBRARIES CLANG_INCLUDE_DIRS)
diff --git a/cmake/Findlld.cmake b/cmake/Findlld.cmake
index 878a750159..cab6f34b57 100644
--- a/cmake/Findlld.cmake
+++ b/cmake/Findlld.cmake
@@ -8,14 +8,14 @@
find_path(LLD_INCLUDE_DIRS NAMES lld/Common/Driver.h
PATHS
- /usr/lib/llvm-9.0/include
- /usr/local/llvm90/include
+ /usr/lib/llvm-10/include
+ /usr/local/llvm100/include
/mingw64/include)
-find_library(LLD_LIBRARY NAMES lld-9.0 lld90 lld
+find_library(LLD_LIBRARY NAMES lld-10.0 lld100 lld
PATHS
- /usr/lib/llvm-9.0/lib
- /usr/local/llvm90/lib
+ /usr/lib/llvm-10/lib
+ /usr/local/llvm100/lib
)
if(EXISTS ${LLD_LIBRARY})
set(LLD_LIBRARIES ${LLD_LIBRARY})
@@ -24,8 +24,8 @@ else()
string(TOUPPER ${_libname_} _prettylibname_)
find_library(LLD_${_prettylibname_}_LIB NAMES ${_libname_}
PATHS
- /usr/lib/llvm-9.0/lib
- /usr/local/llvm90/lib
+ /usr/lib/llvm-10/lib
+ /usr/local/llvm100/lib
/mingw64/lib
/c/msys64/mingw64/lib
c:/msys64/mingw64/lib)
diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake
index 96324a739f..095593695d 100644
--- a/cmake/Findllvm.cmake
+++ b/cmake/Findllvm.cmake
@@ -8,12 +8,12 @@
# LLVM_LIBDIRS
find_program(LLVM_CONFIG_EXE
- NAMES llvm-config-9 llvm-config-9.0 llvm-config90 llvm-config
+ NAMES llvm-config-10 llvm-config-10.0 llvm-config100 llvm-config
PATHS
"/mingw64/bin"
"/c/msys64/mingw64/bin"
"c:/msys64/mingw64/bin"
- "C:/Libraries/llvm-9.0.0/bin")
+ "C:/Libraries/llvm-10.0.0/bin")
if ("${LLVM_CONFIG_EXE}" STREQUAL "LLVM_CONFIG_EXE-NOTFOUND")
message(FATAL_ERROR "unable to find llvm-config")
@@ -28,14 +28,14 @@ execute_process(
OUTPUT_VARIABLE LLVM_CONFIG_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
-if("${LLVM_CONFIG_VERSION}" VERSION_LESS 9)
- message(FATAL_ERROR "expected LLVM 9.x but found ${LLVM_CONFIG_VERSION}")
+if("${LLVM_CONFIG_VERSION}" VERSION_LESS 10)
+ message(FATAL_ERROR "expected LLVM 10.x but found ${LLVM_CONFIG_VERSION}")
endif()
-if("${LLVM_CONFIG_VERSION}" VERSION_EQUAL 10)
- message(FATAL_ERROR "expected LLVM 9.x but found ${LLVM_CONFIG_VERSION}")
+if("${LLVM_CONFIG_VERSION}" VERSION_EQUAL 11)
+ message(FATAL_ERROR "expected LLVM 10.x but found ${LLVM_CONFIG_VERSION}")
endif()
-if("${LLVM_CONFIG_VERSION}" VERSION_GREATER 10)
- message(FATAL_ERROR "expected LLVM 9.x but found ${LLVM_CONFIG_VERSION}")
+if("${LLVM_CONFIG_VERSION}" VERSION_GREATER 11)
+ message(FATAL_ERROR "expected LLVM 10.x but found ${LLVM_CONFIG_VERSION}")
endif()
execute_process(
@@ -113,7 +113,7 @@ execute_process(
set(LLVM_LIBRARIES ${LLVM_LIBRARIES} ${LLVM_SYSTEM_LIBS})
if(NOT LLVM_LIBRARIES)
- find_library(LLVM_LIBRARIES NAMES LLVM LLVM-9 LLVM-9.0)
+ find_library(LLVM_LIBRARIES NAMES LLVM LLVM-10 LLVM-10.0)
endif()
link_directories("${CMAKE_PREFIX_PATH}/lib")
diff --git a/deps/lld-prebuilt/COFF/Options.inc b/deps/lld-prebuilt/COFF/Options.inc
deleted file mode 100644
index c468991d28..0000000000
--- a/deps/lld-prebuilt/COFF/Options.inc
+++ /dev/null
@@ -1,275 +0,0 @@
-/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
-|* *|
-|* Option Parsing Definitions *|
-|* *|
-|* Automatically generated file, do not edit! *|
-|* *|
-\*===----------------------------------------------------------------------===*/
-
-/////////
-// Prefixes
-
-#ifdef PREFIX
-#define COMMA ,
-PREFIX(prefix_0, {nullptr})
-PREFIX(prefix_2, {"--" COMMA nullptr})
-PREFIX(prefix_1, {"/" COMMA "-" COMMA "/?" COMMA "-?" COMMA nullptr})
-PREFIX(prefix_3, {"/??" COMMA "-??" COMMA "/?" COMMA "-?" COMMA nullptr})
-#undef COMMA
-#endif // PREFIX
-
-/////////
-// Groups
-
-#ifdef OPTION
-
-//////////
-// Options
-
-OPTION(prefix_0, "", INPUT, Input, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_0, "", UNKNOWN, Unknown, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "align:", align, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Section alignment", nullptr, nullptr)
-OPTION(prefix_1, "aligncomm:", aligncomm, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Set common symbol alignment", nullptr, nullptr)
-OPTION(prefix_1, "allowbind:no", allowbind_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Disable DLL binding", nullptr, nullptr)
-OPTION(prefix_1, "allowbind", allowbind, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Enable DLL binding (default)", nullptr, nullptr)
-OPTION(prefix_1, "allowisolation:no", allowisolation_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Disable DLL isolation", nullptr, nullptr)
-OPTION(prefix_1, "allowisolation", allowisolation, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Enable DLL isolation (default)", nullptr, nullptr)
-OPTION(prefix_1, "alternatename:", alternatename, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Define weak alias", nullptr, nullptr)
-OPTION(prefix_1, "appcontainer:no", appcontainer_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Image can run outside an app container (default)", nullptr, nullptr)
-OPTION(prefix_1, "appcontainer", appcontainer, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Image can only be run in an app container", nullptr, nullptr)
-OPTION(prefix_1, "base:", base, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Base address of the program", nullptr, nullptr)
-OPTION(prefix_1, "Brepro", repro, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Use a hash of the executable as the PE header timestamp", nullptr, nullptr)
-OPTION(prefix_2, "color-diagnostics=", color_diagnostics_eq, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Use colors in diagnostics; one of 'always', 'never', 'auto'", nullptr, nullptr)
-OPTION(prefix_2, "color-diagnostics", color_diagnostics, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Use colors in diagnostics", nullptr, nullptr)
-OPTION(prefix_1, "debug:", debug_opt, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Embed a symbol table in the image with option", nullptr, nullptr)
-OPTION(prefix_1, "debugtype:", debugtype, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Debug Info Options", nullptr, nullptr)
-OPTION(prefix_1, "debug", debug, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Embed a symbol table in the image", nullptr, nullptr)
-OPTION(prefix_1, "def:", deffile, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Use module-definition file", nullptr, nullptr)
-OPTION(prefix_1, "defaultlib:", defaultlib, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Add the library to the list of input files", nullptr, nullptr)
-OPTION(prefix_1, "delay:", delay, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "delayload:", delayload, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Delay loaded DLL name", nullptr, nullptr)
-OPTION(prefix_1, "demangle:no", demangle_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Do not demangle symbols in output", nullptr, nullptr)
-OPTION(prefix_1, "demangle", demangle, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Demangle symbols in output (default)", nullptr, nullptr)
-OPTION(prefix_1, "disallowlib:", disallowlib, Joined, INVALID, nodefaultlib, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "dll", dll, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Create a DLL", nullptr, nullptr)
-OPTION(prefix_1, "driver:", driver, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Generate a Windows NT Kernel Mode Driver", nullptr, nullptr)
-OPTION(prefix_1, "dynamicbase:no", dynamicbase_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Disable ASLR (default when /fixed)", nullptr, nullptr)
-OPTION(prefix_1, "dynamicbase", dynamicbase, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Enable ASLR (default unless /fixed)", nullptr, nullptr)
-OPTION(prefix_1, "editandcontinue", editandcontinue, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "entry:", entry, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Name of entry point symbol", nullptr, nullptr)
-OPTION(prefix_1, "errorlimit:", errorlimit, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Maximum number of errors to emit before stopping (0 = no limit)", nullptr, nullptr)
-OPTION(prefix_1, "errorreport:", errorreport, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "exclude-all-symbols", exclude_all_symbols, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "export-all-symbols", export_all_symbols, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "export:", export, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Export a function", nullptr, nullptr)
-OPTION(prefix_1, "failifmismatch:", failifmismatch, Joined, INVALID, INVALID, nullptr, 0, 0,
- "", nullptr, nullptr)
-OPTION(prefix_1, "fastfail", fastfail, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "filealign:", filealign, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Section alignment in the output file", nullptr, nullptr)
-OPTION(prefix_1, "fixed:no", fixed_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Enable base relocations (default)", nullptr, nullptr)
-OPTION(prefix_1, "fixed", fixed, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Disable base relocations", nullptr, nullptr)
-OPTION(prefix_1, "force:multipleres", force_multipleres, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Allow multiply defined resources when creating executables", nullptr, nullptr)
-OPTION(prefix_1, "force:multiple", force_multiple, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Allow multiply defined symbols when creating executables", nullptr, nullptr)
-OPTION(prefix_1, "force:unresolved", force_unresolved, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Allow undefined symbols when creating executables", nullptr, nullptr)
-OPTION(prefix_1, "force", force, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Allow undefined and multiply defined symbols when creating executables", nullptr, nullptr)
-OPTION(prefix_1, "functionpadmin:", functionpadmin_opt, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Prepares an image for hotpatching", nullptr, nullptr)
-OPTION(prefix_1, "functionpadmin", functionpadmin, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "guard:", guard, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Control flow guard", nullptr, nullptr)
-OPTION(prefix_1, "guardsym:", guardsym, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "heap:", heap, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Size of the heap", nullptr, nullptr)
-OPTION(prefix_1, "help", help, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "highentropyva:no", highentropyva_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Disable 64-bit ASLR", nullptr, nullptr)
-OPTION(prefix_1, "highentropyva", highentropyva, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Enable 64-bit ASLR (default on 64-bit)", nullptr, nullptr)
-OPTION(prefix_1, "idlout:", idlout, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "ignore:", ignore, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Specify warning codes to ignore", nullptr, nullptr)
-OPTION(prefix_1, "ignoreidl", ignoreidl, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "implib:", implib, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Import library name", nullptr, nullptr)
-OPTION(prefix_1, "include:", incl, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Force symbol to be added to symbol table as undefined one", nullptr, nullptr)
-OPTION(prefix_1, "includeoptional:", include_optional, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Add symbol as undefined, but allow it to remain undefined", nullptr, nullptr)
-OPTION(prefix_1, "incremental:no", incremental_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Overwrite import library even if contents are unchanged", nullptr, nullptr)
-OPTION(prefix_1, "incremental", incremental, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Keep original import library if contents are unchanged", nullptr, nullptr)
-OPTION(prefix_1, "integritycheck:no", integritycheck_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "No effect (default)", nullptr, nullptr)
-OPTION(prefix_1, "integritycheck", integritycheck, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Set FORCE_INTEGRITY bit in PE header", nullptr, nullptr)
-OPTION(prefix_1, "kill-at", kill_at, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "largeaddressaware:no", largeaddressaware_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Disable large addresses (default on 32-bit)", nullptr, nullptr)
-OPTION(prefix_1, "largeaddressaware", largeaddressaware, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Enable large addresses (default on 64-bit)", nullptr, nullptr)
-OPTION(prefix_1, "libpath:", libpath, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Additional library search path", nullptr, nullptr)
-OPTION(prefix_1, "lib", lib, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Act like lib.exe; must be first argument if present", nullptr, nullptr)
-OPTION(prefix_1, "linkrepro:", linkrepro, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Dump linker invocation and input files for debugging", nullptr, nullptr)
-OPTION(prefix_1, "lldltocache:", lldltocache, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Path to ThinLTO cached object file directory", nullptr, nullptr)
-OPTION(prefix_1, "lldltocachepolicy:", lldltocachepolicy, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Pruning policy for the ThinLTO cache", nullptr, nullptr)
-OPTION(prefix_1, "lldmap:", lldmap_file, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "lldmap", lldmap, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "lldmingw", lldmingw, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "lldsavetemps", lldsavetemps, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Save temporary files instead of deleting them", nullptr, nullptr)
-OPTION(prefix_1, "machine:", machine, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Specify target platform", nullptr, nullptr)
-OPTION(prefix_1, "manifest:", manifest_colon, Joined, INVALID, INVALID, nullptr, 0, 0,
- "NO disables manifest output; EMBED[,ID=#] embeds manifest as resource in the image", nullptr, nullptr)
-OPTION(prefix_1, "manifestdependency:", manifestdependency, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Attributes for element in manifest file; implies /manifest", nullptr, nullptr)
-OPTION(prefix_1, "manifestfile:", manifestfile, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Manifest output path, with /manifest", nullptr, nullptr)
-OPTION(prefix_1, "manifestinput:", manifestinput, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Additional manifest inputs; only valid with /manifest:embed", nullptr, nullptr)
-OPTION(prefix_1, "manifestuac:", manifestuac, Joined, INVALID, INVALID, nullptr, 0, 0,
- "User access control", nullptr, nullptr)
-OPTION(prefix_1, "manifest", manifest, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Create .manifest file", nullptr, nullptr)
-OPTION(prefix_1, "maxilksize:", maxilksize, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "merge:", merge, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Combine sections", nullptr, nullptr)
-OPTION(prefix_1, "mllvm:", mllvm, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Options to pass to LLVM", nullptr, nullptr)
-OPTION(prefix_1, "natvis:", natvis, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Path to natvis file to embed in the PDB", nullptr, nullptr)
-OPTION(prefix_1, "no-color-diagnostics", no_color_diagnostics, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Do not use colors in diagnostics", nullptr, nullptr)
-OPTION(prefix_1, "nodefaultlib:", nodefaultlib, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Remove a default library", nullptr, nullptr)
-OPTION(prefix_1, "nodefaultlib", nodefaultlib_all, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Remove all default libraries", nullptr, nullptr)
-OPTION(prefix_1, "noentry", noentry, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Don't add reference to DllMainCRTStartup; only valid with /dll", nullptr, nullptr)
-OPTION(prefix_1, "nologo", nologo, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "nxcompat:no", nxcompat_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Disable data execution provention", nullptr, nullptr)
-OPTION(prefix_1, "nxcompat", nxcompat, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Enable data execution prevention (default)", nullptr, nullptr)
-OPTION(prefix_1, "opt:", opt, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Control optimizations", nullptr, nullptr)
-OPTION(prefix_1, "order:", order, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Put functions in order", nullptr, nullptr)
-OPTION(prefix_1, "out:", out, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Path to file to write output", nullptr, nullptr)
-OPTION(prefix_1, "output-def:", output_def, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "pdb:", pdb, Joined, INVALID, INVALID, nullptr, 0, 0,
- "PDB file path", nullptr, nullptr)
-OPTION(prefix_1, "pdbaltpath:", pdbaltpath, Joined, INVALID, INVALID, nullptr, 0, 0,
- "PDB file path to embed in the image", nullptr, nullptr)
-OPTION(prefix_1, "pdbsourcepath:", pdb_source_path, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Base path used to make relative source file path absolute in PDB", nullptr, nullptr)
-OPTION(prefix_1, "profile", profile, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_2, "rsp-quoting=", rsp_quoting, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Quoting style for response files, 'windows' (default) or 'posix'", nullptr, nullptr)
-OPTION(prefix_1, "safeseh:no", safeseh_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Don't produce an image with Safe Exception Handler", nullptr, nullptr)
-OPTION(prefix_1, "safeseh", safeseh, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Produce an image with Safe Exception Handler (only for x86)", nullptr, nullptr)
-OPTION(prefix_1, "section:", section, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Specify section attributes", nullptr, nullptr)
-OPTION(prefix_1, "stack:", stack, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Size of the stack", nullptr, nullptr)
-OPTION(prefix_1, "stub:", stub, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Specify DOS stub file", nullptr, nullptr)
-OPTION(prefix_1, "subsystem:", subsystem, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Specify subsystem", nullptr, nullptr)
-OPTION(prefix_1, "summary", summary, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "swaprun:cd", swaprun_cd, Flag, INVALID, swaprun, "cd\0", 0, 0,
- "Make loader run output binary from swap instead of from CD", nullptr, nullptr)
-OPTION(prefix_1, "swaprun:net", swaprun_net, Flag, INVALID, swaprun, "net\0", 0, 0,
- "Make loader run output binary from swap instead of from network", nullptr, nullptr)
-OPTION(prefix_1, "swaprun:", swaprun, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Comma-separated list of 'cd' or 'net'", nullptr, nullptr)
-OPTION(prefix_1, "thinlto-emit-imports-files", thinlto_emit_imports_files, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Emit .imports files with -thinlto-index-only", nullptr, nullptr)
-OPTION(prefix_1, "thinlto-index-only:", thinlto_index_only_arg, Joined, INVALID, INVALID, nullptr, 0, 0,
- "-thinlto-index-only and also write native module names to file", nullptr, nullptr)
-OPTION(prefix_1, "thinlto-index-only", thinlto_index_only, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Instead of linking, emit ThinLTO index files", nullptr, nullptr)
-OPTION(prefix_1, "thinlto-object-suffix-replace:", thinlto_object_suffix_replace, Joined, INVALID, INVALID, nullptr, 0, 0,
- "'old;new' replace old suffix with new suffix in ThinLTO index", nullptr, nullptr)
-OPTION(prefix_1, "thinlto-prefix-replace:", thinlto_prefix_replace, Joined, INVALID, INVALID, nullptr, 0, 0,
- "'old;new' replace old prefix with new prefix in ThinLTO outputs", nullptr, nullptr)
-OPTION(prefix_1, "threads:no", threads_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Do not run the linker multi-threaded", nullptr, nullptr)
-OPTION(prefix_1, "threads", threads, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Run the linker multi-threaded (default)", nullptr, nullptr)
-OPTION(prefix_1, "throwingnew", throwingnew, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "timestamp:", timestamp, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Specify the PE header timestamp", nullptr, nullptr)
-OPTION(prefix_1, "time", show_timing, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "tlbid:", tlbid, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "tlbout:", tlbout, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "tsaware:no", tsaware_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Create non-Terminal Server aware executable", nullptr, nullptr)
-OPTION(prefix_1, "tsaware", tsaware, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Create Terminal Server aware executable (default)", nullptr, nullptr)
-OPTION(prefix_1, "verbose:", verbose_all, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "verbose", verbose, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "version:", version, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Specify a version number in the PE header", nullptr, nullptr)
-OPTION(prefix_2, "version", dash_dash_version, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Print version information", nullptr, nullptr)
-OPTION(prefix_1, "wholearchive:", wholearchive_file, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Include all object files from this archive", nullptr, nullptr)
-OPTION(prefix_1, "wholearchive", wholearchive_flag, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "WX:no", WX_no, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Don't treat warnings as errors", nullptr, nullptr)
-OPTION(prefix_1, "WX", WX, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Treat warnings as errors", nullptr, nullptr)
-OPTION(prefix_3, "", help_q, Flag, INVALID, help, nullptr, 0, 0, nullptr, nullptr, nullptr)
-#endif // OPTION
-
-#ifdef OPTTABLE_ARG_INIT
-//////////
-// Option Values
-
-
-#endif // OPTTABLE_ARG_INIT
diff --git a/deps/lld-prebuilt/DarwinLdOptions.inc b/deps/lld-prebuilt/DarwinLdOptions.inc
deleted file mode 100644
index e0e2175fc1..0000000000
--- a/deps/lld-prebuilt/DarwinLdOptions.inc
+++ /dev/null
@@ -1,201 +0,0 @@
-/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
-|* *|
-|* Option Parsing Definitions *|
-|* *|
-|* Automatically generated file, do not edit! *|
-|* *|
-\*===----------------------------------------------------------------------===*/
-
-/////////
-// Prefixes
-
-#ifdef PREFIX
-#define COMMA ,
-PREFIX(prefix_0, {nullptr})
-PREFIX(prefix_1, {"-" COMMA nullptr})
-PREFIX(prefix_2, {"-" COMMA "--" COMMA nullptr})
-#undef COMMA
-#endif // PREFIX
-
-/////////
-// Groups
-
-#ifdef OPTION
-OPTION(nullptr, "opts", grp_bundle, Group, INVALID, INVALID, nullptr, 0, 0,
- "BUNDLE EXECUTABLE OPTIONS", nullptr, nullptr)
-OPTION(nullptr, "opts", grp_dylib, Group, INVALID, INVALID, nullptr, 0, 0,
- "DYLIB EXECUTABLE OPTIONS", nullptr, nullptr)
-OPTION(nullptr, "outs", grp_kind, Group, INVALID, INVALID, nullptr, 0, 0,
- "OUTPUT KIND", nullptr, nullptr)
-OPTION(nullptr, "libs", grp_libs, Group, INVALID, INVALID, nullptr, 0, 0,
- "LIBRARY OPTIONS", nullptr, nullptr)
-OPTION(nullptr, "opts", grp_main, Group, INVALID, INVALID, nullptr, 0, 0,
- "MAIN EXECUTABLE OPTIONS", nullptr, nullptr)
-OPTION(nullptr, "obsolete", grp_obsolete, Group, INVALID, INVALID, nullptr, 0, 0,
- "OBSOLETE OPTIONS", nullptr, nullptr)
-OPTION(nullptr, "opts", grp_opts, Group, INVALID, INVALID, nullptr, 0, 0,
- "OPTIMIZATIONS", nullptr, nullptr)
-
-//////////
-// Options
-
-OPTION(prefix_0, "", INPUT, Input, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_0, "", UNKNOWN, Unknown, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "all_load", all_load, Flag, grp_libs, INVALID, nullptr, 0, 0,
- "Forces all members of all static libraries to be loaded", nullptr, nullptr)
-OPTION(prefix_1, "arch", arch, Separate, INVALID, INVALID, nullptr, 0, 0,
- "Architecture to link", "", nullptr)
-OPTION(prefix_1, "bundle_loader", bundle_loader, Separate, grp_bundle, INVALID, nullptr, 0, 0,
- "The executable that will be loading this Mach-O bundle", "", nullptr)
-OPTION(prefix_1, "bundle", bundle, Flag, grp_kind, INVALID, nullptr, 0, 0,
- "Create dynamic bundle", nullptr, nullptr)
-OPTION(prefix_1, "compatibility_version", compatibility_version, Separate, grp_dylib, INVALID, nullptr, 0, 0,
- "The dylib's compatibility version", "", nullptr)
-OPTION(prefix_1, "current_version", current_version, Separate, grp_dylib, INVALID, nullptr, 0, 0,
- "The dylib's current version", "", nullptr)
-OPTION(prefix_1, "data_in_code_info", data_in_code_info, Flag, grp_opts, INVALID, nullptr, 0, 0,
- "Force generation of a data in code load command", nullptr, nullptr)
-OPTION(prefix_1, "dead_strip", dead_strip, Flag, grp_opts, INVALID, nullptr, 0, 0,
- "Remove unreference code and data", nullptr, nullptr)
-OPTION(prefix_1, "demangle", demangle, Flag, INVALID, INVALID, nullptr, 0, 0,
- "Demangles symbol names in errors and warnings", nullptr, nullptr)
-OPTION(prefix_1, "dependency_info", dependency_info, Separate, INVALID, INVALID, nullptr, 0, 0,
- "Write binary list of files used during link", "", nullptr)
-OPTION(prefix_1, "dylib_compatibility_version", dylib_compatibility_version, Separate, INVALID, compatibility_version, nullptr, 0, 0, nullptr, "", nullptr)
-OPTION(prefix_1, "dylib_current_version", dylib_current_version, Separate, INVALID, current_version, nullptr, 0, 0, nullptr, "", nullptr)
-OPTION(prefix_1, "dylib_install_name", dylib_install_name, Separate, INVALID, install_name, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "dylib", dylib, Flag, grp_kind, INVALID, nullptr, 0, 0,
- "Create dynamic library", nullptr, nullptr)
-OPTION(prefix_1, "dynamic", dynamic, Flag, grp_kind, INVALID, nullptr, 0, 0,
- "Create dynamic executable (default)", nullptr, nullptr)
-OPTION(prefix_2, "error-limit", error_limit, Separate, INVALID, INVALID, nullptr, 0, 0,
- "Maximum number of errors to emit before stopping (0 = no limit)", "", nullptr)
-OPTION(prefix_1, "execute", execute, Flag, grp_kind, INVALID, nullptr, 0, 0,
- "Create main executable (default)", nullptr, nullptr)
-OPTION(prefix_1, "export_dynamic", export_dynamic, Flag, grp_main, INVALID, nullptr, 0, 0,
- "Preserves all global symbols in main executables during LTO", nullptr, nullptr)
-OPTION(prefix_1, "exported_symbols_list", exported_symbols_list, Separate, grp_opts, INVALID, nullptr, 0, 0,
- "Restricts which symbols will be exported", "", nullptr)
-OPTION(prefix_1, "exported_symbol", exported_symbol, Separate, grp_opts, INVALID, nullptr, 0, 0,
- "Restricts which symbols will be exported", "", nullptr)
-OPTION(prefix_1, "e", entry, Separate, grp_main, INVALID, nullptr, 0, 0,
- "entry symbol name", "", nullptr)
-OPTION(prefix_1, "filelist", filelist, Separate, INVALID, INVALID, nullptr, 0, 0,
- "file containing paths to input files", "", nullptr)
-OPTION(prefix_1, "flat_namespace", flat_namespace, Flag, grp_opts, INVALID, nullptr, 0, 0,
- "Resolves symbols in any (transitively) linked dynamic libraries. Source libraries are not recorded: dyld will re-search all images at runtime and use the first definition found.", nullptr, nullptr)
-OPTION(prefix_1, "force_load", force_load, Separate, grp_libs, INVALID, nullptr, 0, 0,
- "Forces all members of specified static libraries to be loaded", "", nullptr)
-OPTION(prefix_1, "framework", framework, Separate, INVALID, INVALID, nullptr, 0, 0,
- "Base name of framework searched for in -F directories", "", nullptr)
-OPTION(prefix_1, "function_starts", function_starts, Flag, grp_opts, INVALID, nullptr, 0, 0,
- "Force generation of a function starts load command", nullptr, nullptr)
-OPTION(prefix_1, "F", F, JoinedOrSeparate, grp_libs, INVALID, nullptr, 0, 0,
- "Add directory to framework search path", "", nullptr)
-OPTION(prefix_1, "image_base", image_base, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "install_name", install_name, Separate, grp_dylib, INVALID, nullptr, 0, 0,
- "The dylib's install name", "", nullptr)
-OPTION(prefix_1, "ios_simulator_version_min", ios_simulator_version_min, Separate, grp_opts, INVALID, nullptr, 0, 0,
- "Minimum iOS simulator version", "", nullptr)
-OPTION(prefix_1, "ios_version_min", ios_version_min, Separate, grp_opts, INVALID, nullptr, 0, 0,
- "Minimum iOS version", "", nullptr)
-OPTION(prefix_1, "iphoneos_version_min", iphoneos_version_min, Separate, INVALID, ios_version_min, nullptr, 0, 0, nullptr, nullptr, nullptr)
-OPTION(prefix_1, "keep_private_externs", keep_private_externs, Flag, grp_opts, INVALID, nullptr, 0, 0,
- "Private extern (hidden) symbols should not be transformed into local symbols", nullptr, nullptr)
-OPTION(prefix_1, "lto_library", lto_library, Separate, INVALID, INVALID, nullptr, 0, 0,
- "Ignored for compatibility with other linkers", "", nullptr)
-OPTION(prefix_1, "L", L, JoinedOrSeparate, grp_libs, INVALID, nullptr, 0, 0,
- "Add directory to library search path", "", nullptr)
-OPTION(prefix_1, "l", l, Joined, INVALID, INVALID, nullptr, 0, 0,
- "Base name of library searched for in -L directories", "", nullptr)
-OPTION(prefix_1, "macosx_version_min", macosx_version_min, Separate, grp_opts, INVALID, nullptr, 0, 0,
- "Minimum Mac OS X version", "", nullptr)
-OPTION(prefix_1, "mark_dead_strippable_dylib", mark_dead_strippable_dylib, Flag, grp_dylib, INVALID, nullptr, 0, 0,
- "Marks the dylib as having no side effects during initialization", nullptr, nullptr)
-OPTION(prefix_1, "mllvm", mllvm, Separate, grp_opts, INVALID, nullptr, 0, 0,
- "Options to pass to LLVM during LTO", "