starfield

starfield.git
git clone git://git.lenczewski.org/starfield.git
Log | Files | Refs | Submodules | README | LICENSE

commit c8f59414fcf97183c94188eeab7af21393f0dba6
parent 3356dd454a8be73f353319b038e4e5f9f1df99ec
Author: MikoĊ‚aj Lenczewski <mblenczewski@gmail.com>
Date:   Thu,  9 May 2024 15:23:20 +0000

Switch from common/ to api/ and rename api inline definition

Diffstat:
Aapi/starfield_api.c | 7+++++++
Rcommon/starfield_api.h -> api/starfield_api.h | 0
Mbuild_linux.sh | 7++++---
Mbuild_win.sh | 2+-
Dcommon/starfield_api_inlines.c | 7-------
Mplatform/linux_starfield.c | 3++-
Mplatform/win_starfield.c | 2+-
Mstarfield/starfield.c | 2++
8 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/api/starfield_api.c b/api/starfield_api.c @@ -0,0 +1,7 @@ +#include "starfield_api.h" + +extern inline void +arena_reset(struct starfield_arena *arena); + +extern inline void * +arena_alloc(struct starfield_arena *arena, u64 size, u64 alignment); diff --git a/common/starfield_api.h b/api/starfield_api.h diff --git a/build_linux.sh b/build_linux.sh @@ -5,15 +5,16 @@ CC="clang" WARNINGS="-Wall -Wextra -Wpedantic -Werror" CFLAGS="-std=c11 -O0 -g" -CPPFLAGS="-DSTARFIELD_DEBUG -Icommon" +CPPFLAGS="-DSTARFIELD_DEBUG -Iapi" +LDFLAGS="-fuse-ld=lld" set -ex mkdir -p bin $CC -shared -o bin/starfield.so starfield/starfield.c \ - $WARNINGS $CFLAGS $CPPFLAGS -nostdlib + $WARNINGS $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib # TODO: how to build a static binary that supports loading starfield.so? $CC -o bin/linux_starfield platform/linux_starfield.c \ - $WARNINGS $CFLAGS $CPPFLAGS -lc -ldl + $WARNINGS $CFLAGS $CPPFLAGS $LDFLAGS -lc -ldl diff --git a/build_win.sh b/build_win.sh @@ -8,7 +8,7 @@ CC="clang --target=x86_64-pc-windows-msvc" WARNINGS="-Wall -Wextra -Wpedantic -Werror" CFLAGS="-std=c11 -O0 -g -gcodeview" -CPPFLAGS="-DSTARFIELD_DEBUG -Icommon" +CPPFLAGS="-DSTARFIELD_DEBUG -Iapi" LDFLAGS="-fuse-ld=lld -Wl,/debug:full,/pdb:" EXPORTS=" diff --git a/common/starfield_api_inlines.c b/common/starfield_api_inlines.c @@ -1,7 +0,0 @@ -#include "starfield_api.h" - -extern inline void -arena_reset(struct starfield_arena *arena); - -extern inline void -arena_alloc(struct starfield_arena *arena, u64 size, u64 alignment); diff --git a/platform/linux_starfield.c b/platform/linux_starfield.c @@ -371,9 +371,10 @@ load_platform_api(void) .DEBUG_free_file_memory = DEBUG_platform_free_file_memory, #endif }; +} /* utils * =========================================================================== */ -#include "starfield_api_inlines.c" +#include "starfield_api.c" diff --git a/platform/win_starfield.c b/platform/win_starfield.c @@ -185,4 +185,4 @@ load_platform_api(void) * =========================================================================== */ -#include "starfield_api_inlines.c" +#include "starfield_api.c" diff --git a/starfield/starfield.c b/starfield/starfield.c @@ -66,3 +66,5 @@ STARFIELD_FREE(starfield_free) (void) memory; (void) platform; } + +#include "starfield_api.c"