Some more stdlib (array and vector, untested so far).

This commit is contained in:
2024-01-12 00:13:45 +01:00
parent 164f05bd59
commit ff3214fa5a
23 changed files with 577 additions and 9 deletions

View File

@@ -8,7 +8,7 @@ env['CXX'] = 'i686-elf-g++'
env['LD'] = 'i686-elf-g++'
env.Append(CXXFLAGS = ['-ffreestanding', '-fno-exceptions', '-fno-rtti', '-std=c++20'])
env.Append(LINKFLAGS = ['-T', 'linker.ld', '-ffreestanding', '-nostdlib'])
env.Append(CPPPATH = ['#include'])
env.Append(CPPPATH = ['#include', '#stdlib/include'])
env.Append(CCFLAGS = ['-g', '-O0'])
def get_crt_object(name: str) -> str:
@@ -31,12 +31,13 @@ os_sources = Split('''
src/os/panic.cpp
src/os/tty.cpp
src/stdlib/assert.cpp
src/stdlib/exception.cpp
src/stdlib/new.cpp
src/stdlib/stdio.cpp
src/stdlib/stdlib.cpp
src/stdlib/string.cpp
src/cstdlib/assert.cpp
src/cstdlib/stdio.cpp
src/cstdlib/stdlib.cpp
src/cstdlib/string.cpp
stdlib/src/exception.cpp
stdlib/src/new.cpp
''')
env['LINKCOM'] = env['LINKCOM'].replace('$_LIBFLAGS', f'{crti_o[0]} {crtbegin_o} $_LIBFLAGS {crtend_o} {crtn_o[0]}')