From 3348cb915f046921917e5b9e8a36c3f7a7532b60 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 16 Nov 2020 17:57:22 -0700 Subject: [PATCH] cmake: add the correct set of zig stage2 sources --- CMakeLists.txt | 267 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 258 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ef21c3e4c..9e5a907ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -258,6 +258,15 @@ set(SOFTFLOAT_LIBRARIES embedded_softfloat) find_package(Threads) +set(ZIG_LIB_DIR "lib/zig") +set(C_HEADERS_DEST "${ZIG_LIB_DIR}/include") +set(LIBC_FILES_DEST "${ZIG_LIB_DIR}/libc") +set(LIBUNWIND_FILES_DEST "${ZIG_LIB_DIR}/libunwind") +set(LIBCXX_FILES_DEST "${ZIG_LIB_DIR}/libcxx") +set(ZIG_STD_DEST "${ZIG_LIB_DIR}/std") +set(ZIG_CONFIG_H_OUT "${CMAKE_BINARY_DIR}/config.h") +set(ZIG_CONFIG_ZIG_OUT "${CMAKE_BINARY_DIR}/config.zig") + # This is our shim which will be replaced by stage1.zig. set(ZIG0_SOURCES "${CMAKE_SOURCE_DIR}/src/stage1/zig0.cpp" @@ -300,9 +309,257 @@ set(ZIG_CPP_SOURCES "${CMAKE_SOURCE_DIR}/src/windows_sdk.cpp" ) # Needed because we use cmake, not the zig build system, to build zig1.o. +# This list is generated by building zig and then clearing the zig-cache directory, +# then manually running the build-obj command (see BUILD_ZIG1_ARGS), and then looking +# in the zig-cache directory for the compiler-generated list of zig file dependencies. set(ZIG_STAGE2_SOURCES - "${CMAKE_SOURCE_DIR}/src/main.zig" + "${ZIG_CONFIG_ZIG_OUT}" + "${CMAKE_SOURCE_DIR}/lib/std/array_hash_map.zig" + "${CMAKE_SOURCE_DIR}/lib/std/array_list.zig" + "${CMAKE_SOURCE_DIR}/lib/std/ascii.zig" + "${CMAKE_SOURCE_DIR}/lib/std/atomic.zig" + "${CMAKE_SOURCE_DIR}/lib/std/atomic/int.zig" + "${CMAKE_SOURCE_DIR}/lib/std/atomic/queue.zig" + "${CMAKE_SOURCE_DIR}/lib/std/atomic/stack.zig" + "${CMAKE_SOURCE_DIR}/lib/std/auto_reset_event.zig" + "${CMAKE_SOURCE_DIR}/lib/std/base64.zig" + "${CMAKE_SOURCE_DIR}/lib/std/buf_map.zig" + "${CMAKE_SOURCE_DIR}/lib/std/builtin.zig" + "${CMAKE_SOURCE_DIR}/lib/std/c.zig" + "${CMAKE_SOURCE_DIR}/lib/std/c/linux.zig" + "${CMAKE_SOURCE_DIR}/lib/std/c/tokenizer.zig" + "${CMAKE_SOURCE_DIR}/lib/std/child_process.zig" + "${CMAKE_SOURCE_DIR}/lib/std/coff.zig" + "${CMAKE_SOURCE_DIR}/lib/std/comptime_string_map.zig" + "${CMAKE_SOURCE_DIR}/lib/std/crypto.zig" + "${CMAKE_SOURCE_DIR}/lib/std/crypto/blake3.zig" + "${CMAKE_SOURCE_DIR}/lib/std/crypto/siphash.zig" + "${CMAKE_SOURCE_DIR}/lib/std/debug.zig" + "${CMAKE_SOURCE_DIR}/lib/std/dwarf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/dwarf_bits.zig" + "${CMAKE_SOURCE_DIR}/lib/std/elf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/event.zig" + "${CMAKE_SOURCE_DIR}/lib/std/event/batch.zig" + "${CMAKE_SOURCE_DIR}/lib/std/event/loop.zig" + "${CMAKE_SOURCE_DIR}/lib/std/fifo.zig" + "${CMAKE_SOURCE_DIR}/lib/std/fmt.zig" + "${CMAKE_SOURCE_DIR}/lib/std/fmt/errol.zig" + "${CMAKE_SOURCE_DIR}/lib/std/fmt/errol/enum3.zig" + "${CMAKE_SOURCE_DIR}/lib/std/fmt/errol/lookup.zig" + "${CMAKE_SOURCE_DIR}/lib/std/fmt/parse_float.zig" + "${CMAKE_SOURCE_DIR}/lib/std/fs.zig" + "${CMAKE_SOURCE_DIR}/lib/std/fs/file.zig" + "${CMAKE_SOURCE_DIR}/lib/std/fs/get_app_data_dir.zig" + "${CMAKE_SOURCE_DIR}/lib/std/fs/path.zig" + "${CMAKE_SOURCE_DIR}/lib/std/hash.zig" + "${CMAKE_SOURCE_DIR}/lib/std/hash/auto_hash.zig" + "${CMAKE_SOURCE_DIR}/lib/std/hash/wyhash.zig" + "${CMAKE_SOURCE_DIR}/lib/std/hash_map.zig" + "${CMAKE_SOURCE_DIR}/lib/std/heap.zig" + "${CMAKE_SOURCE_DIR}/lib/std/heap/arena_allocator.zig" + "${CMAKE_SOURCE_DIR}/lib/std/io.zig" + "${CMAKE_SOURCE_DIR}/lib/std/io/auto_indenting_stream.zig" + "${CMAKE_SOURCE_DIR}/lib/std/io/buffered_atomic_file.zig" + "${CMAKE_SOURCE_DIR}/lib/std/io/buffered_writer.zig" + "${CMAKE_SOURCE_DIR}/lib/std/io/change_detection_stream.zig" + "${CMAKE_SOURCE_DIR}/lib/std/io/counting_writer.zig" + "${CMAKE_SOURCE_DIR}/lib/std/io/find_byte_out_stream.zig" + "${CMAKE_SOURCE_DIR}/lib/std/io/fixed_buffer_stream.zig" + "${CMAKE_SOURCE_DIR}/lib/std/io/reader.zig" + "${CMAKE_SOURCE_DIR}/lib/std/io/seekable_stream.zig" + "${CMAKE_SOURCE_DIR}/lib/std/io/writer.zig" + "${CMAKE_SOURCE_DIR}/lib/std/json.zig" + "${CMAKE_SOURCE_DIR}/lib/std/json/write_stream.zig" + "${CMAKE_SOURCE_DIR}/lib/std/leb128.zig" + "${CMAKE_SOURCE_DIR}/lib/std/linked_list.zig" + "${CMAKE_SOURCE_DIR}/lib/std/log.zig" + "${CMAKE_SOURCE_DIR}/lib/std/macho.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math/big.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math/big/int.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math/floor.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math/frexp.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math/inf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math/isinf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math/isnan.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math/ln.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math/log.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math/log10.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math/log2.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math/nan.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math/signbit.zig" + "${CMAKE_SOURCE_DIR}/lib/std/math/sqrt.zig" + "${CMAKE_SOURCE_DIR}/lib/std/mem.zig" + "${CMAKE_SOURCE_DIR}/lib/std/mem/Allocator.zig" + "${CMAKE_SOURCE_DIR}/lib/std/meta.zig" + "${CMAKE_SOURCE_DIR}/lib/std/meta/trailer_flags.zig" + "${CMAKE_SOURCE_DIR}/lib/std/meta/trait.zig" + "${CMAKE_SOURCE_DIR}/lib/std/mutex.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os/bits.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os/bits/linux.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os/bits/linux/errno-generic.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os/bits/linux/netlink.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os/bits/linux/prctl.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os/bits/linux/securebits.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os/bits/linux/x86_64.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os/linux.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os/linux/io_uring.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os/linux/x86_64.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os/windows.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os/windows/bits.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os/windows/ntstatus.zig" + "${CMAKE_SOURCE_DIR}/lib/std/os/windows/win32error.zig" + "${CMAKE_SOURCE_DIR}/lib/std/pdb.zig" + "${CMAKE_SOURCE_DIR}/lib/std/process.zig" + "${CMAKE_SOURCE_DIR}/lib/std/progress.zig" + "${CMAKE_SOURCE_DIR}/lib/std/rand.zig" + "${CMAKE_SOURCE_DIR}/lib/std/reset_event.zig" + "${CMAKE_SOURCE_DIR}/lib/std/sort.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/addXf3.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/atomics.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/clear_cache.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/clzsi2.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/compareXf2.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/divdf3.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/divsf3.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/divtf3.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/divti3.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/extendXfYf2.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixdfdi.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixdfsi.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixdfti.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixint.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixsfdi.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixsfsi.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixsfti.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixtfdi.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixtfsi.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixtfti.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixuint.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixunsdfdi.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixunsdfsi.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixunsdfti.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixunssfdi.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixunssfsi.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixunssfti.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixunstfdi.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixunstfsi.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/fixunstfti.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floatXisf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floatdidf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floatditf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floatsiXf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floattidf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floattitf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floatundidf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floatundisf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floatunditf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floatunsidf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floatunsisf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floatunsitf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floatuntidf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floatuntisf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/floatuntitf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/int.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/modti3.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/mulXf3.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/muldi3.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/mulodi4.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/muloti4.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/multi3.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/negXf2.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/popcountdi2.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/shift.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/stack_probe.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/truncXfYf2.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/udivmod.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/udivmodti4.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/udivti3.zig" + "${CMAKE_SOURCE_DIR}/lib/std/special/compiler_rt/umodti3.zig" + "${CMAKE_SOURCE_DIR}/lib/std/spinlock.zig" + "${CMAKE_SOURCE_DIR}/lib/std/start.zig" + "${CMAKE_SOURCE_DIR}/lib/std/std.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/aarch64.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/amdgpu.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/arm.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/avr.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/bpf.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/hexagon.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/mips.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/msp430.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/nvptx.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/powerpc.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/riscv.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/sparc.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/systemz.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/wasm.zig" + "${CMAKE_SOURCE_DIR}/lib/std/target/x86.zig" + "${CMAKE_SOURCE_DIR}/lib/std/thread.zig" + "${CMAKE_SOURCE_DIR}/lib/std/time.zig" + "${CMAKE_SOURCE_DIR}/lib/std/unicode.zig" + "${CMAKE_SOURCE_DIR}/lib/std/zig.zig" + "${CMAKE_SOURCE_DIR}/lib/std/zig/ast.zig" + "${CMAKE_SOURCE_DIR}/lib/std/zig/cross_target.zig" + "${CMAKE_SOURCE_DIR}/lib/std/zig/parse.zig" + "${CMAKE_SOURCE_DIR}/lib/std/zig/render.zig" + "${CMAKE_SOURCE_DIR}/lib/std/zig/string_literal.zig" + "${CMAKE_SOURCE_DIR}/lib/std/zig/system.zig" + "${CMAKE_SOURCE_DIR}/lib/std/zig/system/x86.zig" + "${CMAKE_SOURCE_DIR}/lib/std/zig/tokenizer.zig" + "${CMAKE_SOURCE_DIR}/src/Cache.zig" + "${CMAKE_SOURCE_DIR}/src/Compilation.zig" + "${CMAKE_SOURCE_DIR}/src/DepTokenizer.zig" "${CMAKE_SOURCE_DIR}/src/Module.zig" + "${CMAKE_SOURCE_DIR}/src/Package.zig" + "${CMAKE_SOURCE_DIR}/src/RangeSet.zig" + "${CMAKE_SOURCE_DIR}/src/TypedValue.zig" + "${CMAKE_SOURCE_DIR}/src/astgen.zig" + "${CMAKE_SOURCE_DIR}/src/clang.zig" + "${CMAKE_SOURCE_DIR}/src/clang_options.zig" + "${CMAKE_SOURCE_DIR}/src/clang_options_data.zig" + "${CMAKE_SOURCE_DIR}/src/codegen.zig" + "${CMAKE_SOURCE_DIR}/src/codegen/aarch64.zig" + "${CMAKE_SOURCE_DIR}/src/codegen/arm.zig" + "${CMAKE_SOURCE_DIR}/src/codegen/c.zig" + "${CMAKE_SOURCE_DIR}/src/codegen/llvm.zig" + "${CMAKE_SOURCE_DIR}/src/codegen/riscv64.zig" + "${CMAKE_SOURCE_DIR}/src/codegen/spu-mk2.zig" + "${CMAKE_SOURCE_DIR}/src/codegen/wasm.zig" + "${CMAKE_SOURCE_DIR}/src/codegen/x86_64.zig" + "${CMAKE_SOURCE_DIR}/src/glibc.zig" + "${CMAKE_SOURCE_DIR}/src/introspect.zig" + "${CMAKE_SOURCE_DIR}/src/ir.zig" + "${CMAKE_SOURCE_DIR}/src/libc_installation.zig" + "${CMAKE_SOURCE_DIR}/src/libcxx.zig" + "${CMAKE_SOURCE_DIR}/src/libunwind.zig" + "${CMAKE_SOURCE_DIR}/src/link.zig" + "${CMAKE_SOURCE_DIR}/src/link/C.zig" + "${CMAKE_SOURCE_DIR}/src/link/Coff.zig" + "${CMAKE_SOURCE_DIR}/src/link/Elf.zig" + "${CMAKE_SOURCE_DIR}/src/link/MachO.zig" + "${CMAKE_SOURCE_DIR}/src/link/MachO/Trie.zig" + "${CMAKE_SOURCE_DIR}/src/link/Wasm.zig" + "${CMAKE_SOURCE_DIR}/src/link/cbe.h" + "${CMAKE_SOURCE_DIR}/src/link/msdos-stub.bin" + "${CMAKE_SOURCE_DIR}/src/liveness.zig" + "${CMAKE_SOURCE_DIR}/src/llvm.zig" + "${CMAKE_SOURCE_DIR}/src/main.zig" + "${CMAKE_SOURCE_DIR}/src/mingw.zig" + "${CMAKE_SOURCE_DIR}/src/musl.zig" + "${CMAKE_SOURCE_DIR}/src/print_env.zig" + "${CMAKE_SOURCE_DIR}/src/print_targets.zig" + "${CMAKE_SOURCE_DIR}/src/stage1.zig" + "${CMAKE_SOURCE_DIR}/src/target.zig" + "${CMAKE_SOURCE_DIR}/src/tracy.zig" + "${CMAKE_SOURCE_DIR}/src/translate_c.zig" + "${CMAKE_SOURCE_DIR}/src/type.zig" + "${CMAKE_SOURCE_DIR}/src/value.zig" + "${CMAKE_SOURCE_DIR}/src/windows_sdk.zig" + "${CMAKE_SOURCE_DIR}/src/zir.zig" + "${CMAKE_SOURCE_DIR}/src/zir_sema.zig" ) if(MSVC) @@ -313,14 +570,6 @@ if(MSVC) endif() endif() -set(ZIG_LIB_DIR "lib/zig") -set(C_HEADERS_DEST "${ZIG_LIB_DIR}/include") -set(LIBC_FILES_DEST "${ZIG_LIB_DIR}/libc") -set(LIBUNWIND_FILES_DEST "${ZIG_LIB_DIR}/libunwind") -set(LIBCXX_FILES_DEST "${ZIG_LIB_DIR}/libcxx") -set(ZIG_STD_DEST "${ZIG_LIB_DIR}/std") -set(ZIG_CONFIG_H_OUT "${CMAKE_BINARY_DIR}/config.h") -set(ZIG_CONFIG_ZIG_OUT "${CMAKE_BINARY_DIR}/config.zig") configure_file ( "${CMAKE_SOURCE_DIR}/src/stage1/config.h.in" "${ZIG_CONFIG_H_OUT}"