summaryrefslogtreecommitdiff
path: root/libicuuc/build
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2019-12-26 23:05:57 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2020-01-27 22:47:56 +0300
commit7f235e1d24ce525a2bd032cefa82d96ccfdc8a19 (patch)
treeb0df84d85c53aae6718e76af8ce3bdd557270f0c /libicuuc/build
parentbda94b275036150b568364fe3e5f96e04ed41fc3 (diff)
Add implementation
Diffstat (limited to 'libicuuc/build')
-rw-r--r--libicuuc/build/.gitignore3
-rw-r--r--libicuuc/build/bootstrap.build32
-rw-r--r--libicuuc/build/export.build10
-rw-r--r--libicuuc/build/root.build26
4 files changed, 71 insertions, 0 deletions
diff --git a/libicuuc/build/.gitignore b/libicuuc/build/.gitignore
new file mode 100644
index 0000000..4a730a3
--- /dev/null
+++ b/libicuuc/build/.gitignore
@@ -0,0 +1,3 @@
+config.build
+root/
+bootstrap/
diff --git a/libicuuc/build/bootstrap.build b/libicuuc/build/bootstrap.build
new file mode 100644
index 0000000..e029299
--- /dev/null
+++ b/libicuuc/build/bootstrap.build
@@ -0,0 +1,32 @@
+# file : build/root.build
+# copyright : Copyright (c) 2018-2019 Code Synthesis Ltd
+# license : Unicode License; see accompanying LICENSE file
+
+project = libicuuc
+
+using version
+using config
+using test
+using install
+using dist
+
+# The ICU version has the <release>.<shared-update>[.<update>] form. The
+# shared update version is 0 during development, 1 for the initial release,
+# and is incremented for the C/C++ and Java libraries common changes. The
+# update version is incremented (or added) for updates applied to only the
+# C/C++ or Java library.
+#
+# Note that the release version is not a semantic version and we will map the
+# two-component versions to the standard versions as
+# <release>.<shared-update>.0.
+#
+# The library naming scheme on Linux is
+# libicuuc.so.<release>.<shared-update>[.<update>] (LIB_VERSION in
+# icu4c/source/configure.ac). The ABI compatibility is preserved for the
+# shared updates. See also:
+#
+# http://userguide.icu-project.org/design#TOC-Version-Numbers-in-ICU
+#
+abi_version_major = "$version.major"
+abi_version_patch = ($version.patch != 0 ? ".$version.patch" : "")
+abi_version = "$abi_version_major.$version.minor$abi_version_patch"
diff --git a/libicuuc/build/export.build b/libicuuc/build/export.build
new file mode 100644
index 0000000..e704c7a
--- /dev/null
+++ b/libicuuc/build/export.build
@@ -0,0 +1,10 @@
+# file : build/root.build
+# copyright : Copyright (c) 2018-2019 Code Synthesis Ltd
+# license : Unicode License; see accompanying LICENSE file
+
+$out_root/
+{
+ include libicu/
+}
+
+export $out_root/libicu/$import.target
diff --git a/libicuuc/build/root.build b/libicuuc/build/root.build
new file mode 100644
index 0000000..a5e2f90
--- /dev/null
+++ b/libicuuc/build/root.build
@@ -0,0 +1,26 @@
+# file : build/root.build
+# copyright : Copyright (c) 2018-2019 Code Synthesis Ltd
+# license : Unicode License; see accompanying LICENSE file
+
+c.std = 11
+
+using c
+
+h{*}: extension = h
+c{*}: extension = c
+
+# Note that upstream compiles with -std=c++11 but this ends up with the 'auto
+# return without trailing return type' error for Clang targeting MSVC runtime.
+#
+cxx.std = latest
+
+using cxx
+
+hxx{*}: extension = h
+cxx{*}: extension = cpp
+
+if ($c.target.system == 'win32-msvc')
+ cc.poptions += -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS
+
+if ($c.class == 'msvc')
+ cc.coptions += /wd4251 /wd4275 /wd4800