| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| AC_INIT([log4cxx], [0.11.0]) |
| AC_CONFIG_MACRO_DIR([src/m4]) |
| AC_CONFIG_SRCDIR(src/main/cpp/logger.cpp) |
| |
| # autoconf 2.50 or higher to rebuild aclocal.m4, because the |
| # AC_CREATE_PREFIX_CONFIG_H macro needs the AS_DIRNAME macro. |
| AC_PREREQ(2.50) |
| |
| AC_CANONICAL_HOST |
| AC_CANONICAL_TARGET |
| |
| # |
| # +1 : ? : +1 == new interface that does not break old one |
| # +1 : ? : 0 == new interface that breaks old one |
| # ? : ? : 0 == no new interfaces, but breaks apps |
| # ? :+1 : ? == just some internal changes, nothing breaks but might work |
| # better |
| # CURRENT : REVISION : AGE |
| LT_VERSION=11:0:0 |
| |
| AC_SUBST(LT_VERSION) |
| |
| AH_VERBATIM([HAVE_NO_EXPLICIT_EXPORTS], |
| [/* no explicit exports */ |
| #define LOG4CXX_EXPORT]) |
| |
| AM_INIT_AUTOMAKE([foreign subdir-objects -Wall]) |
| |
| # Checks for programs |
| # ---------------------------------------------------------------------------- |
| |
| AM_PROG_AR |
| AM_PROG_LIBTOOL |
| AC_PROG_INSTALL |
| AC_PROG_LN_S |
| AC_PROG_MAKE_SET |
| |
| AC_PROG_CXX([g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC QCC]) |
| |
| AC_PROG_CXXCPP |
| AC_LANG(C++) |
| |
| # CXX fine tuning |
| case "$host" in |
| *-dec-osf*) |
| CXXFLAGS="$CXXFLAGS -std strict_ansi_errors" |
| ;; |
| *) |
| ;; |
| esac |
| |
| # Doxygen |
| |
| AC_ARG_ENABLE(doxygen, |
| AC_HELP_STRING(--enable-doxygen, |
| [enable documentation generation with doxygen (auto)])) |
| |
| AC_ARG_ENABLE(dot, |
| AC_HELP_STRING(--enable-dot, |
| [use 'dot' to generate graphs in doxygen (auto)])) |
| |
| AC_ARG_ENABLE(html-docs, |
| AC_HELP_STRING(--enable-html-docs, |
| [enable HTML generation with doxygen (yes)]), |
| [], |
| [enable_html_docs=yes]) |
| |
| AC_ARG_ENABLE(latex-docs, |
| AC_HELP_STRING(--enable-latex-docs, |
| [enable LaTeX documentation generation with doxygen (no)]), |
| [], |
| [enable_latex_docs=no]) |
| |
| if test "x$enable_doxygen" = xno; then |
| enable_doc=no |
| else |
| AC_PATH_PROG(DOXYGEN, doxygen, , $PATH) |
| if test "x$DOXYGEN" = x; then |
| if test "x$enable_doxygen" = xyes; then |
| AC_MSG_ERROR([could not find doxygen]) |
| fi |
| enable_doc=no |
| else |
| enable_doc=yes |
| AC_PATH_PROG(DOT, dot, , $PATH) |
| fi |
| fi |
| AM_CONDITIONAL(DOC, test x$enable_doc = xyes) |
| AM_CONDITIONAL(LATEX_DOC, test x$enable_latex_docs = xyes) |
| |
| if test x$DOT = x; then |
| if test "x$enable_dot" = xyes; then |
| AC_MSG_ERROR([could not find dot]) |
| fi |
| enable_dot=no |
| else |
| enable_dot=yes |
| fi |
| |
| manual_dest="manual" |
| base_dir=`(cd $srcdir && pwd)` |
| |
| AC_SUBST(enable_dot) |
| AC_SUBST(enable_html_docs) |
| AC_SUBST(enable_latex_docs) |
| AC_SUBST(manual_dest) |
| AC_SUBST(base_dir) |
| |
| |
| |
| |
| # Checks header files |
| # ---------------------------------------------------------------------------- |
| APR_FIND_APR( , , 1, 1) |
| if test "$apr_found" = "no"; then |
| AC_MSG_ERROR(APR could not be located. Please use the --with-apr option.) |
| fi |
| |
| CPPFLAGS="$CPPFLAGS `$apr_config --cppflags` `$apr_config --includes`" |
| APR_LIBS="`$apr_config --link-ld --libs`" |
| AC_SUBST(APR_LIBS) |
| LDFLAGS="$LDFLAGS $APR_LIBS" |
| |
| APR_FIND_APU( , , 1, 1) |
| if test "$apu_found" = "no"; then |
| AC_MSG_ERROR(APR-util could not be located. Please use the --with-apr-util option.) |
| fi |
| |
| CPPFLAGS="$CPPFLAGS `$apu_config --includes`" |
| APU_LIBS="`$apu_config --link-ld --libs`" |
| AC_SUBST(APU_LIBS) |
| LDFLAGS="$LDFLAGS $APU_LIBS" |
| |
| # Checks local idioms |
| # ---------------------------------------------------------------------------- |
| |
| # for local syslog() function for SyslogAppender |
| AC_CHECK_FUNCS(mbsrtowcs, [have_mbsrtowcs=yes], [have_mbsrtowcs=no]) |
| if test "$have_mbsrtowcs" = "yes" |
| then |
| AC_SUBST(HAS_MBSRTOWCS, 1) |
| else |
| AC_SUBST(HAS_MBSRTOWCS, 0) |
| fi |
| |
| AC_CHECK_FUNCS(wcstombs, [have_wcstombs=yes], [have_wcstombs=no]) |
| if test "$have_wcstombs" = "yes" |
| then |
| AC_SUBST(HAS_WCSTOMBS, 1) |
| else |
| AC_SUBST(HAS_WCSTOMBS, 0) |
| fi |
| |
| # for local syslog() function for SyslogAppender |
| AC_CHECK_FUNCS(syslog, [have_syslog=yes], [have_syslog=no]) |
| if test "$have_syslog" = "yes" |
| then |
| AC_SUBST(HAS_SYSLOG, 1) |
| else |
| AC_SUBST(HAS_SYSLOG, 0) |
| fi |
| |
| AC_CHECK_HEADER([locale],have_locale=yes,have_locale=no) |
| if test "$have_locale" = "yes" |
| then |
| AC_SUBST(HAS_STD_LOCALE, 1) |
| else |
| AC_SUBST(HAS_STD_LOCALE, 0) |
| fi |
| |
| AC_MSG_CHECKING([for wchar_t]) |
| AC_COMPILE_IFELSE([AC_LANG_SOURCE([ |
| #include <string> |
| std::wstring w;])], [have_wchar_t=yes], [have_wchar_t=no]) |
| AC_MSG_RESULT($have_wchar_t) |
| if test "$have_wchar_t" = "yes" |
| then |
| AC_SUBST(HAS_WCHAR_T, 1) |
| else |
| AC_SUBST(HAS_WCHAR_T, 0) |
| fi |
| |
| AC_CHECK_FUNCS(fwide, [have_fwide=yes], [have_fwide=no]) |
| if test "$have_fwide" = "yes" |
| then |
| AC_SUBST(HAS_FWIDE, 1) |
| else |
| AC_SUBST(HAS_FWIDE, 0) |
| fi |
| |
| |
| # Checks for libraries |
| # ---------------------------------------------------------------------------- |
| |
| #for ODBCAppender |
| AC_MSG_CHECKING(for ODBC support) |
| AC_ARG_WITH(ODBC, |
| AC_HELP_STRING(--with-ODBC, [ODBC support. Accepted arguments : |
| unixODBC, iODBC, Microsoft, no (default=no)]), |
| [ac_with_odbc=$withval], |
| [ac_with_odbc=no]) |
| case "$ac_with_odbc" in |
| Microsoft) |
| AC_SUBST(HAS_ODBC, 1, ODBC support) |
| AC_MSG_RESULT(Microsoft) |
| LIBS_ODBC="-lodbc32" |
| ;; |
| unixODBC) |
| AC_MSG_RESULT(unixODBC) |
| AC_CHECK_HEADER(sqlext.h,, AC_MSG_ERROR(unixODBC not found !)) |
| AC_SUBST(HAS_ODBC, 1, ODBC support) |
| LIBS_ODBC="-lodbc" |
| ;; |
| iODBC) |
| AC_MSG_RESULT(iODBC) |
| AC_CHECK_PROG(IODBC_CONFIG, iodbc-config, yes, no) |
| if test "x$IODBC_CONFIG" = "xyes" |
| then |
| AC_SUBST(HAS_ODBC, 1, ODBC support) |
| LIBS_ODBC="`iodbc-config --libs`" |
| CPPFLAGS_ODBC="`iodbc-config --cflags`" |
| else |
| AC_MSG_ERROR(iODBC not found !) |
| fi |
| ;; |
| no) |
| AC_SUBST(HAS_ODBC, 0, No ODBC support) |
| AC_MSG_RESULT(no) |
| ;; |
| *) |
| AC_MSG_RESULT(???) |
| AC_MSG_ERROR(Unknown option : $ac_with_odbc) |
| ;; |
| esac |
| AC_SUBST(LIBS_ODBC) |
| AC_SUBST(CPPFLAGS_ODBC) |
| |
| |
| #for SMTPAppender |
| AC_MSG_CHECKING(for SMTP support) |
| AC_ARG_WITH(SMTP, |
| AC_HELP_STRING(--with-SMTP, [SMTP support. Accepted arguments : |
| libesmtp, no (default=no)]), |
| [ac_with_smtp=$withval], |
| [ac_with_smtp=no]) |
| case "$ac_with_smtp" in |
| libesmtp) |
| AC_MSG_RESULT(libesmtp) |
| AC_CHECK_LIB([esmtp], [smtp_create_session],, |
| AC_MSG_ERROR(libesmtp library not found !), |
| -lesmtp) |
| AC_SUBST(HAS_LIBESMTP, 1, SMTP support through libesmtp library.) |
| LIBS="-lesmtp $LIBS" |
| ;; |
| no) |
| AC_MSG_RESULT(no) |
| AC_SUBST(HAS_LIBESMTP, 0, SMTP support through libesmtp library.) |
| ;; |
| *) |
| AC_MSG_RESULT(???) |
| AC_MSG_ERROR(Unknown option : $ac_with_smtp) |
| ;; |
| esac |
| |
| #for char api |
| AC_ARG_ENABLE(char, |
| AC_HELP_STRING(--enable-char, |
| [enable char API (yes)])) |
| if test "x$enable_char" = xno; then |
| have_char_api=no |
| else |
| have_char_api=yes |
| fi |
| |
| if test "$have_char_api" = "yes" |
| then |
| AC_SUBST(CHAR_API, 1) |
| else |
| AC_SUBST(CHAR_API, 0) |
| fi |
| |
| #for wchar_t api |
| AC_ARG_ENABLE(wchar_t, |
| AC_HELP_STRING(--enable-wchar_t, |
| [enable wchar_t API (yes if wchar_t available)])) |
| if test "x$enable_wchar_t" = xno; then |
| have_wchar_t_api=no |
| else |
| if test "$have_wchar_t" = "yes" |
| then |
| have_wchar_t_api=yes |
| else |
| have_wchar_t_api=no |
| fi |
| fi |
| |
| if test "$have_wchar_t_api" = "yes" |
| then |
| AC_SUBST(WCHAR_T_API, 1) |
| else |
| AC_SUBST(WCHAR_T_API, 0) |
| fi |
| |
| #for unichar api |
| AC_ARG_ENABLE(unichar, |
| AC_HELP_STRING(--enable-unichar, |
| [enable unichar API (no)])) |
| if test "x$enable_unichar" = "yes" |
| then |
| AC_SUBST(UNICHAR_API, 1) |
| else |
| AC_SUBST(UNICHAR_API, 0) |
| fi |
| |
| #for cfstring api |
| AC_ARG_ENABLE(cfstring, |
| AC_HELP_STRING(--enable-cfstring, |
| [enable cfstring API (no)])) |
| if test "x$enable_cfstring" = xyes; then |
| AC_MSG_CHECKING([for cfstring]) |
| CPPFLAGS="$CPPFLAGS -framework CoreFoundation" |
| AC_COMPILE_IFELSE([AC_LANG_SOURCE([ |
| #include <CoreFoundation/CFString.h> |
| CFStringRef x = CFSTR("Hello");])], [have_cfstring_api=yes], [have_cfstring_api=no]) |
| AC_MSG_RESULT($have_cfstring_api) |
| else |
| have_cfstring_api=no |
| fi |
| |
| if test "$have_cfstring_api" = "yes" |
| then |
| AC_SUBST(CFSTRING_API, 1) |
| else |
| AC_SUBST(CFSTRING_API, 0) |
| fi |
| |
| #determine charset type |
| AC_MSG_CHECKING([charset type]) |
| AC_ARG_WITH(charset, |
| AC_HELP_STRING(--with-charset=TYPE, [locale charset. |
| Accepted TYPE variants: auto, utf-8, iso-8859-1, usascii, ebcdic (default=auto)]), |
| [ac_with_charset=$withval], |
| [ac_with_charset=auto]) |
| |
| case "$ac_with_charset" in |
| utf-8) |
| AC_MSG_RESULT(utf-8) |
| AC_SUBST(CHARSET_UTF8, 1) |
| AC_SUBST(CHARSET_ISO88591, 0) |
| AC_SUBST(CHARSET_USASCII, 0) |
| AC_SUBST(CHARSET_EBCDIC, 0) |
| ;; |
| |
| iso-8859-1) |
| AC_MSG_RESULT(iso-8859-1) |
| AC_SUBST(CHARSET_UTF8, 0) |
| AC_SUBST(CHARSET_ISO88591, 1) |
| AC_SUBST(CHARSET_USASCII, 0) |
| AC_SUBST(CHARSET_EBCDIC, 0) |
| ;; |
| |
| usascii) |
| AC_MSG_RESULT(usascii) |
| AC_SUBST(CHARSET_UTF8, 0) |
| AC_SUBST(CHARSET_ISO88591, 0) |
| AC_SUBST(CHARSET_USASCII, 1) |
| AC_SUBST(CHARSET_EBCDIC, 0) |
| ;; |
| |
| ebcdic) |
| AC_MSG_RESULT(usascii) |
| AC_SUBST(CHARSET_UTF8, 0) |
| AC_SUBST(CHARSET_ISO88591, 0) |
| AC_SUBST(CHARSET_USASCII, 0) |
| AC_SUBST(CHARSET_EBCDIC, 1) |
| ;; |
| |
| auto) |
| AC_MSG_RESULT(auto) |
| AC_SUBST(CHARSET_UTF8, 0) |
| AC_SUBST(CHARSET_ISO88591, 0) |
| AC_SUBST(CHARSET_USASCII, 0) |
| AC_SUBST(CHARSET_EBCDIC, 0) |
| ;; |
| |
| *) |
| AC_MSG_RESULT(???) |
| AC_MSG_ERROR(Invalid charset type: $ac_with_charset) |
| ;; |
| esac |
| |
| |
| |
| #determine logchar type |
| AC_MSG_CHECKING([logchar type]) |
| AC_ARG_WITH(logchar, |
| AC_HELP_STRING(--with-logchar=TYPE, [type for logchar. |
| Accepted TYPE variants: utf-8, wchar_t, unichar (default=utf-8)]), |
| [ac_with_logchar=$withval], |
| [ac_with_logchar=utf-8]) |
| |
| case "$ac_with_logchar" in |
| utf-8) |
| AC_MSG_RESULT(utf-8) |
| AC_SUBST(LOGCHAR_IS_UTF8, 1) |
| AC_SUBST(LOGCHAR_IS_WCHAR, 0) |
| AC_SUBST(LOGCHAR_IS_UNICHAR, 0) |
| ;; |
| |
| wchar_t) |
| AC_MSG_RESULT(wchar_t) |
| AC_SUBST(LOGCHAR_IS_UTF8, 0) |
| AC_SUBST(LOGCHAR_IS_WCHAR, 1) |
| AC_SUBST(LOGCHAR_IS_UNICHAR, 0) |
| ;; |
| |
| unichar) |
| AC_MSG_RESULT(unichar) |
| AC_SUBST(LOGCHAR_IS_UTF8, 0) |
| AC_SUBST(LOGCHAR_IS_WCHAR, 0) |
| AC_SUBST(LOGCHAR_IS_UNICHAR, 1) |
| ;; |
| |
| *) |
| AC_MSG_RESULT(???) |
| AC_MSG_ERROR(Invalid logchar type: $ac_with_logchar) |
| ;; |
| esac |
| |
| |
| AC_ARG_ENABLE(non-blocking, |
| AC_HELP_STRING(--enable-non-blocking, |
| [non-blocking mode (no)])) |
| if test "x$enable_non_blocking" = xyes; then |
| CXXFLAGS="$CXXFLAGS -std=c++11" |
| AC_DEFINE(NON_BLOCKING) |
| AC_DEFINE(RW_MUTEX) |
| AC_DEFINE(STATIC_STRINGSTREAM) |
| fi |
| |
| AM_CONDITIONAL([NON_BLOCKING], [test "x$enable_non_blocking" = xyes]) |
| |
| # Create files |
| # ---------------------------------------------------------------------------- |
| |
| AC_CONFIG_FILES([ |
| Makefile |
| liblog4cxx.pc |
| src/Makefile |
| src/main/Makefile |
| src/main/cpp/Makefile |
| src/main/include/Makefile |
| src/main/include/log4cxx/log4cxx.h |
| src/main/include/log4cxx/private/log4cxx_private.h |
| src/main/include/log4cxx/private/Makefile |
| src/main/include/log4cxx/Makefile |
| src/main/include/log4cxx/helpers/Makefile |
| src/main/include/log4cxx/net/Makefile |
| src/main/include/log4cxx/nt/Makefile |
| src/main/include/log4cxx/spi/Makefile |
| src/main/include/log4cxx/spi/location/Makefile |
| src/main/include/log4cxx/varia/Makefile |
| src/main/include/log4cxx/xml/Makefile |
| src/main/include/log4cxx/config/Makefile |
| src/main/include/log4cxx/db/Makefile |
| src/main/include/log4cxx/rolling/Makefile |
| src/main/include/log4cxx/pattern/Makefile |
| src/main/include/log4cxx/filter/Makefile |
| src/m4/Makefile |
| src/site/Makefile |
| src/site/doxy/Makefile |
| src/site/doxy/Doxyfile |
| src/test/Makefile |
| src/test/resources/Makefile |
| src/test/resources/input/Makefile |
| src/test/resources/input/ndc/Makefile |
| src/test/resources/input/rolling/Makefile |
| src/test/resources/input/xml/Makefile |
| src/test/cpp/Makefile |
| src/test/resources/witness/Makefile |
| src/test/resources/witness/encoding/Makefile |
| src/test/resources/witness/ndc/Makefile |
| src/test/resources/witness/rolling/Makefile |
| src/examples/Makefile |
| src/examples/cpp/Makefile |
| ]) |
| AC_OUTPUT |