Patchwork boost: Pass staging dir to --with-icu option.

login
register
mail settings
Submitter Ignacy Gawedzki
Date Feb. 7, 2013, 1:48 p.m.
Message ID <20130207134835.GA23603@zenon.in.qult.net>
Download mbox | patch
Permalink /patch/218931/
State Accepted
Commit 5946dcfc582370fa8b55f06517a98bac2b2c1c1e
Headers show

Comments

Ignacy Gawedzki - Feb. 7, 2013, 1:48 p.m.
When using the --with-icu option without specifying the directory, boost's
bootstrap.sh script will look at "common" locations (lines 289-294):

    COMMON_ICU_PATHS="/usr /usr/local /sw"
    for p in $COMMON_ICU_PATHS; do
      if test -r $p/include/unicode/utypes.h; then
        ICU_ROOT=$p
      fi
    done

With buildroot it may surely become problematic at some point.
---
 package/boost/boost.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Thomas Petazzoni - Feb. 7, 2013, 2:47 p.m.
Dear Ignacy Gawedzki,

On Thu, 7 Feb 2013 14:48:35 +0100, Ignacy Gawedzki wrote:
> When using the --with-icu option without specifying the directory,
> boost's bootstrap.sh script will look at "common" locations (lines
> 289-294):
> 
>     COMMON_ICU_PATHS="/usr /usr/local /sw"
>     for p in $COMMON_ICU_PATHS; do
>       if test -r $p/include/unicode/utypes.h; then
>         ICU_ROOT=$p
>       fi
>     done
> 
> With buildroot it may surely become problematic at some point.

This looks sensible. However, it doesn't explain how Boost could have
been finding ICU before your patch. Any idea?

Thomas
Ignacy Gawedzki - Feb. 7, 2013, 3:24 p.m.
On Thu, Feb 07, 2013 at 03:47:00PM +0100, thus spake Thomas Petazzoni:
> Dear Ignacy Gawedzki,
> 
> On Thu, 7 Feb 2013 14:48:35 +0100, Ignacy Gawedzki wrote:
> > When using the --with-icu option without specifying the directory,
> > boost's bootstrap.sh script will look at "common" locations (lines
> > 289-294):
> > 
> >     COMMON_ICU_PATHS="/usr /usr/local /sw"
> >     for p in $COMMON_ICU_PATHS; do
> >       if test -r $p/include/unicode/utypes.h; then
> >         ICU_ROOT=$p
> >       fi
> >     done
> > 
> > With buildroot it may surely become problematic at some point.
> 
> This looks sensible. However, it doesn't explain how Boost could have
> been finding ICU before your patch. Any idea?

The answer to this question may be in the following lines of bootstrap.sh.  If
ICU is not found in any of those "common" locations, then bjam is called
without any -sICU_PATH option and it may be that it finds the correct location
automatically (by using passed LDFLAGS or something).

I started using Boost with ICU very recently, so I can't tell from my own
experience if this is what happens indeed.
Thomas Petazzoni - Feb. 7, 2013, 3:27 p.m.
Dear Ignacy Gawedzki,

On Thu, 7 Feb 2013 16:24:26 +0100, Ignacy Gawedzki wrote:

> The answer to this question may be in the following lines of
> bootstrap.sh.  If ICU is not found in any of those "common"
> locations, then bjam is called without any -sICU_PATH option and it
> may be that it finds the correct location automatically (by using
> passed LDFLAGS or something).

Ok, makes sense. Thank you!

Best regards,

Thomas
Peter Korsgaard - Feb. 8, 2013, 9:27 p.m.
>>>>> "Ignacy" == Ignacy Gawedzki <i@lri.fr> writes:

 Ignacy> When using the --with-icu option without specifying the
 Ignacy> directory, boost's bootstrap.sh script will look at "common"
 Ignacy> locations (lines 289-294):

 Ignacy>     COMMON_ICU_PATHS="/usr /usr/local /sw"
 Ignacy>     for p in $COMMON_ICU_PATHS; do
 Ignacy>       if test -r $p/include/unicode/utypes.h; then
 Ignacy>         ICU_ROOT=$p
 Ignacy>       fi
 Ignacy>     done

 Ignacy> With buildroot it may surely become problematic at some point.
 Ignacy> ---

Can you please provide your signed-off-by so I can apply this? Thanks.
Ignacy Gawedzki - Feb. 8, 2013, 10:36 p.m.
On Fri, Feb 08, 2013 at 10:27:35PM +0100, thus spake Peter Korsgaard:
> >>>>> "Ignacy" == Ignacy Gawedzki <i@lri.fr> writes:
> 
>  Ignacy> When using the --with-icu option without specifying the
>  Ignacy> directory, boost's bootstrap.sh script will look at "common"
>  Ignacy> loscript will look at "common"
>  Ignacy> locations (lines 289-294):
> 
>  Ignacy>     COMMON_ICU_PATHS="/usr /usr/local /sw"
>  Ignacy>     for p in $COMMON_ICU_PATHS; do
>  Ignacy>       if test -r $p/include/unicode/utypes.h; then
>  Ignacy>         ICU_ROOT=$p
>  Ignacy>       fi
>  Ignacy>     done
> 
>  Ignacy> With buildroot it may surely become problematic at some point.
>  Ignacy> ---
> 
> Can you please provide your signed-off-by so I can apply t

Do you mean this simple line:

  Signed-off-by: Ignacy Gawędzki <i@lri.fr>

?
Yann E. MORIN - Feb. 8, 2013, 10:39 p.m.
Ignacy, All,

On Friday 08 February 2013 Ignacy Gawedzki wrote:
> On Fri, Feb 08, 2013 at 10:27:35PM +0100, thus spake Peter Korsgaard:
> > Can you please provide your signed-off-by so I can apply t
> Do you mean this simple line:
>   Signed-off-by: Ignacy Gawędzki <i@lri.fr>

Yes, see: http://www.elinux.org/Developer_Certificate_Of_Origin

Regards,
Yann E. MORIN.
Peter Korsgaard - Feb. 9, 2013, 9:56 a.m.
>>>>> "Ignacy" == Ignacy Gawedzki <i@lri.fr> writes:

 Ignacy> On Fri, Feb 08, 2013 at 10:27:35PM +0100, thus spake Peter Korsgaard:
 >> >>>>> "Ignacy" == Ignacy Gawedzki <i@lri.fr> writes:
 >> 
 Ignacy> When using the --with-icu option without specifying the
 Ignacy> directory, boost's bootstrap.sh script will look at "common"
 Ignacy> loscript will look at "common"
 Ignacy> locations (lines 289-294):
 >> 
 Ignacy> COMMON_ICU_PATHS="/usr /usr/local /sw"
 Ignacy> for p in $COMMON_ICU_PATHS; do
 Ignacy> if test -r $p/include/unicode/utypes.h; then
 Ignacy> ICU_ROOT=$p
 Ignacy> fi
 Ignacy> done
 >> 
 Ignacy> With buildroot it may surely become problematic at some point.
 Ignacy> ---
 >> 
 >> Can you please provide your signed-off-by so I can apply t

 Ignacy> Do you mean this simple line:

 Ignacy>   Signed-off-by: Ignacy Gawędzki <i@lri.fr>

Yes, committed - Thanks.

Patch

diff --git a/package/boost/boost.mk b/package/boost/boost.mk
index 5e1bb4e..a202848 100644
--- a/package/boost/boost.mk
+++ b/package/boost/boost.mk
@@ -39,7 +39,7 @@  BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TIMER),,timer)
 BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_WAVE),,wave)
 
 ifeq ($(BR2_PACKAGE_ICU),y)
-BOOST_FLAGS += --with-icu
+BOOST_FLAGS += --with-icu=$(STAGING_DIR)/usr
 BOOST_DEPENDENCIES += icu
 else
 BOOST_FLAGS += --without-icu