aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/libiconv
diff options
context:
space:
mode:
authoralexv-smirnov <alex@ydb.tech>2023-06-13 11:05:01 +0300
committeralexv-smirnov <alex@ydb.tech>2023-06-13 11:05:01 +0300
commitbf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0 (patch)
tree1d1df72c0541a59a81439842f46d95396d3e7189 /contrib/libs/libiconv
parent8bfdfa9a9bd19bddbc58d888e180fbd1218681be (diff)
downloadydb-bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0.tar.gz
add ymake export to ydb
Diffstat (limited to 'contrib/libs/libiconv')
-rw-r--r--contrib/libs/libiconv/dynamic/ya.make20
-rw-r--r--contrib/libs/libiconv/static/ya.make31
-rw-r--r--contrib/libs/libiconv/ya.make45
3 files changed, 96 insertions, 0 deletions
diff --git a/contrib/libs/libiconv/dynamic/ya.make b/contrib/libs/libiconv/dynamic/ya.make
new file mode 100644
index 0000000000..45e97b5aa7
--- /dev/null
+++ b/contrib/libs/libiconv/dynamic/ya.make
@@ -0,0 +1,20 @@
+DYNAMIC_LIBRARY(iconv)
+
+VERSION(1.13)
+
+LICENSE(
+ LGPL-2.0-only
+ LGPL-2.0-or-later
+)
+
+LICENSE_TEXTS(../.yandex_meta/licenses.list.txt)
+
+PROVIDES(libiconv)
+
+NO_RUNTIME()
+
+EXPORTS_SCRIPT(libiconv.exports)
+
+DYNAMIC_LIBRARY_FROM(contrib/libs/libiconv/static)
+
+END()
diff --git a/contrib/libs/libiconv/static/ya.make b/contrib/libs/libiconv/static/ya.make
new file mode 100644
index 0000000000..df89458046
--- /dev/null
+++ b/contrib/libs/libiconv/static/ya.make
@@ -0,0 +1,31 @@
+LIBRARY()
+
+VERSION(1.13)
+
+LICENSE(
+ LGPL-2.0-only AND
+ LGPL-2.0-or-later
+)
+
+LICENSE_TEXTS(../.yandex_meta/licenses.list.txt)
+
+PROVIDES(libiconv)
+
+NO_RUNTIME()
+
+NO_COMPILER_WARNINGS()
+
+IF (ARCADIA_ICONV_NOCJK)
+ CFLAGS(
+ -DARCADIA_ICONV_NOCJK
+ )
+ENDIF()
+
+SRCDIR(contrib/libs/libiconv)
+ADDINCL(GLOBAL contrib/libs/libiconv/include)
+
+SRCS(
+ iconv.c
+)
+
+END()
diff --git a/contrib/libs/libiconv/ya.make b/contrib/libs/libiconv/ya.make
new file mode 100644
index 0000000000..6d6b1141b9
--- /dev/null
+++ b/contrib/libs/libiconv/ya.make
@@ -0,0 +1,45 @@
+LIBRARY()
+
+VERSION(1.13)
+
+LICENSE(Service-Dll-Harness)
+
+WITHOUT_LICENSE_TEXTS()
+
+NO_RUNTIME()
+
+IF(OS_WINDOWS)
+ OPENSOURCE_EXPORT_REPLACEMENT(
+ CMAKE Iconv
+ CMAKE_TARGET Iconv::Iconv
+ CONAN libiconv/1.15
+ CONAN_OPTIONS libiconv:shared=True
+ )
+ELSE()
+ # Opensource code is compatible with libc provided iconv API on major linux distributions and macos.
+ # * We prefere to avoid vendoring LGPL libraries in our opensouce project
+ # * Major distributions do not provide GNU libiconv as separate package
+ # * Shared lib dependencies from conan overcomplicate final artefacts distribution
+ DISABLE(OPENSOURCE_EXPORT)
+ENDIF()
+
+IF (NOT EXPORT_CMAKE)
+
+IF (USE_DYNAMIC_ICONV)
+ PEERDIR(
+ contrib/libs/libiconv/dynamic
+ )
+ELSE()
+ PEERDIR(
+ contrib/libs/libiconv/static
+ )
+ENDIF()
+
+ENDIF()
+
+END()
+
+RECURSE(
+ dynamic
+ static
+)