List:Commits« Previous MessageNext Message »
From:Ignacio Galarza Date:April 23 2007 10:25pm
Subject:bk commit into 5.1 tree (iggy:1.2577) BUG#24732
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-04-23 16:23:32-04:00, iggy@recycle.(none) +9 -0
  Bug#24732 Executables do not include Vista manifests
  - Post merge cleanup.

  CMakeLists.txt@stripped, 2007-04-23 16:23:30-04:00, iggy@recycle.(none) +27 -0
    Bug#24732 Executables do not include Vista manifests
    - Added logic for EMBED_MANIFESTS configuration option.

  client/CMakeLists.txt@stripped, 2007-04-23 16:23:30-04:00, iggy@recycle.(none) +13 -0
    Bug#24732 Executables do not include Vista manifests
    - Embed manifest with custom CMake MACRO for client executables.

  extra/CMakeLists.txt@stripped, 2007-04-23 16:23:30-04:00, iggy@recycle.(none) +5 -0
    Bug#24732 Executables do not include Vista manifests
    - Embed manifest with custom CMake MACRO for my_print_default executable.

  libmysql/CMakeLists.txt@stripped, 2007-04-23 16:23:30-04:00, iggy@recycle.(none) +6 -0
    Bug#24732 Executables do not include Vista manifests
    - Embed manifest with custom CMake MACRO for myTest executable.

  server-tools/instance-manager/CMakeLists.txt@stripped, 2007-04-23 16:23:30-04:00,
iggy@recycle.(none) +5 -0
    Bug#24732 Executables do not include Vista manifests
    - Embed manifest with custom CMake MACRO for mysqlmanager executable.

  sql/CMakeLists.txt@stripped, 2007-04-23 16:23:30-04:00, iggy@recycle.(none) +5 -0
    Bug#24732 Executables do not include Vista manifests
    - Embed manifest with custom CMake MACRO for mysqld executable.

  storage/myisam/CMakeLists.txt@stripped, 2007-04-23 16:23:30-04:00, iggy@recycle.(none) +8 -0
    Bug#24732 Executables do not include Vista manifests
    - Embed manifest with custom CMake MACRO for myisam executables.

  win/README@stripped, 2007-04-23 16:23:30-04:00, iggy@recycle.(none) +3 -1
    Bug#24732 Executables do not include Vista manifests
    - Added new configuration option documentation.

  win/configure.js@stripped, 2007-04-23 16:23:30-04:00, iggy@recycle.(none) +1 -0
    Bug#24732 Executables do not include Vista manifests
    - Added new EMBED_MANIFESTS configuration option.

# 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:	recycle.(none)
# Root:	/src/bug24732/my51-bug24732

--- 1.9/win/README	2007-03-23 16:08:29 -04:00
+++ 1.10/win/README	2007-04-23 16:23:30 -04:00
@@ -58,7 +58,9 @@ The options right now are
     MYSQL_SERVER_SUFFIX=<suffix>         Server suffix, default none
     COMPILATION_COMMENT=<comment>        Server comment, default "Source
distribution"
     MYSQL_TCP_PORT=<port>                Server port, default 3306
-    CYBOZU				 Default character set is UTF8
+    CYBOZU                               Default character set is UTF8
+    EMBED_MANIFESTS                      Embed custom manifests into final exes,
otherwise VS
+                                         default will be used.
 
 So the command line could look like:
 

--- 1.28/CMakeLists.txt	2007-04-18 12:35:12 -04:00
+++ 1.29/CMakeLists.txt	2007-04-23 16:23:30 -04:00
@@ -134,6 +134,33 @@ ENDIF(CMAKE_GENERATOR MATCHES "Visual St
 
 ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D _CRT_SECURE_NO_DEPRECATE")
 
+IF(EMBED_MANIFESTS)
+    # Search for the Manifest tool.  CMake will first search it's defaults
+    # (CMAKE_FRAMEWORK_PATH, CMAKE_APPBUNDLE_PATH, CMAKE_PROGRAM_PATH and
+    # the system PATH) followed by the listed paths which are the current
+    # possible defaults and should be updated when necessary.  The custom
+    # manifests are designed to be compatible with all mt versions.
+    FIND_PROGRAM(HAVE_MANIFEST_TOOL NAMES mt
+                 PATHS
+                 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/VC/bin"
+                 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin"
+                 "$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/SDK/v2.0/Bin")
+    IF(HAVE_MANIFEST_TOOL)
+        MESSAGE(STATUS "Found Mainfest Tool. Embedding custom manifests.")
+    ELSE(HAVE_MANIFEST_TOOL)
+        MESSAGE(FATAL_ERROR "Manifest tool, mt.exe, can't be found.")
+    ENDIF(HAVE_MANIFEST_TOOL)
+    # Disable automatic manifest generation.
+    STRING(REPLACE "/MANIFEST" "/MANIFEST:NO" CMAKE_EXE_LINKER_FLAGS 
+    	   ${CMAKE_EXE_LINKER_FLAGS})
+    # Set the processor architecture.
+    IF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
+    	SET(PROCESSOR_ARCH "X64") 
+    ELSE(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
+    	SET(PROCESSOR_ARCH "X86")
+    ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
+ENDIF(EMBED_MANIFESTS)
+
 ADD_SUBDIRECTORY(vio)
 ADD_SUBDIRECTORY(dbug)
 ADD_SUBDIRECTORY(strings)

--- 1.18/client/CMakeLists.txt	2007-04-19 12:33:59 -04:00
+++ 1.19/client/CMakeLists.txt	2007-04-23 16:23:30 -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/mysql_manifest.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")
@@ -101,3 +102,15 @@ TARGET_LINK_LIBRARIES(mysqlslap mysqlcli
 
 ADD_EXECUTABLE(echo echo.c)
 
+IF(EMBED_MANIFESTS)
+  MYSQL_EMBED_MANIFEST("mysql" "asInvoker")
+  MYSQL_EMBED_MANIFEST("mysqltest" "asInvoker")
+  MYSQL_EMBED_MANIFEST("mysqlcheck" "asInvoker")
+  MYSQL_EMBED_MANIFEST("mysqldump" "asInvoker")
+  MYSQL_EMBED_MANIFEST("mysqlimport" "asInvoker")
+  MYSQL_EMBED_MANIFEST("mysql_upgrade" "asInvoker")
+  MYSQL_EMBED_MANIFEST("mysqlshow" "asInvoker")
+  MYSQL_EMBED_MANIFEST("mysqlbinlog" "asInvoker")
+  MYSQL_EMBED_MANIFEST("mysqladmin" "asInvoker")
+  MYSQL_EMBED_MANIFEST("echo" "asInvoker")
+ENDIF(EMBED_MANIFESTS)

--- 1.13/extra/CMakeLists.txt	2007-03-20 13:37:07 -04:00
+++ 1.14/extra/CMakeLists.txt	2007-04-23 16:23:30 -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/mysql_manifest.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")
@@ -45,3 +46,7 @@ TARGET_LINK_LIBRARIES(perror strings mys
 
 ADD_EXECUTABLE(replace replace.c)
 TARGET_LINK_LIBRARIES(replace strings mysys dbug wsock32)
+
+IF(EMBED_MANIFESTS)
+  MYSQL_EMBED_MANIFEST("myTest" "asInvoker")
+ENDIF(EMBED_MANIFESTS)

--- 1.9/server-tools/instance-manager/CMakeLists.txt	2006-12-30 19:37:58 -05:00
+++ 1.10/server-tools/instance-manager/CMakeLists.txt	2007-04-23 16:23:30 -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/mysql_manifest.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")
@@ -31,3 +32,7 @@ ADD_EXECUTABLE(mysqlmanager buffer.cc co
 
 ADD_DEPENDENCIES(mysqlmanager GenError)
 TARGET_LINK_LIBRARIES(mysqlmanager dbug mysys strings taocrypt vio yassl zlib wsock32)
+
+IF(EMBED_MANIFESTS)
+  MYSQL_EMBED_MANIFEST("mysqlmanager" "asInvoker")
+ENDIF(EMBED_MANIFESTS)

--- 1.8/storage/myisam/CMakeLists.txt	2006-12-30 19:37:58 -05:00
+++ 1.9/storage/myisam/CMakeLists.txt	2007-04-23 16:23:30 -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/mysql_manifest.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")
@@ -43,3 +44,10 @@ TARGET_LINK_LIBRARIES(myisamlog myisam m
 
 ADD_EXECUTABLE(myisampack myisampack.c)
 TARGET_LINK_LIBRARIES(myisampack myisam mysys dbug strings zlib wsock32)
+
+IF(EMBED_MANIFESTS)
+  MYSQL_EMBED_MANIFEST("myisam_ftdump" "asInvoker")
+  MYSQL_EMBED_MANIFEST("myisamchk" "asInvoker")
+  MYSQL_EMBED_MANIFEST("myisamlog" "asInvoker")
+  MYSQL_EMBED_MANIFEST("myisampack" "asInvoker")
+ENDIF(EMBED_MANIFESTS)

--- 1.37/sql/CMakeLists.txt	2007-04-20 04:46:37 -04:00
+++ 1.38/sql/CMakeLists.txt	2007-04-23 16:23:30 -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/mysql_manifest.cmake")
 
 SET(CMAKE_CXX_FLAGS_DEBUG 
     "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX -DUSE_SYMDIR")
@@ -82,6 +83,10 @@ ADD_EXECUTABLE(mysqld ../sql-common/clie
 			   ${PROJECT_SOURCE_DIR}/sql/lex_hash.h)
 TARGET_LINK_LIBRARIES(mysqld heap myisam myisammrg mysys yassl zlib dbug yassl 
                       taocrypt strings vio regex wsock32 ws2_32)
+
+IF(EMBED_MANIFESTS)
+  MYSQL_EMBED_MANIFEST("mysqld" "requireAdministrator")
+ENDIF(EMBED_MANIFESTS)
 IF(WITH_ARCHIVE_STORAGE_ENGINE)
   TARGET_LINK_LIBRARIES(mysqld archive)
 ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)

--- 1.6/win/configure.js	2006-12-30 20:28:54 -05:00
+++ 1.7/win/configure.js	2007-04-23 16:23:30 -04:00
@@ -46,6 +46,7 @@ try 
             case "WITH_PARTITION_STORAGE_ENGINE":
             case "__NT__":
             case "CYBOZU":
+            case "EMBED_MANIFESTS":
                     configfile.WriteLine("SET (" + args.Item(i) + " TRUE)");
                     break;
             case "MYSQL_SERVER_SUFFIX":

--- 1.12/libmysql/CMakeLists.txt	2006-12-30 19:37:58 -05:00
+++ 1.13/libmysql/CMakeLists.txt	2007-04-23 16:23:30 -04:00
@@ -15,6 +15,8 @@
 
 # Need to set USE_TLS, since __declspec(thread) approach to thread local
 # storage does not work properly in DLLs.
+INCLUDE("${PROJECT_SOURCE_DIR}/win/mysql_manifest.cmake")
+
 SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX -DUSE_TLS")
 SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DSAFEMALLOC -DSAFE_MUTEX -DUSE_TLS")
 
@@ -67,3 +69,7 @@ TARGET_LINK_LIBRARIES(libmysql mysys str
 
 ADD_EXECUTABLE(myTest mytest.c)
 TARGET_LINK_LIBRARIES(myTest libmysql)
+
+IF(EMBED_MANIFESTS)
+  MYSQL_EMBED_MANIFEST("myTest" "asInvoker")
+ENDIF(EMBED_MANIFESTS)
Thread
bk commit into 5.1 tree (iggy:1.2577) BUG#24732Ignacio Galarza23 Apr