|
dvander@2784
|
1 |
# vim: set ts=2 sw=2 tw=99 noet ft=python: |
|
dvander@2784
|
2 |
import os |
|
dvander@2784
|
3 |
|
|
dvander@2784
|
4 |
compiler = SM.DefaultExtCompiler('extensions/sqlite') |
|
dvander@2784
|
5 |
compiler['CXXINCLUDES'].append(os.path.join(SM.mmsPath, 'core', 'sourcehook')) |
|
dvander@2784
|
6 |
|
|
dvander@2784
|
7 |
compiler['CDEFINES'].extend(['SQLITE_OMIT_LOAD_EXTENSION', 'SQLITE_THREADSAFE']) |
|
dvander@2784
|
8 |
if AMBuild.target['platform'] == 'linux': |
|
dvander@2784
|
9 |
compiler['POSTLINKFLAGS'].extend(['-ldl', '-lpthread']) |
|
dvander@2784
|
10 |
|
|
dvander@2784
|
11 |
extension = AMBuild.AddJob('dbi.sqlite.ext') |
|
dvander@2784
|
12 |
binary = Cpp.LibraryBuilder('dbi.sqlite.ext', AMBuild, extension, compiler) |
|
dvander@2784
|
13 |
files = [ |
|
dvander@2784
|
14 |
'sdk/smsdk_ext.cpp', 'sdk/sm_memtable.cpp', 'extension.cpp', |
|
dvander@2784
|
15 |
'driver/SqDatabase.cpp', 'driver/SqDriver.cpp', 'driver/SqQuery.cpp', |
|
dvander@2784
|
16 |
'driver/SqResults.cpp', 'sqlite-source/alter.c', 'sqlite-source/analyze.c', |
|
dvander@2784
|
17 |
'sqlite-source/attach.c', 'sqlite-source/auth.c', 'sqlite-source/btree.c', |
|
dvander@2784
|
18 |
'sqlite-source/build.c', 'sqlite-source/callback.c', 'sqlite-source/complete.c', |
|
dvander@2784
|
19 |
'sqlite-source/date.c', 'sqlite-source/delete.c', 'sqlite-source/expr.c', |
|
dvander@2784
|
20 |
'sqlite-source/func.c', 'sqlite-source/hash.c', 'sqlite-source/insert.c', |
|
dvander@2784
|
21 |
'sqlite-source/legacy.c', 'sqlite-source/main.c', 'sqlite-source/malloc.c', |
|
dvander@2784
|
22 |
'sqlite-source/opcodes.c', 'sqlite-source/os.c', |
|
dvander@2784
|
23 |
'sqlite-source/pager.c', 'sqlite-source/parse.c', 'sqlite-source/pragma.c', |
|
dvander@2784
|
24 |
'sqlite-source/prepare.c', 'sqlite-source/printf.c', 'sqlite-source/random.c', |
|
dvander@2784
|
25 |
'sqlite-source/select.c', 'sqlite-source/table.c', 'sqlite-source/tokenize.c', |
|
dvander@2784
|
26 |
'sqlite-source/trigger.c', 'sqlite-source/update.c', 'sqlite-source/utf.c', |
|
dvander@2784
|
27 |
'sqlite-source/util.c', 'sqlite-source/vacuum.c', 'sqlite-source/vdbe.c', |
|
dvander@2784
|
28 |
'sqlite-source/vdbeapi.c', 'sqlite-source/vdbeaux.c', 'sqlite-source/vdbeblob.c', |
|
dvander@2784
|
29 |
'sqlite-source/vdbefifo.c', 'sqlite-source/vdbemem.c', 'sqlite-source/vtab.c', |
|
dvander@2784
|
30 |
'sqlite-source/where.c', 'sqlite-source/btmutex.c', 'sqlite-source/journal.c', |
|
dvander@2784
|
31 |
'sqlite-source/mem1.c', 'sqlite-source/mem2.c', 'sqlite-source/mutex.c' |
|
dvander@2784
|
32 |
] |
|
dvander@2784
|
33 |
if AMBuild.target['platform'] == 'windows': |
|
dvander@2784
|
34 |
files.extend(['sqlite-source/mutex_w32.c', 'sqlite-source/os_win.c']) |
|
dvander@2784
|
35 |
elif AMBuild.target['platform'] == 'linux': |
|
dvander@2784
|
36 |
files.extend(['sqlite-source/mutex_unix.c', 'sqlite-source/os_unix.c']) |
|
dvander@2784
|
37 |
binary.AddSourceFiles('extensions/sqlite', files) |
|
dvander@2784
|
38 |
SM.AutoVersion('extensions/sqlite', binary) |
|
dvander@2784
|
39 |
binary.SendToJob() |
|
dvander@2784
|
40 |
|