[Buildroot] [PATCHv2] package: add the poco C++ libraries collection

Baruch Siach baruch at tkos.co.il
Tue Sep 27 16:26:27 UTC 2011

Hi Peter,

On Mon, Sep 26, 2011 at 10:32:29PM +0200, Peter Korsgaard wrote:
> >>>>> "Baruch" == Baruch Siach <baruch at tkos.co.il> writes:
>  >> The FE_* macros afaik only supposed to be defined if the arch can
>  >> efficiently handle it, which isn't the case for ARM.
>  Baruch> It builds here for ARM (BR2_ARM_TYPE="ARM926T") using the CodeSourcery 
>  Baruch> toolchain (with a little toolchain support fix I'll send shortly).
> Indeed. The codesourcery toolchain presumably uses glibc. The problem is
> with uClibc - But I don't want to add a package which doesn't work with
> the internal toolchain.
>  >> fenv.h the
>  >> supporting functions are only enabled on uClibc if UCLIBC_HAS_FENV is
>  >> enabled in the .config, which it isn't for our uClibc defconfigs.
>  >> 
>  >> I'm not exactly sure how to fix this. Any ideas?
>  Baruch> Is there a way to depend on UCLIBC_HAS_FENV?
>  Baruch> Is depending on glibc an option?
> I would rather see a patch which uses the dummy fenv implementation on
> uClibc without UCLIBC_HAS_FENV.
> You can detect that using something like
> #include <fetures.h>
> #if defined(__UCLIBC__) && !defined (__UCLIBC_HAS_FENV__)
> ..
> But I haven't looked at the poco build system to see how easy that would
> be.

Well, it seems that the Poco configure script can do just that when told to.  
The --no-fpenvironment option replaces FPEnvironment_C99.h with 
FPEnvironment_DUMMY.h. You can even pass --no-wstring to disable std::wstring 
support. So the question is, is there a way to detect the 'defined(__UCLIBC__) 
&& !defined (__UCLIBC_HAS_FENV__)' condition at configuration time? This seems 
to be much cleaner than patching the code for build time detection.


                                                     ~. .~   Tk Open Systems
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

More information about the buildroot mailing list