Commit graph

197 commits

Author SHA1 Message Date
Vladislav Vaintroub
be93a81172 Bug#58272: -DBUILD_CONFIG=mysql_release is broken with cmake 2.8.3
The reason  for the bug is that :
-  we use system checks in cmake/os/mysql_release.cmake 
-  we include cmake/os/mysql_release.cmake using CMAKE_USER_MAKE_RULES_OVERRIDE 
-  this  (having system checks based on TRY_COMPILE inside file pointed by 
   CMAKE_USER_MAKE_RULES_OVERRIDE  does not work with cmake 2.8.3,
   and  according to Kitware was never meant to work, it just happened to work by accident
   until 2.8.2 release (though, it seems not to work wiith 2.6.0 either)

Related CMake bug discussing the situation:
http://public.kitware.com/Bug/view.php?id=11469  

The fix is to use INCLUDE instead of CMAKE_USER_MAKE_RULES_OVERRIDE as suggested
by Kitware. The downside is that compile flags are not in cache, but this is  pure cosmetics.
The functionality is the same,  flags are used for compiling are correct using INCLUDE.
2010-11-17 22:06:24 +01:00
Davi Arnaut
c192be206a Bug#42733: Type-punning warnings when compiling MySQL -- strict aliasing violations.
Due to the extent of aliasing violations in the MySQL source
code, at this time it is safer to disable strict aliasing related
optimizations in release builds.

As of this patch, only GCC enables strict aliasing by default.
Hence, use the -fno-strict-aliasing option to disable the
aliasing rules.

cmake/build_configurations/mysql_release.cmake:
  Add -fno-strict-aliasing to release builds.
2010-10-08 10:30:58 -03:00
Davi Arnaut
243003f12d Bug#42733: Type-punning warnings when compiling MySQL -- strict aliasing violations.
Due to the extent of aliasing violations in the MySQL source
code, at this time it is safer to disable strict aliasing related
optimizations in release builds.

As of this patch, only GCC enables strict aliasing by default.
Hence, use the -fno-strict-aliasing option to disable the
aliasing rules.
2010-10-08 10:30:58 -03:00
Jonathan Perkin
967ee2c65c bug#55250: 5.5.5-m3 incorrectly compiled with exceptions on Solaris/x86
Put '-features=no%except' back into Solaris/x86 CXXFLAGS.
2010-07-19 15:23:02 +01:00
Jonathan Perkin
40856e830d bug#55250: 5.5.5-m3 incorrectly compiled with exceptions on Solaris/x86
Put '-features=no%except' back into Solaris/x86 CXXFLAGS.
2010-07-19 15:23:02 +01:00
Jonathan Perkin
7515fe4deb Spell CMAKE_COMPILER_IS_GNUCC correctly. 2010-07-06 11:28:11 +01:00
Jonathan Perkin
60a9dfbb3c Spell CMAKE_COMPILER_IS_GNUCC correctly. 2010-07-06 11:28:11 +01:00
Jonathan Perkin
d72b3dc40d Remove flags which have already been defined in configure.cmake.
Add a note to investigate -felide-constructors usage on OSX.
2010-07-05 19:34:38 +01:00
Jonathan Perkin
8c3c09ab57 Remove flags which have already been defined in configure.cmake.
Add a note to investigate -felide-constructors usage on OSX.
2010-07-05 19:34:38 +01:00
Jonathan Perkin
cfb2379036 Fix typo in previous. 2010-07-05 17:19:59 +01:00
Jonathan Perkin
5ad197b3f1 Fix typo in previous. 2010-07-05 17:19:59 +01:00
Jonathan Perkin
c14e08401a kent's recent changes to this file resulted in flag loss due to
the way cmake parses, in particular CMAKE_SIZEOF_VOID_P was
uninitialized during the first parse, and the bad values were
cached.

Pull in SIZEOF_VOIDP macro from package_name.cmake, define some
useful variables, and clean up the file a bit with explicit
definitions, to hopefully avoid this problem in the future.
2010-07-05 15:46:51 +01:00
Jonathan Perkin
1ba6a27906 kent's recent changes to this file resulted in flag loss due to
the way cmake parses, in particular CMAKE_SIZEOF_VOID_P was
uninitialized during the first parse, and the bad values were
cached.

Pull in SIZEOF_VOIDP macro from package_name.cmake, define some
useful variables, and clean up the file a bit with explicit
definitions, to hopefully avoid this problem in the future.
2010-07-05 15:46:51 +01:00
Jonathan Perkin
d8621f8924 Fix icc/icpc flags. 2010-07-02 14:02:50 +01:00
Jonathan Perkin
869d569064 Fix icc/icpc flags. 2010-07-02 14:02:50 +01:00
Jonathan Perkin
38954b526b Don't cache {C,CXX} flags, this file is parsed twice, the first time
CMAKE_SIZEOF_VOID_P is unset so the variables are set incorrectly.
2010-07-02 13:28:17 +01:00
Jonathan Perkin
7f95aa6707 Don't cache {C,CXX} flags, this file is parsed twice, the first time
CMAKE_SIZEOF_VOID_P is unset so the variables are set incorrectly.
2010-07-02 13:28:17 +01:00
Jonathan Perkin
0699a98413 Fix previous 2010-06-25 16:16:46 +01:00
Jonathan Perkin
b25eb38e89 Fix previous 2010-06-25 16:16:46 +01:00
Jonathan Perkin
5dd1d5c2b4 Update ICC flags to avoid deprecated options. 2010-06-25 15:01:18 +01:00
Jonathan Perkin
5830623b30 Update ICC flags to avoid deprecated options. 2010-06-25 15:01:18 +01:00
Jonathan Perkin
654637d463 Ensure aio is available on Linux. 2010-06-25 11:02:39 +01:00
Jonathan Perkin
0c73d0c990 Ensure aio is available on Linux. 2010-06-25 11:02:39 +01:00
Kent Boortz
fb583cfaea CMakeLists.txt
cmake/build_configurations/mysql_release.cmake
 - Corrected spelling ENABLE_LOCAL_INFILE => ENABLED_LOCAL_INFILE
 - In addition to "RelWithDebInfo", set target "Release" and "Debug"
 - Set Debug flags
 - Enabled SSL on Mac OS X
 - For gcc builds, set RELEASE and DEBUG flags as well
 - For g++ builds, added "-fno-implicit-templates"
 - Use "-O" (gcc -O1) for optimized binaries, as "DEBUG" in out case
   is more about enabling trace support to the server, no optimization
   makes binaries too slow to be practical to reproduce problems

cmake/os/WindowsCache.cmake
 - Removed unused HAVE_SYS_IOCTL

config.h.cmake
 - Added header checks and missing defines
 - Removed unused HAVE_SYS_IOCTL
 - Grouped and uncommented some HAVE_* that are really not
   defines, but internal variables used in the CMake setup,
 - Added hard coded flags for HP-UX and Mac OS X

configure.cmake
 - Added header checks and missing defines
 - Removed unused HAVE_SYS_IOCTL
 - "sys/dir.h" test needs "sys/types.h"
 - Corrected syntax for "sys/ptem.h" test
 - Don't exclude test for some types if Mac OS X, harmless
   to do the test and we want the HAVE_<type> settings
 - Added hard coded flags for HP-UX and Mac OS X

extra/yassl/CMakeLists.txt
extra/yassl/taocrypt/CMakeLists.txt
 - Added missing source file "template_instnt.cpp"
2010-06-23 12:56:22 +02:00
Kent Boortz
24b3962d51 CMakeLists.txt
cmake/build_configurations/mysql_release.cmake
 - Corrected spelling ENABLE_LOCAL_INFILE => ENABLED_LOCAL_INFILE
 - In addition to "RelWithDebInfo", set target "Release" and "Debug"
 - Set Debug flags
 - Enabled SSL on Mac OS X
 - For gcc builds, set RELEASE and DEBUG flags as well
 - For g++ builds, added "-fno-implicit-templates"
 - Use "-O" (gcc -O1) for optimized binaries, as "DEBUG" in out case
   is more about enabling trace support to the server, no optimization
   makes binaries too slow to be practical to reproduce problems

cmake/os/WindowsCache.cmake
 - Removed unused HAVE_SYS_IOCTL

config.h.cmake
 - Added header checks and missing defines
 - Removed unused HAVE_SYS_IOCTL
 - Grouped and uncommented some HAVE_* that are really not
   defines, but internal variables used in the CMake setup,
 - Added hard coded flags for HP-UX and Mac OS X

configure.cmake
 - Added header checks and missing defines
 - Removed unused HAVE_SYS_IOCTL
 - "sys/dir.h" test needs "sys/types.h"
 - Corrected syntax for "sys/ptem.h" test
 - Don't exclude test for some types if Mac OS X, harmless
   to do the test and we want the HAVE_<type> settings
 - Added hard coded flags for HP-UX and Mac OS X

extra/yassl/CMakeLists.txt
extra/yassl/taocrypt/CMakeLists.txt
 - Added missing source file "template_instnt.cpp"
2010-06-23 12:56:22 +02:00
Jonathan Perkin
ce2aabb712 Changes to build using CMake according to existing release packages:
- Update/fix file layouts for each package type, add new types for
   native package formats including deb, rpm and svr4.

 - Build all plugins, including debug versions

 - Update compiler flags to match current release

 - Add missing @VAR@ expansions

 - Install correct mysqclient library symlinks

 - Fix icc/ia64 builds

 - Fix install of libmysqld-debug

 - Don't include mysql_embedded

 - Remove unpackaged manual pages to avoid missing files warnings

 - Don't install mtr's test suite
2010-05-12 12:51:23 +01:00
Jonathan Perkin
5b85121ca6 Changes to build using CMake according to existing release packages:
- Update/fix file layouts for each package type, add new types for
   native package formats including deb, rpm and svr4.

 - Build all plugins, including debug versions

 - Update compiler flags to match current release

 - Add missing @VAR@ expansions

 - Install correct mysqclient library symlinks

 - Fix icc/ia64 builds

 - Fix install of libmysqld-debug

 - Don't include mysql_embedded

 - Remove unpackaged manual pages to avoid missing files warnings

 - Don't install mtr's test suite
2010-05-12 12:51:23 +01:00
Vladislav Vaintroub
402cab754a Fix typo (CMAKE_SIZEOF_VOIDP=>CMAKE_SIZEOF_VOID_P) 2010-03-08 00:31:06 +01:00
Vladislav Vaintroub
4c9f3504f8 Fix typo (CMAKE_SIZEOF_VOIDP=>CMAKE_SIZEOF_VOID_P) 2010-03-08 00:31:06 +01:00
Jonathan Perkin
46b22d5e5d Some CMake packaging fixes:
- Remove INSTALL-BINARY from installed docs directory, we provide a copy
   in the root directory (but perhaps this should be revisited later).

 - Disable audit_null and daemon_example plugins.

 - Fix the docs directory.

 - Remove mysql-test/Makefile.in

 - Build and install mysql_tzinfo_to_sql

 - Remove share/charsets/languages.html
2010-02-24 19:19:24 +00:00
Jonathan Perkin
26e77e0027 Some CMake packaging fixes:
- Remove INSTALL-BINARY from installed docs directory, we provide a copy
   in the root directory (but perhaps this should be revisited later).

 - Disable audit_null and daemon_example plugins.

 - Fix the docs directory.

 - Remove mysql-test/Makefile.in

 - Build and install mysql_tzinfo_to_sql

 - Remove share/charsets/languages.html
2010-02-24 19:19:24 +00:00
Vladislav Vaintroub
8c9c24310b When using SIGNCODE parameter, check that signing of test executable reaööy works.
If not,  write warning and disable signing

Also, set SIGNCODE in mysql_release build configuration.
2010-02-02 21:32:38 +01:00
Vladislav Vaintroub
b6779a71c4 When using SIGNCODE parameter, check that signing of test executable reaööy works.
If not,  write warning and disable signing

Also, set SIGNCODE in mysql_release build configuration.
2010-02-02 21:32:38 +01:00
Vladislav Vaintroub
c2e1fdf561 Define feature sets that correspond to different products (advanced, pro, enterprise etc) 2010-02-02 02:24:57 +01:00
Vladislav Vaintroub
d025aac666 Define feature sets that correspond to different products (advanced, pro, enterprise etc) 2010-02-02 02:24:57 +01:00
Vladislav Vaintroub
6e84defdd4 Add -lmtmalloc to server linker flags on Solaris 10
and later
2010-01-20 17:21:38 +00:00
Vladislav Vaintroub
4060fe7d43 Add -lmtmalloc to server linker flags on Solaris 10
and later
2010-01-20 17:21:38 +00:00
Vladislav Vaintroub
bc61d6e840 Add Solaris sparc Sun Studio flags 2010-01-20 00:28:47 +01:00
Vladislav Vaintroub
a71e4cf18e - another take on BUILD_CONFIG variable - use OPTION instead of SET for
boolean variables to ensure option is in cache. Also use documented CMAKE_USE_MAKE_RULES_OVERRIDE feature instead of INCLUDE.

- remove superfluous tests in innobase's CMakeLists.txt
2010-01-20 00:52:21 +01:00
Vladislav Vaintroub
a28aa354fa Add Solaris sparc Sun Studio flags 2010-01-20 00:28:47 +01:00
Vladislav Vaintroub
df2d0359d8 - another take on BUILD_CONFIG variable - use OPTION instead of SET for
boolean variables to ensure option is in cache. Also use documented CMAKE_USE_MAKE_RULES_OVERRIDE feature instead of INCLUDE.

- remove superfluous tests in innobase's CMakeLists.txt
2010-01-20 00:52:21 +01:00
Vladislav Vaintroub
5d61e31d4d Fix end-of-line characters in mysql_release.cmake to be unix-conform
make -DBUILD_CONFIG=mysql_release work
2010-01-19 02:21:48 +00:00
Vladislav Vaintroub
7d1d78e574 Fix end-of-line characters in mysql_release.cmake to be unix-conform
make -DBUILD_CONFIG=mysql_release work
2010-01-19 02:21:48 +00:00
Vladislav Vaintroub
6b596534c0 Add compiler flags used by the buildteam to do release 2010-01-19 01:47:51 +01:00
Vladislav Vaintroub
0139d40d26 Add compiler flags used by the buildteam to do release 2010-01-19 01:47:51 +01:00
Vladislav Vaintroub
4c872d51f6 Add option for specifying MYSQL build configurations.
Add mysql_release.cmake intended for use by the build team (
compile options, build settings to do MySQL releases)
2010-01-11 14:42:07 +01:00
Vladislav Vaintroub
125cd58f2b Add option for specifying MYSQL build configurations.
Add mysql_release.cmake intended for use by the build team (
compile options, build settings to do MySQL releases)
2010-01-11 14:42:07 +01:00