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

Submitted by Ignacy Gawedzki on Feb. 7, 2013, 1:48 p.m.

Details

Message ID 20130207134835.GA23603@zenon.in.qult.net
State Accepted
Commit 5946dcfc582370fa8b55f06517a98bac2b2c1c1e
Headers show

Commit Message

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(-)

Comments

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 hide | download patch | download mbox

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