Commit graph

374 commits

Author SHA1 Message Date
Igor Babaev
ddc46740a5 Merge 5.5->10.0-base 2013-10-13 18:10:19 -07:00
Alexander Barkov
1a3bb9487d A follow-up for the previous commit:
MDEV-4425 Regexp enhancements
Adding ${CMAKE_BINARY_DIR}/pcre into search path for *.h files.
Needed for find pcre.h (which is generated from pcre.h.in) when
build directory != source directory.
2013-10-02 15:41:15 +04:00
Vladislav Vaintroub
c8693bea40 MDEV-5076 : Build on FreeBSD - when looking for execinfo library, and execinfo.h header,
allow user-defined EXECINFO_ROOT prefix, in case library and header are not placed under /usr/local . This change was requested by FreeBSD maintainer.
2013-09-26 23:48:38 +02:00
Alexander Barkov
285e7aa179 MDEV-4425 REGEXP enhancements 2013-09-26 18:02:17 +04:00
unknown
9d83468e78 merge 5.5 -> 10.0-base 2013-09-25 21:07:06 +03:00
Vladislav Vaintroub
72dffd878e MDEV-5062 : disable jemalloc by default everywhere, except Linux and OSX.
Bundled jemalloc can only be on  Linux and OSX without problems.
  
On BSDs, build fails because make does not understand GNU extensions (also BSDs do not need  jemalloc, it is already system malloc).
On Solaris, build fails with compile error.
2013-09-24 19:52:51 +02:00
Vladislav Vaintroub
11fc6b49d9 MDEV-5053 - fix cyclic dependency when building with Ninja CMake generator 2013-09-23 23:33:18 +02:00
Sergei Golubchik
2fe0836eed 5.5.33a merge 2013-09-20 11:29:01 +02:00
Sergei Golubchik
cd077ca839 MDEV-5026 cannot use system jemalloc 2013-09-19 20:19:00 +02:00
Sergei Golubchik
4232874772 fix debian builds. don't use WITH_MAX anymore 2013-09-19 11:58:44 +02:00
Sergei Golubchik
4ec2e9d7ed 5.5 merge and fixes for compiler/test errors 2013-09-18 13:07:31 +02:00
Sergey Vojtovich
f7f7f37fed Fixed jemalloc with ccache build failure. 2013-09-17 13:49:49 +04:00
Sergei Golubchik
62643f81e6 merge with 5.5-tokudb tree. In particular:
* add TokuDB, together with the ft-index library
* cmake support, auto-detecting whether tokudb can be built
* fix packaging - tokudb-engine.rpm, deb
* remove PBXT
* add jemalloc
* the server is built with jemalloc by default even if TokuDB is not built
* documentation files in RPM are installed in the correct location
* support for optional deb packages (tokudb has specific build requirements)
* move plugins from mariadb-server deb to appropriate debs (server/test/libmariadbclient)
* correct mariadb-test.deb to be not architecture-independent
* fix out-of-tree builds to never modify in-tree files
* new handler::prepare_index_scan() method
2013-09-10 23:02:25 +02:00
Sergei Golubchik
265bbf5fe1 introduce sysconf2dir, install tokudb.conf there, both in rpm and deb 2013-09-10 22:59:18 +02:00
Sergei Golubchik
3de5613445 INSTALL_DOCUMENTATION function for CMakeLists.txt
It puts files in the correct location for rpm/deb packages.
2013-09-10 22:53:44 +02:00
Sergei Golubchik
588a1d652f * mariadb-tokudb-engine-5.5.deb
* now only production-use server plugins are in mariadb-server.
  client plugins are now in libmariadbclient18,
  testing-only server plugins are now in mariadb-test
  (set Coflicts: field properly)
* fix Architecture: of mariadb-test
* terrible hack to support optional deb packages for optional plugins
2013-09-10 10:30:07 +02:00
Sergei Golubchik
3e5b21067b MariaDB-tokudb-engine.rpm
cmake/plugin.cmake:
  * auto-create an rpm for a plugin, if it places itself in a new component
storage/tokudb/CMakeLists.txt:
  install tokudb in COMPONENT tokudb-engine.
  this automatically creates a separate rpm for it.
2013-09-09 14:09:09 +02:00
Sergei Golubchik
5b2e3b01f0 fixes for buildbot
* disable jemalloc on windows (cannot run ./configure)
* disable jemalloc on ancient cmake (ExternalProject does not work)
* rewrite TokuDB compiler test to check for features, not versions (to work on cmake before 2.8.11)
* fix ft-index to not add VALGRIND_INCLUDE_DIR to includes, if no valgrind was found
* correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)
* disable ft-index tests by default (faster compilation and they aren't used anyway)
* don't build ft-index with valgrind by default (otherwise it *requires* valgrind, it doesn't auto-detect)
* use --loose-tokudb in the .opt file
2013-09-09 14:02:42 +02:00
Sergei Golubchik
c03f0cf28c fixes for out-of-source builds
mysql-test/CMakeLists.txt:
  don't generate collection fules. we don't use them
  and they break out-of-source builds
2013-09-09 14:00:40 +02:00
Sergei Golubchik
00686e6d0e cmake fixes for tokudb
cmake/jemalloc.cmake:
  for dependencies to work, LIBJEMALLOC should be the target name, not the path
storage/tokudb/CMakeLists.txt:
  * check the preconditions
  * disable bdb tests (compilation errors)
  * set variable, instead of SET_PROPERTY. same effect,
    but doesn't fail when a plugin is disabled (that is, a target does not exist)
storage/tokudb/ft-index/CMakeLists.txt:
  cmake should not look into examples/ directory,
  there is hand-crafted examples/Makefile that
  cmake will overwrite
storage/tokudb/ft-index/buildheader/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/cmake_modules/TokuMergeLibs.cmake:
  Libraries must be specified in the specific order,
  REMOVE_DUPLICATES cannot be used, because it destroys this order.
  
  (when OSLIBS contains "-lpthread -ljemalloc -lpthread", REMOVE_DUPLICATES
  makes it "-lpthread -ljemalloc". But a thread library *must* be *after* jemalloc)
storage/tokudb/ft-index/cmake_modules/TokuSetupCTest.cmake:
  * 'which' might print errors to stderr, they are not important, shut them up
  * we don't have TOKUDB_DATA, no need to warn about it
  * don't configure_file into itself (with input=output)
storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake:
  jemalloc is built externally to tokudb/ft-index
storage/tokudb/ft-index/ft/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/ft/tests/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/locktree/tests/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/portability/CMakeLists.txt:
  s/jemalloc/libjemalloc/
storage/tokudb/ft-index/portability/os_malloc.cc:
  unnecessary include file
storage/tokudb/ft-index/portability/tests/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/src/tests/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/util/tests/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
storage/tokudb/ft-index/utils/CMakeLists.txt:
  the syntax is ADD_EXECUTABLE(target source) and "source" is the file name
2013-09-09 13:57:22 +02:00
Sergei Golubchik
b838d081ad mysql-5.5.33 merge 2013-09-06 22:31:30 +02:00
Sergei Golubchik
cd92bc38a7 start using jemalloc 2013-08-30 10:56:26 +02:00
Sergei Golubchik
97e640b9ae 5.5 merge 2013-07-17 21:24:29 +02:00
Sergei Golubchik
005c7e5421 mysql-5.5.32 merge 2013-07-16 19:09:54 +02:00
Tor Didriksen
98ed58cad6 Bug#16945503 ADDRESSSANITIZER BUG IN SYS_VARS
Sys_var_keycache inherits from some variant of Sys_var_integer

Instances of Sys_var_keycache are initialized using the KEYCACHE_VAR macro,
which takes an offset within st_key_cache.
However, the Sys_var_integer CTOR treats the offset as if it was within
global_system_variables (hidden within some layers of macros and fuction
pointers)

The result is that we write arbitrary data to arbitrary locations in memory.
This all happens during static initialization of global objects,
i.e. before we have even entered the main() function.


Bug#12325449 TYPO IN CMAKE/DTRACE.CMAKE
Fix typo in dtrace.cmake
2013-06-21 14:18:01 +02:00
Sergei Golubchik
935817e985 Fix to compile without partitioning.
Remove few ifdef's
2013-06-15 19:09:40 +02:00
Vladislav Vaintroub
4b058643cd MDEV-4601 : Allow MariaDB to be build without non-blocking client.
Non-blocking client currently can be build on Windows, GCC on i386 and x64, or any OS wth ucontext.h header. Prior to this patch, build failed if neither of these conditions is true.
Fix to avoid compiler errors in these case - non-blocking API would not be useful on , but otherwise everything will work as before.
2013-06-15 14:22:03 +02:00
Michael Widenius
3bc814beda - Added -Wno-uninitialized to avoid warnings in release builds
(uninitalized variables are detected by DBUG builds)
- Fixed wrong declaration which cased compile failure on 32 bit

cmake/build_configurations/mysql_release.cmake:
  Added -Wno-uninitialized to avoid warnings in release builds
  (uninitalized variables are detected by DBUG builds)
include/maria.h:
  Fixed wrong declaration which cased compile failure on 32 bit
include/myisam.h:
  Fixed wrong declaration which cased compile failure on 32 bit
2013-06-09 13:26:10 +03:00
Sergei Golubchik
4749d40c63 5.5 merge 2013-06-06 17:51:28 +02:00
Vladislav Vaintroub
689c1b44a9 MDEV-4607 : libreadline-related compilation problems on NetBSD.
Problem : 
libreadline.so was already present on the machine, however the cmake check NEW_READLINE_INTERFACE was unsuccessfull indicating, thus bundled library had to be used instead of  system library.
The problem was that the value for HAVE_HIST_ENTRY cmake variable  was cached with incorrect  value (1 on NetBSD).

The fix is to change HAVE_HIST_ENTRY to 0 with  CACHE FORCE, after switching to bundled readline.
2013-06-01 21:30:33 +02:00
Sergei Golubchik
1db0c42e53 followup for revision 3751 "centos5 gcc 4.1 asm bug"
remove the workaround from cmake/os/FreeBSD.cmake
2013-05-28 21:25:59 +02:00
Sergei Golubchik
7642154725 MDEV-4199 Installing postfix on CentOS 5.9 requires MariaDB-server
to match distribution packages better:
  remove "mysql" from server.rpm Provides, add it to the shared.rpm Provides.
  fake provides that "mysql" and "mysql-libs" packages would've had.

cleanup:
  remove auto-generated provides from the manual provides list.
2013-05-13 15:49:27 +02:00
Sergei Golubchik
009dee833c centos5 gcc 4.1 asm bug
include/atomic/x86-gcc.h:
  force %esi register, don't give gcc a choice.
  (otherwise it could choose %ebx, and 4.1 did)
2013-05-07 18:28:36 +02:00
Sergei Golubchik
b381cf843c mysql-5.5.31 merge 2013-05-07 13:05:09 +02:00
Sergei Golubchik
0d25ee4f13 MDEV-4254 Semisync plugins to link statically into MariaDB
fix semisync plugins and tests to work with both with static and dynamic linking
2013-04-09 23:28:21 +02:00
Sergei Golubchik
993ea79f2d 5.5 merge 2013-03-27 23:41:02 +01:00
Vladislav Vaintroub
1827d9591e MDEV-4245 : Fix maintainer compilation flags.
-Wno-invalid-offsetoff  is a C++ warnng, not C.

Patch by Pavel Ivanov.
2013-03-26 11:33:49 +01:00
Sergei Golubchik
e4e5c9fd14 hack in dependencies to imitate mysql-*.rpm even better 2013-03-06 09:38:08 +01:00
Sergei Golubchik
3bfd88d1d6 MDEV-4068 rpm scriptlet chown command dangerous
add --mysqld option to my_print_defaults
change server-postin script to use that
2013-03-06 09:32:13 +01:00
unknown
9b993fda63 Fix wrong install location for DEB supportfiles. 2013-03-04 12:49:35 +01:00
Tor Didriksen
e478ceaa3f Bug#11765489 CMAKE BUILD ON MAC OS X DOES NOT DETERMINE CPU TYPE
Don't use CMAKE_OSX_ARCHITECTURES to determine DEFAULT_MACHINE
if it is not defined.

If we're 64bit, then use "x86_64" rather than "x86"
2013-03-01 13:25:59 +01:00
Murthy Narkedimilli
8f73221035 Updated/added copyright headers 2013-02-26 06:35:17 +01:00
Tor Didriksen
f325fc42e8 Bug#14300733 CMAKE DOES NOT CHECK FOR ZLIB VERSION
Add check for compressBound() and deflateBound()
Keep existing functionality: fallback to bundled zlib if functions not found.
2013-02-20 11:24:16 +01:00
Vladislav Vaintroub
2c37ace131 MDEV-4174 - Use kqueue for threadpool implementation on more BSD variants than just FreeBSD
or OSX - i.e NetBSD, OpenBSD, DragonFly, etc.
2013-02-19 23:46:52 +01:00
Sergei Golubchik
f93b5a6027 make rpm packages to respect CMAKE_INSTALL_PREFIX 2013-02-08 12:59:54 +01:00
Sergei Golubchik
6f2680a73c move cassandra-related code from cmake/cpack_rpm.cmake
to storage/cassandra/CMakeLists.txt
2013-01-29 19:14:43 +01:00
Sergei Golubchik
0af4b6c6ee 5.5 merge 2013-01-29 15:10:47 +01:00
Sergei Golubchik
52fbe44fbb more changes for fedora18 2013-01-29 12:27:31 +01:00
Sergei Golubchik
78e47eb004 fix 'compat' rpm for fedora18 2013-01-29 10:46:05 +01:00
Vladislav Vaintroub
8864940583 MDEV-3971 : problems installing MariaDB packages (conflicts with mysql-libs-5.5)
FIx  : make "shared" RPM obsolete/provide mysql-libs
2013-01-25 16:50:14 +01:00