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:
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"