2010-08-12 19:19:57 +04:00
|
|
|
# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
|
2006-12-31 02:29:11 +01:00
|
|
|
#
|
|
|
|
# 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
|
2010-08-12 19:19:57 +04:00
|
|
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
2006-12-31 02:29:11 +01:00
|
|
|
|
2009-11-24 23:15:47 +00:00
|
|
|
ADD_DEFINITIONS(-DMYSQL_SERVER -DEMBEDDED_LIBRARY
|
2009-11-09 12:32:48 +01:00
|
|
|
${SSL_DEFINES})
|
|
|
|
|
|
|
|
INCLUDE_DIRECTORIES(
|
|
|
|
${CMAKE_SOURCE_DIR}/include
|
|
|
|
${CMAKE_SOURCE_DIR}/libmysql
|
|
|
|
${CMAKE_SOURCE_DIR}/libmysqld
|
|
|
|
${CMAKE_SOURCE_DIR}/sql
|
|
|
|
${CMAKE_BINARY_DIR}/sql
|
|
|
|
${CMAKE_SOURCE_DIR}/regex
|
|
|
|
${ZLIB_INCLUDE_DIR}
|
|
|
|
${SSL_INCLUDE_DIRS}
|
|
|
|
${SSL_INTERNAL_INCLUDE_DIRS}
|
|
|
|
${NDB_CLUSTER_INCLUDES}
|
|
|
|
${CMAKE_SOURCE_DIR}/sql/backup
|
|
|
|
)
|
2009-11-24 23:15:47 +00:00
|
|
|
|
2009-11-09 12:32:48 +01:00
|
|
|
SET(GEN_SOURCES
|
|
|
|
${CMAKE_BINARY_DIR}/sql/sql_yacc.h
|
|
|
|
${CMAKE_BINARY_DIR}/sql/sql_yacc.cc
|
|
|
|
${CMAKE_BINARY_DIR}/sql/lex_hash.h
|
|
|
|
)
|
|
|
|
|
|
|
|
SET_SOURCE_FILES_PROPERTIES(${GEN_SOURCES} PROPERTIES GENERATED TRUE)
|
CMakeLists.txt (many), win/README, mysql_manifest.cmake, configure.js:
Additional changes for bug#29903
- Changed to do embedded build part as normal build, when
WITH_EMBEDDED_SERVER is set.
- Allow both normal and debug build with embedded.
- Build static embedded library by pointing out all source and compile
it all, i.e. not building libraries from libraries, not portable.
- Let embedded use generated files from the "sql" directory, added
dependencies to make sure built before embedded.
- Mark library "dbug" in TARGET_LINK_LIBRARIES() with "debug", so only
linked in when debug target is used.
- Removed change of target name with "mysqld${MYSQLD_EXE_SUFFIX}", as
others can't depend on it, not defined at configure time. Instead
set the output file name.
- Created work around for bug in CMake 2.4.6 and output names, to
set the "mysqld<suffix>.pdb" name to the same base name.
- Set the correct manifest "name" (patch by iggy)
2007-08-06 23:16:01 +02:00
|
|
|
|
2009-11-24 23:15:47 +00:00
|
|
|
SET(SQL_EMBEDDED_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
|
2007-06-15 14:32:16 -04:00
|
|
|
../libmysql/libmysql.c ../libmysql/errmsg.c ../client/get_password.c
|
|
|
|
../sql-common/client.c ../sql-common/my_time.c
|
|
|
|
../sql-common/my_user.c ../sql-common/pack.c
|
|
|
|
../sql/password.c ../sql/discover.cc ../sql/derror.cc
|
2008-05-12 19:34:25 +03:00
|
|
|
../sql/field.cc ../sql/field_conv.cc
|
2010-01-13 21:14:42 +01:00
|
|
|
../sql/filesort.cc ../sql/gstream.cc
|
2007-06-15 14:32:16 -04:00
|
|
|
../sql/handler.cc ../sql/hash_filo.cc ../sql/hostname.cc
|
|
|
|
../sql/init.cc ../sql/item_buff.cc ../sql/item_cmpfunc.cc
|
|
|
|
../sql/item.cc ../sql/item_create.cc ../sql/item_func.cc
|
|
|
|
../sql/item_geofunc.cc ../sql/item_row.cc ../sql/item_strfunc.cc
|
|
|
|
../sql/item_subselect.cc ../sql/item_sum.cc ../sql/item_timefunc.cc
|
|
|
|
../sql/item_xmlfunc.cc ../sql/key.cc ../sql/lock.cc ../sql/log.cc
|
|
|
|
../sql/log_event.cc ../sql/mf_iocache.cc ../sql/my_decimal.cc
|
|
|
|
../sql/net_serv.cc ../sql/opt_range.cc ../sql/opt_sum.cc
|
|
|
|
../sql/parse_file.cc ../sql/procedure.cc ../sql/protocol.cc
|
|
|
|
../sql/records.cc ../sql/repl_failsafe.cc ../sql/rpl_filter.cc
|
Backport of:
ChangeSet@1.2703, 2007-12-07 09:35:28-05:00, cmiller@zippy.cornsilk.net +40 -0
Bug#13174: SHA2 function
Patch contributed from Bill Karwin, paper unnumbered CLA in Seattle
Implement SHA2 functions.
Chad added code to make it work with YaSSL. Also, he removed the
(probable) bug of embedded server never using SSL-dependent
functions. (libmysqld/Makefile.am didn't read ANY autoconf defs.)
Function specification:
SHA2( string cleartext, integer hash_length )
-> string hash, or NULL
where hash_length is one of 224, 256, 384, or 512. If either is
NULL or a length is unsupported, then the result is NULL. The
resulting string is always the length of the hash_length parameter
or is NULL.
Include the canonical hash examples from the NIST in the test
results.
---
Polish and address concerns of reviewers.
2010-04-13 19:04:45 +04:00
|
|
|
../sql/rpl_record.cc ../sql/sha2.cc ../sql/des_key_file.cc
|
2007-06-15 14:32:16 -04:00
|
|
|
../sql/rpl_injector.cc ../sql/set_var.cc ../sql/spatial.cc
|
|
|
|
../sql/sp_cache.cc ../sql/sp.cc ../sql/sp_head.cc
|
|
|
|
../sql/sp_pcontext.cc ../sql/sp_rcontext.cc ../sql/sql_acl.cc
|
|
|
|
../sql/sql_analyse.cc ../sql/sql_base.cc ../sql/sql_cache.cc
|
|
|
|
../sql/sql_class.cc ../sql/sql_crypt.cc ../sql/sql_cursor.cc
|
|
|
|
../sql/sql_db.cc ../sql/sql_delete.cc ../sql/sql_derived.cc
|
|
|
|
../sql/sql_do.cc ../sql/sql_error.cc ../sql/sql_handler.cc
|
2010-05-25 17:01:38 -03:00
|
|
|
../sql/sql_help.cc ../sql/sql_insert.cc ../sql/datadict.cc
|
2010-08-18 13:29:04 +02:00
|
|
|
../sql/sql_admin.cc ../sql/sql_truncate.cc ../sql/sql_reload.cc
|
2009-12-22 10:35:56 +01:00
|
|
|
../sql/sql_lex.cc ../sql/keycaches.cc
|
2007-06-15 14:32:16 -04:00
|
|
|
../sql/sql_list.cc ../sql/sql_load.cc ../sql/sql_locale.cc
|
2010-07-23 17:14:35 -03:00
|
|
|
../sql/sql_binlog.cc ../sql/sql_manager.cc
|
2007-06-15 14:32:16 -04:00
|
|
|
../sql/sql_parse.cc ../sql/sql_partition.cc ../sql/sql_plugin.cc
|
2009-09-29 17:38:40 +02:00
|
|
|
../sql/debug_sync.cc
|
2007-06-15 14:32:16 -04:00
|
|
|
../sql/sql_prepare.cc ../sql/sql_rename.cc ../sql/sql_repl.cc
|
CMakeLists.txt (many), win/README, mysql_manifest.cmake, configure.js:
Additional changes for bug#29903
- Changed to do embedded build part as normal build, when
WITH_EMBEDDED_SERVER is set.
- Allow both normal and debug build with embedded.
- Build static embedded library by pointing out all source and compile
it all, i.e. not building libraries from libraries, not portable.
- Let embedded use generated files from the "sql" directory, added
dependencies to make sure built before embedded.
- Mark library "dbug" in TARGET_LINK_LIBRARIES() with "debug", so only
linked in when debug target is used.
- Removed change of target name with "mysqld${MYSQLD_EXE_SUFFIX}", as
others can't depend on it, not defined at configure time. Instead
set the output file name.
- Created work around for bug in CMake 2.4.6 and output names, to
set the "mysqld<suffix>.pdb" name to the same base name.
- Set the correct manifest "name" (patch by iggy)
2007-08-06 23:16:01 +02:00
|
|
|
../sql/sql_select.cc ../sql/sql_servers.cc
|
2007-06-15 14:32:16 -04:00
|
|
|
../sql/sql_show.cc ../sql/sql_state.c ../sql/sql_string.cc
|
|
|
|
../sql/sql_tablespace.cc ../sql/sql_table.cc ../sql/sql_test.cc
|
|
|
|
../sql/sql_trigger.cc ../sql/sql_udf.cc ../sql/sql_union.cc
|
2008-02-18 14:46:47 +01:00
|
|
|
../sql/sql_update.cc ../sql/sql_view.cc ../sql/sql_profile.cc
|
2007-06-15 14:32:16 -04:00
|
|
|
../sql/strfunc.cc ../sql/table.cc ../sql/thr_malloc.cc
|
2010-03-31 16:05:33 +02:00
|
|
|
../sql/sql_time.cc ../sql/tztime.cc ../sql/uniques.cc ../sql/unireg.cc
|
CMakeLists.txt (many), win/README, mysql_manifest.cmake, configure.js:
Additional changes for bug#29903
- Changed to do embedded build part as normal build, when
WITH_EMBEDDED_SERVER is set.
- Allow both normal and debug build with embedded.
- Build static embedded library by pointing out all source and compile
it all, i.e. not building libraries from libraries, not portable.
- Let embedded use generated files from the "sql" directory, added
dependencies to make sure built before embedded.
- Mark library "dbug" in TARGET_LINK_LIBRARIES() with "debug", so only
linked in when debug target is used.
- Removed change of target name with "mysqld${MYSQLD_EXE_SUFFIX}", as
others can't depend on it, not defined at configure time. Instead
set the output file name.
- Created work around for bug in CMake 2.4.6 and output names, to
set the "mysqld<suffix>.pdb" name to the same base name.
- Set the correct manifest "name" (patch by iggy)
2007-08-06 23:16:01 +02:00
|
|
|
../sql/partition_info.cc ../sql/sql_connect.cc
|
2009-12-15 23:52:47 +04:00
|
|
|
../sql/scheduler.cc ../sql/sql_audit.cc
|
2010-08-16 16:25:23 +02:00
|
|
|
../sql/sql_alter.cc ../sql/sql_partition_admin.cc
|
2009-12-15 23:52:47 +04:00
|
|
|
../sql/event_parse_data.cc
|
2009-10-22 23:30:28 +01:00
|
|
|
../sql/sql_signal.cc ../sql/rpl_handler.cc
|
2010-02-16 23:19:47 +01:00
|
|
|
../sql/rpl_utility.cc
|
2010-01-04 23:46:42 +01:00
|
|
|
../sql/sys_vars.cc
|
2009-11-09 12:32:48 +01:00
|
|
|
${CMAKE_BINARY_DIR}/sql/sql_builtin.cc
|
2009-12-03 21:37:38 +03:00
|
|
|
../sql/mdl.cc ../sql/transaction.cc
|
CMakeLists.txt (many), win/README, mysql_manifest.cmake, configure.js:
Additional changes for bug#29903
- Changed to do embedded build part as normal build, when
WITH_EMBEDDED_SERVER is set.
- Allow both normal and debug build with embedded.
- Build static embedded library by pointing out all source and compile
it all, i.e. not building libraries from libraries, not portable.
- Let embedded use generated files from the "sql" directory, added
dependencies to make sure built before embedded.
- Mark library "dbug" in TARGET_LINK_LIBRARIES() with "debug", so only
linked in when debug target is used.
- Removed change of target name with "mysqld${MYSQLD_EXE_SUFFIX}", as
others can't depend on it, not defined at configure time. Instead
set the output file name.
- Created work around for bug in CMake 2.4.6 and output names, to
set the "mysqld<suffix>.pdb" name to the same base name.
- Set the correct manifest "name" (patch by iggy)
2007-08-06 23:16:01 +02:00
|
|
|
${GEN_SOURCES}
|
2009-11-09 12:32:48 +01:00
|
|
|
${MYSYS_LIBWRAP_SOURCE}
|
|
|
|
)
|
|
|
|
|
|
|
|
|
2010-01-25 02:52:32 +01:00
|
|
|
ADD_CONVENIENCE_LIBRARY(sql_embedded ${SQL_EMBEDDED_SOURCES})
|
2009-11-24 23:15:47 +00:00
|
|
|
DTRACE_INSTRUMENT(sql_embedded)
|
|
|
|
ADD_DEPENDENCIES(sql_embedded GenError GenServerSource)
|
2009-11-09 12:32:48 +01:00
|
|
|
|
|
|
|
# On Windows, static embedded server library is called mysqlserver.lib
|
|
|
|
# On Unix, it is libmysqld.a
|
|
|
|
IF(WIN32)
|
|
|
|
SET(MYSQLSERVER_OUTPUT_NAME mysqlserver)
|
|
|
|
ELSE()
|
|
|
|
SET(MYSQLSERVER_OUTPUT_NAME mysqld)
|
|
|
|
ENDIF()
|
|
|
|
|
|
|
|
|
2009-11-24 23:15:47 +00:00
|
|
|
SET(LIBS
|
|
|
|
dbug strings regex mysys vio
|
2009-12-07 02:16:05 +01:00
|
|
|
${ZLIB_LIBRARY} ${SSL_LIBRARIES}
|
|
|
|
${LIBWRAP} ${LIBCRYPT} ${LIBDL}
|
2009-11-24 23:15:47 +00:00
|
|
|
${MYSQLD_STATIC_PLUGIN_LIBS} ${NDB_CLIENT_LIBS}
|
|
|
|
sql_embedded
|
|
|
|
)
|
|
|
|
|
|
|
|
# Some storage engine were compiled for embedded specifically
|
|
|
|
# (with corresponding target ${engine}_embedded)
|
|
|
|
SET(EMBEDDED_LIBS)
|
|
|
|
FOREACH(LIB ${LIBS})
|
|
|
|
GET_TARGET_PROPERTY(EMBEDDED_LOCATION ${LIB}_embedded LOCATION)
|
|
|
|
IF(EMBEDDED_LOCATION)
|
|
|
|
LIST(APPEND EMBEDDED_LIBS ${LIB}_embedded)
|
|
|
|
ELSE()
|
|
|
|
LIST(APPEND EMBEDDED_LIBS ${LIB})
|
|
|
|
ENDIF()
|
|
|
|
ENDFOREACH()
|
|
|
|
|
|
|
|
MERGE_LIBRARIES(mysqlserver STATIC ${EMBEDDED_LIBS}
|
2010-02-10 20:23:24 +01:00
|
|
|
OUTPUT_NAME ${MYSQLSERVER_OUTPUT_NAME} COMPONENT Embedded)
|
2009-11-09 12:32:48 +01:00
|
|
|
|
2010-02-20 20:40:03 +01:00
|
|
|
# Visual Studio users need debug static library
|
|
|
|
IF(MSVC)
|
|
|
|
INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR}/debug)
|
|
|
|
ENDIF()
|
|
|
|
|
2010-03-17 19:56:22 +01:00
|
|
|
IF(UNIX)
|
|
|
|
INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR} RENAME
|
2010-05-12 12:51:23 +01:00
|
|
|
${CMAKE_STATIC_LIBRARY_PREFIX}mysqld-debug)
|
2010-03-17 19:56:22 +01:00
|
|
|
ENDIF()
|
|
|
|
|
2009-11-25 05:13:51 +01:00
|
|
|
IF(MSVC AND NOT DISABLE_SHARED)
|
2010-02-10 20:23:24 +01:00
|
|
|
MERGE_LIBRARIES(libmysqld SHARED ${LIBS} EXPORTS ${CLIENT_API_FUNCTIONS}
|
|
|
|
COMPONENT Embedded)
|
2009-11-09 12:32:48 +01:00
|
|
|
ENDIF()
|