Author: afester
Date: Mon Nov 21 13:17:18 2005
New Revision: 347984
URL: http://svn.apache.org/viewcvs?rev=347984&view=rev
Log:
LOGCXX-43: enhance logchar type configuration
Modified:
logging/log4cxx/trunk/build.xml
logging/log4cxx/trunk/configure.in
logging/log4cxx/trunk/include/log4cxx/log4cxx.h.in
Modified: logging/log4cxx/trunk/build.xml
URL:
http://svn.apache.org/viewcvs/logging/log4cxx/trunk/build.xml?rev=347984&r1=347983&r2=347984&view=diff
==============================================================================
--- logging/log4cxx/trunk/build.xml (original)
+++ logging/log4cxx/trunk/build.xml Mon Nov 21 13:17:18 2005
@@ -52,8 +52,7 @@
<property name="optimize" value="none"/>
<property name="lib.type" value="shared"/>
<property name="has.wchar_t" value="1"/>
-<!-- utf-8 will be used if -Dhas.wchar_t=0 or -Dlogchar=utf-8 -->
-<property name="logchar" value="wchar_t"/>
+
<property name="apache.mirror" value="http://apache.mirrors.pair.com"/>
<property name="cppunit.mirror"
value="http://unc.dl.sourceforge.net/sourceforge"/>
@@ -109,6 +108,10 @@
-Doptimize=[speed|size|none]
-Dversion=n.n.n
-Dlib.type=[shared|static]
+-Dapr.dir=PATH
+-Daprutil.dir=PATH
+-Dhas.wchar_t=[0|1] (default=1)
+-Dlogchar=[utf-8|wchar_t|cfstring] (default=wchar_t)
</echo>
</target>
@@ -153,6 +156,10 @@
<property name="project.type" value="msvc6"/>
<property name="project.dir" value="msvc"/>
<property name="compiler" value="msvc"/>
+
+ <!-- Default value for logchar on windows -->
+ <property name="logchar" value="wchar_t"/>
+
<condition property="is-bcc" value="true">
<or>
<equals arg1="${compiler}" arg2="bcc"/>
@@ -169,6 +176,9 @@
<property name="project.dir" value="xcode"/>
<property name="has-iconv" value="true"/>
+ <!-- Default value for logchar on mac -->
+ <property name="logchar" value="wchar_t"/>
+
<condition property="mac_osx_wchar_not_supported_yet" value="true">
<equals arg1="${has.wchar_t}" arg2="1"/>
</condition>
@@ -193,6 +203,10 @@
<property name="project.dir" value="cbx"/>
<property name="compiler" value="g++"/>
<property name="lib-suffix" value=""/>
+
+ <!-- Default value for logchar on Unix -->
+ <property name="logchar" value="utf-8"/>
+
<condition property="has-expat" value="true">
<not><isset property="is-mac"/></not>
</condition>
@@ -239,11 +253,12 @@
<istrue value="${debug}"/>
</condition>
- <condition property="is-utf8" value="true">
- <or>
- <not><equals arg1="${has.wchar_t}" arg2="1"/></not>
- <equals arg1="${logchar}" arg2="utf-8"/>
- </or>
+ <condition property="logchar_type" value="utf-8">
+ <not><equals arg1="${has.wchar_t}" arg2="1"/></not>
+ </condition>
+
+ <condition property="logchar_type" value="${logchar}">
+ <equals arg1="${has.wchar_t}" arg2="1"/>
</condition>
<condition property="debug.release" value="debug">
@@ -370,23 +385,42 @@
</target>
-
-<target name="configure" depends="unix-configure,
+<target name="configure" depends="init,
+ unix-configure,
win-configure">
+ <echo message="Configuring with has.wchar_t=${has.wchar_t}"/>
+ <echo message="Configuring with logchar_type=${logchar_type}" />
+
<condition property="logchar_is_utf8" value="1">
- <isset property="is-utf8"/>
+ <equals arg1="${logchar_type}" arg2="utf-8"/>
</condition>
<property name="logchar_is_utf8" value="0"/>
+ <condition property="logchar_is_cfstring" value="1">
+ <equals arg1="${logchar_type}" arg2="cfstring"/>
+ </condition>
+ <property name="logchar_is_cfstring" value="0"/>
+
+ <condition property="logchar_is_wchar" value="1">
+ <equals arg1="${logchar_type}" arg2="wchar_t"/>
+ </condition>
+ <property name="logchar_is_wchar" value="0"/>
+
<replaceregexp file="${include.dir}/log4cxx/log4cxx.h"
- match="#define LOG4CXX_LOGCHAR_IS_UTF8.*"
- replace="#define LOG4CXX_LOGCHAR_IS_UTF8 ${logchar_is_utf8}"/>
+ match="@LOGCHAR_IS_CFSTRING@"
+ replace="${logchar_is_cfstring}"/>
<replaceregexp file="${include.dir}/log4cxx/log4cxx.h"
- match="#define LOG4CXX_HAS_WCHAR_T.*"
- replace="#define LOG4CXX_HAS_WCHAR_T ${has.wchar_t}"/>
+ match="@LOGCHAR_IS_UTF8@"
+ replace="${logchar_is_utf8}"/>
+ <replaceregexp file="${include.dir}/log4cxx/log4cxx.h"
+ match="@LOGCHAR_IS_WCHAR@"
+ replace="${logchar_is_wchar}"/>
+ <replaceregexp file="${include.dir}/log4cxx/log4cxx.h"
+ match="#define LOG4CXX_HAS_WCHAR_T.*"
+ replace="#define LOG4CXX_HAS_WCHAR_T ${has.wchar_t}"/>
</target>
<target name="get-apr-module">
Modified: logging/log4cxx/trunk/configure.in
URL:
http://svn.apache.org/viewcvs/logging/log4cxx/trunk/configure.in?rev=347984&r1=347983&r2=347984&view=diff
==============================================================================
--- logging/log4cxx/trunk/configure.in (original)
+++ logging/log4cxx/trunk/configure.in Mon Nov 21 13:17:18 2005
@@ -271,14 +271,6 @@
AC_SUBST(LIBS_XML)
AC_SUBST(CPPFLAGS_XML)
-#for UNICODE
-AC_MSG_CHECKING(for UTF-16 Unicode support)
-AC_ARG_ENABLE(unicode,
- AC_HELP_STRING(--enable-unicode, [UTF-16 Unicode support
(default=no)]),
- AC_DEFINE(UNICODE, 1, UTF-16 Unicode support.)
- AC_MSG_RESULT(yes),
- AC_MSG_RESULT(no))
-
#for ODBCAppender
AC_MSG_CHECKING(for ODBC support)
AC_ARG_WITH(ODBC,
@@ -368,6 +360,54 @@
esac
CPPFLAGS="-DLOG4CXX $CPPFLAGS"
+
+#for wchar_t
+AC_MSG_CHECKING([for wchar_t])
+AC_COMPILE_IFELSE(AC_LANG_SOURCE(wchar_t* 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
+
+#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, cfstring
(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_CFSTRING, 0)
+ ;;
+
+ wchar_t)
+ AC_MSG_RESULT(wchar_t)
+ AC_SUBST(LOGCHAR_IS_UTF8, 0)
+ AC_SUBST(LOGCHAR_IS_WCHAR, 1)
+ AC_SUBST(LOGCHAR_IS_CFSTRING, 0)
+ ;;
+
+ cfstring)
+ AC_MSG_RESULT(cfstring)
+ AC_SUBST(LOGCHAR_IS_UTF8, 0)
+ AC_SUBST(LOGCHAR_IS_WCHAR, 0)
+ AC_SUBST(LOGCHAR_IS_CFSTRING, 1)
+ ;;
+
+ *)
+ AC_MSG_RESULT(???)
+ AC_MSG_ERROR(Invalid logchar type: $ac_with_logchar)
+ ;;
+esac
# Create files
# ----------------------------------------------------------------------------
Modified: logging/log4cxx/trunk/include/log4cxx/log4cxx.h.in
URL:
http://svn.apache.org/viewcvs/logging/log4cxx/trunk/include/log4cxx/log4cxx.h.in?rev=347984&r1=347983&r2=347984&view=diff
==============================================================================
--- logging/log4cxx/trunk/include/log4cxx/log4cxx.h.in (original)
+++ logging/log4cxx/trunk/include/log4cxx/log4cxx.h.in Mon Nov 21 13:17:18 2005
@@ -24,12 +24,9 @@
*/
+#define LOG4CXX_LOGCHAR_IS_CFSTRING @LOGCHAR_IS_CFSTRING@
#define LOG4CXX_LOGCHAR_IS_UTF8 @LOGCHAR_IS_UTF8@
-#if LOG4CXX_LOGCHAR_IS_UTF8
-#define LOG4CXX_LOGCHAR_IS_WCHAR 0
-#else
-#define LOG4CXX_LOGCHAR_IS_WCHAR 1
-#endif
+#define LOG4CXX_LOGCHAR_IS_WCHAR @LOGCHAR_IS_WCHAR@
#define LOG4CXX_HAS_WCHAR_T @HAS_WCHAR_T@