Commit graph

97 commits

Author SHA1 Message Date
Mats Kindahl
c0817bacaf WL#5030: Splitting mysql_priv.h
Removing traces of mysql_priv.h from comments and other
non-source files that were missed before.
2010-04-21 00:29:30 +02:00
Vladislav Vaintroub
c8e32a8331 Bug #52149 - packaging differences in CMake build
Corrected some packaging bugs:
- install mysqlservices library
- install libmysqlclient_r.so.{16,16.0.0} as links
  to libmysqlclient.so
- install libmysqld-debug.a
- install my_safe_process, my_safe_kill and
  symlinks to mysql-test-run.pl (mtr, mysql-test-run)
  into correct place ${INSTALL_MYSQLTESTDIR}


cmake/install_layout.cmake:
  Fix typo
cmake/install_macros.cmake:
  Refactor INSTALL_SYMLINK to allow arbitrary symlink paths.
  Old version of this macro would make link extension the same 
  as in target. This was not sufficient in some scenarios 
  (would not allow for example libmysqlclient_r.so.16=>./libmysqlclient.so 
  link)
libmysql/CMakeLists.txt:
  Install extra symlinks to libmysqlclient.so
  (libmysqlclient_r.so.16 and libmysqlclient_r.so.16.0.0)
  for backward compatiblity.
libmysqld/CMakeLists.txt:
  install libmysqld-debug.a
libservices/CMakeLists.txt:
  install mysqlservices library
mysql-test/lib/My/SafeProcess/CMakeLists.txt:
  install my_safe_process, my_safe_kill into  correct place
2010-03-17 19:56:22 +01:00
Vladislav Vaintroub
402cab754a Fix typo (CMAKE_SIZEOF_VOIDP=>CMAKE_SIZEOF_VOID_P) 2010-03-08 00:31:06 +01:00
Vladislav Vaintroub
87a1ad6310 merge 2010-03-03 15:48:54 +01:00
Vladislav Vaintroub
cd03a4625f Bug #51488 :missing features and change behavior in cmake runs compared to
autotools runs
- Fix recognition of --with-debug=full in configure wrapper
- Remove CMakeCache.txt in configure wrapper, to match the original
- Fix recognition of max-no-ndb
- Fix broken dependencies of mysql_fix_privilege_table.sql from 
  mysql_system_tables.sql and mysql_system_tables_fix.sql
- Add "distclean target" that informs user about appropriate bzr command



cmake/configure.pl:
  - Recognize --with-debug=full, map to WITH_DEBUG_FULL
  - remove CMakeCache.txt, so the configuration is no more sticky
  (to match the original configure behavior)
cmake/plugin.cmake:
  - Recognize WITH_MAX_NO_NDB, this fixes missing storage engines after BUILD/*max-no-ndb scripts
mysql-test/CMakeLists.txt:
  test-force uses the same macros (MTR_FORCE) as test-bt* now
scripts/CMakeLists.txt:
  - Fix broken dependency when producing mysql_fix_privilege_tables.sql, reported by Davi.
  We now concatenate 2 scripts in custom command that
  has dependency on both scripts rather than concatenating them at cmake time.
sql/CMakeLists.txt:
  Address frequently asked question "where is distclean" by implementing distclean target 
  that does nothing except pointing to appropriate 
  bzr command.
  
  It is better not to call "bzr clean-tree" automatically, without user consent.
  It could clean new files that were meant to be added.
2010-03-03 12:29:34 +01:00
Alexander Nozdrin
accce6be6e Auto-merge from mysql-next-mr. 2010-02-25 22:58:57 +03:00
Vladislav Vaintroub
46800354ab Workaround crash with dtraced shared libraries under GCC 3.4.6 on 32 bit Solaris.
Crash happens in dlopen() code when trying to load the library. Crash does not happen when library is 
not DTrace instrumented . Additionally, crash does not happen with default Solaris 10 GCC 3.4.3 and
it does not happen if main executable is instrumented.

So , just check for this specific situation (32 bit, GCC3.4.6 , Solaris) and disable Dtrace in shared libraries.
We have only single plugin so far that is instrumented (ha_example)
2010-02-25 17:31:31 +01:00
Vladislav Vaintroub
527ff458aa On Solaris, overwrite CMake's proposed thread library -lthread with -lpthread.
-lthread works fine in most cases, but at least with gcc 3.4.6 on x86, dlopen() crashes when libpthread is not used. 
Note : the workaround existed prior and did not work  since CMAKE_THREADS_LIBS_INIT was already
 in cache.  Now, use SET(.. CACHE FORCE)  to overwrite the cached value.
2010-02-25 10:57:23 +01:00
Alexander Barkov
a98481354e After-fix for WL#1213
Fixing cmake files.
2010-02-25 12:15:46 +04:00
Vladislav Vaintroub
aa52602008 merge 2010-02-24 20:11:34 +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
Vladislav Vaintroub
bcebd97306 #51466 : Source packages are broken with cmake in a cmake-agnostic environment
In the worst case possible scenario (no bzr, in-source build),
make dist produced a package that compiled ok with autotools
but failed to package because extra make_binary_distribution was
found in source package and was not built. make_binary_distribution
contained paths of the build machine.

Fix:  exclude some scripts that are produced in cmake build. 
Note that there is no good general fix for it in this specific scenario.
it is advisable to build source packages out of source or in bzr repo.
2010-02-24 20:07:05 +01:00
Vladislav Vaintroub
60c7cc878f Fix --with-ssl mappping (--with-ssl=dir should be "yes" or
actually "system"), --with-ssl should be "bundled".

Fixes error on sol-gcc-x86, where build machine had  openssl but not
the test box.
2010-02-24 19:51:45 +01:00
Vladislav Vaintroub
e56246390b remove whitespace at the end of line in Makefile.am, to keep BUILD/autorun.sh silent 2010-02-23 14:28:06 +01:00
Vladislav Vaintroub
a4af6e8708 Bug #51414: Arguments with embedded spaces are not correctly handled by configure wrapper.
The bug was that ./configure was  passing paramers to subscripts as $@, and to handle embedded spaces it needs
to be quoted as "$@".
This resulting into a bug when ./configure was called e.g with CFLAGS='-m64 -Xstrconst'..

Additionally, fixed cmake/configure.pl did not handle environment variables passed on the command line.
this is fixed in this push
2010-02-23 12:32:57 +01:00
Vladislav Vaintroub
71f8615fd6 Fix BUILD/compile-pentium64-xxx scripts, when ccache is present.
Fix contains of :
-  splitting CC/CXX if there are more that 2 space-delimited tokens, add the rest to CFLAGS
(in this case CC was set to "ccache gcc --pipe", and this broke recognition of gcc compiler
as CMake understands CC consisting of 2 space delimited tokens but not more)

-  add my_new.cc to mysys fle list if C++ operator new is not found. Always, not only
for gcc  (the original problem was that missing operator new when compiling with CXX=gcc)
2010-02-22 20:55:27 +01:00
Vladislav Vaintroub
740c7cf4fa Install static client and embedded debug libraries 2010-02-20 20:40:03 +01:00
Vladislav Vaintroub
5f833a39ed extend configure-like perl wrapper for INSTALL_FOODIR variables 2010-02-20 14:17:55 +01:00
Vladislav Vaintroub
e4cb186c6b SET FN_NO_CASE_SENSE to 1 on Windows 2010-02-20 02:12:01 +01:00
Vladislav Vaintroub
1e533aef35 fix typo 2010-02-17 00:27:45 +01:00
Vladislav Vaintroub
14e563ce5f check for poll.h 2010-02-14 20:30:41 +01:00
Vladislav Vaintroub
784d4a4718 merge 2010-02-06 17:16:24 +01:00
Vladislav Vaintroub
7257047dce merge 2010-02-06 17:13:42 +01:00
Vladislav Vaintroub
7ffdc1d301 fix OSX package names is OSX_DEPLOYMENT_TARGET is specified 2010-02-05 07:39:11 +01: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
c2e1fdf561 Define feature sets that correspond to different products (advanced, pro, enterprise etc) 2010-02-02 02:24:57 +01:00
Vladislav Vaintroub
d82df66e1f Do not run checks for strtok_r on Windows - we know the function is not there.. 2010-01-29 03:29:33 +01:00
vvaintroub
6580cdb27b Add windows system check cache that prevents tests from running, most are irrelevant anyway
Add cached variable WITH_XXX_STORAGE_ENGINE for dynamic plugins that can be static or 
dynamic.
2010-01-29 03:07:00 +01:00
Vladislav Vaintroub
9632ea7475 do not redefine CPACK_PACKAGE_FILE_NAME, if it is already given 2010-01-28 11:30:21 +01:00
Vladislav Vaintroub
9cabc9fd8a prettification of package names and fix compile bug on OSX/ppc 2010-01-28 11:09:05 +01:00
Vladislav Vaintroub
eb81868421 Fix issues around MYSQL_TCP_PORT_DEFAULT (should be really 0 all the time) 2010-01-27 14:23:33 +01:00
Vladislav Vaintroub
24b6ae2d0b Added AIX, OS400 and Cygwin.
This finishes of moving code from configure.cmake IF()'s to platform specific files
2010-01-27 02:52:04 +01:00
Vladislav Vaintroub
90d4e963f1 merge 2010-01-27 01:54:41 +01:00
Vladislav Vaintroub
0a6fe4fb84 fix default architecture flag (v8) on sparc32 gcc that prevent mysql from compilng, add HPUX.cmake 2010-01-27 01:50:19 +01:00
Vladislav Vaintroub
6625d6b905 Fix failing test cases on pushbuild 2010-01-26 23:47:57 +01:00
Vladislav Vaintroub
cdb8cafb27 Fixed typos and failed mysqld--help test. 2010-01-26 22:05:41 +01:00
Vladislav Vaintroub
bc80c38a54 Move FreeBSD specific hacks to cmake/os/FreeBSD.cmake 2010-01-26 18:13:37 +01:00
Vladislav Vaintroub
3241885f90 Move OSX specific checks to cmake/os/Darwin.cmake 2010-01-26 18:09:14 +01:00
Vladislav Vaintroub
62bc68a054 WL#5161: Following Mats' suggestion, moved Solaris specific workaround to cmake/os/SunOS.cmake
cmake/os/SunOS.cmake:
  WL#5161: Moved Solaris specific  workaround to cmake/os/SunOS.cmake
2010-01-26 15:43:53 +00:00
Vladislav Vaintroub
7ce02039af WL#5161, implement Mats' suggeston to move platform specifics into own files
under cmake/os. This patch does it for Linux
2010-01-26 15:56:50 +01:00
Vladislav Vaintroub
a8c47397fc WL#5161: Implement Mats' suggestion of moving OS specific CMake code to OS specific files, instead of
polluting code with IF(CMAKE_SYSTEM_NAME MATCHES...), first on Windows.

cmake/libutils.cmake:
  Fix the case in MERGE_LIBRARIES, where  there is no dependency on OS libraries.
cmake/os/Windows.cmake:
  Move windows specific code to cmake/os/Windows.cmake
configure.cmake:
  Move some Windows code to cmake/os/Windows.cmake
2010-01-26 13:47:34 +01:00
Vladislav Vaintroub
9129685e51 merge, add plugin/audit_null/CMakeLists.txt 2010-01-26 05:39:48 +01:00
Vladislav Vaintroub
32f0a54628 In standalone package, default data subdirectory is "data", not "var" 2010-01-25 13:12:29 +01:00
Vladislav Vaintroub
135c25d165 Fix smaller stuff: disable transitive linking for MERGE_LIBRARIES results,
compile embedded with PIC to allow linking with shared libraries
2010-01-25 02:52:32 +01:00
Vladislav Vaintroub
c514d75ebb Handle different installation layouts.
using  cmake option INSTALL_LAYOUT=STANDALONE would produce the layout as in 
tar.gz or zip packages.
INSTALL_LAYOUT=UNIX will produce unixish install layout  (with mysqld being in sbin subdirectory , libs in lib/mysql etc). This layout is used for RPM packages.

Subtle differences in both packages unfortunately lead to the need to recompile MySQL to use with other package type - as otherwise for example default plugins or data directories would be wrong set.

There are numerous other variables that  allow fine-tuning packaging layout. (INSTALL_BINDIR, INSTALL_LIBDIR , INSTALL_PLUGINDIR etc).

This options are different from autotools as they do not expect full paths to directories, but only subdirectory of CMAKE_INSTALL_PREFIX.

There are 2 special options that expect full directory paths
- MYSQL_DATADIR that defines default MYSQL data directory (autotools equivalent
is --localstatedir)
- SYSCONFDIR  can be added to search my.cnf search path (autotools equivalent is --sysconfdir)
2010-01-24 16:23:16 +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
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
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
6b596534c0 Add compiler flags used by the buildteam to do release 2010-01-19 01:47:51 +01:00