diff options
author | mturk <mturk@13f79535-47bb-0310-9956-ffa450edef68> | 2021-12-02 20:09:48 +0000 |
---|---|---|
committer | mturk <mturk@13f79535-47bb-0310-9956-ffa450edef68> | 2021-12-02 20:09:48 +0000 |
commit | 7d9b60121e72c37e894278eec36786b9e78f1a50 (patch) | |
tree | 724a63a408ca92b4806740b8a3a8ab6d74541c75 | |
parent | fce765408ab767e35d369d471ad0b0b97f9bca6e (diff) | |
download | libapr-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.txt | 21 | ||||
-rw-r--r-- | include/apr.hwc | 2 | ||||
-rw-r--r-- | include/arch/win32/apr_private.h | 2 |
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 |