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:
|
||||
name: sqlite-vec-wasm32-emscripten
|
||||
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)
|
||||
DATE=$(shell date +'%FT%TZ%z')
|
||||
|
||||
CC ?= gcc
|
||||
AR ?= ar
|
||||
|
||||
ifeq ($(shell uname -s),Darwin)
|
||||
CONFIG_DARWIN=y
|
||||
|
|
@ -62,7 +64,7 @@ cli: $(TARGET_CLI)
|
|||
all: loadable static cli
|
||||
|
||||
$(TARGET_LOADABLE): sqlite-vec.c sqlite-vec.h $(prefix)
|
||||
gcc \
|
||||
$(CC) \
|
||||
-fPIC -shared \
|
||||
-Wall -Wextra \
|
||||
-Ivendor/ \
|
||||
|
|
@ -71,9 +73,9 @@ $(TARGET_LOADABLE): sqlite-vec.c sqlite-vec.h $(prefix)
|
|||
$< -o $@
|
||||
|
||||
$(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
|
||||
ar rcs $@ $(prefix)/.objs/vec.o
|
||||
$(AR) rcs $@ $(prefix)/.objs/vec.o
|
||||
|
||||
$(TARGET_STATIC_H): sqlite-vec.h $(prefix)
|
||||
cp $< $@
|
||||
|
|
@ -93,41 +95,41 @@ $(BUILD_DIR): $(prefix)
|
|||
mkdir -p $@
|
||||
|
||||
$(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)
|
||||
ar rcs $@ $<
|
||||
$(AR) rcs $@ $<
|
||||
|
||||
$(BUILD_DIR)/shell-new.c: vendor/shell.c $(BUILD_DIR)
|
||||
sed 's/\/\*extra-version-info\*\//EXTRA_TODO/g' $< > $@
|
||||
|
||||
$(OBJS_DIR)/shell.o: $(BUILD_DIR)/shell-new.c $(OBJS_DIR)
|
||||
gcc -c -g3 -O3 \
|
||||
-DHAVE_EDITLINE=1 -I./vendor \
|
||||
$(CC) -c -g3 -O3 \
|
||||
-I./vendor \
|
||||
-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 $@
|
||||
|
||||
$(LIBS_DIR)/shell.a: $(OBJS_DIR)/shell.o $(LIBS_DIR)
|
||||
ar rcs $@ $<
|
||||
$(AR) rcs $@ $<
|
||||
|
||||
$(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)
|
||||
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)
|
||||
gcc -g3 \
|
||||
-Ivendor/sqlite -I./ \
|
||||
$(CC) -g3 \
|
||||
-Ivendor/ -I./ \
|
||||
-DSQLITE_CORE \
|
||||
-DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_FTS4 \
|
||||
-DSQLITE_ENABLE_STMT_SCANSTATUS -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS \
|
||||
-DSQLITE_EXTRA_INIT=core_init \
|
||||
$(CFLAGS) \
|
||||
-lreadline -DHAVE_EDITLINE=1 \
|
||||
-ldl -lm -lreadline \
|
||||
$(LIBS_DIR)/shell.a $(LIBS_DIR)/sqlite3.a $(LIBS_DIR)/sqlite-vec.a examples/sqlite3-cli/core_init.c -o $@
|
||||
-ldl -lm \
|
||||
examples/sqlite3-cli/core_init.c $(LIBS_DIR)/shell.a $(LIBS_DIR)/sqlite3.a $(LIBS_DIR)/sqlite-vec.a -o $@
|
||||
|
||||
|
||||
sqlite-vec.h: sqlite-vec.h.tmpl VERSION
|
||||
|
|
|
|||
|
|
@ -54,11 +54,13 @@ SQLITE_EXTENSION_INIT1
|
|||
|
||||
#ifndef _WIN32
|
||||
#ifndef __EMSCRIPTEN__
|
||||
#ifndef __COSMOPOLITAN__
|
||||
typedef u_int8_t uint8_t;
|
||||
typedef u_int16_t uint16_t;
|
||||
typedef u_int64_t uint64_t;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef int8_t i8;
|
||||
typedef uint8_t u8;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue