Commit Graph

53 Commits

Author SHA1 Message Date
Zoltan Gyarmati
ef557e0d28 icu: fix build-time segfault by backporting upstream fix
The icu bug http://bugs.icu-project.org/trac/ticket/11959 also
hit me, but oddly enough only when running build build server via
Jenkins. This patch adds the upstream fix for the mentioned bug, so the
patch most likely can be removed at the next version bump.

Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-17 22:09:09 +01:00
Thomas Petazzoni
971fae9896 icu: libatomic is only available starting from gcc 4.8
Fixes:

  http://autobuild.buildroot.org/results/51b060bbdecdcaac89f764026693bf711e7145d5/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-06 11:16:00 +01:00
Thomas Petazzoni
9f99ec21e5 icu: remove BR2_ARCH_HAS_ATOMICS dependency
The BR2_ARCH_HAS_ATOMICS was added because on ARC, atomic instructions
may not be provided by the architecture and therefore the compiler
does not provide the __sync_*() built-ins.

However, since then, icu was changed and is now able to use C++11
atomics, or even no atomic operations at all. In fact, icu will:

 * If possible, it will use C++11 atomics, which internally rely on
   the __atomic built-ins. These are available since gcc 4.7, and all
   architectures provide it. On some architectures, you *must* link
   with libatomic, on some other architectures, they are available
   built-in, but in all cases, linking against libatomic does not
   harm. Thanks to this, even ARC with no atomic support (which was
   the original reason for adding the BR2_ARCH_HAS_ATOMICS) dependency
   builds fine, provided -latomic is added to LIBS.

 * If C++11 atomics are not available, then it falls back to
   __sync_*() built-ins, which allows compilers older than 4.7 to be
   supported.

 * If really no atomic mechanism is available, then it falls back to a
   basic implementation based on a mutex.

Conclusion:

 - The BR2_ARCH_HAS_ATOMICS dependency is no longer needed.

 - We need to link with -latomic when gcc >= 4.7 is used.

Note that reverse dependencies of icu are also changed accordingly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-01-26 21:26:08 +01:00
Gustavo Zacarias
1b73b9218d icu: bump to version 56.1
Signed-off-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-10-13 21:16:20 +02:00
Romain Naour
13dc887cda package/icu: icu-uc: provide -lstdc++ flag for static build
icu-uc.pc must provide -lstdc++ for C application linked
statically with libicuuc.a.

Related to:
http://autobuild.buildroot.net/results/210/2107f9dfb39eeb6559fb4271c7af8b39aef521ca/

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-23 23:30:35 +02:00
Gustavo Zacarias
2ae93873e3 icu: update icudata generator URL
It was pointing to version 51.x which wouldn't work well with 55.x.

Point it to the latest version that matches the current buildroot
version (55). When a new ICU major version is released a link for the
"old" 55 version will be available below as is it currently for
previous versions such as 54, 53 and so on.

Signed-off-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-12 16:37:08 +02:00
Gustavo Zacarias
8080aacf70 icu: enable parallel build
Re-enable parallel builds, it doesn't seem to be affected by the issue
worked around in 5a8c7934 any more.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-06-04 15:36:00 +02:00
Gustavo Zacarias
bfc8a3c421 icu: bump to version 55.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-03 14:29:27 +02:00
Peter Korsgaard
298cd8eaa2 package/*: rename patches according to the new policy
Autogenerated from rename-patch.py (http://patchwork.ozlabs.org/patch/403345)

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-02-03 14:52:56 +01:00
Jerzy Grzegorek
38f09d6873 package: indentation cleanup
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-24 11:41:05 +01:00
Gustavo Zacarias
6f712df4f0 icu: bump to version 54.1
Also add hash file.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-18 22:57:45 +01:00
Thomas De Schampheleire
aaffd209fa packages: rename FOO_CONF_OPT into FOO_CONF_OPTS
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_CONF_OPT.

Sed command used:
   find * -type f | xargs sed -i 's#_CONF_OPT\>#&S#g'

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-04 18:54:16 +02:00
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