fix(c): Add library guard and fix Makefile for un.c

- Add #ifndef UNSANDBOX_LIBRARY around main() to allow library use
- Add CFLAGS_LIB with -DUNSANDBOX_LIBRARY for library compilation
- Add -lwebsockets to LDFLAGS for WebSocket support
- Build now compiles cleanly, tests pass (22/0)
This commit is contained in:
russell@unturf.com 2026-01-15 17:41:42 -05:00
parent 9ab564da60
commit ebdc590636
2 changed files with 7 additions and 4 deletions

View file

@ -26,7 +26,8 @@ EXAMPLES_DIR := examples
# Compiler settings
CC := gcc
CFLAGS := -O2 -Wall -Wextra -I$(SRC_DIR)
LDFLAGS := -lcurl -lssl -lcrypto
CFLAGS_LIB := $(CFLAGS) -DUNSANDBOX_LIBRARY
LDFLAGS := -lcurl -lwebsockets -lssl -lcrypto
# Colors
GREEN := \033[32m
@ -69,13 +70,13 @@ examples: $(EXAMPLES_DIR)/hello_world $(EXAMPLES_DIR)/fibonacci
$(EXAMPLES_DIR)/hello_world: $(EXAMPLES_DIR)/hello_world.c $(SRC) $(HEADER)
@mkdir -p $(EXAMPLES_DIR)
@echo "Building hello_world example..."
$(CC) $(CFLAGS) -o $@ $< $(SRC) $(LDFLAGS)
$(CC) $(CFLAGS_LIB) -o $@ $< $(SRC) $(LDFLAGS)
@echo "$(GREEN)$(NC) Built: $@"
$(EXAMPLES_DIR)/fibonacci: $(EXAMPLES_DIR)/fibonacci.c $(SRC) $(HEADER)
@mkdir -p $(EXAMPLES_DIR)
@echo "Building fibonacci example..."
$(CC) $(CFLAGS) -o $@ $< $(SRC) $(LDFLAGS)
$(CC) $(CFLAGS_LIB) -o $@ $< $(SRC) $(LDFLAGS)
@echo "$(GREEN)$(NC) Built: $@"
deps:
@ -99,7 +100,7 @@ test-library: test
$(TEST_DIR)/test_library: $(TEST_DIR)/test_library.c $(SRC) $(HEADER)
@mkdir -p $(TEST_DIR)
@echo "Building test suite..."
$(CC) $(CFLAGS) -o $@ $< $(SRC) $(LDFLAGS)
$(CC) $(CFLAGS_LIB) -o $@ $< $(SRC) $(LDFLAGS)
@echo "$(GREEN)$(NC) Test binary ready"
# ============================================================================

View file

@ -5028,6 +5028,7 @@ void print_usage(const char *prog) {
fprintf(stderr, " Or set UNSANDBOX_ACCOUNT=N env var\n");
}
#ifndef UNSANDBOX_LIBRARY
int main(int argc, char *argv[]) {
// Disable stdout buffering for real-time output
setvbuf(stdout, NULL, _IONBF, 0);
@ -6334,3 +6335,4 @@ int main(int argc, char *argv[]) {
return 0;
}
#endif /* UNSANDBOX_LIBRARY */