Commit a3e8ce27 authored by Sergei Golubchik's avatar Sergei Golubchik

new "./configure --disable-distribution" option

parent 6ad3179d
......@@ -40,23 +40,44 @@ AC_DEFUN([MYSQL_CHECK_LIBEDIT_INTERFACE], [
])
AC_DEFUN([MYSQL_CHECK_NEW_RL_INTERFACE], [
AC_CACHE_CHECK([defined rl_compentry_func_t and rl_completion_func_t], mysql_cv_new_rl_interface,
AC_TRY_COMPILE(
[
AC_CACHE_CHECK([for system libreadline], mysql_cv_new_rl_interface,
AC_COMPILE_IFELSE(
[AC_LANG_SOURCE([
#include "stdio.h"
#include "readline/readline.h"
],
[
rl_completion_func_t *func1= (rl_completion_func_t*)0;
rl_compentry_func_t *func2= (rl_compentry_func_t*)0;
],
])],
[
mysql_cv_new_rl_interface=yes
AC_DEFINE_UNQUOTED([USE_NEW_READLINE_INTERFACE], [1],
[used new readline interface (are rl_completion_func_t and rl_compentry_func_t defined)])
AC_PREPROC_IFELSE(
[AC_LANG_SOURCE([
#include "stdio.h"
#include "readline/readline.h"
#if RL_VERSION_MAJOR > 5
#error
#endif
])], [ rl_v5=yes ], [ rl_v5=no ],
)
if [test "$rl_v5" = "yes"]
then
mysql_cv_new_rl_interface=yes
else
if [test "$enable_distribution" = "yes"]
then
mysql_cv_new_rl_interface=no
else
mysql_cv_new_rl_interface=yes
enable_distribution=warn
fi
fi
],
[mysql_cv_new_rl_interface=no]
)
if [test "$mysql_cv_new_rl_interface" = yes]
then
AC_DEFINE_UNQUOTED([USE_NEW_READLINE_INTERFACE], [1],
[used new readline interface (are rl_completion_func_t and rl_compentry_func_t defined)])
fi
)
])
......
......@@ -632,6 +632,14 @@ AC_ARG_WITH(other-libc,
)
AC_SUBST(NOINST_LDFLAGS)
AC_ARG_ENABLE(distribution,
AC_HELP_STRING(
[--disable-distribution],
[Allow linking with system GPLv3 libraries. It may result in a binary that can not be legally distributed.]),
[ enable_distribution=$enableval ],
[ enable_distribution=yes ]
)
#
# Check if we are using Linux and a glibc compiled with static nss
# (this is true on the MySQL build machines to avoid NSS problems)
......@@ -1573,7 +1581,7 @@ fi
AC_MSG_CHECKING([for OpenSolaris Bug 6611808])
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
AC_COMPILE_IFELSE([
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
#include <pthread.h>
void dummy() {}
int main()
......@@ -1582,7 +1590,7 @@ AC_COMPILE_IFELSE([
pthread_once(&once_control, dummy);
return 0;
}
], [
])], [
AC_DEFINE([PTHREAD_ONCE_INITIALIZER], [{PTHREAD_ONCE_INIT}],
[See OpenSolaris Bug 6611808])
AC_MSG_RESULT([yes])
......@@ -2712,6 +2720,8 @@ case $SYSTEM_TYPE in
compile_libedit=yes
AC_DEFINE_UNQUOTED(HAVE_HIST_ENTRY, 1)
AC_DEFINE_UNQUOTED(USE_LIBEDIT_INTERFACE, 1)
AC_MSG_CHECKING([for libedit/readline])
AC_MSG_RESULT([libedit bundled])
elif test "$with_readline" = "yes"
then
readline_topdir="cmd-line-utils"
......@@ -2722,6 +2732,8 @@ case $SYSTEM_TYPE in
compile_readline=yes
want_to_use_readline="yes"
AC_DEFINE_UNQUOTED(USE_NEW_READLINE_INTERFACE, 1)
AC_MSG_CHECKING([for libedit/readline])
AC_MSG_RESULT([readline bundled])
else
# Use system readline library
AC_LANG_SAVE
......@@ -2736,12 +2748,16 @@ case $SYSTEM_TYPE in
# this way we avoid linking commercial source with GPL readline
readline_link="-lreadline"
want_to_use_readline="yes"
AC_MSG_CHECKING([for libedit/readline])
AC_MSG_RESULT([readline system])
elif [test "$mysql_cv_libedit_interface" = "yes"]
then
# Use libedit
readline_link="-ledit"
AC_MSG_CHECKING([for libedit/readline])
AC_MSG_RESULT([libedit system])
else
AC_MSG_ERROR([Could not find system readline or libedit libraries
AC_MSG_ERROR([Could not find usable system readline or libedit libraries
Use --with-readline or --with-libedit to use the bundled
versions of libedit or readline])
fi
......@@ -2987,6 +3003,13 @@ if test X"$with_plugin_ndbcluster" = Xyes ; then
echo for more details.
fi
if test "$enable_distribution" = "warn"
then
echo "You have linked MariaDB with GPLv3 libraries!"
echo "You may not distribute the resulting binary. If you do, you will "
echo "put yourself into a legal problem with Free Software Foundation."
fi
# The first line "Thank you ..." is checked in ./Do-compile to verify that configure
# ended sucessfully - don't remove it.
echo
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment