# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python:
import os.path

binary = AMXX.MetaModule(builder, 'sqlite')
binary.compiler.cxxincludes += [
  os.path.join(builder.currentSourcePath, 'sqlitepp'),
  os.path.join(builder.currentSourcePath, 'thread'),
  os.path.join(builder.currentSourcePath, 'sqlite-source'),
]
binary.compiler.defines += [
  'SM_DEFAULT_THREADER',
  'stricmp=strcasecmp',
  'HAVE_STDINT_H',
]

if builder.target_platform == 'linux':
  binary.compiler.postlink += ['-lpthread']

binary.sources += [
  'basic_sql.cpp',
  'handles.cpp',
  'module.cpp',
  'threading.cpp',
  '../../public/sdk/amxxmodule.cpp',
  'oldcompat_sql.cpp',
  'thread/BaseWorker.cpp',
  'thread/ThreadWorker.cpp',
  'sqlitepp/SqliteQuery.cpp',
  'sqlitepp/SqliteResultSet.cpp',
  'sqlitepp/SqliteDatabase.cpp',
  'sqlitepp/SqliteDriver.cpp',
  'sqlite-source/alter.c',
  'sqlite-source/analyze.c',
  'sqlite-source/attach.c',
  'sqlite-source/auth.c',
  'sqlite-source/btree.c',
  'sqlite-source/build.c',
  'sqlite-source/callback.c',
  'sqlite-source/complete.c',
  'sqlite-source/date.c',
  'sqlite-source/delete.c',
  'sqlite-source/expr.c',
  'sqlite-source/func.c',
  'sqlite-source/hash.c',
  'sqlite-source/insert.c',
  'sqlite-source/legacy.c',
  'sqlite-source/loadext.c',
  'sqlite-source/main.c',
  'sqlite-source/opcodes.c',
  'sqlite-source/os.c',
  'sqlite-source/pager.c',
  'sqlite-source/parse.c',
  'sqlite-source/pragma.c',
  'sqlite-source/prepare.c',
  'sqlite-source/printf.c',
  'sqlite-source/random.c',
  'sqlite-source/select.c',
  'sqlite-source/table.c',
  'sqlite-source/tokenize.c',
  'sqlite-source/trigger.c',
  'sqlite-source/update.c',
  'sqlite-source/utf.c',
  'sqlite-source/util.c',
  'sqlite-source/vacuum.c',
  'sqlite-source/vdbe.c',
  'sqlite-source/vdbeapi.c',
  'sqlite-source/vdbeaux.c',
  'sqlite-source/vdbefifo.c',
  'sqlite-source/vdbemem.c',
  'sqlite-source/vtab.c',
  'sqlite-source/where.c',
]

if builder.target_platform == 'windows':
  binary.sources += [
    'thread/WinThreads.cpp',
    'sqlite-source/os_win.c',
  ]
else:
  binary.sources += [
    'thread/PosixThreads.cpp',
    'sqlite-source/os_unix.c',
  ]


AMXX.modules += [builder.Add(binary)]
