Configuration Settings For Building Connector/C

Configuration settings

Connector/C specifies its build process with platform-independent CMake listfiles included in each directory of a source tree with the name CMakeLists.txt. Configuration settings may be specified by passing the -D option to CMake command line interpreter.

Do not build Connector/C from root of the source tree: Either create a subdirectory "build" inside the source tree or create a subdirectory outside of the source tree.

Example:

cmake ../connector_c -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local

Reconfiguration

In case Connector/C was already configured, the CMakeCache.txt file needs to be removed first. In several cases, e.g. when cross compiling CMakeFiles subfolders need to be removed too.

Generator options

If you want to use a different generator, e.g. for nmake on Windows, you need to specify the generator with the -G option. cmake --help lists the available generators for the used platform.

CMAKE_BUILD_TYPEBuild type: Release, RelWithDebInfo or Debug
CMAKE_INSTALL_PREFIXInstallation base directory
CMAKE_C_FLAGSFlags for C-Compiler

TLS/SSL options

OptionDefaultDescription
WITH_OPENSSLONPossible values are ON or OFF. Not supported anymore since Connector/C 3.0
WITH_SSLSCHANNEL (windows), otherwise OPENSSLSpecifies type of TLS/SSL library. E.g. GNUTLS, OPENSSL or SCHANNEL (Windows only). OFF disables TLS/SSL functionality

Client plugins

Client plugins can be configured as dynamic plugins (DYNAMIC) or built-in plugins (STATIC) by specifying the plugin name followed by suffix _PLUGIN_TYPE as key, and "DYNAMIC" or "STATIC" as value.

E.g. for building dialog plugin as a built-in plugin, for versions < Connector/C 3.0.4

cmake .. -D{PLUGIN_NAME}_PLUGIN_TYPE=[STATIC|DYNAMIC|OFF]

Beginning with C/C 3.0.4

cmake .. -DCLIENT_PLUGIN_{PLUGIN_NAME}=[STATIC|DYNAMIC|OFF]

Connector/C 3.0 supports the following plugins:

PluginTypeDefaultDescription
SOCKETIOstaticplugin for client server communication via socket
SHMEMIOstaticplugin for client server communication via shared memory
NPIPEIOstaticplugin for client server communication via named pipe
DIALOGAuthenticationdynamicAuthentication for user input, e.g. for PAM authentication
OLDPASSWORDAuthenticationstaticPre. 4.1 authentication (deprecated)
NATIVEAuthenticationstaticDefault authentication
CLEARTEXTAuthenticationdynamicSends password without hashing or encryption
AUTH_GSSAPIAuthenticationdynamicKerberos/GSSAPI authentication plugin
SHA256_PASSWORDAuthenticationdynamicSHA256 password authentication plugin
AURORAConnectionOFFFail over plugin for Aurora (experimental)
REPLICATIONConnectionOFFReplication/fail over plugin (experimental)
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.