Commit: 2caa6774d52738cc25165c94d9a50e53322e72d6
Parent: f0ab05cc3e50ff2268774d8d0acbe4ad712023c6
Author: Randy Palamar
Date: Mon, 12 May 2025 16:43:29 -0600
build: make sure submodules are cloned if they don't exist
Diffstat:
6 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/build.c b/build.c
@@ -452,10 +452,15 @@ cmd_pdb(Arena *a, CommandList *cmd)
function void
git_submodule_update(Arena a, char *name)
{
+ Stream sb = arena_stream(a);
+ stream_append_s8s(&sb, c_str_to_s8(name), s8(OS_PATH_SEPARATOR), s8(".git"));
+ stream_append_byte(&sb, 0);
+ arena_commit(&a, sb.widx);
+
CommandList git = {0};
/* NOTE(rnp): cryptic bs needed to get a simple exit code if name is dirty */
cmd_append(&a, &git, "git", "diff-index", "--quiet", "HEAD", "--", name, (void *)0);
- if (!run_synchronous(a, &git)) {
+ if (!os_file_exists((c8 *)sb.data) || !run_synchronous(a, &git)) {
git.count = 1;
cmd_append(&a, &git, "submodule", "update", "--init", "--depth=1", name, (void *)0);
if (!run_synchronous(a, &git))
diff --git a/main_linux.c b/main_linux.c
@@ -15,8 +15,6 @@
#define OS_RENDERDOC_SONAME "librenderdoc.so"
-#define OS_PATH_SEPERATOR "/"
-
/* TODO(rnp): what do if not X11? */
iptr glfwGetGLXContext(iptr);
diff --git a/main_w32.c b/main_w32.c
@@ -15,8 +15,6 @@
#define OS_RENDERDOC_SONAME "renderdoc.dll"
-#define OS_PATH_SEPERATOR "\\"
-
iptr glfwGetWGLContext(iptr);
function iptr
diff --git a/os_linux.c b/os_linux.c
@@ -6,6 +6,9 @@
#define OS_SHARED_MEMORY_NAME "/ogl_beamformer_shared_memory"
#define OS_EXPORT_PIPE_NAME "/tmp/beamformer_output_pipe"
+#define OS_PATH_SEPARATOR_CHAR '/'
+#define OS_PATH_SEPARATOR "/"
+
#include "util.h"
#include <dlfcn.h>
diff --git a/os_win32.c b/os_win32.c
@@ -3,6 +3,9 @@
#define OS_SHARED_MEMORY_NAME "Local\\ogl_beamformer_parameters"
#define OS_EXPORT_PIPE_NAME "\\\\.\\pipe\\beamformer_output_pipe"
+#define OS_PATH_SEPARATOR_CHAR '\\'
+#define OS_PATH_SEPARATOR "\\"
+
#include "util.h"
#define STD_INPUT_HANDLE -10
diff --git a/static.c b/static.c
@@ -67,7 +67,7 @@ debug_init(OS *os, iptr input, Arena *arena)
#endif /* _DEBUG */
-#define static_path_join(a, b) (a OS_PATH_SEPERATOR b)
+#define static_path_join(a, b) (a OS_PATH_SEPARATOR b)
struct gl_debug_ctx {
Stream stream;