feat(app): nolibc hello world

This commit is contained in:
2026-04-20 16:00:17 +02:00
parent d829209488
commit d5be4cfe0b
5 changed files with 103 additions and 1 deletions

View File

@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.15)
project(
c-libs
DESCRIPTION "C Libraries for recreational Programming."
LANGUAGES C)
LANGUAGES C ASM)
add_library(c-libs ${CMAKE_CURRENT_SOURCE_DIR}/src/dyn-arr.c
${CMAKE_CURRENT_SOURCE_DIR}/src/string-view.c)
@@ -17,6 +17,22 @@ target_link_libraries(strings PRIVATE c-libs)
add_executable(rc ${CMAKE_CURRENT_SOURCE_DIR}/app/rc.c)
target_link_libraries(rc PRIVATE c-libs)
add_executable(nolibc ${CMAKE_CURRENT_SOURCE_DIR}/app/nolibc.c
${CMAKE_CURRENT_SOURCE_DIR}/app/entry.s)
target_compile_options(
nolibc PRIVATE -fno-asynchronous-unwind-tables -fno-unwind-tables
-fno-stack-protector -ffunction-sections -fdata-sections)
target_link_options(
nolibc
PRIVATE
-nostdlib
-static
-T
${CMAKE_CURRENT_SOURCE_DIR}/app/nolibc.ld
-Wl,--strip-all
-Wl,--no-dynamic-linker
-Wl,--gc-sections)
include(CTest)
if(BUILD_TESTING)
find_package(PkgConfig REQUIRED)