List:Commits« Previous MessageNext Message »
From:Ignacio Galarza Date:May 22 2007 8:58pm
Subject:bk commit into 5.1 tree (iggy:1.2481)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of iggy. When iggy does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-05-22 14:58:20-04:00, iggy@alf. +18 -0
  Embedded Server doesn't build on Windows.
  - Add build configuration parameter EMBEDDED_ONLY which will configure 
  the VS solution to produce only mysql embedded binary.
  - Make necessary updates to successfully compile solution.

  BitKeeper/etc/ignore@stripped, 2007-05-22 14:58:10-04:00, iggy@alf. +5 -1
    Embedded Server doesn't build on Windows.
    - Ignore CMake's default configuration output directories.
    - Ignore autogenerated cmake_dummy.c file.

  CMakeLists.txt@stripped, 2007-05-22 14:58:10-04:00, iggy@alf. +45 -26
    Embedded Server doesn't build on Windows.
    - Remove leading space from various definitions.
    - Remove optimizations from RelWithDebInfo configuration for debugging.
    - Conditionally add the necessary build directories based on 
    EMBEDDED_ONLY flag.

  libmysql/client_settings.h@stripped, 2007-05-22 14:58:11-04:00, iggy@alf. +1 -1
    Embedded Server doesn't build on Windows.
    - Build fixup.

  libmysqld/CMakeLists.txt@stripped, 2007-05-22 14:58:11-04:00, iggy@alf. +53 -45
    Embedded Server doesn't build on Windows.
    - Update for recent changes.

  libmysqld/examples/CMakeLists.txt@stripped, 2007-05-22 14:58:12-04:00, iggy@alf. +13 -1
    Embedded Server doesn't build on Windows.
    - Updated include directories.
    - test_libmysqld fixup.
    - Added mysqltest_embedded and mysql_client_test_embedded exes needed for
    testing.

  libmysqld/libmysqld.def@stripped, 2007-05-22 14:58:11-04:00, iggy@alf. +8 -0
    Embedded Server doesn't build on Windows.
    - Export necessary methods.

  sql-common/client.c@stripped, 2007-05-22 14:58:13-04:00, iggy@alf. +1 -1
    Embedded Server doesn't build on Windows.
    - Build fixup.

  sql/mysqld.cc@stripped, 2007-05-22 14:58:12-04:00, iggy@alf. +2 -0
    Embedded Server doesn't build on Windows.
    - Build fixup.

  sql/sql_binlog.cc@stripped, 2007-05-22 14:58:13-04:00, iggy@alf. +3 -1
    Embedded Server doesn't build on Windows.
    - Build fixup.

  storage/federated/CMakeLists.txt@stripped, 2007-05-22 14:58:14-04:00, iggy@alf. +1 -0
    Embedded Server doesn't build on Windows.
    - Include global embedded configuraiton.

  storage/heap/CMakeLists.txt@stripped, 2007-05-22 14:58:14-04:00, iggy@alf. +1 -0
    Embedded Server doesn't build on Windows.
    - Include global embedded configuraiton.

  storage/innobase/CMakeLists.txt@stripped, 2007-05-22 14:58:14-04:00, iggy@alf. +1 -0
    Embedded Server doesn't build on Windows.
    - Include global embedded configuraiton.

  storage/myisam/CMakeLists.txt@stripped, 2007-05-22 14:58:15-04:00, iggy@alf. +1 -0
    Embedded Server doesn't build on Windows.
    - Include global embedded configuraiton.

  storage/myisam/ha_myisam.cc@stripped, 2007-05-22 14:58:15-04:00, iggy@alf. +2 -0
    Embedded Server doesn't build on Windows.
    - Embedded build fixup.

  storage/myisammrg/CMakeLists.txt@stripped, 2007-05-22 14:58:16-04:00, iggy@alf. +1 -0
    Embedded Server doesn't build on Windows.
    - Include global embedded configuraiton.

  win/Makefile.am@stripped, 2007-05-22 14:58:16-04:00, iggy@alf. +2 -1
    Embedded Server doesn't build on Windows.
    - Include embedded global configuration in dist.

  win/configure.js@stripped, 2007-05-22 14:58:17-04:00, iggy@alf. +1 -0
    Embedded Server doesn't build on Windows.
    - Add EMBEDDED_ONLY configuration option.

  win/embedded_config.cmake@stripped, 2007-05-22 14:58:17-04:00, iggy@alf. +3 -0
    Embedded Server doesn't build on Windows.
    - Global Embedded configuration file.

  win/embedded_config.cmake@stripped, 2007-05-22 14:58:17-04:00, iggy@alf. +0 -0

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	iggy
# Host:	alf.
# Root:	D:/src/mysql-5.1-maint_14144

--- 1.217/storage/myisam/ha_myisam.cc	2007-05-22 14:58:35 -04:00
+++ 1.218/storage/myisam/ha_myisam.cc	2007-05-22 14:58:35 -04:00
@@ -1437,8 +1437,10 @@ int ha_myisam::enable_indexes(uint mode)
         might have been set by the first repair. They can still be seen
         with SHOW WARNINGS then.
       */
+#ifndef EMBEDDED_LIBRARY      
       if (! error)
         thd->clear_error();
+#endif /* EMBEDDED_LIBRARY */
     }
     info(HA_STATUS_CONST);
     thd->proc_info=save_proc_info;

--- 1.625/sql/mysqld.cc	2007-05-22 14:58:35 -04:00
+++ 1.626/sql/mysqld.cc	2007-05-22 14:58:35 -04:00
@@ -1907,9 +1907,11 @@ static void init_signals(void)
 
 static void start_signal_handler(void)
 {
+#ifndef EMBEDDED_LIBRARY
   // Save vm id of this process
   if (!opt_bootstrap)
     create_pid_file();
+#endif /* EMBEDDED_LIBRARY */
 }
 
 

--- 1.3/storage/federated/CMakeLists.txt	2007-05-22 14:58:35 -04:00
+++ 1.4/storage/federated/CMakeLists.txt	2007-05-22 14:58:35 -04:00
@@ -12,6 +12,7 @@
 # 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
+INCLUDE("${PROJECT_SOURCE_DIR}/win/embedded_config.cmake")
 
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")

--- 1.35/libmysql/client_settings.h	2007-05-22 14:58:35 -04:00
+++ 1.36/libmysql/client_settings.h	2007-05-22 14:58:35 -04:00
@@ -42,7 +42,7 @@ my_bool handle_local_infile(MYSQL *mysql
 void mysql_read_default_options(struct st_mysql_options *options,
 				const char *filename,const char *group);
 void mysql_detach_stmt_list(LIST **stmt_list);
-MYSQL *
+MYSQL * STDCALL
 cli_mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
 		       const char *passwd, const char *db,
 		       uint port, const char *unix_socket,ulong client_flag);

--- 1.128/sql-common/client.c	2007-05-22 14:58:35 -04:00
+++ 1.129/sql-common/client.c	2007-05-22 14:58:35 -04:00
@@ -50,7 +50,7 @@
 #define MYSQL_CLIENT
 #endif
 
-#define CLI_MYSQL_REAL_CONNECT cli_mysql_real_connect
+#define CLI_MYSQL_REAL_CONNECT STDCALL cli_mysql_real_connect
 
 #undef net_flush
 my_bool	net_flush(NET *net);
--- New file ---
+++ win/embedded_config.cmake	07/05/22 14:58:17
IF(EMBEDDED_ONLY)
  ADD_DEFINITIONS(-DUSE_TLS)
ENDIF(EMBEDDED_ONLY)


--- 1.13/libmysqld/CMakeLists.txt	2007-05-22 14:58:35 -04:00
+++ 1.14/libmysqld/CMakeLists.txt	2007-05-22 14:58:35 -04:00
@@ -18,7 +18,7 @@ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS
 
 # Need to set USE_TLS, since __declspec(thread) approach to thread local
 # storage does not work properly in DLLs.
-ADD_DEFINITIONS(-DUSE_TLS -DMYSQL_SERVER -DEMBEDDED_LIBRARY)
+ADD_DEFINITIONS(-DUSE_TLS -DMYSQL_SERVER)
 
 # The old Windows build method used renamed (.cc -> .cpp) source files, fails
 # in #include in lib_sql.cc. So disable that using the USING_CMAKE define.
@@ -38,62 +38,70 @@ SET_SOURCE_FILES_PROPERTIES(${PROJECT_SO
                             PROPERTIES GENERATED 1)
                             
 ADD_LIBRARY(mysqldemb emb_qcache.cc libmysqld.c lib_sql.cc
-            ../client/get_password.c ../libmysql/errmsg.c
-            ../libmysql/libmysql.c ../sql/password.c ../sql-common/client.c
-            ../sql-common/my_time.c ../sql-common/my_user.c
-            ../sql-common/pack.c ../sql/derror.cc ../sql/event_scheduler.cc
-            ../sql/event_timed.cc ../sql/events.cc ../sql/discover.cc
-            ../sql/field_conv.cc ../sql/field.cc ../sql/filesort.cc
-            ../sql/gstream.cc ${mysql_se_ha_src}
-            ../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_uniq.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 ../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 ../sql/sql_help.cc ../sql/sql_insert.cc
-            ../sql/sql_lex.cc ../sql/sql_list.cc ../sql/sql_load.cc
-            ../sql/sql_manager.cc ../sql/sql_map.cc ../sql/sql_parse.cc
-            ../sql/sql_partition.cc ../sql/sql_plugin.cc ../sql/sql_prepare.cc
-            ../sql/sql_rename.cc ../sql/sql_repl.cc ../sql/sql_select.cc
-            ../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
-            ../sql/sql_update.cc ../sql/sql_view.cc 
-            ../sql/strfunc.cc ../sql/table.cc ../sql/thr_malloc.cc
-            ../sql/time.cc ../sql/tztime.cc ../sql/uniques.cc ../sql/unireg.cc
-            ../sql/partition_info.cc ../sql/sql_locale.cc
-	    ../sql/sql_connect.cc ../sql/scheduler.cc
-            ../vio/vio.c ../vio/viosocket.c ../vio/viossl.c
-            ../vio/viosslfactories.c
-            ${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc
-            ${PROJECT_SOURCE_DIR}/sql/sql_yacc.h)
-
+           ../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 
+           ../sql/event_scheduler.cc ../sql/events.cc 
+           ../sql/event_data_objects.cc ../sql/event_queue.cc 
+           ../sql/event_db_repository.cc ../sql/field.cc ../sql/field_conv.cc
+           ../sql/filesort.cc ../sql/gstream.cc ../sql/ha_partition.cc 
+           ../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 
+           ../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 
+           ../sql/sql_help.cc ../sql/sql_insert.cc ../sql/sql_lex.cc 
+           ../sql/sql_list.cc ../sql/sql_load.cc ../sql/sql_locale.cc 
+           ../sql/sql_binlog.cc ../sql/sql_manager.cc ../sql/sql_map.cc 
+           ../sql/sql_parse.cc ../sql/sql_partition.cc ../sql/sql_plugin.cc 
+           ../sql/sql_prepare.cc ../sql/sql_rename.cc ../sql/sql_repl.cc 
+           ../sql/sql_select.cc ../sql/sql_servers.cc ../sql/sql_builtin.cc 
+           ../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
+           ../sql/sql_update.cc ../sql/sql_view.cc 
+           ../sql/strfunc.cc ../sql/table.cc ../sql/thr_malloc.cc
+           ../sql/time.cc ../sql/tztime.cc ../sql/uniques.cc ../sql/unireg.cc
+           ../sql/partition_info.cc ../sql/sql_locale.cc ../sql/sql_connect.cc 
+           ../sql/scheduler.cc
+           ../vio/vio.c ../vio/viosocket.c ../vio/viossl.c
+           ../vio/viosslfactories.c
+           ${PROJECT_SOURCE_DIR}/sql/sql_yacc.cc
+           ${PROJECT_SOURCE_DIR}/sql/sql_yacc.h)
+            
 # Seems we cannot make a library without at least one source file. So use a
 # dummy empty file
 FILE(WRITE cmake_dummy.c " ")
 
 ADD_LIBRARY(mysqlserver cmake_dummy.c)
 TARGET_LINK_LIBRARIES(mysqlserver wsock32)
-ADD_DEPENDENCIES(mysqlserver dbug mysys strings zlib mysqldemb regex myisam myisammrg
-                 heap yassl taocrypt)
+ADD_DEPENDENCIES(mysqlserver mysqldemb heap myisam myisammrg dbug mysys zlib strings
mysqldemb regex
+                 yassl taocrypt vio)
 IF(WITH_ARCHIVE_STORAGE_ENGINE)
   ADD_DEPENDENCIES(mysqlserver archive)
 ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
 IF(WITH_EXAMPLE_STORAGE_ENGINE)
   ADD_DEPENDENCIES(mysqlserver example)
 ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
+IF(WITH_BLACKHOLE_STORAGE_ENGINE)
+  TARGET_LINK_LIBRARIES(mysqlserver blackhole)
+ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
+IF(WITH_CSV_STORAGE_ENGINE)
+  TARGET_LINK_LIBRARIES(mysqlserver csv)
+ENDIF(WITH_CSV_STORAGE_ENGINE)
 IF(WITH_FEDERATED_STORAGE_ENGINE)
   ADD_DEPENDENCIES(mysqlserver federated)
 ENDIF(WITH_FEDERATED_STORAGE_ENGINE)

--- 1.4/libmysqld/examples/CMakeLists.txt	2007-05-22 14:58:35 -04:00
+++ 1.5/libmysqld/examples/CMakeLists.txt	2007-05-22 14:58:35 -04:00
@@ -15,12 +15,24 @@
 
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include
                     ${CMAKE_SOURCE_DIR}/libmysqld/include
+                    ${CMAKE_SOURCE_DIR}/libmysqld/release
+                    ${CMAKE_SOURCE_DIR}/regex
+                    ${CMAKE_SOURCE_DIR}/zlib                   
                     ${CMAKE_SOURCE_DIR}/extra/yassl/include)
 
 # Currently does not work with DBUG, there are missing symbols reported.
 ADD_DEFINITIONS(-DDBUG_OFF)
+ADD_DEFINITIONS(-DUSE_TLS)
 ADD_EXECUTABLE(test_libmysqld ../../client/completion_hash.cc
                ../../client/mysql.cc ../../client/readline.cc
                ../../client/sql_string.cc)
-TARGET_LINK_LIBRARIES(test_libmysqld yassl taocrypt zlib wsock32)
+TARGET_LINK_LIBRARIES(test_libmysqld mysys yassl taocrypt zlib dbug regex strings
wsock32)
 ADD_DEPENDENCIES(test_libmysqld libmysqld)
+
+ADD_EXECUTABLE(mysqltest_embedded ../../client/mysqltest.c)
+TARGET_LINK_LIBRARIES(mysqltest_embedded mysys yassl taocrypt zlib dbug regex strings
wsock32)
+ADD_DEPENDENCIES(mysqltest_embedded libmysqld)
+
+ADD_EXECUTABLE(mysql_client_test_embedded ../../tests/mysql_client_test.c)
+TARGET_LINK_LIBRARIES(mysql_client_test_embedded dbug mysys yassl taocrypt zlib strings
wsock32)
+ADD_DEPENDENCIES(mysql_client_test_embedded libmysqld)

--- 1.5/win/Makefile.am	2007-05-22 14:58:35 -04:00
+++ 1.6/win/Makefile.am	2007-05-22 14:58:35 -04:00
@@ -14,7 +14,8 @@
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
 ## Process this file with automake to create Makefile.in
-EXTRA_DIST = build-vs71.bat build-vs8.bat build-vs8_x64.bat configure.js README
+EXTRA_DIST = build-vs71.bat build-vs8.bat build-vs8_x64.bat configure.js README \
+			 embedded_config.cmake
 
 # Don't update the files from bitkeeper
 %::SCCS/s.%

--- 1.10/sql/sql_binlog.cc	2007-05-22 14:58:35 -04:00
+++ 1.11/sql/sql_binlog.cc	2007-05-22 14:58:35 -04:00
@@ -171,7 +171,8 @@ void mysql_client_binlog_statement(THD* 
         not used at all: the rli_fake instance is used only for error
         reporting.
        */
-      if (IF_DBUG(int err= ) ev->apply_event(thd->rli_fake))
+#if !defined(MYSQL_CLIENT) && defined(HAVE_REPLICATION)
+      if ((IF_DBUG(int err= ) ev->apply_event(thd->rli_fake)))
       {
         DBUG_PRINT("info", ("apply_event() returned: %d", err));
         /*
@@ -181,6 +182,7 @@ void mysql_client_binlog_statement(THD* 
         my_error(ER_UNKNOWN_ERROR, MYF(0), "Error executing BINLOG statement");
         goto end;
       }
+#endif
 
       delete ev;
       ev= 0;

--- 1.19/libmysqld/libmysqld.def	2007-05-22 14:58:35 -04:00
+++ 1.20/libmysqld/libmysqld.def	2007-05-22 14:58:35 -04:00
@@ -41,7 +41,9 @@ EXPORTS
 	mysql_commit
 	mysql_data_seek
 	mysql_debug
+	mysql_disable_rpl_parse
 	mysql_dump_debug_info
+	mysql_enable_rpl_parse
 	mysql_eof
 	mysql_errno
 	mysql_error
@@ -55,6 +57,7 @@ EXPORTS
 	mysql_field_seek
 	mysql_field_tell
 	mysql_free_result
+	mysql_get_character_set_info
 	mysql_get_client_info
 	mysql_get_host_info
 	mysql_get_proto_info
@@ -84,6 +87,8 @@ EXPORTS
 	mysql_rollback
 	mysql_row_seek
 	mysql_row_tell
+	mysql_rpl_parse_enabled
+	mysql_rpl_probe
 	mysql_select_db
 	mysql_send_query
 	mysql_shutdown
@@ -109,6 +114,7 @@ EXPORTS
 	get_tty_password
 	sql_protocol_typelib
 	mysql_get_server_version
+	mysql_set_character_set
 	mysql_sqlstate
 	charsets_dir
 	disabled_my_option
@@ -133,6 +139,8 @@ EXPORTS
 	my_read
 	llstr
 	mysql_get_parameters
+	mysql_thread_init
+	mysql_thread_end
 	mysql_stmt_bind_param
 	mysql_stmt_bind_result
 	mysql_stmt_execute

--- 1.26/CMakeLists.txt	2007-05-22 14:58:35 -04:00
+++ 1.27/CMakeLists.txt	2007-05-22 14:58:35 -04:00
@@ -18,50 +18,64 @@ PROJECT(MySql)
 # This reads user configuration, generated by configure.js.
 INCLUDE(win/configure.data)
 
-# Hardcode support for CSV storage engine
-SET(WITH_CSV_STORAGE_ENGINE TRUE)
+# By default, CMake will create Release, Debug, RelWithDebInfo and MinSizeRel
+# configurations. The EMBEDDED_ONLY build parameter is necessary because CMake
+# doesn't support custom build configurations for VS2005.  Since the Debug
+# configuration does not work properly with USE_TLS defined 
+# (see mysys/CMakeLists.txt) the easiest way to debug the Embedded Server is to
+# use the RelWithDebInfo configuration without optimizations.
+#
+# Debug default CXX_FLAGS           "/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1"
+# RelWithDebInfo default CXX_FLAGS  "/MD /Zi /O2 /Ob1 /D NDEBUG"
+#
+IF(NOT EMBEDDED_ONLY)
+  # Hardcode support for CSV storage engine
+  SET(WITH_CSV_STORAGE_ENGINE TRUE)
+ELSE(NOT EMBEDDED_ONLY)
+  SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD /Zi /Od /Ob0 /D NDEBUG" CACHE STRING "No
Optimization" FORCE)
+ENDIF(NOT EMBEDDED_ONLY)
 
 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/include/mysql_version.h.in
                ${CMAKE_SOURCE_DIR}/include/mysql_version.h @ONLY)
 
 SET(WITH_HEAP_STORAGE_ENGINE TRUE)
-ADD_DEFINITIONS(-D WITH_HEAP_STORAGE_ENGINE)
+ADD_DEFINITIONS(-DWITH_HEAP_STORAGE_ENGINE)
 SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_heap_plugin")
 
 SET(WITH_MYISAM_STORAGE_ENGINE TRUE)
-ADD_DEFINITIONS(-D WITH_MYISAM_STORAGE_ENGINE)
+ADD_DEFINITIONS(-DWITH_MYISAM_STORAGE_ENGINE)
 SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_myisam_plugin")
 
 SET(WITH_MYISAMMRG_STORAGE_ENGINE TRUE)
-ADD_DEFINITIONS(-D WITH_MYISAMMRG_STORAGE_ENGINE)
+ADD_DEFINITIONS(-DWITH_MYISAMMRG_STORAGE_ENGINE)
 SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_myisammrg_plugin")
 
 IF(WITH_ARCHIVE_STORAGE_ENGINE)
-  ADD_DEFINITIONS(-D WITH_ARCHIVE_STORAGE_ENGINE)
+  ADD_DEFINITIONS(-DWITH_ARCHIVE_STORAGE_ENGINE)
   SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_archive_plugin")
 ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
 IF(WITH_BLACKHOLE_STORAGE_ENGINE)
-  ADD_DEFINITIONS(-D WITH_BLACKHOLE_STORAGE_ENGINE)
+  ADD_DEFINITIONS(-DWITH_BLACKHOLE_STORAGE_ENGINE)
   SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_blackhole_plugin")
 ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
 IF(WITH_CSV_STORAGE_ENGINE)
-  ADD_DEFINITIONS(-D WITH_CSV_STORAGE_ENGINE)
+  ADD_DEFINITIONS(-DWITH_CSV_STORAGE_ENGINE)
   SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_csv_plugin")
 ENDIF(WITH_CSV_STORAGE_ENGINE)
 IF(WITH_EXAMPLE_STORAGE_ENGINE)
-  ADD_DEFINITIONS(-D WITH_EXAMPLE_STORAGE_ENGINE)
+  ADD_DEFINITIONS(-DWITH_EXAMPLE_STORAGE_ENGINE)
   SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_example_plugin")
 ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
 IF(WITH_INNOBASE_STORAGE_ENGINE)
-  ADD_DEFINITIONS(-D WITH_INNOBASE_STORAGE_ENGINE)
+  ADD_DEFINITIONS(-DWITH_INNOBASE_STORAGE_ENGINE)
   SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_innobase_plugin")
 ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
 IF(WITH_PARTITION_STORAGE_ENGINE)
-  ADD_DEFINITIONS(-D WITH_PARTITION_STORAGE_ENGINE)
+  ADD_DEFINITIONS(-DWITH_PARTITION_STORAGE_ENGINE)
   SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_partition_plugin")
 ENDIF(WITH_PARTITION_STORAGE_ENGINE)
 IF(WITH_FEDERATED_STORAGE_ENGINE)
-  ADD_DEFINITIONS(-D WITH_FEDERATED_STORAGE_ENGINE)
+  ADD_DEFINITIONS(-DWITH_FEDERATED_STORAGE_ENGINE)
   SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_federated_plugin")
 ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
 
@@ -81,15 +95,15 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/suppo
                ${CMAKE_SOURCE_DIR}/support-files/my-small.ini @ONLY)
 
 IF(__NT__)
-  ADD_DEFINITIONS(-D __NT__)
+  ADD_DEFINITIONS(-D__NT__)
 ENDIF(__NT__)
 IF(CYBOZU)
-  ADD_DEFINITIONS(-D CYBOZU)
+  ADD_DEFINITIONS(-DCYBOZU)
 ENDIF(CYBOZU)
 
 # in some places we use DBUG_OFF
-SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D DBUG_OFF")
-SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D DBUG_OFF")
+SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DDBUG_OFF")
+SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DDBUG_OFF")
 
 IF(CMAKE_GENERATOR MATCHES "Visual Studio 8")
     SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /wd4996")
@@ -124,7 +138,7 @@ IF(CMAKE_GENERATOR MATCHES "Visual Studi
 ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR 
       CMAKE_GENERATOR MATCHES "Visual Studio 8")
 
-ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D _CRT_SECURE_NO_DEPRECATE")
+ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE")
 
 ADD_SUBDIRECTORY(vio)
 ADD_SUBDIRECTORY(dbug)
@@ -138,7 +152,7 @@ ADD_SUBDIRECTORY(extra)
 ADD_SUBDIRECTORY(storage/heap)
 ADD_SUBDIRECTORY(storage/myisam)
 ADD_SUBDIRECTORY(storage/myisammrg)
-ADD_SUBDIRECTORY(client)
+
 IF(WITH_ARCHIVE_STORAGE_ENGINE)
   ADD_SUBDIRECTORY(storage/archive)
 ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
@@ -157,11 +171,16 @@ ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
 IF(WITH_INNOBASE_STORAGE_ENGINE)
   ADD_SUBDIRECTORY(storage/innobase)
 ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
-ADD_SUBDIRECTORY(sql)
-ADD_SUBDIRECTORY(server-tools/instance-manager)
-ADD_SUBDIRECTORY(libmysql)
-ADD_SUBDIRECTORY(tests)
-
-# disable libmysqld until it's fixed, so we can use Cmake 2.2 and 2.4
-#ADD_SUBDIRECTORY(libmysqld)
-#ADD_SUBDIRECTORY(libmysqld/examples)
+# CMAKE will not allow custom VS7+ configurations.  mysqld and libmysqld
+# cannot be built at the same time as they require different configurations
+IF(EMBEDDED_ONLY) 
+  ADD_DEFINITIONS(-DEMBEDDED_LIBRARY)
+  ADD_SUBDIRECTORY(libmysqld)
+  ADD_SUBDIRECTORY(libmysqld/examples)
+ELSE(EMBEDDED_ONLY)
+  ADD_SUBDIRECTORY(client)
+  ADD_SUBDIRECTORY(sql)
+  ADD_SUBDIRECTORY(server-tools/instance-manager)
+  ADD_SUBDIRECTORY(libmysql)
+  ADD_SUBDIRECTORY(tests)
+ENDIF(EMBEDDED_ONLY)

--- 1.7/storage/heap/CMakeLists.txt	2007-05-22 14:58:35 -04:00
+++ 1.8/storage/heap/CMakeLists.txt	2007-05-22 14:58:35 -04:00
@@ -12,6 +12,7 @@
 # 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
+INCLUDE("${PROJECT_SOURCE_DIR}/win/embedded_config.cmake")
 
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")

--- 1.12/storage/innobase/CMakeLists.txt	2007-05-22 14:58:35 -04:00
+++ 1.13/storage/innobase/CMakeLists.txt	2007-05-22 14:58:35 -04:00
@@ -12,6 +12,7 @@
 # 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
+INCLUDE("${PROJECT_SOURCE_DIR}/win/embedded_config.cmake")
 
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")

--- 1.8/storage/myisammrg/CMakeLists.txt	2007-05-22 14:58:35 -04:00
+++ 1.9/storage/myisammrg/CMakeLists.txt	2007-05-22 14:58:35 -04:00
@@ -12,6 +12,7 @@
 # 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
+INCLUDE("${PROJECT_SOURCE_DIR}/win/embedded_config.cmake")
 
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")

--- 1.8/storage/myisam/CMakeLists.txt	2007-05-22 14:58:35 -04:00
+++ 1.9/storage/myisam/CMakeLists.txt	2007-05-22 14:58:35 -04:00
@@ -12,6 +12,7 @@
 # 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
+INCLUDE("${PROJECT_SOURCE_DIR}/win/embedded_config.cmake")
 
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX")

--- 1.6/win/configure.js	2007-05-22 14:58:36 -04:00
+++ 1.7/win/configure.js	2007-05-22 14:58:36 -04:00
@@ -46,6 +46,7 @@ try 
             case "WITH_PARTITION_STORAGE_ENGINE":
             case "__NT__":
             case "CYBOZU":
+            case "EMBEDDED_ONLY":
                     configfile.WriteLine("SET (" + args.Item(i) + " TRUE)");
                     break;
             case "MYSQL_SERVER_SUFFIX":

--- 1.283/BitKeeper/etc/ignore	2007-05-22 14:58:36 -04:00
+++ 1.284/BitKeeper/etc/ignore	2007-05-22 14:58:36 -04:00
@@ -5,7 +5,6 @@
 *.bb
 *.bbg
 *.bin
-*.cmake
 *.core
 *.d
 *.da
@@ -32,6 +31,7 @@
 *.spec
 *.user
 *.vcproj
+*.vcproj.cmake
 */*.dir/*
 */*_pure_*warnings
 */.deps
@@ -39,6 +39,8 @@
 */.pure
 */debug/*
 */release/*
+*/relwithdebinfo/*
+*/minsizerel/*
 *~
 .*.swp
 ./CMakeCache.txt
@@ -388,6 +390,7 @@ client/tmp.diff
 client_debug/*
 client_release/*
 client_test
+cmake_install.cmake
 cmd-line-utils/libedit/.deps/chared.Po
 cmd-line-utils/libedit/.deps/common.Po
 cmd-line-utils/libedit/.deps/el.Po
@@ -1009,6 +1012,7 @@ libmysqld/backup_dir
 libmysqld/client.c
 libmysqld/client_settings.h
 libmysqld/convert.cc
+libmysqld/cmake_dummy.c
 libmysqld/derror.cc
 libmysqld/discover.cc
 libmysqld/emb_qcache.cpp
Thread
bk commit into 5.1 tree (iggy:1.2481)Ignacio Galarza22 May