mirror of
https://github.com/asg017/sqlite-vec.git
synced 2026-04-25 00:36:56 +02:00
cosmocc support
This commit is contained in:
parent
0a5dcae4c8
commit
0af4e1eaed
3 changed files with 35 additions and 16 deletions
15
.github/workflows/test.yaml
vendored
15
.github/workflows/test.yaml
vendored
|
|
@ -71,3 +71,18 @@ jobs:
|
||||||
with:
|
with:
|
||||||
name: sqlite-vec-wasm32-emscripten
|
name: sqlite-vec-wasm32-emscripten
|
||||||
path: dist/*
|
path: dist/*
|
||||||
|
build-cosmopolitan:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- run: |
|
||||||
|
mkdir $HOME/cosmo
|
||||||
|
curl -o cosmocc-3.3.6.zip https://github.com/jart/cosmopolitan/releases/download/3.3.6/cosmocc-3.3.6.zip
|
||||||
|
unzip cosmocc-3.3.6.zip -d $HOME/cosmo
|
||||||
|
echo "$HOME/cosmo/bin" >> $GITHUB_PATH
|
||||||
|
- run: ./scripts/vendor.sh
|
||||||
|
- run: make cli CC=cosmocc AR=cosmoar OMIT_SIMD=1
|
||||||
|
- uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: sqlite-vec-cosmopolitan
|
||||||
|
path: dist/*
|
||||||
|
|
|
||||||
34
Makefile
34
Makefile
|
|
@ -3,6 +3,8 @@ COMMIT=$(shell git rev-parse HEAD)
|
||||||
VERSION=$(shell cat VERSION)
|
VERSION=$(shell cat VERSION)
|
||||||
DATE=$(shell date +'%FT%TZ%z')
|
DATE=$(shell date +'%FT%TZ%z')
|
||||||
|
|
||||||
|
CC ?= gcc
|
||||||
|
AR ?= ar
|
||||||
|
|
||||||
ifeq ($(shell uname -s),Darwin)
|
ifeq ($(shell uname -s),Darwin)
|
||||||
CONFIG_DARWIN=y
|
CONFIG_DARWIN=y
|
||||||
|
|
@ -62,7 +64,7 @@ cli: $(TARGET_CLI)
|
||||||
all: loadable static cli
|
all: loadable static cli
|
||||||
|
|
||||||
$(TARGET_LOADABLE): sqlite-vec.c sqlite-vec.h $(prefix)
|
$(TARGET_LOADABLE): sqlite-vec.c sqlite-vec.h $(prefix)
|
||||||
gcc \
|
$(CC) \
|
||||||
-fPIC -shared \
|
-fPIC -shared \
|
||||||
-Wall -Wextra \
|
-Wall -Wextra \
|
||||||
-Ivendor/ \
|
-Ivendor/ \
|
||||||
|
|
@ -71,9 +73,9 @@ $(TARGET_LOADABLE): sqlite-vec.c sqlite-vec.h $(prefix)
|
||||||
$< -o $@
|
$< -o $@
|
||||||
|
|
||||||
$(TARGET_STATIC): sqlite-vec.c sqlite-vec.h $(prefix)
|
$(TARGET_STATIC): sqlite-vec.c sqlite-vec.h $(prefix)
|
||||||
gcc -Ivendor/sqlite -Ivendor/vec $(CFLAGS) -DSQLITE_CORE \
|
$(CC) -Ivendor/ -Ivendor/vec $(CFLAGS) -DSQLITE_CORE \
|
||||||
-O3 -c $< -o $(prefix)/.objs/vec.o
|
-O3 -c $< -o $(prefix)/.objs/vec.o
|
||||||
ar rcs $@ $(prefix)/.objs/vec.o
|
$(AR) rcs $@ $(prefix)/.objs/vec.o
|
||||||
|
|
||||||
$(TARGET_STATIC_H): sqlite-vec.h $(prefix)
|
$(TARGET_STATIC_H): sqlite-vec.h $(prefix)
|
||||||
cp $< $@
|
cp $< $@
|
||||||
|
|
@ -93,41 +95,41 @@ $(BUILD_DIR): $(prefix)
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
|
|
||||||
$(OBJS_DIR)/sqlite3.o: vendor/sqlite3.c $(OBJS_DIR)
|
$(OBJS_DIR)/sqlite3.o: vendor/sqlite3.c $(OBJS_DIR)
|
||||||
gcc -c -g3 -O3 -DSQLITE_EXTRA_INIT=core_init -DSQLITE_CORE -DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS -I./vendor $< -o $@
|
$(CC) -c -g3 -O3 -DSQLITE_EXTRA_INIT=core_init -DSQLITE_CORE -DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS -I./vendor $< -o $@
|
||||||
|
|
||||||
$(LIBS_DIR)/sqlite3.a: $(OBJS_DIR)/sqlite3.o $(LIBS_DIR)
|
$(LIBS_DIR)/sqlite3.a: $(OBJS_DIR)/sqlite3.o $(LIBS_DIR)
|
||||||
ar rcs $@ $<
|
$(AR) rcs $@ $<
|
||||||
|
|
||||||
$(BUILD_DIR)/shell-new.c: vendor/shell.c $(BUILD_DIR)
|
$(BUILD_DIR)/shell-new.c: vendor/shell.c $(BUILD_DIR)
|
||||||
sed 's/\/\*extra-version-info\*\//EXTRA_TODO/g' $< > $@
|
sed 's/\/\*extra-version-info\*\//EXTRA_TODO/g' $< > $@
|
||||||
|
|
||||||
$(OBJS_DIR)/shell.o: $(BUILD_DIR)/shell-new.c $(OBJS_DIR)
|
$(OBJS_DIR)/shell.o: $(BUILD_DIR)/shell-new.c $(OBJS_DIR)
|
||||||
gcc -c -g3 -O3 \
|
$(CC) -c -g3 -O3 \
|
||||||
-DHAVE_EDITLINE=1 -I./vendor \
|
-I./vendor \
|
||||||
-DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS \
|
-DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS \
|
||||||
-DEXTRA_TODO="\"CUSTOM BUILD: sqlite-vec\n\"" \
|
-DEXTRA_TODO="\"CUSTOMBUILD:sqlite-vec\n\"" \
|
||||||
$< -o $@
|
$< -o $@
|
||||||
|
|
||||||
$(LIBS_DIR)/shell.a: $(OBJS_DIR)/shell.o $(LIBS_DIR)
|
$(LIBS_DIR)/shell.a: $(OBJS_DIR)/shell.o $(LIBS_DIR)
|
||||||
ar rcs $@ $<
|
$(AR) rcs $@ $<
|
||||||
|
|
||||||
$(OBJS_DIR)/sqlite-vec.o: sqlite-vec.c $(OBJS_DIR)
|
$(OBJS_DIR)/sqlite-vec.o: sqlite-vec.c $(OBJS_DIR)
|
||||||
gcc -c -g3 -I./vendor $(CFLAGS) $< -o $@
|
$(CC) -c -g3 -Ivendor/ -I./ $(CFLAGS) $< -o $@
|
||||||
|
|
||||||
$(LIBS_DIR)/sqlite-vec.a: $(OBJS_DIR)/sqlite-vec.o $(LIBS_DIR)
|
$(LIBS_DIR)/sqlite-vec.a: $(OBJS_DIR)/sqlite-vec.o $(LIBS_DIR)
|
||||||
ar rcs $@ $<
|
$(AR) rcs $@ $<
|
||||||
|
|
||||||
|
|
||||||
$(TARGET_CLI): $(LIBS_DIR)/sqlite-vec.a $(LIBS_DIR)/shell.a $(LIBS_DIR)/sqlite3.a examples/sqlite3-cli/core_init.c $(prefix)
|
$(TARGET_CLI): $(LIBS_DIR)/sqlite-vec.a $(LIBS_DIR)/shell.a $(LIBS_DIR)/sqlite3.a examples/sqlite3-cli/core_init.c $(prefix)
|
||||||
gcc -g3 \
|
$(CC) -g3 \
|
||||||
-Ivendor/sqlite -I./ \
|
-Ivendor/ -I./ \
|
||||||
-DSQLITE_CORE \
|
-DSQLITE_CORE \
|
||||||
-DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_FTS4 \
|
-DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_FTS4 \
|
||||||
-DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS \
|
-DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS \
|
||||||
-DSQLITE_EXTRA_INIT=core_init \
|
-DSQLITE_EXTRA_INIT=core_init \
|
||||||
$(CFLAGS) \
|
$(CFLAGS) \
|
||||||
-lreadline -DHAVE_EDITLINE=1 \
|
-ldl -lm \
|
||||||
-ldl -lm -lreadline \
|
examples/sqlite3-cli/core_init.c $(LIBS_DIR)/shell.a $(LIBS_DIR)/sqlite3.a $(LIBS_DIR)/sqlite-vec.a -o $@
|
||||||
$(LIBS_DIR)/shell.a $(LIBS_DIR)/sqlite3.a $(LIBS_DIR)/sqlite-vec.a examples/sqlite3-cli/core_init.c -o $@
|
|
||||||
|
|
||||||
|
|
||||||
sqlite-vec.h: sqlite-vec.h.tmpl VERSION
|
sqlite-vec.h: sqlite-vec.h.tmpl VERSION
|
||||||
|
|
|
||||||
|
|
@ -54,11 +54,13 @@ SQLITE_EXTENSION_INIT1
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
#ifndef __EMSCRIPTEN__
|
#ifndef __EMSCRIPTEN__
|
||||||
|
#ifndef __COSMOPOLITAN__
|
||||||
typedef u_int8_t uint8_t;
|
typedef u_int8_t uint8_t;
|
||||||
typedef u_int16_t uint16_t;
|
typedef u_int16_t uint16_t;
|
||||||
typedef u_int64_t uint64_t;
|
typedef u_int64_t uint64_t;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef int8_t i8;
|
typedef int8_t i8;
|
||||||
typedef uint8_t u8;
|
typedef uint8_t u8;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue