Skip to content

Commit 5faf290

Browse files
committed
Worked extension-functions.c back into main build process
1 parent ecfc5ad commit 5faf290

15 files changed

+239748
-499930
lines changed

.gitignore

-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ c/sqlite3.bc
66
c/extension-functions.bc
77
# Intermediary js files
88
js/api.js
9-
js/api-extension-functions.js
109
js/sql-noopt-raw.js.map
1110
js/sql-optimized.js
12-
js/sql-extension-functions-optimized.js
1311
js/worker.js
1412
js/sql-raw.js.map

Makefile

+10-21
Original file line numberDiff line numberDiff line change
@@ -6,37 +6,27 @@ EMCC=$(EMSCRIPTEN)/emcc
66

77
CFLAGS=-DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_DISABLE_LFS -DLONGDOUBLE_TYPE=double -DSQLITE_INT64_TYPE="long long int" -DSQLITE_THREADSAFE=0 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS
88

9-
all: js/sql.js js/sql-debug.js js/worker.sql.js js/sql-extension-functions.js js/sql-extension-functions-debug.js js/worker.sql-extension-functions.js
9+
all: js/sql.js js/sql-debug.js js/worker.sql.js
1010

1111
# RESERVED_FUNCTION_POINTERS setting is used for registering custom functions
1212
debug: EMFLAGS= -O1 -g -s INLINING_LIMIT=10 -s RESERVED_FUNCTION_POINTERS=64
13-
debug: js/sql-debug.js js/sql-extension-functions-debug.js
13+
debug: js/sql-debug.js
1414

1515
optimized: EMFLAGS= --memory-init-file 0 --closure 1 -O3 -s INLINING_LIMIT=50 -s RESERVED_FUNCTION_POINTERS=64
16-
optimized: js/sql-optimized.js js/sql-extension-functions-optimized.js
16+
optimized: js/sql-optimized.js
1717

1818
js/sql.js: optimized
1919
cp js/sql-optimized.js js/sql.js
2020

21-
js/sql-extension-functions.js: optimized
22-
cp js/sql-extension-functions-optimized.js js/sql-extension-functions.js
23-
2421
js/sql%.js: js/shell-pre.js js/sql%-raw.js js/shell-post.js
2522
cat $^ > $@
2623

27-
js/sql%-raw.js: c/sqlite3.bc js/api.js exported_functions extension_exported_functions c/extension-functions.bc js/api-extension-functions.js
28-
if [ "$(findstring extension-functions,$@)" = "extension-functions" ]; then \
29-
$(EMCC) $(EMFLAGS) -s EXPORTED_FUNCTIONS=@extension_exported_functions c/extension-functions.bc c/sqlite3.bc --post-js js/api-extension-functions.js -o $@ ;\
30-
else \
31-
$(EMCC) $(EMFLAGS) -s EXPORTED_FUNCTIONS=@exported_functions c/sqlite3.bc --post-js js/api.js -o $@ ;\
32-
fi
24+
js/sql%-raw.js: c/sqlite3.bc c/extension-functions.bc js/api.js exported_functions
25+
$(EMCC) $(EMFLAGS) -s EXPORTED_FUNCTIONS=@exported_functions c/extension-functions.bc c/sqlite3.bc --post-js js/api.js -o $@ ;\
3326

3427
js/api.js: coffee/api.coffee coffee/exports.coffee coffee/api-data.coffee
3528
cat $^ | coffee --bare --compile --stdio > $@
3629

37-
js/api-extension-functions.js: coffee/api.coffee coffee/extension-functions-exports.coffee coffee/api-data.coffee
38-
cat $^ | coffee --bare --compile --stdio > $@
39-
4030
# Web worker API
4131
worker: js/worker.sql.js
4232
js/worker.js: coffee/worker.coffee
@@ -45,18 +35,17 @@ js/worker.js: coffee/worker.coffee
4535
js/worker.sql.js: js/sql.js js/worker.js
4636
cat $^ > $@
4737

48-
js/worker.sql-extension-functions.js: js/sql-extension-functions.js js/worker.js
49-
cat $^ > $@
50-
5138
c/sqlite3.bc: c/sqlite3.c
5239
# Generate llvm bitcode
5340
$(EMCC) $(CFLAGS) c/sqlite3.c -o c/sqlite3.bc
5441

42+
c/extension-functions.bc: c/extension-functions.c
43+
$(EMCC) $(CFLAGS) -s LINKABLE=1 c/extension-functions.c -o c/extension-functions.bc
44+
5545
module.tar.gz: test package.json AUTHORS README.md js/sql.js
5646
tar --create --gzip $^ > $@
5747

5848
clean:
59-
rm -rf js/sql*.js js/api*.js js/sql*-raw.js js/worker.sql*.js js/worker.js c/sqlite3.bc c/extension-functions.bc
49+
rm -rf js/sql.js js/api.js js/sql*-raw.js js/worker.sql.js js/worker.js c/sqlite3.bc c/extension-functions.bc
50+
6051

61-
c/extension-functions.bc: c/extension-functions.c
62-
$(EMCC) $(CFLAGS) -s LINKABLE=1 c/extension-functions.c -o c/extension-functions.bc

coffee/api.coffee

+1-1
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ class Database
243243
if data? then FS.createDataFile '/', @filename, data, true, true
244244
@handleError sqlite3_open @filename, apiTemp
245245
@db = getValue(apiTemp, 'i32')
246-
RegisterExtensionFunctions(@db) if typeof(RegisterExtensionFunctions) == "function"
246+
RegisterExtensionFunctions(@db)
247247
@statements = {} # A list of all prepared statements of the database
248248

249249
### Execute an SQL query, ignoring the rows it returns.

coffee/exports.coffee

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ sqlite3_value_double = Module['cwrap'] 'sqlite3_value_double', 'number', ['numbe
5252
sqlite3_result_double = Module['cwrap'] 'sqlite3_result_double', '', ['number', 'number']
5353
sqlite3_result_null = Module['cwrap'] 'sqlite3_result_null', '', ['number']
5454
sqlite3_result_text = Module['cwrap'] 'sqlite3_result_text', '', ['number', 'string', 'number', 'number']
55+
RegisterExtensionFunctions = Module['cwrap'] 'RegisterExtensionFunctions', 'number', ['number']
5556

5657
# Export the API
5758
this['SQL'] = {'Database':Database}

coffee/extension-functions-exports.coffee

-59
This file was deleted.

exported_functions

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,6 @@
3232
"_sqlite3_value_double",
3333
"_sqlite3_result_double",
3434
"_sqlite3_result_null",
35-
"_sqlite3_result_text"
35+
"_sqlite3_result_text",
36+
"_RegisterExtensionFunctions"
3637
]

extension_exported_functions

-42
This file was deleted.

0 commit comments

Comments
 (0)