Author: amassari
Date: Fri May 12 12:17:57 2006
New Revision: 405840
URL: http://svn.apache.org/viewcvs?rev=405840&view=rev
Log:
Enable selection of the GNU iconv transcoder
Modified:
xerces/c/trunk/m4/xerces_transcoder_selection.m4
xerces/c/trunk/src/Makefile.am
xerces/c/trunk/src/xercesc/util/PlatformUtils.cpp
Modified: xerces/c/trunk/m4/xerces_transcoder_selection.m4
URL:
http://svn.apache.org/viewcvs/xerces/c/trunk/m4/xerces_transcoder_selection.m4?rev=405840&r1=405839&r2=405840&view=diff
==============================================================================
--- xerces/c/trunk/m4/xerces_transcoder_selection.m4 (original)
+++ xerces/c/trunk/m4/xerces_transcoder_selection.m4 Fri May 12 12:17:57 2006
@@ -21,6 +21,25 @@
tc_list=
+ # Check for GNU iconv support
+ no_GNUiconv=false
+ AC_CHECK_HEADERS([iconv.h wchar.h string.h stdlib.h stdio.h ctype.h
locale.h errno.h endian.h], [], [no_GNUiconv=true])
+ AC_CHECK_FUNCS([iconv_open iconv_close iconv], [], [no_GNUiconv=true])
+ AC_MSG_CHECKING([whether we can support the GNU iconv Transcoder])
+ list_add=
+ AS_IF([! $no_GNUiconv], [
+ AC_ARG_ENABLE([transcoder-gnuiconv],
+ AS_HELP_STRING([--enable-transcoder-gnuiconv],
+ [Enable GNU iconv-based transcoder support]),
+ [AS_IF([test x"$enableval" = xyes],
+ [list_add=GNUICONV])],
+ [list_add=gnuiconv])
+ ])
+ AS_IF([test x"$list_add" != x],
+ [tc_list="$tc_list -$list_add-"; AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)]
+ )
+
# Check for iconv support
no_iconv=false
AC_CHECK_HEADERS([wchar.h], [], [no_iconv=true])
@@ -124,6 +143,12 @@
break
;;
+ *-gnuiconv-*)
+ transcoder=gnuiconv
+ AC_DEFINE([XERCES_USE_TRANSCODER_GNUICONV], 1, [Define
to use the GNU iconv transcoder])
+ break
+ ;;
+
*-iconv-*)
transcoder=iconv
AC_DEFINE([XERCES_USE_TRANSCODER_ICONV], 1, [Define to
use the iconv transcoder])
@@ -151,10 +176,11 @@
# Define the auto-make conditionals which determine what actually gets
compiled
# Note that these macros can't be executed conditionally, which is why
they're here, not above.
- AM_CONDITIONAL([XERCES_USE_TRANSCODER_ICU],
[test x"$transcoder" = xicu])
+ AM_CONDITIONAL([XERCES_USE_TRANSCODER_ICU], [test
x"$transcoder" = xicu])
AM_CONDITIONAL([XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER], [test
x"$transcoder" = xmacosunicodeconverter])
- AM_CONDITIONAL([XERCES_USE_TRANSCODER_ICONV],
[test x"$transcoder" = xiconv])
- AM_CONDITIONAL([XERCES_USE_TRANSCODER_WINDOWS],
[test x"$transcoder" = xwindows])
+ AM_CONDITIONAL([XERCES_USE_TRANSCODER_GNUICONV], [test
x"$transcoder" = xgnuiconv])
+ AM_CONDITIONAL([XERCES_USE_TRANSCODER_ICONV], [test
x"$transcoder" = xiconv])
+ AM_CONDITIONAL([XERCES_USE_TRANSCODER_WINDOWS], [test
x"$transcoder" = xwindows])
]
)
Modified: xerces/c/trunk/src/Makefile.am
URL:
http://svn.apache.org/viewcvs/xerces/c/trunk/src/Makefile.am?rev=405840&r1=405839&r2=405840&view=diff
==============================================================================
--- xerces/c/trunk/src/Makefile.am (original)
+++ xerces/c/trunk/src/Makefile.am Fri May 12 12:17:57 2006
@@ -138,6 +138,13 @@
libicutc_la_CXXFLAGS = ${AM_CXXFLAGS}
-I${ICU_PREFIX}/include
endif
+if XERCES_USE_TRANSCODER_GNUICONV
+src_libraries += libgnuiconvtc.la
+libgnuiconvtc_ladir = ${includedir}
+nobase_libgnuiconvtc_la_HEADERS = ${gnuiconv_headers}
+libgnuiconvtc_la_SOURCES = ${gnuiconv_sources}
+endif
+
if XERCES_USE_TRANSCODER_ICONV
src_libraries += libiconvtc.la
libiconvtc_ladir = ${includedir}
@@ -1071,6 +1078,12 @@
icu_sources = \
xercesc/util/Transcoders/ICU/ICUTransService.cpp
+
+gnuiconv_headers = \
+ xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.hpp
+
+gnuiconv_sources = \
+ xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.cpp
iconv_headers = \
xercesc/util/Transcoders/Iconv/IconvTransService.hpp
Modified: xerces/c/trunk/src/xercesc/util/PlatformUtils.cpp
URL:
http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/util/PlatformUtils.cpp?rev=405840&r1=405839&r2=405840&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/util/PlatformUtils.cpp (original)
+++ xerces/c/trunk/src/xercesc/util/PlatformUtils.cpp Fri May 12 12:17:57 2006
@@ -120,6 +120,9 @@
#if XERCES_USE_TRANSCODER_ICU
# include <xercesc/util/Transcoders/ICU/ICUTransService.hpp>
#endif
+#if XERCES_USE_TRANSCODER_GNUICONV
+# include <xercesc/util/Transcoders/IconvGNU/IconvGNUTransService.hpp>
+#endif
#if XERCES_USE_TRANSCODER_ICONV
# include <xercesc/util/Transcoders/Iconv/IconvTransService.hpp>
#endif
@@ -473,6 +476,8 @@
#if defined (XERCES_USE_TRANSCODER_ICU)
tc = new ICUTransService;
+ #elif defined (XERCES_USE_TRANSCODER_GNUICONV)
+ tc = new IconvGNUTransService;
#elif defined (XERCES_USE_TRANSCODER_ICONV)
tc = new IconvTransService;
#elif defined (XERCES_USE_TRANSCODER_MACOSUNICODECONVERTER)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]