| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
MRI scripts cannot handle + in paths, and ubuntu CI makes use of
these.
So we remove the top level build dir from the script and
transform it into a relative path script.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because of common dependencies between the
static libraries list can contain duplicates.
We reduce these down to the single last one in
the list.
This reduces the relative time of a rebuild from:
$ (cd builddir/; time make -j)
...
real 0m30.789s
user 1m33.477s
sys 0m19.678s
and the LIB entries
$ grep ADDLIB builddir/libmysqld/mysqlserver-\$\<CONFIG\>.mri.tpl | wc -l
179
$ du -h builddir/libmysqld/libmariadbd.a
4.1G builddir/libmysqld/libmariadbd.a
To:
$ (cd builddir/; time make -j)
...
real 0m20.139s
user 1m32.423s
sys 0m12.208s
$ grep ADDLIB builddir/libmysqld/mysqlserver-\$\<CONFIG\>.mri.tpl | wc -l
25
$ du -h builddir/libmysqld/libmariadbd.a
688M builddir/libmysqld/libmariadbd.a
|
|
|
|
| |
That doesn't support STRING(APPEND ..)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This corrects build failures on ppc64{,le} with the
WITH_EMBEDDED_SERVER option enabled.
MDEV-22641 added an unusual case in which the same object
file in was included twice with a different function
defination. The original cmake/merge_archives_unix.cmake
did not tolerate such eventualities.
So we move to the highest voted answer on Stack Overflow
for the merging of static libraries.
https://stackoverflow.com/questions/3821916/how-to-merge-two-ar-static-libraries-into-one
Thin archives generated compile failures and the libtool
mechanism would of been another dependency and using .la
files that isn't part of a normal cmake output. The straight
Apple mechanism of libtool with static archives also failed
on Linux.
This leaves the MRI script mechansim which was implemented
in this change.
|
|
|
|
|
|
| |
Disable IPO (interprocedural optimization, aka /GL) on Windows
on libraries, from which server.dll exports symbols - exporting symbols
does not work for objects compiled with /GL.
|
|
|
|
|
|
|
|
| |
- Add new submodule for WolfSSL
- Build and use wolfssl and wolfcrypt instead of yassl/taocrypt
- Use HAVE_WOLFSSL instead of HAVE_YASSL
- Increase MY_AES_CTX_SIZE, to avoid compile time asserts in my_crypt.cc
(sizeof(EVP_CIPHER_CTX) is larger on WolfSSL)
|
|\ |
|
| |\ |
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | | |
* Update wrong zip-code
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
main.derived_cond_pushdown: Move all 10.3 tests to the end,
trim trailing white space, and add an "End of 10.3 tests" marker.
Add --sorted_result to tests where the ordering is not deterministic.
main.win_percentile: Add --sorted_result to tests where the
ordering is no longer deterministic.
|
| |\ \ \
| | |/ / |
|
| | |\ \
| | | |/ |
|
| | | |
| | | |
| | | |
| | | | |
and followup fixes
|
| | | | |
|
| | | | |
|
|/ / /
| | |
| | |
| | | |
Found via `codespell -i 3 -w --skip="./debian/po" -I ../mariadb-server-word-whitelist.txt ./cmake/ ./debian/ ./Docs/ ./include/ ./man/ ./plugin/ ./strings/`
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is to be friendly to our OSX users where
the libtool path is very different.
Ref:
* https://github.com/Homebrew/homebrew-core/blob/master/Formula/mariadb.rb#L44..L46
|
| | |
| | |
| | |
| | |
| | |
| | | |
also
* fix includes
* rename cmake macros and targets to avoid name clashes
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
VERSION
cmake/plugin.cmake
config.h.cmake
configure.cmake
plugin/server_audit/server_audit.c
sql/sql_yacc.yy
|
| |\ \
| | |/
| | |
| | |
| | | |
Conflicts:
plugin/server_audit/server_audit.c
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If GCC or CLang compile with link time optimization (-flto),
they throw an error during link , when lto sees a
function (e.g mysql_real_connect) is redeclared as "external void *"
in libmysql_exports.cc
The fix disables -flto for generated libmysql_exports.cc
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
in cmake tests let's treat clang like gcc (same options,
same builtins) in many cases.
* don't check the compiler when
* testing for -fvisibility=hidden support
* testing for HAVE_ABI_CXA_DEMANGLE
* testing for HAVE_GCC_ATOMIC_BUILTINS
* when removing options with string(replace)
* when running ${CC} --version (ignore the error instead)
* run ABI checks for clang
* use "canonical" gcc flags for clang
* fix groonga too
Also:
* add cmake detection for gcc __atomic_* builtins. they might be
supported (__ATOMIC_SEQ_CST is defined), but not for all operand
sizes. In particular, 64-bit atomic load is problematic on i386
* cache check results for Windows
* remove the test for HAVE_CXXABI_H (HAVE_ABI_CXA_DEMANGLE is
suffifient)
|
| | |
|
|\ \
| |/ |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
'mysql_config --libs' outputs -L/path/to/library
on SunOS we also want it to output '-R/path/to/library'
in order to find libraries at runtime.
cmake/libutils.cmake:
Add an informational message, to show dependencies on OS libraries.
|
| | |
| | |
| | |
| | |
| | |
| | | |
RESTRICT_SYMBOL_EXPORTS(),
do it only once
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| | |
Also, restrict symbol visibility in statically
built plugins, to minimize the chance for symbol
name clashes with dynamic plugins.
|
|\ \
| |/ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
http://lists.mysql.com/commits/102373
It is better than previous attempts to build the libmysqld,
as it also takes care of
1) -Wl,--no-undefined for shared libraries and
2) CLEAN_DIRECT_OUTPUT since there are now 2 libraries with
the same base output name
|
|/ |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
with CMake 2.8.3 builtin macro
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
compile embedded with PIC to allow linking with shared libraries
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
honor OUTPUT_NAME in MERGE_LIBRARIES macro
|
|
|
|
| |
(i.e if gcc version < 4)
|
| |
|
|
|
|
|
|
|
| |
installed.
MYSQL_ADD_EXECUTABLE will instructs CPack where to install the exe. On Windows, it also
adds version resource and if -DSIGNCODE was given, will sign the exe in packaging step.
|
|
|
|
|
| |
and --Wl,--as-needed (all shared modules). The later will remove
unused dependencies (also from gcc and C++ runtime)
|
| |
|
|
|
|
|
| |
(COMPILE_FLAGS-NOTFOUND)
|