dvander@2784: # vim: set ts=2 sw=2 tw=99 noet ft=python: dvander@2784: import os dvander@2784: dvander@2784: compiler = SM.DefaultExtCompiler('extensions/sqlite') dvander@2784: compiler['CXXINCLUDES'].append(os.path.join(SM.mmsPath, 'core', 'sourcehook')) dvander@2784: dvander@2784: compiler['CDEFINES'].extend(['SQLITE_OMIT_LOAD_EXTENSION', 'SQLITE_THREADSAFE']) dvander@2784: if AMBuild.target['platform'] == 'linux': dvander@2784: compiler['POSTLINKFLAGS'].extend(['-ldl', '-lpthread']) dvander@2784: dvander@2784: extension = AMBuild.AddJob('dbi.sqlite.ext') dvander@2784: binary = Cpp.LibraryBuilder('dbi.sqlite.ext', AMBuild, extension, compiler) dvander@2784: files = [ dvander@2784: 'sdk/smsdk_ext.cpp', 'sdk/sm_memtable.cpp', 'extension.cpp', dvander@2784: 'driver/SqDatabase.cpp', 'driver/SqDriver.cpp', 'driver/SqQuery.cpp', dvander@2784: 'driver/SqResults.cpp', 'sqlite-source/alter.c', 'sqlite-source/analyze.c', dvander@2784: 'sqlite-source/attach.c', 'sqlite-source/auth.c', 'sqlite-source/btree.c', dvander@2784: 'sqlite-source/build.c', 'sqlite-source/callback.c', 'sqlite-source/complete.c', dvander@2784: 'sqlite-source/date.c', 'sqlite-source/delete.c', 'sqlite-source/expr.c', dvander@2784: 'sqlite-source/func.c', 'sqlite-source/hash.c', 'sqlite-source/insert.c', dvander@2784: 'sqlite-source/legacy.c', 'sqlite-source/main.c', 'sqlite-source/malloc.c', dvander@2784: 'sqlite-source/opcodes.c', 'sqlite-source/os.c', dvander@2784: 'sqlite-source/pager.c', 'sqlite-source/parse.c', 'sqlite-source/pragma.c', dvander@2784: 'sqlite-source/prepare.c', 'sqlite-source/printf.c', 'sqlite-source/random.c', dvander@2784: 'sqlite-source/select.c', 'sqlite-source/table.c', 'sqlite-source/tokenize.c', dvander@2784: 'sqlite-source/trigger.c', 'sqlite-source/update.c', 'sqlite-source/utf.c', dvander@2784: 'sqlite-source/util.c', 'sqlite-source/vacuum.c', 'sqlite-source/vdbe.c', dvander@2784: 'sqlite-source/vdbeapi.c', 'sqlite-source/vdbeaux.c', 'sqlite-source/vdbeblob.c', dvander@2784: 'sqlite-source/vdbefifo.c', 'sqlite-source/vdbemem.c', 'sqlite-source/vtab.c', dvander@2784: 'sqlite-source/where.c', 'sqlite-source/btmutex.c', 'sqlite-source/journal.c', dvander@2784: 'sqlite-source/mem1.c', 'sqlite-source/mem2.c', 'sqlite-source/mutex.c' dvander@2784: ] dvander@2784: if AMBuild.target['platform'] == 'windows': dvander@2784: files.extend(['sqlite-source/mutex_w32.c', 'sqlite-source/os_win.c']) dvander@2784: elif AMBuild.target['platform'] == 'linux': dvander@2784: files.extend(['sqlite-source/mutex_unix.c', 'sqlite-source/os_unix.c']) dvander@2784: binary.AddSourceFiles('extensions/sqlite', files) dvander@2784: SM.AutoVersion('extensions/sqlite', binary) dvander@2784: binary.SendToJob() dvander@2784: