[OE-core] [PATCH 2/4] ICU: add pkgconfig support
ChenQi
Qi.Chen at windriver.com
Wed Dec 12 08:48:32 UTC 2012
On 12/11/2012 09:59 AM, Saul Wold wrote:
> On 12/10/2012 05:07 PM, Andreas Müller wrote:
>> On Mon, Dec 10, 2012 at 10:44 PM, Saul Wold <sgw at linux.intel.com> wrote:
>>> On 12/10/2012 08:48 AM, Saul Wold wrote:
>>>>
>>>> On 12/04/2012 12:46 AM, Qi.Chen at windriver.com wrote:
>>>>>
> <SNIP>
>>>>> "
>>>>> SRC_URI = "${BASE_SRC_URI} \
>>>>> file://noldlibpath.patch \
>>>>> @@ -28,6 +29,12 @@ inherit autotools pkgconfig binconfig
>>>>> do_configure() {
>>>>> libtoolize --force
>>>>> gnu-configize --force
>>>>> + if [ "${PN}" != "icu-native" ]; then
>>>>> + OLD=`pwd`
>>>>> + cd ${S}
>>>>> + autoconf
>>>>> + cd ${OLD}
>>>>> + fi
>>>
>>>
>>> I had some time this morning to investigate this more deeply. What
>>> I found
>>> was that the ICU tarball was being delivered with a "configure" and
>>> that the
>>> do_configure was avoiding the "autoconf" conversion of configure.in ->
>>> configure. I am not sure if this is historical or if this is truly
>>> needed.
>>>
>>> So by doing the autoconf above you changed the "configure" script,
>>> this in
>>> turn caused some configuration changes to occur in the platform.h
>>> file. Why
>>> these changed (particularly the U_HAVE_NAMESPACE define) then caused
>>> the ICU
>>> libraries to be built with different namespace.
>>>
>>> So a couple of key questions that need to be resolved:
>>> 1) Will updating to 4.6 solve this issue, if not then we need to
>>> dive into 2
>>> + 3 Below:
>>>
>>> 2) Why does icu tarball have a generated configure?
>>>
>>> 3) Why does the autoconf generated configure fail to configure things
>>> correctly?
>>>
>>> Sau!
>>>
>> Also got this error but reported it to the wrong mailing list - sorry.
>> I also looked around for this. The patch added pkg-config to icu. Just
>> a guess: webkit-gtk fails due to a mixture of renamed symbols
>> (EventListener_3_6 - see sysroot/usr/include/unicode/urename.h) and
>> unrenamed symbols. Before the icu-patch this did not happen because
>> (icu's) urename.h was not included and no symbols were renamed or
>> renamed differently. My problem: The error gives me information about
>> renamed symbol but I did not yet find the time to search for
>> unrenamed. As I said: Just a guess
>>
> I am not sure that's it, the renaming is actually in the NAMESPACE,
> the older (no pkg-config) sets HAVE_NAMESPACE in the platform.h file
> and then the symbols have icu_2_6 in them, that's the real issue,
> which is caused by running autoconf and getting a bad/wrong
> "configure" script vs the one suplied in the tarball.
>
> Sau!
>
>> Andreas
>>
>>
>
Hi Saul,
The errors are:
configure.in:219: error: possibly undefined macro: AC_CHECK_STRICT_COMPILE
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.in:222: error: possibly undefined macro: AC_CHECK_64BIT_LIBS
configure.in:492: error: possibly undefined macro: AC_SEARCH_LIBS_FIRST
The recipe's in attachment.
I first tried it on my own computer without yocto, everything's OK. The
autoconf-generated configure is the same with the shipped one. So I
figured maybe we don't need to override the do_configure and do_compile
method here.
-------------- next part --------------
require icu-50.inc
PR = "r1"
SRC_URI[md5sum] = "cf7bf9e56aa6c2057a8b6f464046483e"
SRC_URI[sha256sum] = "68592b3c07d9b86100f41d0172eb1a81f3ffb2a8fef1104d7395099079ba7350"
-------------- next part --------------
SUMMARY = "International Component for Unicode libraries"
DESCRIPTION = "The International Component for Unicode (ICU) is a mature, portable set of C/C++ and Java libraries for Unicode support, software internationalization (I18N) and globalization (G11N), giving applications the same results on all platforms."
HOMEPAGE = "http://site.icu-project.org/"
BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/50.1/icu4c-50_1-src.tgz"
SRC_URI = "${BASE_SRC_URI}"
SRC_URI_class-native = "${BASE_SRC_URI}"
LICENSE = "ICU"
LIC_FILES_CHKSUM = "file://../license.html;md5=5c94767cedb5d6987c902ac850ded2c6"
DEPENDS = "icu-native"
DEPENDS_class-native = ""
S = "${WORKDIR}/icu/source"
PARALLEL_MAKE = ""
FULL_OPTIMIZATION_arm = "-Os"
inherit autotools pkgconfig binconfig
PACKAGES =+ "libicudata libicuuc libicui18n libicule libiculx libicutu libicuio"
FILES_${PN}-dev += "${libdir}/${BPN}/"
FILES_libicudata = "${libdir}/libicudata.so.*"
FILES_libicuuc = "${libdir}/libicuuc.so.*"
FILES_libicui18n = "${libdir}/libicui18n.so.*"
FILES_libicule = "${libdir}/libicule.so.*"
FILES_libiculx = "${libdir}/libiculx.so.*"
FILES_libicutu = "${libdir}/libicutu.so.*"
FILES_libicuio = "${libdir}/libicuio.so.*"
BBCLASSEXTEND = "native"
More information about the Openembedded-core
mailing list