summaryrefslogtreecommitdiff
path: root/configure.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Fix for bug #51105 "MDL deadlock in rqg_mdl_stability testDmitry Lenev2010-02-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on Windows". On platforms where read-write lock implementation does not prefer readers by default (Windows, Solaris) server might have deadlocked while detecting MDL deadlock. MDL deadlock detector relies on the fact that read-write locks which are used in its implementation prefer readers (see new comment for MDL_lock::m_rwlock for details). So far MDL code assumed that default implementation of read/write locks for the system has this property. Indeed, this turned out ot be wrong, for example, for Windows or Solaris. Thus MDL deadlock detector might have deadlocked on these systems. This fix simply adds portable implementation of read/write lock which prefer readers and changes MDL code to use this new type of synchronization primitive. No test case is added as existing rqg_mdl_stability test can serve as one. config.h.cmake: Check for presence of pthread_rwlockattr_setkind_np to be able to determine if system natively supports read-write locks for which we can specify if readers or writers should be preferred. configure.cmake: Check for presence of pthread_rwlockattr_setkind_np to be able to determine if system natively supports read-write locks for which we can specify if readers or writers should be preferred. configure.in: Check for presence of pthread_rwlockattr_setkind_np to be able to determine if system natively supports read-write locks for which we can specify if readers or writers should be preferred. include/my_pthread.h: Added support for portable read-write locks which prefer readers. To do so extended existing my_rw_lock_t implementation to support selection of whom to prefer depending on a flag. mysys/thr_rwlock.c: Extended existing my_rw_lock_t implementation to support selection of whom to prefer depending on a flag. Added rw_pr_init() function implementing initialization of read-write locks preferring readers. sql/mdl.cc: Use portable read-write locks which prefer readers instead of relying on that system implementation of read-write locks has this property (this was true for Linux/NPTL but was false, for example, for Windows and Solaris). Added comment explaining why preferring readers is important for MDL deadlock detector (thanks to Serg for example!). sql/mdl.h: Use portable read-write locks which prefer readers instead of relying on that system implementation of read-write locks has this property (this was true for Linux/NPTL but was false, for example, for Windows and Solaris).
* check for poll.hVladislav Vaintroub2010-02-141-0/+1
|
* Fix syntax errors in configure.cmakeVladislav Vaintroub2010-01-291-41/+6
|
* Add windows system check cache that prevents tests from running, most are ↵vvaintroub2010-01-291-177/+177
| | | | | | | irrelevant anyway Add cached variable WITH_XXX_STORAGE_ENGINE for dynamic plugins that can be static or dynamic.
* Added AIX, OS400 and Cygwin.Vladislav Vaintroub2010-01-271-29/+6
| | | | | This finishes of moving code from configure.cmake IF()'s to platform specific files
* fix default architecture flag (v8) on sparc32 gcc that prevent mysql from ↵Vladislav Vaintroub2010-01-271-28/+1
| | | | compilng, add HPUX.cmake
* Fixed typos and failed mysqld--help test.Vladislav Vaintroub2010-01-261-1/+0
|
* Move FreeBSD specific hacks to cmake/os/FreeBSD.cmakeVladislav Vaintroub2010-01-261-3/+1
|
* Move OSX specific checks to cmake/os/Darwin.cmakeVladislav Vaintroub2010-01-261-16/+5
|
* WL#5161: Following Mats' suggestion, moved Solaris specific workaround to ↵Vladislav Vaintroub2010-01-261-64/+4
| | | | | | | cmake/os/SunOS.cmake cmake/os/SunOS.cmake: WL#5161: Moved Solaris specific workaround to cmake/os/SunOS.cmake
* WL#5161, implement Mats' suggeston to move platform specifics into own filesVladislav Vaintroub2010-01-261-52/+12
| | | | under cmake/os. This patch does it for Linux
* WL#5161: Implement Mats' suggestion of moving OS specific CMake code to OS ↵Vladislav Vaintroub2010-01-261-188/+8
| | | | | | | | | | | | | 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
* Fix failing yassl tests on OSX Vladislav Vaintroub2010-01-211-2/+2
| | | | WORDS_BIGENDIAN was wrongly defined to 1
* Fix AIX error during compile in my_handler (pointer to data is used, while ↵Vladislav Vaintroub2010-01-191-5/+5
| | | | | | pointer to function is expected). This also has generated warnings on all other platforms
* Fix various compiler/OS compatibility errorsVladislav Vaintroub2010-01-191-3/+7
|
* Fix some problems found by kent. Vladislav Vaintroub2010-01-181-0/+3
| | | | | | -lm is sometimes not linked, which causes errors about undefined rint() - FreeBSD embedded library does not link with the flags returned by mysql_config (added -lcrypt to LIBS, whereby causing overlinking in case of normal non-embedded client)
* Post-merge fixes , define HAVE_RWLOCK_T on Solaris defineVladislav Vaintroub2010-01-141-0/+4
| | | | | DISABLE_MYSQL_THREAD_H for strings Also, enable unittests for perfschema
* Do not link with mtmalloc on Solaris.Vladislav Vaintroub2010-01-131-9/+0
| | | | add WITH_MYSQLD_LIBS for extra linker flags for mysqld
* use _GNU_SOURCE on Linux to have all useful definitions (pthread_rwlock_t) ↵Vladislav Vaintroub2010-01-131-0/+1
| | | | for example
* Workaround a linker problem on OSX 10.4Vladislav Vaintroub2010-01-121-0/+6
|
* Fix the last mergeVladislav Vaintroub2010-01-051-2/+2
|
* restore flaky loadxml test, fix solaris plugin load using -lpthread instead ↵Vladislav Vaintroub2009-12-231-0/+7
| | | | of -lthread
* mergeVladislav Vaintroub2009-12-191-14/+33
|
* mergeVladislav Vaintroub2009-12-191-2/+46
|
* Check for clock_gettime in librtVladislav Vaintroub2009-12-101-0/+3
|
* Remove -Wl,--as-needed option, broken on Fedora Vladislav Vaintroub2009-12-091-2/+0
|
* couple of tweaks for solaris on sparc, link with librt, as it defines ↵Vladislav Vaintroub2009-12-081-6/+8
| | | | sched_yield
* fix some Solaris Sparc errors from recent cleanupVladislav Vaintroub2009-12-071-2/+9
|
* simplify some tests, silence warning in script installVladislav Vaintroub2009-12-071-82/+15
|
* Add libm to the lib of required libraries when doing system checksVladislav Vaintroub2009-12-071-1/+1
|
* do not use -z defs on Solaris, it complains about libc.so implicit dependencyVladislav Vaintroub2009-12-071-3/+0
|
* On Linux, support -Wl,--no-undefined (only client shared library)Vladislav Vaintroub2009-12-071-49/+53
| | | | | and --Wl,--as-needed (all shared modules). The later will remove unused dependencies (also from gcc and C++ runtime)
* fdatasync is not documented on Snow Leopard and is not in unistd.hVladislav Vaintroub2009-12-051-2/+3
| | | | | | CMake finds it as it is expored by system libraries, though attempts to use it will result bring a warning. Fix by using CHECK_SYMBOL_EXISTS instead of CHECK_FUNCTION_EXISTS
* mergeVladislav Vaintroub2009-11-301-0/+26
|
* Fix universal binaries build on OSX, in case both 32 and 64 bit ↵Vladislav Vaintroub2009-11-261-3/+6
| | | | architectures are used
* mergeVladislav Vaintroub2009-11-251-5/+0
|
* Fixes for cmake2.8Vladislav Vaintroub2009-11-161-1/+2
|
* WL#5161 : Cross-platform build with CMakeVladislav Vaintroub2009-11-091-0/+1335
BUILD-CMAKE: WL#5161 : Documentation on how to build with CMake on Unix/Windows BUILD/Makefile.am: Add new file BUILD/autorun.sh: WL#5161 : use choose_configure instead of autotools configure script (choose configure will call cmake if cmake is available) BUILD/choose_configure.sh: WL#5161 : use choose_configure instead of autotools configure script (choose configure will call cmake if cmake is available) CMakeLists.txt: WL#5161 : Rewrite top-level CMakeLists.txt. Remove Windows specifics - compiler flags handling moved to configure.cmake - storage engine/plugin stuff moved into cmake/plugin.cmake - copy docs Makefile.am: Added new files client/CMakeLists.txt: WL#5161 : Rewrite CMakeLists.txt to be platform-independent Handle packagng (add INSTALL commands) cmake/Makefile.am: WL#5161 : use choose_configure instead of autotools configure script (choose configure will call cmake if cmake is available) cmake/abi_check.cmake: Custom targets for abi_check (for cmake) cmake/bison.cmake: - Check bison availability - Add RUN_BISON macro (used to create sql_yacc.cc and sql_yacc.h) cmake/cat.cmake: Add helper script to concatenate files. cmake/character_sets.cmake: Handle configuration parameters WITH_EXTRA_CHARSETS cmake/check_minimal_version.cmake: Helper script to check the minimum required version of cmake cmake/configure.pl: Add perl script to convert ./configure parameters for cmake cmake/create_initial_db.cmake.in: Add script helper to create initial database. (on Windows, we pack initial db with the redistribution package) cmake/do_abi_check.cmake: Perform abi check cmake/dtrace.cmake: Handle dtrace in CMake Build. Check for dtrace availablility, run dtrace -G on solaris in prelink step cmake/dtrace_prelink.cmake: Run dtrace -G on Solaris in pre-link step, link the object it creates together with library or executable cmake/install_macros.cmake: Helper macros for packaging (install pdb on Windows, install symlinks on Unix) cmake/make_dist.cmake.in: "make dist" - - pack autotools ./configure script with the source (renamed to configure.am) - pack bison output cmake/merge_archives_unix.cmake.in: script to merge static libraries on Unix cmake/misc.cmake: Build helper macros - MERGE_STATIC_LIBS We use it when building client library and embedded (avoid recompilation) - Convert source file paths to absolute names. We use it in to locate files of a different project, when the files need to be recompiled (e.g in embedded several storage engines are recompiled with -DEMBEDDED_LIBRARY) cmake/mysql_version.cmake: Extract version info from configure.in Handle package names. cmake/plugin.cmake: Rewrote storage/mysql_storage_engine.cmake to handle other types of plugins and do it in OS-independent manner. cmake/readline.cmake: Macros to handle WITH_READLINE/WITH_LIBEDIT parameters cmake/ssl.cmake: Add macros to handle WITH_SSL parameter. cmake/stack_direction.c: Helper to check stack direction. cmake/zlib.cmake: Add macros to handle WITH_ZLIB parameter cmd-line-utils/libedit/CMakeLists.txt: Build libedit with cmake. cmd-line-utils/libedit/Makefile.am: Add new file cmd-line-utils/readline/CMakeLists.txt: Build readline with CMake. cmd-line-utils/readline/Makefile.am: Add new file config.h.cmake: WL#5161 : Add config.h template for cmake configure.cmake: WL#5161 : Add platform tests ( for cmake) configure.in: Added new subdirectories dbug/CMakeLists.txt: WL#5161 extra/CMakeLists.txt: WL#5161 extra/yassl/CMakeLists.txt: WL#5161 extra/yassl/taocrypt/CMakeLists.txt: WL#5161 include/Makefile.am: Add new file include/keycache.h: remove configure-win.h and remove HUGE_PTR defined there. include/my_global.h: use my_config.h for Windows, not config-win.h anymore include/my_pthread.h: - Move thread_safe_increment from config-win.h to other headers (config-win.h is not used anymore) - Declare pthread_cancel on Windows (it is used in daemon_example) include/my_sys.h: Add malloc.h on Windows (we use -D_WIN32_LEAN_AND_MEAN now, and with this define malloc.h is not included automatically via windows.h) include/mysql/plugin.h: Handle pure-C plugins with Microsoft compiler. include/thr_alarm.h: remove rf_SetTimer that used to be defined in config-win.h Replace with UINT_PTR (we do not use config-win.h anymore and typedef was needed in this single place only) libmysql/CMakeLists.txt: Avoid pointless recompilation of source files in client library if possible. Merge static libs (dbug, mysys) to create static client library. libmysqld/CMakeLists.txt: Avoid pointless recompilation of source files when building embedded. Instead, merge dbug and mysys (and some other static libs) into embedded. libmysqld/examples/CMakeLists.txt: Embedded compilation on Unix libmysqld/lib_sql.cc: Do not define THD::clear_error() in lib_sql.cc for embedded. Instead, use the same inline definition from sql_class.h as in none-embedded case (fixes duplicate symbol errors on Windows and removes pointless #ifdef EMBEDDED) man/CMakeLists.txt: Install man files. man/Makefile.am: Add new file. mysql-test/CMakeLists.txt: Install mysql-test files mysql-test/Makefile.am: Add new files mysql-test/lib/My/ConfigFactory.pm: Allow testing with mtr in out-of-source builds. mysql-test/lib/My/Find.pm: the build configurations are now also available on Unix Xcode on Mac uses the Release, RelwithDebinfo and Debug subdirectories for executables. Earlier, build configurations were available only on Windows. mysql-test/lib/My/SafeProcess.pm: Allow testing with mtr in out-of-source builds. mysql-test/lib/My/SafeProcess/CMakeLists.txt: Port CMakeLists.txt to Unix mysql-test/lib/My/SafeProcess/safe_kill_win.cc: add stdlib.h (to be able to compile with -DWIN32_LEAN_AND_MEAN) mysql-test/lib/My/SafeProcess/safe_process_win.cc: Add stdlib.h (to be able to compile with -DWIN32_LEAN_AND_MEAN) define JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE if not defined (can happen using MinGW compiler that comes with old SDK) mysql-test/mtr.out-of-source: Allow testing with mtr in out-of-source builds. mysql-test/mysql-test-run.pl: Allow testing with mtr in out-of-source builds. Use common find_plugin macro for Windows and unix. mysql-test/t/fulltext_plugin.test: This test can now run on Windows as well. mysys/CMakeLists.txt: Port CMakeLists.txt to Unix mysys/my_create.c: config-win.h is dead => NO_OPEN_3 is never defined. mysys/my_getsystime.c: config-win.h is dead => define OFFSET_TO_EPOCH where it is used. mysys/my_winthread.c: Add win32 pthread_cancel - used by daemon_example mysys/mysys_priv.h: config-win.h is dead => include <sys/stat.h> where it is used fix prototype of my_win_(f)stat plugin/daemon_example/CMakeLists.txt: Compile daemon_example with CMake plugin/daemon_example/Makefile.am: Add new file plugin/fulltext/CMakeLists.txt: Compile full-text example with CMake plugin/fulltext/Makefile.am: Add new file. plugin/semisync/CMakeLists.txt: Fix semisync to use common macro for plugins. regex/CMakeLists.txt: Use absolute filenames, when adding regex library (we recompile files in embedded, and want to locate sources via GET_TARGET_PROPERTY( ... SOURCES ..)) regex/regex2.h: Remove pointless typedef (produces error with MinGW compiler) scripts/CMakeLists.txt: Add configure/install for scripts sql-bench/CMakeLists.txt: install sql-bench files sql-bench/Makefile.am: Add new file sql/CMakeLists.txt: Port CmakeLists.txt to Unix sql/nt_servc.cc: compile server with -DWIN32_LEAN_AND_MEAN sql/share/CMakeLists.txt: Install charsets sql/share/Makefile.am: Add new file sql/sql_builtin.cc.in: Handle pure-C plugins on Windows. sql/sql_class.h: Use the same clear_error macro in embedded and not embedded. Fixes pointless #ifdef and avoids duplicate symbols when linking on Windows. storage/Makefile.am: storage/mysql_storage_engine.cmake => cmake/plugin.cmake storage/archive/CMakeLists.txt: Add names for static and dynamic plugin libraries. Link archive with zlib storage/blackhole/CMakeLists.txt: Add names for static and dynamic storage engine libraries storage/csv/CMakeLists.txt: Add names for static and dynamic storage engine libraries storage/example/CMakeLists.txt: Add names for static and dynamic storage engine libraries storage/federated/CMakeLists.txt: Add names for static and dynamic storage engine libraries storage/heap/CMakeLists.txt: Add names for static and dynamic storage engine libraries storage/ibmdb2i/CMakeLists.txt: Better port for ibmdb2i plugin storage/innobase/CMakeLists.txt: Run system checks. Add names for static and dynamic storage engine libraries. storage/innobase/include/page0page.ic: Fix compile error on OpenSolaris. storage/myisam/CMakeLists.txt: Port CmakeLists.txt to Unix storage/myisammrg/CMakeLists.txt: Add names for static and dynamic storage engine libraries storage/mysql_storage_engine.cmake: storage/mysql_storage_engine.cmake => cmake/plugin.cmake support-files/CMakeLists.txt: Configure and install some files from support-files. support-files/Makefile.am: Add new file tests/CMakeLists.txt: In general case, mysqlclient library can be dependent on C++ runtime(if it includes yassl and is not compiled with gcc or MSVC) unittest/mysys/CMakeLists.txt: Add unit tests unittest/mysys/Makefile.am: Add new file unittest/mytap/CMakeLists.txt: Add library for unit tests unittest/mytap/Makefile.am: Add new file unittest/mytap/tap.c: fix function definitions to match declarations win/create_def_file.js: Fix link error with intel compiler (icl defines of special label for exception handler)