X-Git-Url: http://www.project-moonshot.org/gitweb/?p=freeradius.git;a=blobdiff_plain;f=acinclude.m4;h=1dd8ad14c8ec7c775aaf6bbf6fbfdb70be49a1cf;hp=cd9d13416e2578ec48b1352b53690b464323d923;hb=HEAD;hpb=ab3947f8ed85847d01a1fc139c4b3d71588b0ee3 diff --git a/acinclude.m4 b/acinclude.m4 index cd9d134..1dd8ad1 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -377,4 +377,64 @@ m4_pushdef([AC_OUTPUT], AC_OUTPUT([$1],[$2],[$3]) ]) + +# See if the compilation works with __thread, for thread-local storage +# +AC_DEFUN([FR_TLS], +[ + AC_MSG_CHECKING(for TLS) + AC_RUN_IFELSE([AC_LANG_SOURCE([[ static __thread int val; int main(int argc, char *argv[]) { return val = argc; } ]])],[have_tls=yes],[have_tls=no],[have_tls=no ]) + AC_MSG_RESULT($have_tls) + if test "$have_tls" = "yes"; then + AC_DEFINE([HAVE_THREAD_TLS],[1],[Define if the compiler supports __thread]) + fi +]) + + +AC_DEFUN([AC_LIB_READLINE], [ + AC_CACHE_CHECK([for a readline compatible library], + ac_cv_lib_readline, [ + ORIG_LIBS=$LIBS + for readline_lib in readline edit editline; do + for termcap_lib in "" termcap curses ncurses; do + if test -z "$termcap_lib"; then + TRY_LIB="-l$readline_lib" + else + TRY_LIB="-l$readline_lib -l$termcap_lib" + fi + LIBS="$ORIG_LIBS $TRY_LIB" + AC_TRY_LINK_FUNC(readline, ac_cv_lib_readline="$TRY_LIB") + if test -n "$ac_cv_lib_readline"; then + LIBREADLINE="$TRY_LIB" + AC_SUBST(LIBREADLINE) + break + fi + done + if test -n "$ac_cv_lib_readline"; then + break + fi + done + if test -z "$ac_cv_lib_readline"; then + ac_cv_lib_readline="no" + fi + LIBS=$ORIG_LIBS + ]) + + if test "$ac_cv_lib_readline" != "no"; then + AC_DEFINE(HAVE_LIBREADLINE, 1, + [Define if you have a readline compatible library]) + AC_CHECK_HEADERS(readline.h readline/readline.h) + AC_CACHE_CHECK([whether readline supports history], + ac_cv_lib_readline_history, [ + ac_cv_lib_readline_history="no" + AC_TRY_LINK_FUNC(add_history, ac_cv_lib_readline_history="yes") + ]) + if test "$ac_cv_lib_readline_history" = "yes"; then + AC_DEFINE(HAVE_READLINE_HISTORY, 1, + [Define if your readline library has \`add_history']) + AC_CHECK_HEADERS(history.h readline/history.h) + fi + fi +]) + AC_INCLUDE(aclocal.m4)