Guard web stub declarations with EL_SOUL_DEMO_BUILD to avoid soul-demo conflict
Dev — Build & local smoke test / build-smoke (pull_request) Successful in 2m22s

This commit is contained in:
2026-05-09 18:04:24 -05:00
parent 839c002ce0
commit a83efcda93
2 changed files with 8 additions and 0 deletions
+1
View File
@@ -38,6 +38,7 @@ RUN cc -O2 -DHAVE_CURL -c el_runtime.c -I. -o el_runtime.o
COPY dist/soul-demo.c dist/vessel_stubs.c ./
RUN cc -O2 -rdynamic \
-DEL_SOUL_DEMO_BUILD \
-o soul-demo \
soul-demo.c vessel_stubs.c el_runtime.o \
-lcurl -lpthread -ldl -lm -lssl -lcrypto
+7
View File
@@ -883,7 +883,13 @@ el_val_t __args_json(void);
* el_val_t return type instead of an implicit int. Without these, the
* ci-base elb (which does not emit extern-fn forward decls for stub-only
* functions) produces truncated 32-bit returns on 64-bit Linux → segfault.
*
* Guarded by EL_SOUL_DEMO_BUILD: soul-demo.c includes this header but
* defines its own (different-arity) versions of some of these functions.
* Dockerfile.stage compiles soul-demo with -DEL_SOUL_DEMO_BUILD to skip
* this block and avoid conflicting-types errors.
*/
#ifndef EL_SOUL_DEMO_BUILD
el_val_t http_get_auth(el_val_t url, el_val_t tok);
el_val_t http_post_auth(el_val_t url, el_val_t tok, el_val_t body);
el_val_t http_post_auth_json(el_val_t url, el_val_t tok, el_val_t body);
@@ -896,6 +902,7 @@ el_val_t gcs_write(el_val_t bucket, el_val_t object_name, el_val_t content);
el_val_t gcs_read(el_val_t bucket, el_val_t object_name);
el_val_t cwd(void);
el_val_t color_bold(el_val_t s);
#endif /* EL_SOUL_DEMO_BUILD */
#ifdef __cplusplus
}