summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormturk <mturk@13f79535-47bb-0310-9956-ffa450edef68>2021-12-02 20:09:48 +0000
committermturk <mturk@13f79535-47bb-0310-9956-ffa450edef68>2021-12-02 20:09:48 +0000
commit7d9b60121e72c37e894278eec36786b9e78f1a50 (patch)
tree724a63a408ca92b4806740b8a3a8ab6d74541c75
parentfce765408ab767e35d369d471ad0b0b97f9bca6e (diff)
downloadlibapr-7d9b60121e72c37e894278eec36786b9e78f1a50.tar.gz
Add support for APU_HAS_ICONV option
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1895501 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--CMakeLists.txt21
-rw-r--r--include/apr.hwc2
-rw-r--r--include/arch/win32/apr_private.h2
3 files changed, 17 insertions, 8 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 26f8ee996..6b87290eb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -23,6 +23,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
FIND_PACKAGE(EXPAT)
FIND_PACKAGE(LibXml2)
FIND_PACKAGE(OpenSSL)
+FIND_PACKAGE(Iconv)
SET(apr_name apr-2)
SET(apr_libname libapr-2)
@@ -54,14 +55,11 @@ ENDIF()
OPTION(APR_INSTALL_PRIVATE_H "Install selected private .h files (for httpd)" OFF)
OPTION(APU_HAVE_CRYPTO "Crypto support" OFF)
OPTION(APU_HAVE_ODBC "Build ODBC DBD driver" ON)
+OPTION(APU_HAVE_ICONV "Xlate support" OFF)
OPTION(APR_HAVE_IPV6 "IPv6 support" ON)
OPTION(INSTALL_PDB "Install .pdb files (if generated)" ON)
OPTION(APR_BUILD_TESTAPR "Build the test suite" OFF)
OPTION(TEST_STATIC_LIBS "Test programs use APR static libraries instead of shared libraries?" OFF)
-SET(LIBXML2_ICONV_INCLUDE_DIR ""
- CACHE STRING "Directory with iconv include files for libxml2")
-SET(LIBXML2_ICONV_LIBRARIES ""
- CACHE STRING "iconv libraries to link with for libxml2")
IF(NOT APU_USE_EXPAT AND NOT APU_USE_LIBXML2 AND NOT APU_USE_XMLLITE)
MESSAGE(FATAL_ERROR "Either Expat or LibXml2 or XmlLite must be selected")
@@ -75,6 +73,11 @@ IF(NOT OPENSSL_FOUND)
MESSAGE(FATAL_ERROR "OpenSSL is the only supported crypto implementation, and it wasn't found!")
ENDIF()
ENDIF()
+IF(APU_HAVE_ICONV)
+IF(NOT Iconv_FOUND)
+ MESSAGE(FATAL_ERROR "Libiconv wasn't found!")
+ENDIF()
+ENDIF()
# create 1-or-0 representation of feature tests for apr.h
@@ -83,6 +86,7 @@ SET(apu_have_crypto_10 0)
SET(apu_use_libxml2_10 0)
SET(apu_use_expat_10 0)
SET(apu_use_xmllite_10 0)
+SET(apu_have_iconv_10 0)
IF(APR_HAVE_IPV6)
SET(apr_have_ipv6_10 1)
@@ -100,6 +104,10 @@ ELSE(APU_USE_XMLLITE)
SET(apu_use_xmllite_10 1)
ENDIF()
+IF(APU_HAVE_ICONV)
+SET(apu_have_iconv_10 1)
+ENDIF()
+
CONFIGURE_FILE(include/apr.hwc
${PROJECT_BINARY_DIR}/apr.h)
# "COPYONLY" just because anything else isn't implemented ;)
@@ -127,8 +135,8 @@ IF(APU_USE_EXPAT)
SET(XMLLIB_INCLUDE_DIR ${EXPAT_INCLUDE_DIRS})
SET(XMLLIB_LIBRARIES ${EXPAT_LIBRARIES})
ELSEIF(APU_USE_LIBXML2)
- SET(XMLLIB_INCLUDE_DIR "${LIBXML2_INCLUDE_DIR};${LIBXML2_ICONV_INCLUDE_DIR}")
- SET(XMLLIB_LIBRARIES "${LIBXML2_LIBRARIES};${LIBXML2_ICONV_LIBRARIES}")
+ SET(XMLLIB_INCLUDE_DIR ${LIBXML2_INCLUDE_DIRS})
+ SET(XMLLIB_LIBRARIES ${LIBXML2_LIBRARIES})
ELSEIF(APU_USE_XMLLITE)
SET(XMLLIB_INCLUDE_DIR "")
SET(XMLLIB_LIBRARIES "xmllite.lib")
@@ -648,6 +656,7 @@ MESSAGE(STATUS " Use Expat ....................... : ${APU_USE_EXPAT}")
MESSAGE(STATUS " Use LibXml2 ..................... : ${APU_USE_LIBXML2}")
MESSAGE(STATUS " Use XmlLite ..................... : ${APU_USE_XMLLITE}")
MESSAGE(STATUS " Have Crypto ..................... : ${APU_HAVE_CRYPTO}")
+MESSAGE(STATUS " Have Iconv ...................... : ${APU_HAVE_ICONV}")
MESSAGE(STATUS " Library files for XML ........... : ${XMLLIB_LIBRARIES}")
MESSAGE(STATUS " Build test suite ................ : ${APR_BUILD_TESTAPR}")
IF(TEST_STATIC_LIBS)
diff --git a/include/apr.hwc b/include/apr.hwc
index 03bcd5e8e..016e1c0e4 100644
--- a/include/apr.hwc
+++ b/include/apr.hwc
@@ -678,7 +678,7 @@ typedef int apr_wait_t;
#define APU_HAVE_COMMONCRYPTO 0
#endif
-#define APU_HAVE_ICONV 0
+#define APU_HAVE_ICONV @apu_have_iconv_10@
#define APR_HAS_XLATE (APU_HAVE_ICONV)
#define APU_USE_EXPAT @apu_use_expat_10@
diff --git a/include/arch/win32/apr_private.h b/include/arch/win32/apr_private.h
index 9f12efa18..381a27b4b 100644
--- a/include/arch/win32/apr_private.h
+++ b/include/arch/win32/apr_private.h
@@ -179,7 +179,7 @@ APR_DECLARE_DATA int errno;
/* Windows ODBC sql.h is always present */
#define HAVE_SQL_H 1
-#define HAVE_ICONV_H 1
+#define HAVE_ICONV_H APR_HAVE_ICONV
/*
* Windows does not have GDBM, and we always use the bundled (new) Expat