| 1 | module 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 | |
| 34 | #include "@VMODROOT/vlib/db/mysql/mysql_compat.h" |
| 35 | |