mirror of
https://github.com/MariaDB/server.git
synced 2025-02-02 12:01:42 +01:00
a45866c6db
Oracle introduced a Memcached plugin interface to the InnoDB storage engine in MySQL 5.6. That interface is essentially a fork of Memcached development snapshot 1.6.0-beta1 of an old development branch 'engine-pu'. To my knowledge, there have not been any updates to the Memcached code between MySQL 5.6 and 5.7; only bug fixes and extensions related to the Oracle modifications. The Memcached plugin is not part of the MariaDB Server. Therefore it does not make sense to include the InnoDB interfaces for the Memcached plugin, or to have any related configuration parameters: innodb_api_bk_commit_interval innodb_api_disable_rowlock innodb_api_enable_binlog innodb_api_enable_mdl innodb_api_trx_level Removing this code in one commit makes it possible to easily restore it, in case it turns out to be needed later.
218 lines
4.7 KiB
CMake
218 lines
4.7 KiB
CMake
# Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
|
|
# Copyright (c) 2014, 2017, MariaDB Corporation
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; version 2 of the License.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
# This is the CMakeLists for InnoDB
|
|
|
|
INCLUDE(CheckFunctionExists)
|
|
INCLUDE(CheckCSourceCompiles)
|
|
INCLUDE(CheckCSourceRuns)
|
|
INCLUDE(lz4)
|
|
INCLUDE(lzo)
|
|
INCLUDE(lzma)
|
|
INCLUDE(bzip2)
|
|
INCLUDE(snappy)
|
|
INCLUDE(numa)
|
|
|
|
MYSQL_CHECK_LZ4()
|
|
MYSQL_CHECK_LZO()
|
|
MYSQL_CHECK_LZMA()
|
|
MYSQL_CHECK_BZIP2()
|
|
MYSQL_CHECK_SNAPPY()
|
|
MYSQL_CHECK_NUMA()
|
|
|
|
INCLUDE(innodb.cmake)
|
|
|
|
SET(INNOBASE_SOURCES
|
|
btr/btr0btr.cc
|
|
btr/btr0bulk.cc
|
|
btr/btr0cur.cc
|
|
btr/btr0pcur.cc
|
|
btr/btr0scrub.cc
|
|
btr/btr0sea.cc
|
|
btr/btr0defragment.cc
|
|
buf/buf0buddy.cc
|
|
buf/buf0buf.cc
|
|
buf/buf0dblwr.cc
|
|
buf/buf0checksum.cc
|
|
buf/buf0dump.cc
|
|
buf/buf0flu.cc
|
|
buf/buf0lru.cc
|
|
buf/buf0rea.cc
|
|
buf/buf0mtflu.cc
|
|
data/data0data.cc
|
|
data/data0type.cc
|
|
dict/dict0boot.cc
|
|
dict/dict0crea.cc
|
|
dict/dict0dict.cc
|
|
dict/dict0load.cc
|
|
dict/dict0mem.cc
|
|
dict/dict0stats.cc
|
|
dict/dict0stats_bg.cc
|
|
dict/dict0defrag_bg.cc
|
|
eval/eval0eval.cc
|
|
eval/eval0proc.cc
|
|
fil/fil0fil.cc
|
|
fil/fil0pagecompress.cc
|
|
fil/fil0crypt.cc
|
|
fsp/fsp0fsp.cc
|
|
fsp/fsp0file.cc
|
|
fsp/fsp0space.cc
|
|
fsp/fsp0sysspace.cc
|
|
fut/fut0fut.cc
|
|
fut/fut0lst.cc
|
|
ha/ha0ha.cc
|
|
ha/ha0storage.cc
|
|
ha/hash0hash.cc
|
|
fts/fts0fts.cc
|
|
fts/fts0ast.cc
|
|
fts/fts0blex.cc
|
|
fts/fts0config.cc
|
|
fts/fts0opt.cc
|
|
fts/fts0pars.cc
|
|
fts/fts0que.cc
|
|
fts/fts0sql.cc
|
|
fts/fts0tlex.cc
|
|
gis/gis0geo.cc
|
|
gis/gis0rtree.cc
|
|
gis/gis0sea.cc
|
|
fts/fts0plugin.cc
|
|
handler/ha_innodb.cc
|
|
# handler/ha_innopart.cc
|
|
handler/handler0alter.cc
|
|
handler/i_s.cc
|
|
ibuf/ibuf0ibuf.cc
|
|
lock/lock0iter.cc
|
|
lock/lock0prdt.cc
|
|
lock/lock0lock.cc
|
|
lock/lock0wait.cc
|
|
log/log0log.cc
|
|
log/log0recv.cc
|
|
log/log0crypt.cc
|
|
mach/mach0data.cc
|
|
mem/mem0mem.cc
|
|
mtr/mtr0log.cc
|
|
mtr/mtr0mtr.cc
|
|
os/os0file.cc
|
|
os/os0proc.cc
|
|
os/os0event.cc
|
|
os/os0thread.cc
|
|
page/page0cur.cc
|
|
page/page0page.cc
|
|
page/page0zip.cc
|
|
pars/lexyy.cc
|
|
pars/pars0grm.cc
|
|
pars/pars0opt.cc
|
|
pars/pars0pars.cc
|
|
pars/pars0sym.cc
|
|
que/que0que.cc
|
|
read/read0read.cc
|
|
rem/rem0cmp.cc
|
|
rem/rem0rec.cc
|
|
row/row0ext.cc
|
|
row/row0ftsort.cc
|
|
row/row0import.cc
|
|
row/row0ins.cc
|
|
row/row0merge.cc
|
|
row/row0mysql.cc
|
|
row/row0log.cc
|
|
row/row0purge.cc
|
|
row/row0row.cc
|
|
row/row0sel.cc
|
|
row/row0trunc.cc
|
|
row/row0uins.cc
|
|
row/row0umod.cc
|
|
row/row0undo.cc
|
|
row/row0upd.cc
|
|
row/row0quiesce.cc
|
|
row/row0vers.cc
|
|
srv/srv0conc.cc
|
|
srv/srv0mon.cc
|
|
srv/srv0srv.cc
|
|
srv/srv0start.cc
|
|
sync/sync0arr.cc
|
|
sync/sync0rw.cc
|
|
sync/sync0debug.cc
|
|
sync/sync0sync.cc
|
|
trx/trx0i_s.cc
|
|
trx/trx0purge.cc
|
|
trx/trx0rec.cc
|
|
trx/trx0roll.cc
|
|
trx/trx0rseg.cc
|
|
trx/trx0sys.cc
|
|
trx/trx0trx.cc
|
|
trx/trx0undo.cc
|
|
usr/usr0sess.cc
|
|
ut/ut0byte.cc
|
|
ut/ut0crc32.cc
|
|
ut/ut0dbg.cc
|
|
ut/ut0list.cc
|
|
ut/ut0mem.cc
|
|
ut/ut0new.cc
|
|
ut/ut0rbt.cc
|
|
ut/ut0rnd.cc
|
|
ut/ut0ut.cc
|
|
ut/ut0vec.cc
|
|
ut/ut0wqueue.cc
|
|
ut/ut0timer.cc)
|
|
|
|
IF(WITH_INNODB)
|
|
# Legacy option
|
|
SET(WITH_INNOBASE_STORAGE_ENGINE TRUE)
|
|
ENDIF()
|
|
|
|
MYSQL_ADD_PLUGIN(innobase ${INNOBASE_SOURCES} STORAGE_ENGINE
|
|
# MODULE_ONLY
|
|
# MODULE_OUTPUT_NAME ha_innodb
|
|
DEFAULT RECOMPILE_FOR_EMBEDDED
|
|
LINK_LIBRARIES
|
|
${ZLIB_LIBRARY}
|
|
${CRC32_VPMSUM_LIBRARY}
|
|
${NUMA_LIBRARY}
|
|
${LINKER_SCRIPT})
|
|
|
|
IF(WITH_INNOBASE_STORAGE_ENGINE)
|
|
ADD_DEPENDENCIES(innobase GenError)
|
|
ENDIF()
|
|
|
|
# Avoid generating Hardware Capabilities due to crc32 instructions
|
|
IF(CMAKE_SYSTEM_NAME MATCHES "SunOS" AND CMAKE_SYSTEM_PROCESSOR MATCHES "i386")
|
|
INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake)
|
|
MY_CHECK_CXX_COMPILER_FLAG("-Wa,-nH" HAVE_WA_NH)
|
|
IF(HAVE_WA_NH)
|
|
ADD_COMPILE_FLAGS(
|
|
ut/ut0crc32.cc
|
|
COMPILE_FLAGS "-Wa,-nH"
|
|
)
|
|
ENDIF()
|
|
ENDIF()
|
|
|
|
# A GCC bug causes crash when compiling these files on ARM64 with -O1+
|
|
# Compile them with -O0 as a workaround.
|
|
IF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
|
# Bug was fixed in GCC 5.2, so workaround only needed < 5.2
|
|
EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion
|
|
OUTPUT_VARIABLE GCC_VERSION)
|
|
IF(GCC_VERSION VERSION_LESS 5.2)
|
|
INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake)
|
|
ADD_COMPILE_FLAGS(
|
|
btr/btr0btr.cc
|
|
btr/btr0cur.cc
|
|
buf/buf0buf.cc
|
|
gis/gis0sea.cc
|
|
COMPILE_FLAGS "-O0"
|
|
)
|
|
ENDIF()
|
|
ENDIF()
|