banan-os/userspace/libraries/LibC/CMakeLists.txt

77 lines
1.5 KiB
CMake
Raw Normal View History

set(LIBC_SOURCES
arpa/inet.cpp
assert.cpp
ctype.cpp
dirent.cpp
dlfcn.cpp
2023-04-23 14:32:37 +03:00
fcntl.cpp
ftw.cpp
2024-01-03 00:14:49 +02:00
grp.cpp
2024-08-05 00:53:27 +03:00
inttypes.cpp
locale.cpp
malloc.cpp
math.cpp
netdb.cpp
2024-08-22 14:28:01 +03:00
poll.cpp
printf_impl.cpp
pwd.cpp
scanf_impl.cpp
setjmp.cpp
signal.cpp
stdio.cpp
stdlib.cpp
string.cpp
strings.cpp
sys/banan-os.cpp
sys/ioctl.cpp
sys/mman.cpp
sys/resource.cpp
sys/select.cpp
2024-02-01 23:39:09 +02:00
sys/socket.cpp
sys/stat.cpp
2024-07-31 23:24:23 +03:00
sys/time.cpp
2024-07-31 23:54:26 +03:00
sys/utsname.cpp
sys/wait.cpp
syslog.cpp
termios.cpp
time.cpp
unistd.cpp
utime.cpp
wchar.cpp
2023-06-02 17:49:21 +03:00
icxxabi.cpp
arch/${BANAN_ARCH}/setjmp.S
../../../BAN/BAN/Assert.cpp
)
add_library(libc ${LIBC_SOURCES})
target_compile_definitions(libc PRIVATE __arch=${BANAN_ARCH})
target_compile_definitions(libc PRIVATE __enable_sse=${BANAN_ENABLE_SSE})
if (NOT BANAN_ENABLE_SSE)
target_compile_options(libc PRIVATE -mno-sse -mno-sse2)
endif ()
target_compile_options(libc PRIVATE -O2 -g -Wstack-usage=512 -fno-tree-loop-distribute-patterns -fno-exceptions -nostdlib)
target_compile_options(libc PUBLIC -Wall -Wextra -Werror -Wno-error=stack-usage=)
function(add_crtx crtx)
add_custom_target(${crtx}
COMMAND ${CMAKE_CXX_COMPILER} -c -o ${CMAKE_INSTALL_LIBDIR}/${crtx}.o ${CMAKE_CURRENT_SOURCE_DIR}/arch/${BANAN_ARCH}/${crtx}.S
DEPENDS sysroot
)
add_dependencies(libc ${crtx})
endfunction()
add_crtx(crt0)
add_crtx(crti)
add_crtx(crtn)
banan_include_headers(libc ban)
banan_include_headers(libc kernel)
banan_install_headers(libc)
install(TARGETS libc OPTIONAL)
set(CMAKE_STATIC_LIBRARY_PREFIX "")