summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/ac-macros/readline.m439
-rw-r--r--configure.in29
2 files changed, 56 insertions, 12 deletions
diff --git a/config/ac-macros/readline.m4 b/config/ac-macros/readline.m4
index e1ed8420bfb..9e62d9add3e 100644
--- a/config/ac-macros/readline.m4
+++ b/config/ac-macros/readline.m4
@@ -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
)
])
diff --git a/configure.in b/configure.in
index 34ca4e171b2..179f4bfcce2 100644
--- a/configure.in
+++ b/configure.in
@@ -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