-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CMake: general cleanup and fixes #19969
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Eric Joldasov <[email protected]>
Signed-off-by: Eric Joldasov <[email protected]>
* Localize most of the global properties and functions, for some time they are only needed for "zigcpp" static library (sometimes with PUBLIC keyword, so that it will propagate to zig2): `CMAKE_*_OUTPUT_DIRECTORY` and two calls to `include_directories`. This removes useless flags when building other targets and cleans build log a bit. * Remove `EXE_CXX_FLAGS` variable, instead use more appropriate specific properties and functions for this target. This gives better errors if compiler does not support some of them, and CMake also handles for us duplicate flags. It's also easier to read side-by-side with same flags from build.zig . * Add some comments. Signed-off-by: Eric Joldasov <[email protected]>
Signed-off-by: Eric Joldasov <[email protected]>
They were introduced in ziglang#3467 and 5b51f41 , and become obsolete since C++-based compiler was removed: all C or C++ sources built by CMake are just intermediate steps in bootstrapping. Signed-off-by: Eric Joldasov <[email protected]>
Replace `CMAKE_SOURCE_DIR` and `CMAKE_BUILD_DIR` with different variables, or in some cases just remove them. For some function arguments, prepended `CMAKE_SOURCE_DIR` was removed without replacement. This includes: * Sources for `add_library` and `add_executable` (`ZIG_CPP_SOURCES` and `ZIG_WASM2C_SOURCES`) * Inputs for `configure_file` and `target_include_directory` * For arguments above, CMake already prepends `CMAKE_CURRENT_SOURCE_DIR` to them by default, if they are relative paths. Additionaly, it was removed from arguments of commands that have `WORKING_DIRECTORY` set to `PROJECT_SOURCE_DIR`, they will be similarly converted by CMake for us. Also: * Move project declaration to the top so that these variables are available earlier. * Avoid calling "git" executable if ".git" directory does not exist. * Swap "--prefix" and `ZIG_BUILD_ARGS` arguments in cmake/install.cmake to match same "zig2 build" command in CMakeLists.txt and allow overriding "--prefix" argument Signed-off-by: Eric Joldasov <[email protected]>
Set `ZIG_PIE` default to be same as `CMAKE_POSITION_INDEPENDENT_CODE`, and add check for situation when `ZIG_PIE` is set to True but CMake does not support compiling position independent code. CMake's support is needed for "zigcpp" target. Also remove temporary variables for constructing `ZIG_BUILD_ARGS`, instead use `list(APPEND ...)` functions. Also remove long unused `ZIG_NO_LANGREF` variable. Signed-off-by: Eric Joldasov <[email protected]>
Not really useful after old C++ compiler removal, and zig build has own cache system. If someone still wants it, `CMAKE_C_COMPILER_LAUNCHER` and `CMAKE_CXX_COMPILER_LAUNCHER` exist. From CMake docs: > RULE_LAUNCH_COMPILE > Note: This property is intended for internal use by ctest(1). > Projects and developers should use the <LANG>_COMPILER_LAUNCHER > target properties or the associated CMAKE_<LANG>_COMPILER_LAUNCHER > variables instead. Signed-off-by: Eric Joldasov <[email protected]>
64fa00a
to
1079b5f
Compare
Build log before:$ rm -r build
$ mkdir build
$ cd build
$ cmake -DZIG_SHARED_LLVM=ON -DCMAKE_INSTALL_PREFIX=stage4 -GNinja ..
-- The C compiler identification is GNU 12.3.1
-- The CXX compiler identification is GNU 12.3.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring zig version 0.13.0-dev.211+6a65561e3
-- Found llvm: /usr/lib/llvm/18/lib64/libLLVM-18.so (Required is at least version "18")
-- Found clang: /usr/lib/llvm/18/lib64/libclang-cpp.so (Required is at least version "18")
-- Found lld: /usr/lib/llvm/18/lib64/liblldMinGW.so;/usr/lib/llvm/18/lib64/liblldELF.so;/usr/lib/llvm/18/lib64/liblldCOFF.so;/usr/lib/llvm/18/lib64/liblldWasm.so;/usr/lib/llvm/18/lib64/liblldMachO.so;/usr/lib/llvm/18/lib64/liblldCommon.so (Required is at least version "18")
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done (0.4s)
-- Generating done (0.0s)
-- Build files have been written to: /home/bratishkaerik/github.com/zig/build
$ cmake --build . --verbose
Change Dir: '/home/bratishkaerik/github.com/zig/build'
Run Build Command(s): /usr/bin/ninja -v
[1/19] /usr/bin/cc -I/usr/lib/llvm/18/include -I/home/bratishkaerik/github.com/zig -I/home/bratishkaerik/github.com/zig/build -I/home/bratishkaerik/github.com/zig/src -g -std=c99 -O2 -MD -MT CMakeFiles/zig-wasm2c.dir/stage1/wasm2c.c.o -MF CMakeFiles/zig-wasm2c.dir/stage1/wasm2c.c.o.d -o CMakeFiles/zig-wasm2c.dir/stage1/wasm2c.c.o -c /home/bratishkaerik/github.com/zig/stage1/wasm2c.c
[2/19] : && /usr/bin/cc -g CMakeFiles/zig-wasm2c.dir/stage1/wasm2c.c.o -o zig-wasm2c -L/usr/lib/llvm/18/lib64 && :
[3/19] /usr/bin/c++ -I/usr/lib/llvm/18/include -I/home/bratishkaerik/github.com/zig -I/home/bratishkaerik/github.com/zig/build -I/home/bratishkaerik/github.com/zig/src -g -std=c++17 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -fvisibility-inlines-hidden -fno-exceptions -fno-rtti -Wno-type-limits -Wno-missing-braces -Wno-comment -fno-stack-protector -MD -MT CMakeFiles/zigcpp.dir/src/zig_llvm-ar.cpp.o -MF CMakeFiles/zigcpp.dir/src/zig_llvm-ar.cpp.o.d -o CMakeFiles/zigcpp.dir/src/zig_llvm-ar.cpp.o -c /home/bratishkaerik/github.com/zig/src/zig_llvm-ar.cpp
[4/19] cd /home/bratishkaerik/github.com/zig && /home/bratishkaerik/github.com/zig/build/zig-wasm2c /home/bratishkaerik/github.com/zig/stage1/zig1.wasm /home/bratishkaerik/github.com/zig/build/zig1.c
[5/19] /usr/bin/cc -I/usr/lib/llvm/18/include -I/home/bratishkaerik/github.com/zig -I/home/bratishkaerik/github.com/zig/build -I/home/bratishkaerik/github.com/zig/src -g -std=c99 -Os -MD -MT CMakeFiles/zig1.dir/stage1/wasi.c.o -MF CMakeFiles/zig1.dir/stage1/wasi.c.o.d -o CMakeFiles/zig1.dir/stage1/wasi.c.o -c /home/bratishkaerik/github.com/zig/stage1/wasi.c
[6/19] /usr/bin/c++ -I/usr/lib/llvm/18/include -I/home/bratishkaerik/github.com/zig -I/home/bratishkaerik/github.com/zig/build -I/home/bratishkaerik/github.com/zig/src -g -std=c++17 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -fvisibility-inlines-hidden -fno-exceptions -fno-rtti -Wno-type-limits -Wno-missing-braces -Wno-comment -fno-stack-protector -MD -MT CMakeFiles/zigcpp.dir/src/zig_clang_cc1as_main.cpp.o -MF CMakeFiles/zigcpp.dir/src/zig_clang_cc1as_main.cpp.o.d -o CMakeFiles/zigcpp.dir/src/zig_clang_cc1as_main.cpp.o -c /home/bratishkaerik/github.com/zig/src/zig_clang_cc1as_main.cpp
[7/19] /usr/bin/c++ -I/usr/lib/llvm/18/include -I/home/bratishkaerik/github.com/zig -I/home/bratishkaerik/github.com/zig/build -I/home/bratishkaerik/github.com/zig/src -g -std=c++17 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -fvisibility-inlines-hidden -fno-exceptions -fno-rtti -Wno-type-limits -Wno-missing-braces -Wno-comment -fno-stack-protector -MD -MT CMakeFiles/zigcpp.dir/src/zig_clang_driver.cpp.o -MF CMakeFiles/zigcpp.dir/src/zig_clang_driver.cpp.o.d -o CMakeFiles/zigcpp.dir/src/zig_clang_driver.cpp.o -c /home/bratishkaerik/github.com/zig/src/zig_clang_driver.cpp
[8/19] /usr/bin/c++ -I/usr/lib/llvm/18/include -I/home/bratishkaerik/github.com/zig -I/home/bratishkaerik/github.com/zig/build -I/home/bratishkaerik/github.com/zig/src -g -std=c++17 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -fvisibility-inlines-hidden -fno-exceptions -fno-rtti -Wno-type-limits -Wno-missing-braces -Wno-comment -fno-stack-protector -MD -MT CMakeFiles/zigcpp.dir/src/zig_llvm.cpp.o -MF CMakeFiles/zigcpp.dir/src/zig_llvm.cpp.o.d -o CMakeFiles/zigcpp.dir/src/zig_llvm.cpp.o -c /home/bratishkaerik/github.com/zig/src/zig_llvm.cpp
[9/19] /usr/bin/c++ -I/usr/lib/llvm/18/include -I/home/bratishkaerik/github.com/zig -I/home/bratishkaerik/github.com/zig/build -I/home/bratishkaerik/github.com/zig/src -g -std=c++17 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -fvisibility-inlines-hidden -fno-exceptions -fno-rtti -Wno-type-limits -Wno-missing-braces -Wno-comment -fno-stack-protector -MD -MT CMakeFiles/zigcpp.dir/src/zig_clang.cpp.o -MF CMakeFiles/zigcpp.dir/src/zig_clang.cpp.o.d -o CMakeFiles/zigcpp.dir/src/zig_clang.cpp.o -c /home/bratishkaerik/github.com/zig/src/zig_clang.cpp
[10/19] /usr/bin/c++ -I/usr/lib/llvm/18/include -I/home/bratishkaerik/github.com/zig -I/home/bratishkaerik/github.com/zig/build -I/home/bratishkaerik/github.com/zig/src -g -std=c++17 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D_GNU_SOURCE -fvisibility-inlines-hidden -fno-exceptions -fno-rtti -Wno-type-limits -Wno-missing-braces -Wno-comment -fno-stack-protector -MD -MT CMakeFiles/zigcpp.dir/src/zig_clang_cc1_main.cpp.o -MF CMakeFiles/zigcpp.dir/src/zig_clang_cc1_main.cpp.o.d -o CMakeFiles/zigcpp.dir/src/zig_clang_cc1_main.cpp.o -c /home/bratishkaerik/github.com/zig/src/zig_clang_cc1_main.cpp
[11/19] : && /usr/bin/cmake -E rm -f zigcpp/libzigcpp.a && /usr/bin/ar qc zigcpp/libzigcpp.a CMakeFiles/zigcpp.dir/src/zig_llvm.cpp.o CMakeFiles/zigcpp.dir/src/zig_llvm-ar.cpp.o CMakeFiles/zigcpp.dir/src/zig_clang.cpp.o CMakeFiles/zigcpp.dir/src/zig_clang_driver.cpp.o CMakeFiles/zigcpp.dir/src/zig_clang_cc1_main.cpp.o CMakeFiles/zigcpp.dir/src/zig_clang_cc1as_main.cpp.o && /usr/bin/ranlib zigcpp/libzigcpp.a && :
[12/19] /usr/bin/cc -I/usr/lib/llvm/18/include -I/home/bratishkaerik/github.com/zig -I/home/bratishkaerik/github.com/zig/build -I/home/bratishkaerik/github.com/zig/src -g -std=c99 -Os -MD -MT CMakeFiles/zig1.dir/zig1.c.o -MF CMakeFiles/zig1.dir/zig1.c.o.d -o CMakeFiles/zig1.dir/zig1.c.o -c /home/bratishkaerik/github.com/zig/build/zig1.c
[13/19] : && /usr/bin/cc -g CMakeFiles/zig1.dir/zig1.c.o CMakeFiles/zig1.dir/stage1/wasi.c.o -o zig1 -L/usr/lib/llvm/18/lib64 -Wl,-rpath,/usr/lib/llvm/18/lib64 -lm && :
[14/19] cd /home/bratishkaerik/github.com/zig && /home/bratishkaerik/github.com/zig/build/zig1 /home/bratishkaerik/github.com/zig/lib build-obj -ofmt=c -OReleaseSmall --name compiler_rt -femit-bin="/home/bratishkaerik/github.com/zig/build/compiler_rt.c" -target x86_64-linux --dep build_options --mod root lib/compiler_rt.zig --mod build_options /home/bratishkaerik/github.com/zig/build/config.zig
[15/19] cd /home/bratishkaerik/github.com/zig && /home/bratishkaerik/github.com/zig/build/zig1 /home/bratishkaerik/github.com/zig/lib build-exe -ofmt=c -lc -OReleaseSmall --name zig2 -femit-bin="/home/bratishkaerik/github.com/zig/build/zig2.c" -target x86_64-linux --dep build_options --dep aro --mod root src/main.zig --mod build_options /home/bratishkaerik/github.com/zig/build/config.zig --mod aro lib/compiler/aro/aro.zig
[16/19] /usr/bin/cc -I/usr/lib/llvm/18/include -I/home/bratishkaerik/github.com/zig -I/home/bratishkaerik/github.com/zig/build -I/home/bratishkaerik/github.com/zig/src -I/home/bratishkaerik/github.com/zig/stage1 -g -std=c99 -O0 -fno-stack-protector -MD -MT CMakeFiles/zig2.dir/compiler_rt.c.o -MF CMakeFiles/zig2.dir/compiler_rt.c.o.d -o CMakeFiles/zig2.dir/compiler_rt.c.o -c /home/bratishkaerik/github.com/zig/build/compiler_rt.c
[17/19] /usr/bin/cc -I/usr/lib/llvm/18/include -I/home/bratishkaerik/github.com/zig -I/home/bratishkaerik/github.com/zig/build -I/home/bratishkaerik/github.com/zig/src -I/home/bratishkaerik/github.com/zig/stage1 -g -std=c99 -O0 -fno-stack-protector -MD -MT CMakeFiles/zig2.dir/zig2.c.o -MF CMakeFiles/zig2.dir/zig2.c.o.d -o CMakeFiles/zig2.dir/zig2.c.o -c /home/bratishkaerik/github.com/zig/build/zig2.c
[18/19] : && /usr/bin/c++ -g -Wl,-z,stack-size=0x10000000 CMakeFiles/zig2.dir/zig2.c.o CMakeFiles/zig2.dir/compiler_rt.c.o -o zig2 -L/usr/lib/llvm/18/lib64 -Wl,-rpath,/usr/lib/llvm/18/lib64 zigcpp/libzigcpp.a /usr/lib/llvm/18/lib64/libclang-cpp.so /usr/lib/llvm/18/lib64/liblldMinGW.so /usr/lib/llvm/18/lib64/liblldELF.so /usr/lib/llvm/18/lib64/liblldCOFF.so /usr/lib/llvm/18/lib64/liblldWasm.so /usr/lib/llvm/18/lib64/liblldMachO.so /usr/lib/llvm/18/lib64/liblldCommon.so /usr/lib/llvm/18/lib64/libLLVM-18.so && :
[19/19] cd /home/bratishkaerik/github.com/zig && /home/bratishkaerik/github.com/zig/build/zig2 build --prefix /home/bratishkaerik/github.com/zig/build/stage3 --zig-lib-dir /home/bratishkaerik/github.com/zig/lib -Dconfig_h=/home/bratishkaerik/github.com/zig/build/config.h -Denable-llvm -Dno-langref -Dtarget=native -Dcpu=native -Dversion-string=0.13.0-dev.211+6a65561e3
$ cmake --install . --verbose
-- Install configuration: "Debug"
$ exa
build.ninja cmake_install.cmake CMakeCache.txt CMakeFiles compiler_rt.c config.h config.zig install_manifest.txt stage3 stage4 zig-wasm2c zig1 zig1.c zig2 zig2.c zigcpp
$ tree -L 3 stage3 stage4
stage3
├── bin
│ └── zig
└── lib
└── zig
├── compiler
├── compiler_rt
├── compiler_rt.zig
├── c.zig
├── docs
├── include
├── init
├── init-exe
├── init-lib
├── libc
├── libcxx
├── libcxxabi
├── libunwind
├── std
├── tsan
└── zig.h
stage4
├── bin
│ └── zig
└── lib
└── zig
├── compiler
├── compiler_rt
├── compiler_rt.zig
├── c.zig
├── docs
├── include
├── init
├── init-exe
├── init-lib
├── libc
├── libcxx
├── libcxxabi
├── libunwind
├── std
├── tsan
└── zig.h
34 directories, 8 files Build log after (notice shorter commands):$ rm -r build
$ mkdir build
$ cd build
$ cmake -DZIG_SHARED_LLVM=ON -DCMAKE_INSTALL_PREFIX=stage4 -GNinja ..
-- The C compiler identification is GNU 12.3.1
-- The CXX compiler identification is GNU 12.3.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring zig version 0.13.0-dev.219+1079b5fe6
-- Found llvm: /usr/lib/llvm/18/lib64/libLLVM-18.so (Required is at least version "18")
-- Found clang: /usr/lib/llvm/18/lib64/libclang-cpp.so (Required is at least version "18")
-- Found lld: /usr/lib/llvm/18/lib64/liblldMinGW.so;/usr/lib/llvm/18/lib64/liblldELF.so;/usr/lib/llvm/18/lib64/liblldCOFF.so;/usr/lib/llvm/18/lib64/liblldWasm.so;/usr/lib/llvm/18/lib64/liblldMachO.so;/usr/lib/llvm/18/lib64/liblldCommon.so (Required is at least version "18")
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
c-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done (0.7s)
-- Generating done (0.0s)
-- Build files have been written to: /home/bratishkaerik/github.com/zig/build
$ cmake --build . --verbose
Change Dir: '/home/bratishkaerik/github.com/zig/build'
Run Build Command(s): /usr/bin/ninja -v
[1/19] /usr/bin/cc -g -std=c99 -O2 -MD -MT CMakeFiles/zig-wasm2c.dir/stage1/wasm2c.c.o -MF CMakeFiles/zig-wasm2c.dir/stage1/wasm2c.c.o.d -o CMakeFiles/zig-wasm2c.dir/stage1/wasm2c.c.o -c /home/bratishkaerik/github.com/zig/stage1/wasm2c.c
[2/19] : && /usr/bin/cc -g CMakeFiles/zig-wasm2c.dir/stage1/wasm2c.c.o -o zig-wasm2c -L/usr/lib/llvm/18/lib64 && :
[3/19] /usr/bin/c++ -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm/18/include -g -fno-exceptions -fno-rtti -fno-stack-protector -fvisibility-inlines-hidden -Wno-type-limits -Wno-missing-braces -Wno-comment -MD -MT CMakeFiles/zigcpp.dir/src/zig_llvm-ar.cpp.o -MF CMakeFiles/zigcpp.dir/src/zig_llvm-ar.cpp.o.d -o CMakeFiles/zigcpp.dir/src/zig_llvm-ar.cpp.o -c /home/bratishkaerik/github.com/zig/src/zig_llvm-ar.cpp
[4/19] cd /home/bratishkaerik/github.com/zig && /home/bratishkaerik/github.com/zig/build/zig-wasm2c /home/bratishkaerik/github.com/zig/stage1/zig1.wasm /home/bratishkaerik/github.com/zig/build/zig1.c
[5/19] /usr/bin/cc -g -std=c99 -Os -MD -MT CMakeFiles/zig1.dir/stage1/wasi.c.o -MF CMakeFiles/zig1.dir/stage1/wasi.c.o.d -o CMakeFiles/zig1.dir/stage1/wasi.c.o -c /home/bratishkaerik/github.com/zig/stage1/wasi.c
[6/19] /usr/bin/c++ -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm/18/include -g -fno-exceptions -fno-rtti -fno-stack-protector -fvisibility-inlines-hidden -Wno-type-limits -Wno-missing-braces -Wno-comment -MD -MT CMakeFiles/zigcpp.dir/src/zig_clang_cc1as_main.cpp.o -MF CMakeFiles/zigcpp.dir/src/zig_clang_cc1as_main.cpp.o.d -o CMakeFiles/zigcpp.dir/src/zig_clang_cc1as_main.cpp.o -c /home/bratishkaerik/github.com/zig/src/zig_clang_cc1as_main.cpp
[7/19] /usr/bin/c++ -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm/18/include -g -fno-exceptions -fno-rtti -fno-stack-protector -fvisibility-inlines-hidden -Wno-type-limits -Wno-missing-braces -Wno-comment -MD -MT CMakeFiles/zigcpp.dir/src/zig_clang_driver.cpp.o -MF CMakeFiles/zigcpp.dir/src/zig_clang_driver.cpp.o.d -o CMakeFiles/zigcpp.dir/src/zig_clang_driver.cpp.o -c /home/bratishkaerik/github.com/zig/src/zig_clang_driver.cpp
[8/19] /usr/bin/c++ -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm/18/include -g -fno-exceptions -fno-rtti -fno-stack-protector -fvisibility-inlines-hidden -Wno-type-limits -Wno-missing-braces -Wno-comment -MD -MT CMakeFiles/zigcpp.dir/src/zig_clang.cpp.o -MF CMakeFiles/zigcpp.dir/src/zig_clang.cpp.o.d -o CMakeFiles/zigcpp.dir/src/zig_clang.cpp.o -c /home/bratishkaerik/github.com/zig/src/zig_clang.cpp
[9/19] /usr/bin/c++ -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm/18/include -g -fno-exceptions -fno-rtti -fno-stack-protector -fvisibility-inlines-hidden -Wno-type-limits -Wno-missing-braces -Wno-comment -MD -MT CMakeFiles/zigcpp.dir/src/zig_clang_cc1_main.cpp.o -MF CMakeFiles/zigcpp.dir/src/zig_clang_cc1_main.cpp.o.d -o CMakeFiles/zigcpp.dir/src/zig_clang_cc1_main.cpp.o -c /home/bratishkaerik/github.com/zig/src/zig_clang_cc1_main.cpp
[10/19] /usr/bin/c++ -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/usr/lib/llvm/18/include -g -fno-exceptions -fno-rtti -fno-stack-protector -fvisibility-inlines-hidden -Wno-type-limits -Wno-missing-braces -Wno-comment -MD -MT CMakeFiles/zigcpp.dir/src/zig_llvm.cpp.o -MF CMakeFiles/zigcpp.dir/src/zig_llvm.cpp.o.d -o CMakeFiles/zigcpp.dir/src/zig_llvm.cpp.o -c /home/bratishkaerik/github.com/zig/src/zig_llvm.cpp
[11/19] : && /usr/bin/cmake -E rm -f zigcpp/libzigcpp.a && /usr/bin/ar qc zigcpp/libzigcpp.a CMakeFiles/zigcpp.dir/src/zig_llvm.cpp.o CMakeFiles/zigcpp.dir/src/zig_llvm-ar.cpp.o CMakeFiles/zigcpp.dir/src/zig_clang.cpp.o CMakeFiles/zigcpp.dir/src/zig_clang_driver.cpp.o CMakeFiles/zigcpp.dir/src/zig_clang_cc1_main.cpp.o CMakeFiles/zigcpp.dir/src/zig_clang_cc1as_main.cpp.o && /usr/bin/ranlib zigcpp/libzigcpp.a && :
[12/19] /usr/bin/cc -g -std=c99 -Os -MD -MT CMakeFiles/zig1.dir/zig1.c.o -MF CMakeFiles/zig1.dir/zig1.c.o.d -o CMakeFiles/zig1.dir/zig1.c.o -c /home/bratishkaerik/github.com/zig/build/zig1.c
[13/19] : && /usr/bin/cc -g CMakeFiles/zig1.dir/zig1.c.o CMakeFiles/zig1.dir/stage1/wasi.c.o -o zig1 -L/usr/lib/llvm/18/lib64 -Wl,-rpath,/usr/lib/llvm/18/lib64 -lm && :
[14/19] cd /home/bratishkaerik/github.com/zig && /home/bratishkaerik/github.com/zig/build/zig1 /home/bratishkaerik/github.com/zig/lib build-obj -ofmt=c -OReleaseSmall --name compiler_rt -femit-bin="/home/bratishkaerik/github.com/zig/build/compiler_rt.c" -target x86_64-linux --dep build_options --mod root lib/compiler_rt.zig --mod build_options /home/bratishkaerik/github.com/zig/build/config.zig
[15/19] cd /home/bratishkaerik/github.com/zig && /home/bratishkaerik/github.com/zig/build/zig1 /home/bratishkaerik/github.com/zig/lib build-exe -ofmt=c -lc -OReleaseSmall --name zig2 -femit-bin="/home/bratishkaerik/github.com/zig/build/zig2.c" -target x86_64-linux --dep build_options --dep aro --mod root src/main.zig --mod build_options /home/bratishkaerik/github.com/zig/build/config.zig --mod aro lib/compiler/aro/aro.zig
[16/19] /usr/bin/cc -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/bratishkaerik/github.com/zig/stage1 -I/usr/lib/llvm/18/include -g -std=c99 -O0 -fno-stack-protector -MD -MT CMakeFiles/zig2.dir/compiler_rt.c.o -MF CMakeFiles/zig2.dir/compiler_rt.c.o.d -o CMakeFiles/zig2.dir/compiler_rt.c.o -c /home/bratishkaerik/github.com/zig/build/compiler_rt.c
[17/19] /usr/bin/cc -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/bratishkaerik/github.com/zig/stage1 -I/usr/lib/llvm/18/include -g -std=c99 -O0 -fno-stack-protector -MD -MT CMakeFiles/zig2.dir/zig2.c.o -MF CMakeFiles/zig2.dir/zig2.c.o.d -o CMakeFiles/zig2.dir/zig2.c.o -c /home/bratishkaerik/github.com/zig/build/zig2.c
[18/19] : && /usr/bin/c++ -g -Wl,-z,stack-size=0x10000000 CMakeFiles/zig2.dir/zig2.c.o CMakeFiles/zig2.dir/compiler_rt.c.o -o zig2 -L/usr/lib/llvm/18/lib64 -Wl,-rpath,/usr/lib/llvm/18/lib64 zigcpp/libzigcpp.a /usr/lib/llvm/18/lib64/libclang-cpp.so /usr/lib/llvm/18/lib64/liblldMinGW.so /usr/lib/llvm/18/lib64/liblldELF.so /usr/lib/llvm/18/lib64/liblldCOFF.so /usr/lib/llvm/18/lib64/liblldWasm.so /usr/lib/llvm/18/lib64/liblldMachO.so /usr/lib/llvm/18/lib64/liblldCommon.so /usr/lib/llvm/18/lib64/libLLVM-18.so && :
[19/19] cd /home/bratishkaerik/github.com/zig && /home/bratishkaerik/github.com/zig/build/zig2 build --prefix /home/bratishkaerik/github.com/zig/build/stage3 --zig-lib-dir /home/bratishkaerik/github.com/zig/lib -Dversion-string=0.13.0-dev.219+1079b5fe6 -Dtarget=native -Dcpu=native -Denable-llvm -Dconfig_h=/home/bratishkaerik/github.com/zig/build/config.h -Dno-langref -Dstd-docs=false -Doptimize=Debug
$ cmake --install . --verbose
-- Install configuration: "Debug"
$ exa
build.ninja cmake_install.cmake CMakeCache.txt CMakeFiles compiler_rt.c config.h config.zig install_manifest.txt stage3 stage4 zig-wasm2c zig1 zig1.c zig2 zig2.c zigcpp
$ tree -L 3 stage3 stage4
stage3
├── bin
│ └── zig
└── lib
└── zig
├── compiler
├── compiler_rt
├── compiler_rt.zig
├── c.zig
├── docs
├── include
├── init
├── init-exe
├── init-lib
├── libc
├── libcxx
├── libcxxabi
├── libunwind
├── std
├── tsan
└── zig.h
stage4
├── bin
│ └── zig
└── lib
└── zig
├── compiler
├── compiler_rt
├── compiler_rt.zig
├── c.zig
├── docs
├── include
├── init
├── init-exe
├── init-lib
├── libc
├── libcxx
├── libcxxabi
├── libunwind
├── std
├── tsan
└── zig.h
34 directories, 8 files
As you can see all installed successfully locally, don't know why CI failed. Maybe it's because CI uses |
Signed-off-by: Eric Joldasov <[email protected]>
454d935
to
1e78598
Compare
Great work, thank you! |
Thanks! |
6 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Revival of #12747, with more splitted commits.