mysql編譯工具 cmake
從mysql5.5起,mysql原始碼安裝開始使用cmake了。下面是介紹configure選項如何對映到CMake的等值引數。
1. 命令語法:
./configure---------cmake.
重新編譯時,需要清除舊的物件檔案和快取資訊
# make clean
# rm -f CMakeCache.txt
2.安裝選項
CMAKE_INSTALL_PREFIX值是安裝的基本目錄,其他cmake選項值是不包括字首,是相對路徑名,絕對路徑包括CMAKE_INSTALL_PREFIX路徑。如-DINSTALL_SBINDIR=sbin的絕對路徑是/usr/local/mysql/sbin
3.儲存引擎選項
mysql儲存引擎是外掛式的,因此外掛控制選項可以指定那個儲存引擎安裝。
configure編譯外掛選項--with-plugins=csv,myisam,myisammrg,heap,innobase,
archive,blackhole在cmake中沒有直接對應的相同選項。對於csv,myisam,myisammrg,heap在cmake中是不需要明確指定儲存引擎的名稱,因為它們是強制性安裝。
可以使用以下選擇來安裝innodb,archive,blackhole儲存引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
(1可以使用on代替)
如果既不是-DWITH_<ENGINE>_STORAGE_ENGINE也不是 -DWITHOUT_<ENGINE>_STORAGE_ENGINE來指定儲存引擎,該儲存引擎將安裝成共享模組式的。如果不是共享模組式的將排除在外。共享模組安裝時必須使用INSTALLPLUGIN語句或--plugin-load才可以使用。
4.lib庫選項
5.其他選項
之前MySQL的編譯選項大多數都支援。新舊版本之間的安裝選項對映成大寫字母,刪除選項前面破折號,中間字元間的破折號替換成下劃線。如:
--with-debug => WITH_DEBUG=1
--with-embedded-server =>WITH_EMBEDDED_SERVER
6.除錯配置過程
使用configure編譯完將生成config.log和config.status檔案。
使用cmake編譯完在CMakeFiles目錄下生成CMakeError.log和CMakeOutput.log檔案。
7.第三方介面工具
在之前的版本,第三方工具從MySQL頂層源目錄中讀取源configure.in檔案來確定mysql版本。如:對5.5.7 -RC版本的AC_INIT線看起來像這樣:
AC_INIT([MySQL Server], [5.5.7-rc], [],[mysql])
現在的版本可以直接讀取版本檔案。如:如果版本是5.5.8,檔案看起來像這樣的:
MYSQL_VERSION_MAJOR=5
MYSQL_VERSION_MINOR=5
MYSQL_VERSION_PATCH=8
MYSQL_VERSION_EXTRA=
如果原始碼包不是GA版,MYSQL_VERSION_EXTRA的值將非空。如:對於一個釋出RC版本是這樣的:
MYSQL_VERSION_EXTRA=rc
構建5位數字的版本號,使用下面公式:
MYSQL_VERSION_MAJOR*10000 +MYSQL_VERSION_MINOR*100 + MYSQL_VERSION_PATCH