From 7f235e1d24ce525a2bd032cefa82d96ccfdc8a19 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Thu, 26 Dec 2019 23:05:57 +0300 Subject: Add implementation --- libicuuc/build/.gitignore | 3 +++ libicuuc/build/bootstrap.build | 32 ++++++++++++++++++++++++++++++++ libicuuc/build/export.build | 10 ++++++++++ libicuuc/build/root.build | 26 ++++++++++++++++++++++++++ 4 files changed, 71 insertions(+) create mode 100644 libicuuc/build/.gitignore create mode 100644 libicuuc/build/bootstrap.build create mode 100644 libicuuc/build/export.build create mode 100644 libicuuc/build/root.build (limited to 'libicuuc/build') 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 .[.] 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 +# ..0. +# +# The library naming scheme on Linux is +# libicuuc.so..[.] (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 -- cgit v1.1