[*] Update RT/Bug fixes [*] Update build scripts
Aurora runtime basic tests and demos for barebones use cases.
git clone --recursive https://gitea.reece.sx/AuroraSupport/HelloAurora
Building for Windows
Tools required: MSVC (modernish?), premake5
No special steps are required. Assuming premake is present in %PATH%, run .\Win_x64_NoToolkit.bat and open the sln generated in the .\Build\Workspace directory.
--target-x86_[32/64] can be added to either family of scripts to readd the specified architecture.
Building for Linux
- Procure or build; and install libc++ (clangs native not fit-for-linux STL)
git clone https://github.com/llvm/llvm-project.git cd llvm-project mkdir build cmake \ -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_C_COMPILER=clang \ -DCMAKE_CXX_COMPILER=clang++ \ -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \ -DLLVM_EXTERNAL_LIT=/usr/bin/lit \ -DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=NO \ -B build \ -S llvm ninja -C build cxx cxxabi ninja -C build check-cxx check-cxxabi ninja -C build install-cxx install-cxxabi
Note: We use libc++ as a one-size-fits-all cross-platform STL solution. Its' core platform abstraction might suck, but it does well to maintain modern container and utility support. Plus, it's the defacto standard for embedded systems, meme web technology, and non-standard pc things including games consoles and mac. Pipeline and software dependencies can be better optimized and QA'd once normalized to one or two main STL targets. The bits that do suck, like thread primitives, aren't used by most developers who care about performance anyway. The quirks that are there, like locale fetch issues, don't affect us.
- Procure or compile; and install premake
git clone https://gitea.reece.sx/AuroraPipeline/premake cd premake make -f Bootstrap.mak linux cp bin/release/premake5 /usr/bin/premake5 chmod +x /usr/bin/premake5
- Run the final premake script
cd Build/Workspace make -jthreadsN config=[debug/stage/ship]_linux
Cross-arch: none yet.
Repeat the last batch/bash script; and rerun make/msbuild, or reload all in Visual Studio