rcpp_framework/database/mysql/detect.py

72 lines
1.7 KiB
Python

import os
import platform
import sys
def is_active():
return True
def get_name():
return "mysql"
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
mariadb_error = os.system("pkg-config mariadb --modversion --silence-errors > /dev/null ")
mysql_error = os.system("pkg-config mysql --modversion --silence-errors > /dev/null ")
if mariadb_error and mysql_error:
print("mysql and mariadb not found..")
return False
if not mariadb_error:
print("mariadb found!")
return True
if not mysql_error:
print("mysql 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):
mariadb_error = os.system("pkg-config mariadb --modversion --silence-errors > /dev/null ")
mysql_error = os.system("pkg-config mysql --modversion --silence-errors > /dev/null ")
if not mariadb_error:
env.ParseConfig("pkg-config mariadb --cflags --libs")
env.Append(CPPDEFINES=["MYSQL_PRESENT"])
return
if not mysql_error:
env.ParseConfig("pkg-config mysql --cflags --libs")
env.Append(CPPDEFINES=["MYSQL_PRESENT"])
# Link those statically for portability
#if env["use_static_cpp"]:
#env.Append(LINKFLAGS=["-static-libgcc", "-static-libstdc++"])