From 7a9ad23a9ec80a37308ab75c23c67da57287dd80 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Mon, 11 Sep 2023 15:40:02 +0300 Subject: Release version 3.2.4+1 Add support for config.libxerces_c.transcoder_icu variable Update .gitignore file --- libxerces-c/xercesc/buildfile | 40 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) (limited to 'libxerces-c/xercesc/buildfile') diff --git a/libxerces-c/xercesc/buildfile b/libxerces-c/xercesc/buildfile index c50b091..15f61b1 100644 --- a/libxerces-c/xercesc/buildfile +++ b/libxerces-c/xercesc/buildfile @@ -2,25 +2,34 @@ # license : Apache License 2.0; see accompanying LICENSE file network = $config.libxerces_c.network +transcoder_icu = $config.libxerces_c.transcoder_icu + +intf_libs = # Interface dependencies. +impl_libs = # Implementation dependencies. # Note that the installed util/NetAccessors/Curl/CurlURLInputStream.hpp # includes the libcurl headers. # if $network - import intf_libs = libcurl%lib{curl} + import intf_libs += libcurl%lib{curl} -import impl_libs = libicuuc%lib{icuuc} -import impl_libs += libicui18n%lib{icui18n} +if $transcoder_icu +{ + import impl_libs += libicuuc%lib{icuuc} + import impl_libs += libicui18n%lib{icui18n} +} lib{xerces-c}: {h }{config} \ {hxx txx cxx}{*/** -util/FileManagers/** \ -util/NetAccessors/** \ + -util/Transcoders/** \ -util/XercesVersion} \ {hxx }{ util/XercesVersion} tclass = $cxx.target.class tsys = $cxx.target.system +macos = ($tclass == 'macos') windows = ($tclass == 'windows') lib{xerces-c}: {h c}{stricmp strnicmp} \ @@ -30,6 +39,14 @@ lib{xerces-c}: util/FileManagers/{hxx cxx}{WindowsFileMgr}: include = $windows lib{xerces-c}: util/NetAccessors/Curl/{hxx cxx}{*}: include = $network +lib{xerces-c}: util/Transcoders/ICU/{hxx cxx}{*}: include = $transcoder_icu + +lib{xerces-c}: util/Transcoders/MacOSUnicodeConverter/{hxx cxx}{*}: \ +include = (!$transcoder_icu && $macos) + +lib{xerces-c}: util/Transcoders/Win32/{hxx cxx}{*}: \ +include = (!$transcoder_icu && $windows) + lib{xerces-c}: $intf_libs $impl_libs # Include the generated version header into the distribution (so that we @@ -55,6 +72,13 @@ util/hxx{XercesVersion}: util/in{XercesVersion} $src_root/manifest if $network cc.poptions += -DXERCES_USE_NETACCESSOR_CURL=1 +if $transcoder_icu + cc.poptions += -DXERCES_USE_TRANSCODER_ICU=1 +elif $macos + cc.poptions += -DXERCES_USE_TRANSCODER_MACOSUNICODECONVERTER=1 +elif $windows + cc.poptions += -DXERCES_USE_TRANSCODER_WINDOWS=1 + cc.poptions += -DXERCES_BUILDING_LIBRARY -DHAVE_CONFIG_H -D_THREAD_SAFE if $windows @@ -110,6 +134,9 @@ switch $tclass, $tsys # cxx.aoptions += /IGNORE:4221 + if! $transcoder_icu + cxx.libs += advapi32.lib + cxx.libs += ws2_32.lib } case 'linux' @@ -120,6 +147,13 @@ switch $tclass, $tsys cxx.libs += -lm -pthread } + case 'macos' + { + if! $transcoder_icu + cxx.libs += -framework CoreServices + + cxx.libs += -pthread + } default { cxx.libs += -pthread -- cgit v1.1