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.
Add -Wall to gcc/g++
Fix most warnings reported in dbg and opt mode.
cmd-line-utils/libedit/filecomplete.c:
Remove unused auto variables.
configure.cmake:
Add -Wall to gcc.
extra/comp_err.c:
Cast to correct type.
extra/perror.c:
Fix segfault (but warnings about deprecated features remain)
extra/yassl/taocrypt/include/runtime.hpp:
Comparing two literals was reported as undefined behaviour.
include/my_global.h:
Add a template for aligning character buffers.
mysys/lf_alloc-pin.c:
Initialize pointer.
sql/mysqld.cc:
Use UNINIT_VAR rather than LINT_INIT.
sql/partition_info.cc:
Use UNINIT_VAR rather than LINT_INIT.
sql/rpl_handler.cc:
Use char[] rather than unsigned long[] array for placement buffer.
sql/spatial.cc:
Use char[] rather than unsigned void*[] array for placement buffer.
sql/spatial.h:
Use char[] rather than unsigned void*[] array for placement buffer.
sql/sql_partition.cc:
Initialize auto variable.
sql/sql_table.cc:
Initialize auto variables.
Add parens around assignment within if()
sql/sys_vars.cc:
Use UNINIT_VAR.
storage/innobase/os/os0file.c:
Init first slot in auto variable.
storage/myisam/mi_create.c:
Use UNINIT_VAR rather than LINT_INIT.
storage/myisam/mi_open.c:
Remove (wrong) casting.
storage/myisam/mi_page.c:
Remove (wrong) casting.
storage/myisam/mi_search.c:
Cast to uchar* rather than char*.
strings/ctype-ucs2.c:
Use UNINIT_VAR rather than LINT_INIT.
Add (uchar*) casting.
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)
- Header <sys/ttydefaults.h> missing or not usable on QNX and OpenServer 6
include/my_global.h
- Moved down definition of function rint(), as for some platforms (in
this case Netware) 'longlong' is not defined until later in
"my_global.h"
Problem: libedit is a very pure-ASCII oriented library,
and it is not aware of extended (0x80..0xFF) or even multi-byte
characters. It considered such characters as non-printable
and didn't allow to input them.
Fix: make libedit think that all bytes >= 0x80 are printable.
cmd-line-utils/libedit/el.h:
Defining macro, a locale's isprint() replacement.
We'll consider all 8bit values as printable characters.
cmd-line-utils/libedit/key.c:
Changing isprint() to el_isprint().
cmd-line-utils/libedit/map.c:
Changing isprint() to el_isprint().
cmd-line-utils/libedit/read.c:
Changing isprint() to el_isprint().
cmd-line-utils/libedit/refresh.c:
Changing isprint() to el_isprint().
Ensure use of libedit "config.h" by adding "-I. -I$(srcdir)" to DEFS,
work around for problem with automake 1.10 (bug#24809)
cmd-line-utils/libedit/Makefile.am:
Ensure use of libedit "config.h" by adding "-I. -I$(srcdir)" to DEFS,
work around for problem with automake 1.10 (bug#24809)
to "my_config.h". Not to pollute the top directory, and to get more control
over what is included. Made the include path for "libedit" pick up its own
"config.h" first.
config/ac-macros/misc.m4:
aclocal in automake 1.8 can't handle AC_REQUIRE on
a user macro defined in the same included file.
cmd-line-utils/libedit/Makefile.am:
Changed include path so that current directory is taken first, as there
is a "config.h" there with the same name as the one in top "include".
configure.in:
Generate "config.h" directly into "include", don't pollute top directory
include/Makefile.am:
Copy "config.h" from current directory to "my_config.h", added note in
the make file why there are two identical files with different name.
scripts/make_binary_distribution.sh:
Removed copy of "config.h" from top directory, it is in "include" in a
source tree.
- Declare 'tgoto' if not already declared in system header files.
cmd-line-utils/libedit/el_term.h:
Declare 'tgoto' if not already declared in system header files. Failing
to declare it will cause the pointer returned to be truncated
to 32-bit integer which is no a valid pointer - in most cases.
configure.in:
Add check to see if 'tgoto' is declared in system header files
Its root cause is a difference between the "readline" and "libedit" (header files)
definitions of "rl_completion_entry_function", where the "libedit" one is wrong anyway:
This variable is used as a pointer to a function returning "char *",
but "libedit" declares it as returning "int" and then adds casts on usage.
Change it to "CPFunction *" and get rid of the casts.
client/mysql.cc:
Fix bug#23293 "readline detection broken on NetBSD":
Now that the "libedit" header files declares "rl_completion_entry_function" correctly,
it need not be cast on usage, and "no_completion()" can be declared to return "char *".
cmd-line-utils/libedit/readline.c:
Fix bug#23293 "readline detection broken on NetBSD":
Now that the "libedit" header files declares "rl_completion_entry_function" correctly,
it need not be cast on usage, and "complet_func()" is a "CPFunction *" as well.
cmd-line-utils/libedit/readline/readline.h:
Fix bug#23293 "readline detection broken on NetBSD":
Declare "rl_completion_entry_function()" to be a "CPFunction *", this avoids casts
and brings "libedit" in sync with "readline".
- Return error only if 'history' returns -1
cmd-line-utils/libedit/readline.c:
Return 1 to indicate error only if 'history' returned -1, since the history function normally will return the number of entries written or read. Only -1 indicates error.
Enable "make distcheck" to work
configure.in:
Enable "make distcheck" to work
Docs/Makefile.am:
Enable "make distcheck" to work
Makefile.am:
Enable "make distcheck" to work
client/Makefile.am:
Enable "make distcheck" to work
cmd-line-utils/libedit/Makefile.am:
Enable "make distcheck" to work
include/Makefile.am:
Enable "make distcheck" to work
libmysql/Makefile.am:
Enable "make distcheck" to work
libmysql_r/Makefile.am:
Enable "make distcheck" to work
libmysqld/Makefile.am:
Enable "make distcheck" to work
libmysqld/examples/Makefile.am:
Enable "make distcheck" to work
mysql-test/Makefile.am:
Enable "make distcheck" to work
ndb/docs/Makefile.am:
Enable "make distcheck" to work
netware/Makefile.am:
Enable "make distcheck" to work
pstack/Makefile.am:
Enable "make distcheck" to work
scripts/Makefile.am:
Enable "make distcheck" to work
sql-bench/Makefile.am:
Enable "make distcheck" to work
sql/Makefile.am:
Enable "make distcheck" to work
sql/share/Makefile.am:
Enable "make distcheck" to work
support-files/Makefile.am:
Enable "make distcheck" to work
cmd-line-utils/libedit/chared.c:
Re-apply vva's fix:
cmd-line-utils/libedit/chared.c@1.4, 2004-08-31 17:50:59+05:00, vva@eagle.mysql.r18.ru
discarded using of uint because it's undefined on qnx
Include <sys/ttydefaults.h> for CodeWarrior and CTRL define
cmd-line-utils/libedit/readline/readline.h:
Include <sys/ttydefaults.h> for CodeWarrior and CTRL define
files - include config.h instead (compile fix for FreeBSD and AIX
4.3/5.2)
cmd-line-utils/libedit/makelist.sh:
- don't include sys.h directly in the autogenerated files - include
config.h instead (compile fix for FreeBSD and AIX 4.3/5.2)
Include readline/readline.h earlier, to avoid redifinition of term.h macros on AIX 5.2
search.c:
FreeBSD needs <sys/types.h> to get 'off_t' defined
cmd-line-utils/libedit/search.c:
FreeBSD needs <sys/types.h> to get 'off_t' defined
cmd-line-utils/libedit/readline.c:
Include readline/readline.h earlier, to avoid redifinition of term.h macros on AIX 5.2
- Changed makelist.sh
- Bump up required version of autoconf
- Use new style to init mutex in my_thr_init
cmd-line-utils/libedit/makelist.sh:
Changed file so it works also on windows cr/lf files.
configure.in:
Bump up required AC version number so that correct version of aclocal and autoconf is selected.
include/my_pthread.h:
Use PTHREAD_MUTEX_ADAPTIVE_NP to see if "fast" mutexes are available
Remove "errorcheck" mutexes, since they are never used.
mysys/my_thr_init.c:
Use new style functions to init mutex if PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP is defined
Add comment what mutex "kind" means
It also did not write ~/.mysql_history file. The problem was in alloc(),
which probably does not work on HP-UX-11.23 ia64 platform. Changed some
macros into functions for better maintenance and debugging.
(for octane2)
included term.h if there isn't termcap.h in cmd-line-utils/libedit/term.c
cmd-line-utils/libedit/term.c:
fixed Bug #5589 "libedit compile failure in term.c"
(for octane2)
included term.h if there isn't termcap.h
2. changed key_* to el_ley_* in the libedit key.h
(because it's in the conflict with the aix definitions)
3. use libedit_term.h instead of term.h in the cmd-line-utils/libedit/el.h
4. added definition of MIN in the cmd-line-utils/libedit/read.c
(if it wasn't defined yet)
5. discarded definition of SUNOS macro from configure.in
(now we don't include term.h in the el.h at all)
BitKeeper/deleted/.del-term.h~23716a5310508e0:
Delete: cmd-line-utils/libedit/term.h
cmd-line-utils/libedit/Makefile.am:
discarded term.h from the distribution
cmd-line-utils/libedit/el.c:
changed
key_init -> el_key_init
key_end -> el_key_end
cmd-line-utils/libedit/el.h:
change
#include "term.h"
to
#include "libedit_term.h"
cmd-line-utils/libedit/key.c:
changed functions key_... to el_key_...
because it's in conflict with the aix definitions
cmd-line-utils/libedit/key.h:
changed functions key_... to el_key_...
because it's in conflict with the aix definitions
cmd-line-utils/libedit/map.c:
changed functions key_... to el_key_...
because it's in conflict with the aix definitions
cmd-line-utils/libedit/read.c:
1. added definition of MIN
2. fixed problems with undefined uint
3. changed key_get to el_key_get
cmd-line-utils/libedit/term.c:
1. discarded #include "term.h" at all
2. changed functions key_* to el_key_*
3. add declaration of el_key__decode_str
cmd-line-utils/libedit/tty.c:
changed functions key_... to el_key_...
because it's in conflict with the aix definitions
configure.in:
discarded definition of SUNOS macro
(libedit doesn't require it anymore)