BuildSystem: add rule to build libstdc++

We can now build libstdc++ and actually link with g++
This commit is contained in:
Bananymous 2023-06-02 18:39:42 +03:00
parent 9bd4d68f9c
commit 271dd91292
3 changed files with 13 additions and 1 deletions

View File

@ -54,6 +54,12 @@ add_custom_target(toolchain
USES_TERMINAL USES_TERMINAL
) )
add_custom_target(libstdc++
COMMAND ${CMAKE_COMMAND} -E env LIBSTDCPP="1" ${CMAKE_SOURCE_DIR}/toolchain/build.sh
DEPENDS libc-install
USES_TERMINAL
)
add_custom_target(image add_custom_target(image
COMMAND ${CMAKE_COMMAND} -E env SYSROOT="${BANAN_SYSROOT}" DISK_IMAGE_PATH="${DISK_IMAGE_PATH}" ${CMAKE_SOURCE_DIR}/image.sh COMMAND ${CMAKE_COMMAND} -E env SYSROOT="${BANAN_SYSROOT}" DISK_IMAGE_PATH="${DISK_IMAGE_PATH}" ${CMAKE_SOURCE_DIR}/image.sh
DEPENDS kernel-install DEPENDS kernel-install

View File

@ -6,6 +6,13 @@ GCC_VERSION="gcc-12.2.0"
cd $(dirname "$0") cd $(dirname "$0")
if [[ -n $LIBSTDCPP ]]; then
cd build/${GCC_VERSION}/
make -j $(nproc) all-target-libstdc++-v3
make install-target-libstdc++-v3
exit 0
fi
if [[ -z $SYSROOT ]]; then if [[ -z $SYSROOT ]]; then
echo "You must set the SYSROOT environment variable" >&2 echo "You must set the SYSROOT environment variable" >&2
exit 1 exit 1

View File

@ -17,7 +17,6 @@ add_custom_target(userspace)
add_custom_target(userspace-install DEPENDS userspace) add_custom_target(userspace-install DEPENDS userspace)
foreach(USERSPACE_PROJECT ${USERSPACE_PROJECTS}) foreach(USERSPACE_PROJECT ${USERSPACE_PROJECTS})
target_link_options(${USERSPACE_PROJECT} PUBLIC -nodefaultlibs)
add_dependencies(userspace ${USERSPACE_PROJECT}) add_dependencies(userspace ${USERSPACE_PROJECT})
add_dependencies(userspace-install ${USERSPACE_PROJECT}-install) add_dependencies(userspace-install ${USERSPACE_PROJECT}-install)
endforeach() endforeach()