Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Dec 2016 16:04:31 +0100
From:      Tijl Coosemans <tijl@FreeBSD.org>
To:        "Steven R. Loomis" <srl@icu-project.org>
Cc:        <office@freebsd.org>
Subject:   Re: ICU port?
Message-ID:  <20161210160419.79ade1e2@kalimero.tijl.coosemans.org>
In-Reply-To: <F4E3A872-A8CA-450C-BA0C-201C9C66B58F@icu-project.org>
References:  <F4E3A872-A8CA-450C-BA0C-201C9C66B58F@icu-project.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 09 Dec 2016 15:44:47 -0800 "Steven R. Loomis" <srl@icu-project.org>=
 wrote:
> I came across this address (though it seems to be a generic one)
> on http://portsmon.freebsd.org/portoverview.py?category=3Ddevel&portname=
=3Dicu
> and https://svnweb.freebsd.org/ports/head/devel/icu/
>=20
> I work on ICU.  58.2 is shipping today (hopefully).
>=20
> It seems there are a bunch of patches in
> https://svnweb.freebsd.org/ports/head/devel/icu/files/
>=20
> It would be great to get these pushed upstream to ICU.
>=20
> Any way we can try to do that?
> ICU=E2=80=99s CLA is at https://ssl.icu-project.org/trac/wiki/IcuDownstre=
ams#cla
> for accepting patches.

Feel free to commit them.

The Makefile patches fix installation of static libraries.  INSTALL-L
is equal to INSTALL_PROGRAM which may include the -s flag to strip
(debug) symbols.  Stripping removes the .symtab section from ELF files
which is ok for programs and dynamically linked libraries (which also
have a .dynsym section listing exported symbols), but not for static
libraries.  If you strip a static library it will no longer export any
symbols, i.e. the output of "readelf -s libfoo.a" will be empty.

patch-common_umutex.cpp:
This code is compiled conditionally and one of the cases is a c++11
compiler without <atomic> header.  uio.fState is an atomic variable and
cannot be read directly.  I used umtx_loadAcquire in the patch because
that's what's used elsewhere to read fState.

patch-common_unicode_platform.h:
I believe that since a few versions ICU is compiled with _XOPEN_SOURCE
defined.  This makes our libc headers more strictly standards compliant
so they don't define BYTE_ORDER and BIG_ENDIAN.  _BYTE_ORDER and
_BIG_ENDIAN are still defined though.  The patch should probably just
add them without removing the former.  You should also check if other
operating systems define these macros and if their definition is
compatible or not.

patch-common_unicode_uconfig.h:
This is just local FreeBSD configuration.  You probably don't want to
commit this.

patch-config_mh-bsd-gcc:
Makes this file more similar to the Linux one.

patch-r39484:
Patch from https://ssl.icu-project.org/trac/ticket/12827



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20161210160419.79ade1e2>