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>