v2 / vlib / db / mysql / _cdefs_nix.c.v
32 lines · 30 sloc · 2.73 KB · 7e9d461fd06c8ddbf63b4276ae658df103d47017
Raw
1module mysql
2
3// Need to check if `mysqlclient` is not there and use `mariadb` as alternative
4// because newer system doesn't support mysql 8.0 as default.
5
6$if $pkgconfig('mysqlclient') {
7 #pkgconfig mysqlclient
8 #include <mysql.h> # Please install the libmysqlclient-dev development headers
9} $else $if $pkgconfig('mariadb') {
10 #pkgconfig mariadb
11 $if openbsd {
12 #include <mysql.h> # Please install the mariadb-client package for development headers
13 } $else $if freebsd {
14 #include <mysql.h> # Please install the mariadb118-client package for development headers
15 } $else {
16 #include <mysql.h> # Please install the libmariadb-dev development headers
17 }
18} $else $if $pkgconfig('libmariadb') {
19 #pkgconfig libmariadb
20 #include <mysql.h> # Please install the mariadb client
21} $else {
22 // Common fallback paths when pkg-config is unavailable.
23 #flag linux -I$when_first_existing('/usr/include/mysql','/usr/include/mariadb','/usr/local/include/mysql','/usr/local/include/mariadb')
24 #flag linux $when_first_existing('/usr/lib64/libmysqlclient.so','/usr/lib64/mysql/libmysqlclient.so','/usr/lib/libmysqlclient.so','/usr/lib/mysql/libmysqlclient.so','/usr/lib/x86_64-linux-gnu/libmysqlclient.so','/usr/lib/aarch64-linux-gnu/libmysqlclient.so','/usr/local/lib/libmysqlclient.so','/usr/local/mysql/lib/libmysqlclient.so','/usr/lib64/libmariadb.so','/usr/lib64/mysql/libmariadb.so','/usr/lib/libmariadb.so','/usr/lib/mysql/libmariadb.so','/usr/lib/x86_64-linux-gnu/libmariadb.so','/usr/lib/aarch64-linux-gnu/libmariadb.so','/usr/local/lib/libmariadb.so')
25 #flag darwin -I$when_first_existing('/opt/homebrew/include/mysql','/opt/homebrew/include/mariadb','/opt/homebrew/opt/mysql-client/include/mysql','/opt/homebrew/opt/mariadb-connector-c/include/mariadb','/usr/local/include/mysql','/usr/local/include/mariadb','/usr/local/opt/mysql-client/include/mysql','/usr/local/opt/mariadb-connector-c/include/mariadb')
26 #flag darwin $when_first_existing('/opt/homebrew/lib/libmysqlclient.dylib','/opt/homebrew/opt/mysql-client/lib/libmysqlclient.dylib','/usr/local/lib/libmysqlclient.dylib','/usr/local/opt/mysql-client/lib/libmysqlclient.dylib','/opt/homebrew/lib/libmariadb.dylib','/opt/homebrew/opt/mariadb-connector-c/lib/libmariadb.dylib','/usr/local/lib/libmariadb.dylib','/usr/local/opt/mariadb-connector-c/lib/libmariadb.dylib')
27 #flag freebsd -I$when_first_existing('/usr/local/include/mysql','/usr/local/include/mariadb')
28 #flag freebsd $when_first_existing('/usr/local/lib/libmysqlclient.so','/usr/local/lib/libmariadb.so')
29 #flag openbsd -I$when_first_existing('/usr/local/include/mysql','/usr/local/include/mariadb')
30 #flag openbsd $when_first_existing('/usr/local/lib/libmysqlclient.so','/usr/local/lib/libmariadb.so')
31 #include <mysql.h> # Please install the mysql or mariadb development headers
32}
33