Commit Graph

41 Commits

Author SHA1 Message Date
Yann E. MORIN
19237110da package/icu: use the new ARCH_HAS_ATOMICS as dependency
And propagate to the reverse dependencies of icu.
Also, fix beecrypt's comment: only the C++ support needs atomics.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-18 10:56:42 +02:00
Anton Kolesov
b7a791a103 icu: Add dependency on atomic intrinsics
ICU requires GCC built-in atomic functions which are architecture specific
and may not be implemented.

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-03 11:24:33 +02:00
Thomas Petazzoni
c4019fcaa9 icu: fix build after custom data library patch
Commit abded6bfea ("icu: add an option
to add a custom data library file") broke the build because of an
improper test on a non-qstripped variable. This commit fixes that.

Fixes:

  http://autobuild.buildroot.org/results/02a/02a0800b01a4bf8734d601f79dc12663fe8f7542/
  and many other similar occurences of the same issue.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-29 13:23:34 +02:00
Johan Derycke
abded6bfea icu: add an option to add a custom data library file
[Thomas:
 - use one single BR2_PACKAGE_ICU_CUSTOM_DATA_PATH string option
   instead of a boolean option + a string option, which always causes
   a lot of issues with random configurations that enable the boolean
   option, but do not provide a valid value for the string option.
 - enclose the definition of ICU_COPY_CUSTOM_DATA into the condition.]

Signed-off-by: Johan Derycke <johan.derycke@barco.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-28 22:43:04 +02:00
Maxime Hadjinlian
ffa73248c6 icu: fix usage of libicudata on ARM EABIhf
The libicudata library was linked as a "data only" library using the
-nostdlib -nodefaultlibs flags, but this causes problems when using
the library on ARM EABIhf systems. Removing those flags fixes the
problem, and is the solution used by Debian, see
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=653457 for all the
details.

[Thomas: fix commit log and title, add more details to the patch
description.]

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@devialet.com>
Cc: Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-29 12:47:58 +02:00
Thomas Petazzoni
8797a8cb58 icu: not available when BR2_BINFMT_FLAT is used
icu does not recognize 'uclinux' as a supported platform. While making
it recognize uclinux is easy, there is another problem down the road:
icu does very weird things to generate an ELF library containing
static data (libicudata.a), and the generated library being ELF, it is
not compatible with the FLAT binary format expected by uclinux
platforms such as Blackfin in FLAT format.

Therefore, we simply disallow the selection of icu on FLAT
platforms.

Note that adding a dependency on BR2_BINFMT_ELF doesn't work, because
BR2_BINFMT_FDPIC is considered to be separate (even if technically
FDPIC is a derivative of ELF). That's why the dependency we're adding
is "depends on !BR2_BINFMT_FLAT" and not "depends on BR2_BINFMT_ELF".

Fixes:

  http://autobuild.buildroot.org/results/b41/b415fed7fae4012bad7d8b53a481bd71bdab716f/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-20 19:06:31 +01:00
Sonic Zhang
170d526e91 icu: detect and add compiler symbol prefix to the assembly code
Some compilers, such as the Blackfin GNU compiler, prefix a character to any
C symbol in generated assembly code. If any assembly symbol is invoked
from C code, it needs to be prefixed as well.

Note: since autoreconf doesn't work with this package because automake
isn't used.

Fixes:
  http://autobuild.buildroot.net/results/c40a22814b405de2c5c75139cfc393c863ed4b81/

[Ryan: add information about why patching configure is ok]
[Ryan: add renaming of patches to be consistent with standard]

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Ryan Barnett <rjbarnet@rockwellcollins.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-04 15:27:31 +01:00
Mischa Jonker
9b6c5e9c98 icu: Doesn't work on ARC yet
icu depends on __sync_sub_and_fetch and other atomic primitives that
don't exist in the ARC toolchain yet.

[Peter: adjust beecrypt/php comment dependency, don't mention atomic builtins]
Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-11 22:27:25 +01:00
Thomas De Schampheleire
66bb10b7b0 Config.in files: unify comments of toolchain option dependencies
This patch lines up the comments in Config.in files that clarify which
toolchain options the package depends on.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-14 22:45:57 +02:00
Axel Lin
a2bdef6575 icu: needs threads
Fixes:
http://autobuild.buildroot.net/results/ae7/ae721db2dd4e764a2af3825c388a63cad9720ebe/

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-08 17:04:18 +02:00
Jerzy Grzegorek
5a57148657 fix header package name
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-27 15:21:03 +02:00
Gustavo Zacarias
3911e67151 icu: security bump to version 51.2
Fixes CVE-2011-4599, CVE 2013-0900, CVE-2013-1569, CVE-2013-2383,
CVE-2013-2384, CVE-2013-2419.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-30 10:21:52 +02:00
Alexandre Belloni
8dfd59d114 Normalize separator size to 80
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-06 22:30:24 +02:00
Thomas Petazzoni
5f6baf89d4 icu: speed up host build
The host build of icu doesn't need to build everything, so we can add
a few more --disable-<foo> options to save a little bit of build time.

On a fast build server, this bring the host icu build from 2m28.517s
to 2m5.192s.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-10 23:15:58 +01:00
Thomas Petazzoni
a33baa1ef9 icu: don't build object files twice
When passed --enable-static and --enable-shared, icu will generate
both a shared and a static version of its libraries.

However, in order to do so, it builds each and every object file
twice: once with -fPIC (for the shared library), and once without
-fPIC (for the static library). While admittedly building -fPIC for a
static library generates a slightly suboptimal code, this is what all
the autotools-based project are doing. They build each object file
once, and they use it for both the static and shared libraries.

icu builds the object files for the shared library as .o files, and
the object files for static library as .ao files. By simply changing
the suffix of object files used for static libraries to ".o", we tell
icu to use the ones built for the shared library (i.e, with -fPIC),
and avoid the double build of icu.

On a fast build server, this brings the target icu build from
3m41.302s down to 1m43.926s (approximate numbers: some other builds
are running on the system at the same time).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-10 23:15:52 +01:00
Thomas Petazzoni
867b986721 icu: workaround toolchain bugs
Many of ARM Sourcery CodeBench toolchain have a bug when compiling
icu's translit.cpp source file. The bug is trigerred when there is a
combination of "-W -Wall" and "-Os", and causes an internal compiler
error. The bug has been reported to Mentor Graphics.

Even though it is clearly a toolchain bug, having a workaround for it
is trivial in this case. So it will avoid our users falling into this
internal compiler error, and allow our autobuilders to test more
packages using this Sourcery CodeBench toolchain.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-10 23:15:29 +01:00
Thomas Petazzoni
a5ce857674 package: use <pkg>_CONFIG_SCRIPTS wherever possible
Use the <pkg>_CONFIG_SCRIPTS mechanism in all packages for which it
does all what the package was doing. A few packages, like libxslt, are
for now left out, since they need some additional fixup (for example a
fixup of includedir).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-08 22:34:26 +01:00
Thomas Petazzoni
13ac891065 icu: add license informations
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-20 20:39:14 +01:00
Arnout Vandecappelle (Essensium/Mind)
e1502ebc0c all packages: rename XXXTARGETS to xxx-package
Also remove the redundant $(call ...).

This is a purely mechanical change, performed with
find package linux toolchain boot -name \*.mk | \
  xargs sed -i -e 's/$(eval $(call GENTARGETS))/$(eval $(generic-package))/' \
               -e 's/$(eval $(call AUTOTARGETS))/$(eval $(autotools-package))/' \
               -e 's/$(eval $(call CMAKETARGETS))/$(eval $(cmake-package))/'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17 20:23:05 +02:00
Arnout Vandecappelle (Essensium/Mind)
69e64c42b7 all packages: use new host-xxx-package macros
This is a purely mechanical change, performed with
find package linux toolchain boot -name \*.mk | \
  xargs sed -i -e 's/$(eval $(call GENTARGETS,host))/$(eval $(host-generic-package))/' \
               -e 's/$(eval $(call AUTOTARGETS,host))/$(eval $(host-autotools-package))/' \
               -e 's/$(eval $(call CMAKETARGETS,host))/$(eval $(host-cmake-package))/'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17 20:18:03 +02:00
Arnout Vandecappelle (Essensium/Mind)
feb96bb00d icu: remove redundant HOST_ICU_DEPENDENCIES
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-15 12:36:23 +02:00
Gustavo Zacarias
f39cac370e icu: bump to version 4.8.1.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-18 22:21:23 +02:00
Peter Korsgaard
66382bac30 icu: unbreak host build after auto-host-deps change
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-18 16:02:55 +01:00
Thomas Petazzoni
300f9c9c9d package: remove useless arguments from AUTOTARGETS
Thanks to the pkgparentdir and pkgname functions, we can rewrite the
AUTOTARGETS macro in a way that avoids the need for each package to
repeat its name and the directory in which it is present.

[Peter: pkgdir->pkgparentdir]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-29 23:12:27 +02:00
Peter Korsgaard
5a8c7934bd icu: fix parallel builds
The icu build system seems to have a race condition, which gets triggered
by high BR2_JLEVEL settings, so disable parallel builds.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-03-17 09:15:02 +01:00
Gustavo Zacarias
6dc2737d9a icu: tweak icu-config exec_prefix output
Closes #3259

We need to tweak icu-config's exec_prefix too, otherwise if the host
system lacks icu the build fails when looking for the libraries in
/usr/lib rather than the staging directory.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-24 20:54:29 +01:00
Gustavo Zacarias
84241e9499 icu: convert to autotargets and bump to version 4.4.2
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-22 23:45:17 +01:00
Thomas Petazzoni
8a1468be5b icu: add quotes around TARGET_CXX
Now that TARGET_CXX contains a --sysroot= option and therefore spaces,
it needs to be used with quotes.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 22:48:13 +02:00
Peter Korsgaard
da86b5acee icu: fix build with gcc >= 4.4 / JLEVEL > 1
Fix two issues with the icu build:
- icu source contains an #elif without any arguments, which g++ >= 4.4
  flags as an error. This is both an issue for target and host build,
  so restructure the .mk so any *both*patch is applied to both builds
  (the other patches would cause trouble with host builds)
- icu build system isn't parallel make safe, use MAKE1

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-23 23:32:49 +02:00
Peter Korsgaard
3fdf0bffb8 buildroot: silence ./configure step when building with 'make -s'
We have been passing -q to ./configure when using 'make -s' for
packages using Makefile.autotools.in for some time. Do the same
for packages using autotools, but not using the
Makefile.autotools.in infrastructure, taking care to not do it
for packages with hand written configure scripts.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-01 21:24:42 +02:00
Will Newton
422ce6536b package: Remove unnecessary dependencies on uclibc.
A C library will have been built by the toolchain makefiles, so there is no
need for packages to explicitly depend on uclibc.

Signed-off-by: Will Newton <will.newton@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-03 20:22:38 +02:00
Peter Korsgaard
b84a6adc28 icu: needs wchar support in toolchain as well 2009-01-27 15:02:29 +00:00
Peter Korsgaard
ad9402dba5 icu: add project url to help text 2009-01-27 15:02:25 +00:00
Peter Korsgaard
c0fd0f62f9 icu: needs C++ support in toolchain 2009-01-27 15:02:22 +00:00
Peter Korsgaard
4a7bfd2775 package/: convert to DOWNLOAD helper 2009-01-16 11:42:52 +00:00
Peter Korsgaard
ac1d92c425 package/: get rid of unneeded $(strip ..) 2008-12-08 08:15:27 +00:00
Peter Korsgaard
02a623ddf9 buildroot: remove trailing spaces
for i in `find -name 'Config*' -o -name 'Makefile*' -o -name '*.mk'`;
do
	sed -i 's/ \+$//' $i;
done
2008-08-04 19:07:05 +00:00
Peter Korsgaard
4683420c4c Kconfig: remove 'default n'
'default n' is the default, so there's no need to say it explicitly.
2008-07-17 20:01:44 +00:00
John Voltz
77ec383076 changed to use sourceforge variable 2008-03-10 15:15:57 +00:00
John Voltz
3773381d71 changed icu download location 2008-03-10 14:52:39 +00:00
John Voltz
bc7ae43824 added icu 2008-03-06 18:12:45 +00:00