Also link to sqlite 3 if present.

This commit is contained in:
Relintai 2020-11-28 14:30:50 +01:00
parent baf6d529dc
commit d36a344980
4 changed files with 100 additions and 0 deletions

11
database/sqlite/SCsub Normal file
View File

@ -0,0 +1,11 @@
#!/usr/bin/env python
Import("env_db")
env_db.core_sources = []
env_db.add_source_files(env_db.core_sources, "*.cpp")
# Build it all as a library
lib = env_db.add_library("database_pgsql", env_db.core_sources)
env_db.Prepend(LIBS=[lib])

53
database/sqlite/detect.py Normal file
View File

@ -0,0 +1,53 @@
import os
import platform
import sys
def is_active():
return True
def get_name():
return "pgsql"
def can_build():
if os.name == "posix" or sys.platform == "darwin":
x11_error = os.system("pkg-config --version > /dev/null")
if x11_error:
return False
sqlite_error = os.system("pkg-config sqlite3 --modversion --silence-errors > /dev/null ")
if sqlite_error:
print("sqlite3 not found!")
return False
print("sqlite3 found!")
return True
#todo
return False
def get_opts():
from SCons.Variables import BoolVariable, EnumVariable
return [
EnumVariable("debug_symbols", "Add debugging symbols to release/release_debug builds", "yes", ("yes", "no")),
]
def get_flags():
return []
def configure(env):
env.ParseConfig("pkg-config sqlite3 --cflags --libs")
# Link those statically for portability
#if env["use_static_cpp"]:
#env.Append(LINKFLAGS=["-static-libgcc", "-static-libstdc++"])

View File

@ -0,0 +1 @@
#include "sqlite3_connection.h"

View File

@ -0,0 +1,35 @@
#ifndef SQLITE3_CONNECTION
#define SQLITE3_CONNECTION
//Brynet has it aswell, and because of using namespace it is defined here aswell
//later this will be fixed better
//#ifdef IS_NUM
//#undef IS_NUM
//#endif
#include <cstdio>
#include <sqlite3.h>
class SQLite3Connection {
public:
SQLite3Connection() {
int ret = sqlite3_config(SQLITE_CONFIG_MULTITHREAD);
if (ret != SQLITE_OK) {
printf("SQLITE3 multithreading is not supported!\n");
}
ret = sqlite3_open("", &conn);
}
~SQLite3Connection() {
sqlite3_close(conn);
}
sqlite3 *conn;
};
//#undef IS_NUM
#endif