From: Bjorn Munch Date: March 23 2012 1:30pm Subject: bzr push into mysql-5.5-cluster-7.2 branch (bjorn.munch:3861 to 3863) List-Archive: http://lists.mysql.com/commits/143303 Message-Id: <201203231330.q2NDUO1E023586@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3863 Bjorn Munch 2012-03-23 Apply some Solaris build fixes from release branch modified: configure.cmake libmysqld/CMakeLists.txt 3862 Bjorn Munch 2012-03-23 Avoid removing ndb man pages modified: man/CMakeLists.txt 3861 Frazer Clement 2012-03-23 [merge] Merge 7.1->7.2 modified: .bzrignore storage/ndb/clusterj/clusterj-api/pom.xml storage/ndb/clusterj/clusterj-bindings/pom.xml storage/ndb/clusterj/clusterj-core/pom.xml storage/ndb/clusterj/clusterj-jdbc/pom.xml storage/ndb/clusterj/clusterj-jpatest/pom.xml storage/ndb/clusterj/clusterj-openjpa/pom.xml storage/ndb/clusterj/clusterj-test/pom.xml storage/ndb/clusterj/clusterj-tie/pom.xml storage/ndb/clusterj/pom.xml storage/ndb/src/ndbjtie/com/mysql/ndbjtie/ndbapi/NdbIndexScanOperation.java storage/ndb/src/ndbjtie/ndbapi_jtie.hpp storage/ndb/tools/ndb_size.pl === modified file 'configure.cmake' --- a/configure.cmake 2011-10-05 08:56:12 +0000 +++ b/configure.cmake 2012-03-23 13:29:42 +0000 @@ -24,6 +24,11 @@ INCLUDE (CheckCCompilerFlag) INCLUDE (CheckCSourceRuns) INCLUDE (CheckSymbolExists) +# Turn on c99 mode when compiling with Sun Studio +IF("${CMAKE_C_COMPILER_ID}" STREQUAL "SunPro") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -xc99") + MESSAGE("-- Running ${CMAKE_C_COMPILER_ID} in c99 mode") +ENDIF() # WITH_PIC options.Not of much use, PIC is taken care of on platforms # where it makes sense anyway. @@ -1009,6 +1014,45 @@ ELSEIF(NOT WITH_ATOMIC_OPS) return 0; }" HAVE_GCC_ATOMIC_BUILTINS) + IF(NOT HAVE_GCC_ATOMIC_BUILTINS) + # Try if atomics become available once we instruct gcc + # to generate pentium+ instructions. + SET(SAVE_C_FLAGS "${CMAKE_C_FLAGS}") + SET(SAVE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=pentium") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=pentium") + CHECK_CXX_SOURCE_COMPILES(" + int main() + { + int foo= -10; int bar= 10; + long long int foo64= -10; long long int bar64= 10; + if (!__sync_fetch_and_add(&foo, bar) || foo) + return -1; + bar= __sync_lock_test_and_set(&foo, bar); + if (bar || foo != 10) + return -1; + bar= __sync_val_compare_and_swap(&bar, foo, 15); + if (bar) + return -1; + if (!__sync_fetch_and_add(&foo64, bar64) || foo64) + return -1; + bar64= __sync_lock_test_and_set(&foo64, bar64); + if (bar64 || foo64 != 10) + return -1; + bar64= __sync_val_compare_and_swap(&bar64, foo, 15); + if (bar64) + return -1; + return 0; + }" + HAVE_GCC_ATOMIC_BUILTINS_WITH_MARCH_PENTIUM) + IF(HAVE_GCC_ATOMIC_BUILTINS_WITH_MARCH_PENTIUM) + SET(HAVE_GCC_ATOMIC_BUILTINS 1) + MESSAGE("-- Using -march=pentium to enable atomic builtins") + ELSE() + SET(CMAKE_C_FLAGS "${SAVE_C_FLAGS}") + SET(CMAKE_CXX_FLAGS "${SAVE_CXX_FLAGS}") + ENDIF() + ENDIF() ELSE() MESSAGE(FATAL_ERROR "${WITH_ATOMIC_OPS} is not a valid value for WITH_ATOMIC_OPS!") ENDIF() === modified file 'libmysqld/CMakeLists.txt' --- a/libmysqld/CMakeLists.txt 2012-02-23 15:41:31 +0000 +++ b/libmysqld/CMakeLists.txt 2012-03-23 13:29:42 +0000 @@ -135,9 +135,14 @@ IF(MSVC) INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR}/debug) ENDIF() -IF(UNIX) - INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR} RENAME - ${CMAKE_STATIC_LIBRARY_PREFIX}mysqld-debug) +# +# The debug version of the embedded server is big, and at present causes +# the Solaris SVR4 packages to be too big (>2GB) for the packaging tools +# to handle. So, for now, we just disable it for those builds. +# +IF(UNIX AND NOT INSTALL_LAYOUT MATCHES "SVR4") + INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR} RENAME + ${CMAKE_STATIC_LIBRARY_PREFIX}mysqld-debug) ENDIF() IF(MSVC AND NOT DISABLE_SHARED) === modified file 'man/CMakeLists.txt' --- a/man/CMakeLists.txt 2011-10-04 10:28:30 +0000 +++ b/man/CMakeLists.txt 2012-03-23 13:29:20 +0000 @@ -16,23 +16,15 @@ # Copy man pages FILE(GLOB MAN1_FILES *.1) FILE(GLOB MAN1_EXCLUDE make_win_bin_dist.1) -FILE(GLOB MAN1_NDB ndb*.1) FILE(GLOB MAN8_FILES *.8) -FILE(GLOB MAN8_NDB ndb*.8) IF(MAN1_FILES) IF(MAN1_EXCLUDE) LIST(REMOVE_ITEM MAN1_FILES ${MAN1_EXCLUDE}) ENDIF() - IF(MAN1_NDB) - LIST(REMOVE_ITEM MAN1_FILES ${MAN1_NDB}) - ENDIF() INSTALL(FILES ${MAN1_FILES} DESTINATION ${INSTALL_MANDIR}/man1 COMPONENT ManPages) ENDIF() IF(MAN8_FILES) - IF(MAN8_NDB) - LIST(REMOVE_ITEM MAN8_FILES ${MAN8_NDB}) - ENDIF() INSTALL(FILES ${MAN8_FILES} DESTINATION ${INSTALL_MANDIR}/man8 COMPONENT ManPages) ENDIF() No bundle (reason: useless for push emails).