aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-01-02 17:28:59 -0300
committerEuAndreh <eu@euandre.org>2024-01-05 05:43:22 -0300
commit2e96fc06f325110af8c7177c0c60694eed5fd245 (patch)
treeba4e2ae8c50136cbf2f00a0edc8f31c90901bb64 /src
parentsrc/internal/version.h: Check-in file with fixed value for compilation (diff)
downloadgrovel-2e96fc06f325110af8c7177c0c60694eed5fd245.tar.gz
grovel-2e96fc06f325110af8c7177c0c60694eed5fd245.tar.xz
Fix the build system.
The improvements are: - use most of the default "Makefile" for standard packaging; - also use the default ".gitignore" with for the derived assets; - don't impose so many $CFLAGS on the user. GCC still needs to be given the `-ffreestanding` flag explicitly for us to get a good binary; - stop using ad-hoc tools/* scripts, and avoid the code-generation anti-pattern overall on the build. Some of the generated files were checked-in, and some were removed; - remove empty files; - use POSIX make(1) over gmake; - add fuzz targets; - partial "install" and "uninstall" targets; - complete "clean" target. The shortcomings are: - only working on x86_64. More platforms coming soon; - code is still messy: way too many warnings, GNU/BSD specific extensions, inline assembly, and all kinds of unportable code; - still only works with GCC and GCC-like compilers, and completly fails with tcc(1) and cproc(1); - the `deps.mk` file is being maintained manually. As I work on the source files I'll finish automating its generation with `mkdeps.sh`; - still seems to be coupled with Linux; - still is missing tests setup; - still uses `#include <$NAME.h>` instead of the correct `#include "$NAME.h"` form. The generated libgrovel.a did match the previous lib/libc.a 100%.
Diffstat (limited to 'src')
-rw-r--r--src/config.h.in (renamed from src/setjmp/longjmp.c)0
-rw-r--r--src/grovel.h (renamed from src/setjmp/setjmp.c)0
-rw-r--r--src/main.c4
-rw-r--r--src/signal/sigsetjmp.c0
-rw-r--r--src/thread/syscall_cp.c0
5 files changed, 4 insertions, 0 deletions
diff --git a/src/setjmp/longjmp.c b/src/config.h.in
index e69de29b..e69de29b 100644
--- a/src/setjmp/longjmp.c
+++ b/src/config.h.in
diff --git a/src/setjmp/setjmp.c b/src/grovel.h
index e69de29b..e69de29b 100644
--- a/src/setjmp/setjmp.c
+++ b/src/grovel.h
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 00000000..1d658dd1
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,4 @@
+int
+main(void) {
+ return 0;
+}
diff --git a/src/signal/sigsetjmp.c b/src/signal/sigsetjmp.c
deleted file mode 100644
index e69de29b..00000000
--- a/src/signal/sigsetjmp.c
+++ /dev/null
diff --git a/src/thread/syscall_cp.c b/src/thread/syscall_cp.c
deleted file mode 100644
index e69de29b..00000000
--- a/src/thread/syscall_cp.c
+++ /dev/null