Commit graph

233 commits

Author SHA1 Message Date
Daniel Fischer
7450044eb7 merge from 5.5.16 2011-09-21 12:40:41 +02:00
Jonathan Perkin
1f9fe1b4d5 Update email address for Release Engineering. 2011-09-20 17:47:53 +02:00
Daniel Fischer
888b8793a2 Source plugin library files list from cmake-generated file in RPM builds 2011-08-15 12:10:08 +02:00
Tor Didriksen
0fd2624780 Bug#12710832 - PB2 DAILY-TRUNK BUILD FAILS ON SOLARIS X86_64
Compiler bug:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6879978

Workaround is to always specify "-xOn".


cmake/build_configurations/mysql_release.cmake:
  Enable basic optimization for debug builds.
2011-07-04 14:27:08 +02:00
Kent Boortz
789aa8c485 Updated/added copyright headers 2011-07-04 01:25:49 +02:00
Kent Boortz
02e07e3b51 Updated/added copyright headers 2011-06-30 17:46:53 +02:00
Daniel Fischer
f089d2e870 RETURN doesn't exactly return from the macro... 2011-06-10 14:57:42 +02:00
Tor Didriksen
155df6c657 Bug#12641810 - MYSQL MAKE DIST DOESN'T WORK WHEN USING MYSQL TREE + PLUGIN TREE(S)
cmake/make_dist.cmake.in:
  Run 'bzr export' for plugins.
cmake/plugin.cmake:
  Lookup plugins with bzr repos.
2011-06-10 09:12:10 +02:00
Bjorn Munch
aca402b62b Followup to 12607800, testing it in PB2 didn't work, trying again
Be more explicit about path to (potential) plugin tests dirs
2011-06-01 15:19:36 +02:00
Bjorn Munch
fd717fb560 Bug #12607800 ADD HOOK TO INSTALL TESTS FROM IMPORTED FEATURE TREES
Sets INSTALL_PLUGINTESTDIR if any plugin/*/tests exist
2011-06-01 12:15:01 +02:00
Bjorn Munch
94f96bc472 Bug #12598603 HAVE COLLECTIONS FILES IN FEATURE TREES AUTO-APPENDED TO COMMON FILES
Do this in the common plugin.cmake but only if running in PB2
  (If done in manual builds it would create a bzr diff)
2011-05-27 14:43:15 +02:00
Bjorn Munch
b5009ee6be merge from 5.5-mtr 2011-05-26 10:18:21 +02:00
Tor Didriksen
c41e866357 Don't check for FIONREAD on windows.
Execution of platforms tests are slow/flaky when building on windows.
in PB:mysql-next-mr-opt-team on 2011-05-18 for win x86 debug_max, i see:
-- Looking for FIONREAD
-- Looking for FIONREAD - found
and the build fails.
2011-05-26 09:54:19 +02:00
Bjorn Munch
73d1992ef4 Bug #12586211 ENABLE GCOV BUILDS WITH CMAKE, INCLUDING PLUGINS
Added --with-gcov option to configure.pl and use that from SETUP.sh
2011-05-25 12:39:11 +02:00
Nirbhay Choubey
51721df03a Merge of fix for bug#11757855 from mysql-5.1 -> mysql-5.5. 2011-04-30 10:54:38 +05:30
Georgi Kodinov
c7b12ecc6e Backport of (part of) bug #11760838 to 5.5.
Enabled the ABI check to run on MacOSX.
2011-04-28 13:13:36 +03:00
Guilhem Bichot
fe1ec4a6e7 Fix for Bug#11892055 - "GCC COMPILER FLAG -WOVERLOADED-VIRTUAL NOT USED, WHICH LETS BUGS IN" 2011-04-26 11:18:29 +02:00
Magne Mahre
b71c5d51c6 Bug#11766320 MYSQL SYMBOLIC LINKS NOT WORKING
When MySQL converted from autotools to CMake, the
preprocessor symbol USE_SYMDIR was omitted by mistake.

Without this symbol, the code for checking .sym files
is not built.

This patch defines USE_SYMDIR when built on MS Windows.
2011-04-14 10:08:12 +02:00
Davi Arnaut
8aadfb4065 Remove some leftovers from the removal of the gethostbyname wrappers. 2011-04-13 16:05:26 -03:00
unknown
753c406994 Merge from mysql-5.5.10-release 2011-03-16 15:11:20 +01:00
MySQL Build Team
a471109971 Implementing Bug #57175 MySQL source tarballs should include generated spec file 2011-03-03 22:46:12 +01:00
Kent Boortz
fe12c639b1 The client shared library major version was changed to 18, to reflect
ABI changes (Bug#60061)

Bumping the version from 16 to 18, instead of 17, was done to avoid a
library conflict on Mac OS X between MySQL 5.1 and MySQL 5.5. In MySQL
5.1 GNU libtool was used, that made the ABI version used in the file
name to be 16, and the one stored inside the binary to be 17.

MySQL 5.5 uses CMake as a build tool, that will store the same ABI
number in the file name as inside the binary in Mac OS X, and then
bumping the ABI number two steps avoids a conflict on Mac OS X.
2011-02-17 19:36:19 +01:00
Joerg Bruehe
a7662cf0a9 Merge bug fix 42969 into main 5.5 branch. 2011-02-14 15:53:51 +01:00
Joerg Bruehe
bb956c1ea2 Fix bug#42969 Please add a MANIFEST to each build
With this change, there will be new files "INFO_SRC"
and "INFO_BIN", which describe the source and the
binaries.
They will be contained in all packages:
- in "tar.gz" and derived packages, in "docs/",
- in RPMs, in "/usr/share/doc/packages/MySQL-server".

"INFO_SRC" is also part of a source tarball.
It gives the version as exact as possible, preferably
by calling "bzr version-info" on the source tree.
If that is not possible, it just contains the three
level version number.

"INFO_BIN" contains some info when and where the
binaries were built, the options given to the compiler,
and the flags controlling the included features.

The tests (test "mysql" in the main suite) are extended
to verify the existence of both "INFO_SRC" and "INFO_BIN",
as well as some of the expected contents.


CMakeLists.txt:
  For the new files describing the source and the build
  ("INFO_SRC" and "INFO_BIN"), we need a new file
  "cmake/info_macros.cmake.in" with the build rules.
  
  1) This file must be configured with the current variables.
  
  2) "INFO_SRC" can be created during the cmake phase,
     but this should be repeated with each "make" to
  protect against a developer doing only "make" after
  a "bzr pull" (or "bzr commit").
  So have it both as a cmake rule and as a custom target.
  
  3) "INFO_BIN" must be created during the make phase
     only, because it contains information from files
  which will be written at the end of the cmake phase only.
  Therefore, it must be a custom target which is included
  in all "make" targets.
  
  4) The resulting "INFO_*" files must be included in packages.
cmake/info_bin.cmake:
  This is the file to create "INFO_BIN",
  by calling the "CREATE_INFO_BIN()" macro.
  
  It must be a separate file, so that the macro
  definitions can be included in other cmake scripts
  without that file inclusion causing a side effect,
  the macro call.
  That call would modify the source tree which should
  be trated read-only.
cmake/info_macros.cmake.in:
  This new file contains the macros to create the
  "INFO_*" files during various steps of the build,
  the calls will be at other places.
  
  1) For source: If running from a BZR tree, always create
     (update) "INFO_SRC" by running "bzr version-info".
     Outside a BZR tree, try to take it from exported
     sources, and create it only if missing, in that
     case put the three level version number into it.
  
  2) "INFO_BIN" contains
     - date/time and host name of the build host,
     - information about the platform,
     - information about the C and CXX compiler
       and the options given to them (Unix only),
     - the feature flags as reported by "cmake -L".
cmake/info_src.cmake:
  This is the file to create "INFO_SRC",
  by calling the "CREATE_INFO_SRC()" macro.
  
  It must be a separate file, so that the macro
  definitions can be included in other cmake scripts
  without that file inclusion causing a side effect,
  the macro call.
  That call would modify the source tree which should
  be trated read-only.
cmake/make_dist.cmake.in:
  Create a "VERSION_src" file during "make dist".
  
  In case it already exists from a preceding "cmake" run
  or tree export (which is quite likely), a new
  "make dist" must not modify it.
mysql-test/r/file_contents.result:
  Result of test for bug#42969.
mysql-test/t/file_contents.test:
  Perl test scriptlet for bug#42969.
support-files/mysql.spec.sh:
  Add "INFO_SRC" and "INFO_BIN" to the RPM contents.
2011-02-11 15:55:25 +01:00
Tor Didriksen
7f3decd9b2 Bug #58991 DEFAULT_CHARSET and DEFAULT_COLLATION does not work with CMake.
cmake/character_sets.cmake:
  Fix typo in variable name.
  Some cosmetics.
config.h.cmake:
  Do not use hard-coded defaults for charset and collation.
2011-01-04 11:23:45 +01:00
Tor Didriksen
029a5df870 Bug #58699 cannot build with gcc dbg on solaris
cmake/os/SunOS.cmake:
  Remove TARGET_OS_SOLARIS
config.h.cmake:
  Remove TARGET_OS_SOLARIS
  Add PTHREAD_ONCE_INITIALIZER
configure.cmake:
  Add function for testing whether we need { PTHREAD_ONCE_INIT } rather than PTHREAD_ONCE_INIT
include/my_pthread.h:
  Use PTHREAD_ONCE_INITIALIZER if set by cmake.
include/mysql/psi/mysql_file.h:
  Include my_global.h first, to get correct platform definitions.
mysys/ptr_cmp.c:
  Hide the unused static functions in #ifdef's on solaris.
  Use __sun (defined by both gcc and SunPro cc) rather than TARGET_OS_SOLARIS
sql/my_decimal.cc:
  Include my_global.h first, to get correct platform definitions.
sql/mysqld.cc:
  Fix signed/unsigned comparison warning.
sql/sql_audit.h:
  Include my_global.h first, to get correct platform definitions.
sql/sql_plugin.h:
  Include my_global.h first, to get correct platform definitions.
sql/sql_show.cc:
  Fix: warning: cast from pointer to integer of different size
sql/sys_vars.h:
  Use reinterpret_cast rather than c-style cast.
storage/perfschema/pfs_instr.cc:
  Include my_global.h first, to get correct platform definitions.
2010-12-21 13:00:26 +01:00
Alexander Nozdrin
3237e4908a Manual merge from mysql-5.5. 2010-12-16 21:43:21 +03:00
Georgi Kodinov
74e2520cd9 merge mysql-5.5->mysql-5.5-bugteam 2010-12-16 18:44:17 +02:00
Jonathan Perkin
5752c16ca9 bug#58955: Must -DBUILD_CONFIG=mysql_release require libaio on Linux
Allow users to build without aio if they really want to, by passing
-DIGNORE_AIO_CHECK to cmake.
2010-12-16 09:27:55 +00:00
Davi Arnaut
650d9cc5b0 Bug#58871: Reorganize maintainer mode compiler flags to allow
option for specific compilers

Reorganize the maintainer mode cmake code to allow options
for specific compilers. For now, enable -Wcheck for ICC,
but do not turn warnings into errors.

CMakeLists.txt:
  Move the code that sets options to cmake/maintainer.cmake
cmake/maintainer.cmake:
  Add macros for each specific compiler.
2010-12-15 08:30:09 -02:00
Jonathan Perkin
5046dc160b bug#58766: Server binary was compiled without fast-mutexes
Re-enable fast mutexes on Linux for release builds.
2010-12-07 11:40:38 +00:00
Jonathan Perkin
9836927774 Fix the .deb package prefix. 2010-11-25 00:21:28 +00:00
Vladislav Vaintroub
199cb4b7b1 Post-fix for Bug#58158 on Solaris
Problem : The build might fail with 
make[2]: *** No rule to make target `../sql/z',
needed by `sql/mysqld_dtrace_all.o'.  Stop.
if one of plugins would depends on system libz 
library

Fix: Filter out non-static dependent libraries
when dtracing static libs
2010-11-25 00:20:36 +00:00
Tor Didriksen
20f94499fa Bug #58372 cmake should not write temporary files in the source directory
cmake/do_abi_check.cmake:
  Put temporary files in ${BINARY_DIR} rather than in source directory.
  Slight reformatting for readability of commands.
2010-11-23 10:26:26 +01:00
Magnus Blåudd
6ad007c7ad Merge 5.5-bug58158 into 5.5-bugteam 2010-11-24 11:49:10 +01:00
Magnus Blåudd
41cab32111 WL#5665: Removal of the autotools-based build system
- Make the cmake files depend on VERSION, causing
   cmake rerun when VERSION changes
2010-11-24 11:37:59 +01:00
Sunanda Menon
377c783e75 merge 2010-11-22 11:35:48 +01:00
Davi Arnaut
af67d8ae02 WL#5665: Removal of the autotools-based build system
Remove some more leftovers from the initial removal:

o Update relevant mentions of configure.in throughout
the source code.

o Remove win/configure.js, which at this point just
duplicates logic already present in CMake based build
system.

o Remove support files which relied on the autotools
build system. In any case, MySQL is no longer officially
supported on SCO.

o Remove files which are no longer part of the build.
2010-11-20 20:56:09 -02:00
Davi Arnaut
8664de2230 WL#5665: Removal of the autotools-based build system
The autotools-based build system has been superseded and
is being removed in order to ease the maintenance burden on
developers tweaking and maintaining the build system.

In order to support tools that need to extract the server
version, a new file that (only) contains the server version,
called VERSION, is introduced. The file contents are human
and machine-readable. The format is:

MYSQL_VERSION_MAJOR=5
MYSQL_VERSION_MINOR=5
MYSQL_VERSION_PATCH=8
MYSQL_VERSION_EXTRA=-rc

The CMake based version extraction in cmake/mysql_version.cmake
is changed to extract the version from this file. The configure
to CMake wrapper is retained for backwards compatibility and to
support the BUILD/ scripts. Also, a new a makefile target
show-dist-name that prints the server version is introduced.

VERSION:
  Add top-level version file.
cmake/mysql_version.cmake:
  Get version information from the top-level VERSION file.
  Do not cache the version components (MAJOR_VERSION, etc).
  Add MYSQL_RPM_VERSION as a replacement for MYSQL_U_SCORE_VERSION.
2010-11-20 12:47:50 -02:00
Vladislav Vaintroub
4180ba3d6e avoid useless system check on Windows 2010-11-20 00:56:07 +01:00
Vladislav Vaintroub
861971428b Bug#58313: CMake stops with VS Express if -DBUILD_CONFIG=mysql_release.cmake
Bug : -DBUILD_CONFIG=mysql_release sets SIGNCODE parameter which requires 
singtool.exe (part of Windows SDK)  in order to be able to sign the binaries (
only if valid certificate is found). However singtool is not a part of the SDK shipped
with Visual Studio Express, so the build fails claiming missing singtools.exe

Fix: Do not  use SIGNCODE  wiith VC Express.

Also, fix broken nmake build (*.rc files could not be compiled due to ADD_DEFINITIONS
contaning C/C++ compiler specific flags)
2010-11-20 00:20:18 +01:00
Sunanda Menon
92db6e9af9 Bug #58227 improve error message "aio is required on Linux" 2010-11-19 10:34:22 +01:00
Vladislav Vaintroub
bd15ec0086 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
Magnus Blåudd
31e30ee326 Bug#58158 LINK_LIBRARIES for MYSQL_ADD_PLUGIN is not added to libmysqld
- Add ARG_LINK_LIBRARIES to MYSQLD_STATIC_PLUGIN_LIBS in
    MYSQL_ADD_PLUGIN so that any libraries listed by the plugin is
    added to libmysqld
  - remove the variables NDB_CLIENT_LIBS and NDB_CLUSTER_INCLUDES
    from libmysqld/CMakeLists.txt since those are just old remnants
2010-11-16 10:05:54 +01:00
Vladislav Vaintroub
f0c2b9c5c6 add missing COMPONENT to all CMake INSTALL commands 2010-11-13 23:16:52 +01:00
Vladislav Vaintroub
36fffdeaa2 Bug#58074: ADD_VERSION_INFO cmake/mysql_version.cmake fails if LINK_FLAGS are modified
Backport version info handling  (Windows-specific) from next-mr. 
Instead of adding ".res" object as linker flag, add  resource file (.rc) file to the source list.
This is more obvious and less error prone method.
2010-11-12 13:42:50 +01:00
Vladislav Vaintroub
e1837cc0d8 Bug #52275 CMake configure wrapper does not handle
--with-comment correctly
      
Properly convert --with-comment
do not uppercase it, quote as it might contain spaces.
2010-11-12 02:33:19 +01:00
Vladislav Vaintroub
2e2f3b1fc1 Fix typo : SVR5=>SVR4 2010-11-10 20:10:04 +01:00
Joerg Bruehe
6f01f9c5ac Fix cmake's version string handling (change proposed by Jonathan Perkin).
Before this, a text suffix (like "-rc") after the numeric version was needed.
2010-11-02 19:52:56 +01:00
Davi Arnaut
9129cb184b GCC's link option only take a single hyphen. 2010-10-20 19:25:28 -02:00