All of lore.kernel.org
 help / color / mirror / Atom feed
From: ChenQi <Qi.Chen@windriver.com>
To: Saul Wold <sgw@linux.intel.com>
Cc: Zhenfeng.Zhao@windriver.com, openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 2/4] ICU: add pkgconfig support
Date: Tue, 11 Dec 2012 10:05:05 +0800	[thread overview]
Message-ID: <50C694D1.8070703@windriver.com> (raw)
In-Reply-To: <50C657CD.2040103@linux.intel.com>


>> Not sure what exactly is happening.
>>
>> Please look into this.
>>
>> Thanks
>>      Sau!
>>
>>> Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>>> ---
>>>   .../icu/files/icu-add-pkgconfig-support.patch      |   43
>>> ++++++++++++++++++++
>>>   meta/recipes-support/icu/icu-3.6.inc               |   11 +++++
>>>   meta/recipes-support/icu/icu_3.6.bb                |    2 +-
>>>   3 files changed, 55 insertions(+), 1 deletion(-)
>>>   create mode 100644
>>> meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch
>>>
>>> diff --git
>>> a/meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch
>>> b/meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch
>>> new file mode 100644
>>> index 0000000..c7cd9d5
>>> --- /dev/null
>>> +++ b/meta/recipes-support/icu/files/icu-add-pkgconfig-support.patch
>>> @@ -0,0 +1,43 @@
>>> +Upstream-Status: Inappropriate [version]
>>> +ICU-3.6 has no pkgconfig, so I add it here.
>>> +But ICU has had pkgconfig support since 4.6.
>>> +So this patch is inappropriate to upstream.
>>> +
>>> +Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
>>> +
>>> +Index: configure.in
>>> +=============================================================
>>> +--- a/configure.in
>>> ++++ b/configure.in
>>> +@@ -1057,4 +1057,7 @@ echo "This may cause ICU to fail to build.
>>> Please make sure that GNU make"
>>> + echo "is in your PATH so that this configure script can detect its
>>> location."
>>> + fi
>>> +
>>> ++AC_CONFIG_FILES([icu.pc])
>>> ++AC_OUTPUT
>>> ++
>>> + $as_unset _CXX_CXXSUFFIX
>>> +
>>> +Index: icu.pc.in
>>> +=============================================================
>>> +--- /dev/null
>>> ++++ b/icu.pc.in
>>> +@@ -0,0 +1,15 @@
>>> ++# Process this file with autoconf to produce a pkg-config metadata
>>> file.
>>> ++
>>> ++prefix=@prefix@
>>> ++exec_prefix=@exec_prefix@
>>> ++libdir=@libdir@
>>> ++includedir=@includedir@
>>> ++unicode_version=@UNICODE_VERSION@
>>> ++
>>> ++Name: ICU
>>> ++Description: International Component for Unicode libraries
>>> ++Requires:
>>> ++Version: @VERSION@
>>> ++Libs: -L${libdir} -licui18n -licuuc -licudata
>>> ++Libs.private: -L{libdir} -lpthread -lm
>>> ++Cflags: -I${includedir} -O2 -pipe -g -feliminate-unused-debug-types
>>> +--
>>> +1.7.11.2
>>> +
>>> diff --git a/meta/recipes-support/icu/icu-3.6.inc
>>> b/meta/recipes-support/icu/icu-3.6.inc
>>> index 272f6d1..8caf71c 100644
>>> --- a/meta/recipes-support/icu/icu-3.6.inc
>>> +++ b/meta/recipes-support/icu/icu-3.6.inc
>>> @@ -7,6 +7,7 @@ BASE_SRC_URI =
>>> "ftp://ftp.software.ibm.com/software/globalization/icu/3.6/icu4c-
>>>              file://fix-parallel-build.patch \
>>>              file://use-g++-for-linking.patch \
>>>              file://larger-cmd-size.patch \
>>> +       file://icu-add-pkgconfig-support.patch \
>>>              "
>>>   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!
>
>
Thanks a lot!
I'll look into this immediately.


Chen Qi

>>>       oe_runconf
>>>       if [ "${PN}" != "icu-native" ]; then
>>>           # In the non-native case we need to make substitutions to use
>>> @@ -45,6 +52,10 @@ do_compile() {
>>>
>>>   do_install_append() {
>>>           chmod +x ${D}${libdir}/lib*
>>> +    if [ "${PN}" != "icu-native" ]; then
>>> +        install -d ${D}/${libdir}/pkgconfig
>>> +            install -m 0644 ${S}/icu.pc ${D}/${libdir}/pkgconfig
>>> +    fi
>>>   }
>>>
>>>   PACKAGES =+ "libicudata libicuuc libicui18n libicule libiculx
>>> libicutu libicuio"
>>> diff --git a/meta/recipes-support/icu/icu_3.6.bb
>>> b/meta/recipes-support/icu/icu_3.6.bb
>>> index f941acf..f50abe2 100644
>>> --- a/meta/recipes-support/icu/icu_3.6.bb
>>> +++ b/meta/recipes-support/icu/icu_3.6.bb
>>> @@ -1,6 +1,6 @@
>>>   require icu-3.6.inc
>>>
>>> -PR = "r9"
>>> +PR = "r10"
>>>
>>>   SRC_URI[md5sum] = "6243f7a19e03e05403ce84e597510d4c"
>>>   SRC_URI[sha256sum] =
>>> "5135e8d69d6206d320515df7aeee7027711ab1aef9d8dbf29571a97a9746b041"
>>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>
>>
>




  parent reply	other threads:[~2012-12-11  2:19 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-03 10:42 [PATCH 0/4] [V2] Add pkgconfig support to four packages Qi.Chen
2012-12-03 10:42 ` [PATCH 1/4] libksba: add pkgconfig support Qi.Chen
2012-12-03 10:42 ` [PATCH 2/4] ICU: " Qi.Chen
2012-12-03 11:50   ` Burton, Ross
2012-12-04  2:04     ` ChenQi
2012-12-10 16:48   ` Saul Wold
2012-12-10 21:44     ` Saul Wold
2012-12-11  1:07       ` Andreas Müller
2012-12-11  1:59         ` Saul Wold
2012-12-12  8:48           ` ChenQi
2012-12-12  8:58             ` ChenQi
2012-12-11  2:05       ` ChenQi [this message]
2012-12-03 10:42 ` [PATCH 3/4] pth: " Qi.Chen
2012-12-03 10:42 ` [PATCH 4/4] libassuan: " Qi.Chen
2012-12-04  8:51 ` [PATCH 0/4] [V3] Add pkgconfig support to four packages ChenQi
  -- strict thread matches above, loose matches on Subject: below --
2012-11-26  9:36 [PATCH 0/4] " Qi.Chen
2012-11-26  9:36 ` [PATCH 2/4] icu: add pkgconfig support Qi.Chen
2012-11-26 10:56   ` Burton, Ross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50C694D1.8070703@windriver.com \
    --to=qi.chen@windriver.com \
    --cc=Zhenfeng.Zhao@windriver.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=sgw@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.