aboutsummaryrefslogtreecommitdiff
path: root/src/emcc_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emcc_main.c')
-rw-r--r--src/emcc_main.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/emcc_main.c b/src/emcc_main.c
new file mode 100644
index 000000000..feb99b58a
--- /dev/null
+++ b/src/emcc_main.c
@@ -0,0 +1,22 @@
+#define STBI_ASSERT(x)
+#include <stdint.h>out.w
+
+#include <stdlib.h>
+
+extern void console_error(uint64_t slice);
+extern void console_log(uint64_t slice);
+extern void console_warn(uint64_t slice);
+extern void console_info(uint64_t slice);
+
+// Zig compiles C code with -fstack-protector-strong which requires the
+// following two symbols which don't seem to be provided by the emscripten
+// toolchain(?)
+uintptr_t __stack_chk_guard = 0xABBABABA;
+_Noreturn void __stack_chk_fail(void) { abort(); };
+
+// emsc_main() is the Zig entry function in pacman.zig
+extern void emsc_main(void);
+int main() {
+ emsc_main();
+ return 0;
+} \ No newline at end of file