* [Buildroot] [PATCH] ilixi: new package
@ 2016-04-06 2:47 Justin Berger
2016-04-06 2:55 ` Justin Berger
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Justin Berger @ 2016-04-06 2:47 UTC (permalink / raw)
To: buildroot
---
package/Config.in | 1 +
package/ilixi/0001-Added-ifdef-around-iconv.patch | 28 +++++++++++++++++++++++
package/ilixi/Config.in | 26 +++++++++++++++++++++
package/ilixi/ilixi.hash | 1 +
package/ilixi/ilixi.mk | 28 +++++++++++++++++++++++
5 files changed, 84 insertions(+)
create mode 100644 package/ilixi/0001-Added-ifdef-around-iconv.patch
create mode 100644 package/ilixi/Config.in
create mode 100644 package/ilixi/ilixi.hash
create mode 100644 package/ilixi/ilixi.mk
diff --git a/package/Config.in b/package/Config.in
index 64822bf..6bbe278 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -261,6 +261,7 @@ endif
source "package/fbterm/Config.in"
source "package/fbv/Config.in"
source "package/freerdp/Config.in"
+ source "package/ilixi/Config.in"
source "package/imagemagick/Config.in"
source "package/linux-fusion/Config.in"
source "package/lite/Config.in"
diff --git a/package/ilixi/0001-Added-ifdef-around-iconv.patch b/package/ilixi/0001-Added-ifdef-around-iconv.patch
new file mode 100644
index 0000000..a341c8c
--- /dev/null
+++ b/package/ilixi/0001-Added-ifdef-around-iconv.patch
@@ -0,0 +1,28 @@
+From 3e2844eead42ac4e17835f5e59746a52ad0caf76 Mon Sep 17 00:00:00 2001
+From: Justin Berger <j.david.berger@gmail.com>
+Date: Tue, 5 Apr 2016 20:06:11 -0600
+Subject: [PATCH] Added ifdef around iconv
+
+Locale support in ilixi is a conditional dependency, and is only used when the libwnn dependency is also met.
+
+---
+ ilixi/lib/InputHelperJP.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/ilixi/lib/InputHelperJP.cpp b/ilixi/lib/InputHelperJP.cpp
+index 95d0da4..72c5f3f 100644
+--- a/ilixi/lib/InputHelperJP.cpp
++++ b/ilixi/lib/InputHelperJP.cpp
+@@ -26,7 +26,9 @@
+ #include <lib/utf8.h>
+ #include <core/Logger.h>
+ #include <directfb.h>
++#if ILIXI_HAVE_LIBWNN
+ #include <iconv.h>
++#endif
+ #include <stdlib.h>
+ #include <stdint.h>
+ #include <string.h>
+--
+2.1.4
+
diff --git a/package/ilixi/Config.in b/package/ilixi/Config.in
new file mode 100644
index 0000000..54e7b04
--- /dev/null
+++ b/package/ilixi/Config.in
@@ -0,0 +1,26 @@
+config BR2_PACKAGE_ILIXI
+ bool "ilixi"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11
+ depends on !BR2_TOOLCHAIN_USES_MUSL # directfb
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4 # directfb
+ depends on BR2_USE_WCHAR
+ select BR2_PACKAGE_DIRECTFB
+ select BR2_PACKAGE_LIBSIGC
+ select BR2_PACKAGE_LIBXML2
+ help
+ ilixi is an open-source C++ library aimed at developing rich
+ graphical applications for embedded Linux systems. Having been
+ actively developed since 2010, it is running on thousands of
+ devices around the world.
+
+ http://www.ilixi.org
+
+comment "ilixi needs a toolchain w/ C++, threads, wchar, gcc >= 4.7"
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
+ depends on !BR2_INSTALL_LIBSTDCPP || \
+ !BR2_TOOLCHAIN_HAS_THREADS || \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \
+ !BR2_USE_WCHAR || \
+ BR2_TOOLCHAIN_USES_MUSL
diff --git a/package/ilixi/ilixi.hash b/package/ilixi/ilixi.hash
new file mode 100644
index 0000000..0ffe151
--- /dev/null
+++ b/package/ilixi/ilixi.hash
@@ -0,0 +1 @@
+sha256 9b0c17efa75f2dc6a6a1438580a2f01e1cdfde822b10ad8c3f3b4a641caeadce ilixi-1.0.0.tar.gz
diff --git a/package/ilixi/ilixi.mk b/package/ilixi/ilixi.mk
new file mode 100644
index 0000000..cde9af3
--- /dev/null
+++ b/package/ilixi/ilixi.mk
@@ -0,0 +1,28 @@
+################################################################################
+#
+# ilixi
+#
+################################################################################
+
+ILIXI_VERSION = 1.0.0
+ILIXI_SITE = http://ilixi.org/releases
+ILIXI_LICENSE = LGPLv3+, GPLV3+ (osk utf8-decoder)
+ILIXI_LICENSE_FILES = COPYING.LESSER COPYING
+ILIXI_INSTALL_STAGING = YES
+
+ILIXI_DEPENDENCIES = \
+ libsigc \
+ libxml2 \
+ directfb \
+ fontconfig \
+
+ifeq ($(BR2_PACKAGE_SAWMAN),y)
+ ILIXI_CONF_OPTS += --enable-sawman
+ ILIXI_DEPENDENCIES += sawman
+else
+ ILIXI_CONF_OPTS += --disable-sawman
+endif
+
+ILIXI_CONF_ENV = CPPFLAGS="$(TARGET_CPPFLAGS) -std=c++11"
+
+$(eval $(autotools-package))
--
2.1.4
^ permalink raw reply related [flat|nested] 9+ messages in thread* [Buildroot] [PATCH] ilixi: new package
2016-04-06 2:47 [Buildroot] [PATCH] ilixi: new package Justin Berger
@ 2016-04-06 2:55 ` Justin Berger
2016-04-06 21:47 ` Arnout Vandecappelle
2016-04-06 4:33 ` Baruch Siach
2016-04-08 3:00 ` Thomas Petazzoni
2 siblings, 1 reply; 9+ messages in thread
From: Justin Berger @ 2016-04-06 2:55 UTC (permalink / raw)
To: buildroot
Apologies, in getting used to the git send-mail tool, I sent it off without
any other notes.
I didn't check it explicitly against 4.7, but I looked at the supported C++
features in 4.7 vs 4.8 and it looked like it should work. Currently the
only GCC options that show up in the menuconfig though are 4.8 and onwards,
is the reason to prefer 4.7 vs 4.8 for people to backport?
Thanks for the guidance on this package!
Justin
On Tue, Apr 5, 2016 at 8:47 PM, Justin Berger <j.david.berger@gmail.com>
wrote:
> ---
> package/Config.in | 1 +
> package/ilixi/0001-Added-ifdef-around-iconv.patch | 28
> +++++++++++++++++++++++
> package/ilixi/Config.in | 26
> +++++++++++++++++++++
> package/ilixi/ilixi.hash | 1 +
> package/ilixi/ilixi.mk | 28
> +++++++++++++++++++++++
> 5 files changed, 84 insertions(+)
> create mode 100644 package/ilixi/0001-Added-ifdef-around-iconv.patch
> create mode 100644 package/ilixi/Config.in
> create mode 100644 package/ilixi/ilixi.hash
> create mode 100644 package/ilixi/ilixi.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 64822bf..6bbe278 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -261,6 +261,7 @@ endif
> source "package/fbterm/Config.in"
> source "package/fbv/Config.in"
> source "package/freerdp/Config.in"
> + source "package/ilixi/Config.in"
> source "package/imagemagick/Config.in"
> source "package/linux-fusion/Config.in"
> source "package/lite/Config.in"
> diff --git a/package/ilixi/0001-Added-ifdef-around-iconv.patch
> b/package/ilixi/0001-Added-ifdef-around-iconv.patch
> new file mode 100644
> index 0000000..a341c8c
> --- /dev/null
> +++ b/package/ilixi/0001-Added-ifdef-around-iconv.patch
> @@ -0,0 +1,28 @@
> +From 3e2844eead42ac4e17835f5e59746a52ad0caf76 Mon Sep 17 00:00:00 2001
> +From: Justin Berger <j.david.berger@gmail.com>
> +Date: Tue, 5 Apr 2016 20:06:11 -0600
> +Subject: [PATCH] Added ifdef around iconv
> +
> +Locale support in ilixi is a conditional dependency, and is only used
> when the libwnn dependency is also met.
> +
> +---
> + ilixi/lib/InputHelperJP.cpp | 2 ++
> + 1 file changed, 2 insertions(+)
> +
> +diff --git a/ilixi/lib/InputHelperJP.cpp b/ilixi/lib/InputHelperJP.cpp
> +index 95d0da4..72c5f3f 100644
> +--- a/ilixi/lib/InputHelperJP.cpp
> ++++ b/ilixi/lib/InputHelperJP.cpp
> +@@ -26,7 +26,9 @@
> + #include <lib/utf8.h>
> + #include <core/Logger.h>
> + #include <directfb.h>
> ++#if ILIXI_HAVE_LIBWNN
> + #include <iconv.h>
> ++#endif
> + #include <stdlib.h>
> + #include <stdint.h>
> + #include <string.h>
> +--
> +2.1.4
> +
> diff --git a/package/ilixi/Config.in b/package/ilixi/Config.in
> new file mode 100644
> index 0000000..54e7b04
> --- /dev/null
> +++ b/package/ilixi/Config.in
> @@ -0,0 +1,26 @@
> +config BR2_PACKAGE_ILIXI
> + bool "ilixi"
> + depends on BR2_INSTALL_LIBSTDCPP
> + depends on BR2_TOOLCHAIN_HAS_THREADS
> + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11
> + depends on !BR2_TOOLCHAIN_USES_MUSL # directfb
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # directfb
> + depends on BR2_USE_WCHAR
> + select BR2_PACKAGE_DIRECTFB
> + select BR2_PACKAGE_LIBSIGC
> + select BR2_PACKAGE_LIBXML2
> + help
> + ilixi is an open-source C++ library aimed at developing rich
> + graphical applications for embedded Linux systems. Having been
> + actively developed since 2010, it is running on thousands of
> + devices around the world.
> +
> + http://www.ilixi.org
> +
> +comment "ilixi needs a toolchain w/ C++, threads, wchar, gcc >= 4.7"
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4
> + depends on !BR2_INSTALL_LIBSTDCPP || \
> + !BR2_TOOLCHAIN_HAS_THREADS || \
> + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \
> + !BR2_USE_WCHAR || \
> + BR2_TOOLCHAIN_USES_MUSL
> diff --git a/package/ilixi/ilixi.hash b/package/ilixi/ilixi.hash
> new file mode 100644
> index 0000000..0ffe151
> --- /dev/null
> +++ b/package/ilixi/ilixi.hash
> @@ -0,0 +1 @@
> +sha256 9b0c17efa75f2dc6a6a1438580a2f01e1cdfde822b10ad8c3f3b4a641caeadce
> ilixi-1.0.0.tar.gz
> diff --git a/package/ilixi/ilixi.mk b/package/ilixi/ilixi.mk
> new file mode 100644
> index 0000000..cde9af3
> --- /dev/null
> +++ b/package/ilixi/ilixi.mk
> @@ -0,0 +1,28 @@
>
> +################################################################################
> +#
> +# ilixi
> +#
>
> +################################################################################
> +
> +ILIXI_VERSION = 1.0.0
> +ILIXI_SITE = http://ilixi.org/releases
> +ILIXI_LICENSE = LGPLv3+, GPLV3+ (osk utf8-decoder)
> +ILIXI_LICENSE_FILES = COPYING.LESSER COPYING
> +ILIXI_INSTALL_STAGING = YES
> +
> +ILIXI_DEPENDENCIES = \
> + libsigc \
> + libxml2 \
> + directfb \
> + fontconfig \
> +
> +ifeq ($(BR2_PACKAGE_SAWMAN),y)
> + ILIXI_CONF_OPTS += --enable-sawman
> + ILIXI_DEPENDENCIES += sawman
> +else
> + ILIXI_CONF_OPTS += --disable-sawman
> +endif
> +
> +ILIXI_CONF_ENV = CPPFLAGS="$(TARGET_CPPFLAGS) -std=c++11"
> +
> +$(eval $(autotools-package))
> --
> 2.1.4
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160405/8bbd74d3/attachment.html>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH] ilixi: new package
2016-04-06 2:55 ` Justin Berger
@ 2016-04-06 21:47 ` Arnout Vandecappelle
0 siblings, 0 replies; 9+ messages in thread
From: Arnout Vandecappelle @ 2016-04-06 21:47 UTC (permalink / raw)
To: buildroot
On 04/06/16 04:55, Justin Berger wrote:
> I didn't check it explicitly against 4.7, but I looked at the supported C++
> features in 4.7 vs 4.8 and it looked like it should work. Currently the only GCC
> options that show up in the menuconfig though are 4.8 and onwards, is the reason
> to prefer 4.7 vs 4.8 for people to backport?
People may have a custom prebuilt toolchain using gcc 4.7.
You can use Sourcery CodeBench SH 2012.09 or Sourcery CodeBench x86/x86_64
2012.09 to test. Build test is probably enough, though the x86 toolchain should
be easy to run-time test.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH] ilixi: new package
2016-04-06 2:47 [Buildroot] [PATCH] ilixi: new package Justin Berger
2016-04-06 2:55 ` Justin Berger
@ 2016-04-06 4:33 ` Baruch Siach
2016-04-07 17:37 ` Justin Berger
2016-04-08 3:00 ` Thomas Petazzoni
2 siblings, 1 reply; 9+ messages in thread
From: Baruch Siach @ 2016-04-06 4:33 UTC (permalink / raw)
To: buildroot
Hi Justin,
On Tue, Apr 05, 2016 at 08:47:16PM -0600, Justin Berger wrote:
> +################################################################################
> +#
> +# ilixi
> +#
> +################################################################################
> +
> +ILIXI_VERSION = 1.0.0
> +ILIXI_SITE = http://ilixi.org/releases
> +ILIXI_LICENSE = LGPLv3+, GPLV3+ (osk utf8-decoder)
> +ILIXI_LICENSE_FILES = COPYING.LESSER COPYING
> +ILIXI_INSTALL_STAGING = YES
> +
> +ILIXI_DEPENDENCIES = \
> + libsigc \
> + libxml2 \
> + directfb \
> + fontconfig \
> +
> +ifeq ($(BR2_PACKAGE_SAWMAN),y)
> + ILIXI_CONF_OPTS += --enable-sawman
> + ILIXI_DEPENDENCIES += sawman
> +else
> + ILIXI_CONF_OPTS += --disable-sawman
> +endif
> +
> +ILIXI_CONF_ENV = CPPFLAGS="$(TARGET_CPPFLAGS) -std=c++11"
Should be CXXFLAGS and TARGET_CXXFLAGS.
baruch
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 9+ messages in thread* [Buildroot] [PATCH] ilixi: new package
2016-04-06 4:33 ` Baruch Siach
@ 2016-04-07 17:37 ` Justin Berger
2016-04-07 19:50 ` Baruch Siach
0 siblings, 1 reply; 9+ messages in thread
From: Justin Berger @ 2016-04-07 17:37 UTC (permalink / raw)
To: buildroot
What is the reason for CXXFLAGS over CPPFLAGS? I'm not sure why exactly but
this package in particular doesn't seem to look at CXXFLAGS if CPPFLAGS is
present (which it is due to the autotools-package internals it seems), and
so doesn't catch the C++11 flag and won't compile after that.
I was a little unsure on best practice for setting that flag, so I
basically just copied what directfb.mk does on line 132; where it uses
CPPFLAGS. Although searching through I see sort of an even spread of CXX vs
CPP among autotools packages. But if there is a way to go with CXXFLAGS and
have it work, I have no preference one way or the other.
Have a good one,
Justin
On Tue, Apr 5, 2016 at 10:33 PM, Baruch Siach <baruch@tkos.co.il> wrote:
> Hi Justin,
>
> On Tue, Apr 05, 2016 at 08:47:16PM -0600, Justin Berger wrote:
> >
> +################################################################################
> > +#
> > +# ilixi
> > +#
> >
> +################################################################################
> > +
> > +ILIXI_VERSION = 1.0.0
> > +ILIXI_SITE = http://ilixi.org/releases
> > +ILIXI_LICENSE = LGPLv3+, GPLV3+ (osk utf8-decoder)
> > +ILIXI_LICENSE_FILES = COPYING.LESSER COPYING
> > +ILIXI_INSTALL_STAGING = YES
> > +
> > +ILIXI_DEPENDENCIES = \
> > + libsigc \
> > + libxml2 \
> > + directfb \
> > + fontconfig \
> > +
> > +ifeq ($(BR2_PACKAGE_SAWMAN),y)
> > + ILIXI_CONF_OPTS += --enable-sawman
> > + ILIXI_DEPENDENCIES += sawman
> > +else
> > + ILIXI_CONF_OPTS += --disable-sawman
> > +endif
> > +
> > +ILIXI_CONF_ENV = CPPFLAGS="$(TARGET_CPPFLAGS) -std=c++11"
>
> Should be CXXFLAGS and TARGET_CXXFLAGS.
>
> baruch
>
> --
> http://baruch.siach.name/blog/ ~. .~ Tk Open
> Systems
> =}------------------------------------------------ooO--U--Ooo------------{=
> - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160407/7ea62e98/attachment.html>
^ permalink raw reply [flat|nested] 9+ messages in thread* [Buildroot] [PATCH] ilixi: new package
2016-04-07 17:37 ` Justin Berger
@ 2016-04-07 19:50 ` Baruch Siach
2016-04-07 20:10 ` Justin Berger
0 siblings, 1 reply; 9+ messages in thread
From: Baruch Siach @ 2016-04-07 19:50 UTC (permalink / raw)
To: buildroot
Hi Justin,
On Thu, Apr 07, 2016 at 11:37:03AM -0600, Justin Berger wrote:
> What is the reason for CXXFLAGS over CPPFLAGS?
CPPFLAGS is usually for options that affect the C pre-processor. The most
common pre-processor options are -I (include path), and -D (for macros).
CXXFLAGS is for C++ options like -std=c++11. See
http://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html.
> I'm not sure why exactly but this package in particular doesn't seem to look
> at CXXFLAGS if CPPFLAGS is present (which it is due to the autotools-package
> internals it seems), and so doesn't catch the C++11 flag and won't compile
> after that.
Unfortunately configure.ac does
CXXFLAGS="$CFLAGS"
which overwrites the environment CXXFLAGS. It should have been
CXXFLAGS="$CXXFLAGS $CFLAGS"
In this case I think you should use CFLAGS.
> I was a little unsure on best practice for setting that flag, so I
> basically just copied what directfb.mk does on line 132; where it uses
> CPPFLAGS.
That's because this line adds a pre-processor -I option.
> Although searching through I see sort of an even spread of CXX vs CPP among
> autotools packages. But if there is a way to go with CXXFLAGS and have it
> work, I have no preference one way or the other.
baruch
> On Tue, Apr 5, 2016 at 10:33 PM, Baruch Siach <baruch@tkos.co.il> wrote:
> > On Tue, Apr 05, 2016 at 08:47:16PM -0600, Justin Berger wrote:
> > >
> > +################################################################################
> > > +#
> > > +# ilixi
> > > +#
> > >
> > +################################################################################
> > > +
> > > +ILIXI_VERSION = 1.0.0
> > > +ILIXI_SITE = http://ilixi.org/releases
> > > +ILIXI_LICENSE = LGPLv3+, GPLV3+ (osk utf8-decoder)
> > > +ILIXI_LICENSE_FILES = COPYING.LESSER COPYING
> > > +ILIXI_INSTALL_STAGING = YES
> > > +
> > > +ILIXI_DEPENDENCIES = \
> > > + libsigc \
> > > + libxml2 \
> > > + directfb \
> > > + fontconfig \
> > > +
> > > +ifeq ($(BR2_PACKAGE_SAWMAN),y)
> > > + ILIXI_CONF_OPTS += --enable-sawman
> > > + ILIXI_DEPENDENCIES += sawman
> > > +else
> > > + ILIXI_CONF_OPTS += --disable-sawman
> > > +endif
> > > +
> > > +ILIXI_CONF_ENV = CPPFLAGS="$(TARGET_CPPFLAGS) -std=c++11"
> >
> > Should be CXXFLAGS and TARGET_CXXFLAGS.
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 9+ messages in thread* [Buildroot] [PATCH] ilixi: new package
2016-04-07 19:50 ` Baruch Siach
@ 2016-04-07 20:10 ` Justin Berger
2016-04-07 20:24 ` Baruch Siach
0 siblings, 1 reply; 9+ messages in thread
From: Justin Berger @ 2016-04-07 20:10 UTC (permalink / raw)
To: buildroot
Ah. That makes sense, I feel somewhat chagrined for never realizing that
CPPFLAGS was C Pre-Processor as opposed to C++.
Would it be better to patch out configure.ac here instead of using CFLAGS?
I imagine the main way people learn to prepare packages is by looking at
other packages, and so this might throw people off.
On Thu, Apr 7, 2016 at 1:50 PM, Baruch Siach <baruch@tkos.co.il> wrote:
> Hi Justin,
>
> On Thu, Apr 07, 2016 at 11:37:03AM -0600, Justin Berger wrote:
> > What is the reason for CXXFLAGS over CPPFLAGS?
>
> CPPFLAGS is usually for options that affect the C pre-processor. The most
> common pre-processor options are -I (include path), and -D (for macros).
> CXXFLAGS is for C++ options like -std=c++11. See
> http://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html.
>
> > I'm not sure why exactly but this package in particular doesn't seem to
> look
> > at CXXFLAGS if CPPFLAGS is present (which it is due to the
> autotools-package
> > internals it seems), and so doesn't catch the C++11 flag and won't
> compile
> > after that.
>
> Unfortunately configure.ac does
>
> CXXFLAGS="$CFLAGS"
>
> which overwrites the environment CXXFLAGS. It should have been
>
> CXXFLAGS="$CXXFLAGS $CFLAGS"
>
> In this case I think you should use CFLAGS.
>
> > I was a little unsure on best practice for setting that flag, so I
> > basically just copied what directfb.mk does on line 132; where it uses
> > CPPFLAGS.
>
> That's because this line adds a pre-processor -I option.
>
> > Although searching through I see sort of an even spread of CXX vs CPP
> among
> > autotools packages. But if there is a way to go with CXXFLAGS and have it
> > work, I have no preference one way or the other.
>
> baruch
>
> > On Tue, Apr 5, 2016 at 10:33 PM, Baruch Siach <baruch@tkos.co.il> wrote:
> > > On Tue, Apr 05, 2016 at 08:47:16PM -0600, Justin Berger wrote:
> > > >
> > >
> +################################################################################
> > > > +#
> > > > +# ilixi
> > > > +#
> > > >
> > >
> +################################################################################
> > > > +
> > > > +ILIXI_VERSION = 1.0.0
> > > > +ILIXI_SITE = http://ilixi.org/releases
> > > > +ILIXI_LICENSE = LGPLv3+, GPLV3+ (osk utf8-decoder)
> > > > +ILIXI_LICENSE_FILES = COPYING.LESSER COPYING
> > > > +ILIXI_INSTALL_STAGING = YES
> > > > +
> > > > +ILIXI_DEPENDENCIES = \
> > > > + libsigc \
> > > > + libxml2 \
> > > > + directfb \
> > > > + fontconfig \
> > > > +
> > > > +ifeq ($(BR2_PACKAGE_SAWMAN),y)
> > > > + ILIXI_CONF_OPTS += --enable-sawman
> > > > + ILIXI_DEPENDENCIES += sawman
> > > > +else
> > > > + ILIXI_CONF_OPTS += --disable-sawman
> > > > +endif
> > > > +
> > > > +ILIXI_CONF_ENV = CPPFLAGS="$(TARGET_CPPFLAGS) -std=c++11"
> > >
> > > Should be CXXFLAGS and TARGET_CXXFLAGS.
>
> --
> http://baruch.siach.name/blog/ ~. .~ Tk Open
> Systems
> =}------------------------------------------------ooO--U--Ooo------------{=
> - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160407/0e7ea05d/attachment.html>
^ permalink raw reply [flat|nested] 9+ messages in thread* [Buildroot] [PATCH] ilixi: new package
2016-04-07 20:10 ` Justin Berger
@ 2016-04-07 20:24 ` Baruch Siach
0 siblings, 0 replies; 9+ messages in thread
From: Baruch Siach @ 2016-04-07 20:24 UTC (permalink / raw)
To: buildroot
On Thu, Apr 07, 2016 at 02:10:37PM -0600, Justin Berger wrote:
> Ah. That makes sense, I feel somewhat chagrined for never realizing that
> CPPFLAGS was C Pre-Processor as opposed to C++.
>
> Would it be better to patch out configure.ac here instead of using CFLAGS?
If you push such a patch upstream that would be best. Upstream takes pull
requests at https://github.com/ilixi/ilixi, so that shouldn't be hard.
> I imagine the main way people learn to prepare packages is by looking at
> other packages, and so this might throw people off.
baruch
> On Thu, Apr 7, 2016 at 1:50 PM, Baruch Siach <baruch@tkos.co.il> wrote:
> > On Thu, Apr 07, 2016 at 11:37:03AM -0600, Justin Berger wrote:
> > > What is the reason for CXXFLAGS over CPPFLAGS?
> >
> > CPPFLAGS is usually for options that affect the C pre-processor. The most
> > common pre-processor options are -I (include path), and -D (for macros).
> > CXXFLAGS is for C++ options like -std=c++11. See
> > http://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html.
> >
> > > I'm not sure why exactly but this package in particular doesn't seem to
> > look
> > > at CXXFLAGS if CPPFLAGS is present (which it is due to the
> > autotools-package
> > > internals it seems), and so doesn't catch the C++11 flag and won't
> > compile
> > > after that.
> >
> > Unfortunately configure.ac does
> >
> > CXXFLAGS="$CFLAGS"
> >
> > which overwrites the environment CXXFLAGS. It should have been
> >
> > CXXFLAGS="$CXXFLAGS $CFLAGS"
> >
> > In this case I think you should use CFLAGS.
> >
> > > I was a little unsure on best practice for setting that flag, so I
> > > basically just copied what directfb.mk does on line 132; where it uses
> > > CPPFLAGS.
> >
> > That's because this line adds a pre-processor -I option.
> >
> > > Although searching through I see sort of an even spread of CXX vs CPP
> > among
> > > autotools packages. But if there is a way to go with CXXFLAGS and have it
> > > work, I have no preference one way or the other.
> >
> > baruch
> >
> > > On Tue, Apr 5, 2016 at 10:33 PM, Baruch Siach <baruch@tkos.co.il> wrote:
> > > > On Tue, Apr 05, 2016 at 08:47:16PM -0600, Justin Berger wrote:
> > > > >
> > > >
> > +################################################################################
> > > > > +#
> > > > > +# ilixi
> > > > > +#
> > > > >
> > > >
> > +################################################################################
> > > > > +
> > > > > +ILIXI_VERSION = 1.0.0
> > > > > +ILIXI_SITE = http://ilixi.org/releases
> > > > > +ILIXI_LICENSE = LGPLv3+, GPLV3+ (osk utf8-decoder)
> > > > > +ILIXI_LICENSE_FILES = COPYING.LESSER COPYING
> > > > > +ILIXI_INSTALL_STAGING = YES
> > > > > +
> > > > > +ILIXI_DEPENDENCIES = \
> > > > > + libsigc \
> > > > > + libxml2 \
> > > > > + directfb \
> > > > > + fontconfig \
> > > > > +
> > > > > +ifeq ($(BR2_PACKAGE_SAWMAN),y)
> > > > > + ILIXI_CONF_OPTS += --enable-sawman
> > > > > + ILIXI_DEPENDENCIES += sawman
> > > > > +else
> > > > > + ILIXI_CONF_OPTS += --disable-sawman
> > > > > +endif
> > > > > +
> > > > > +ILIXI_CONF_ENV = CPPFLAGS="$(TARGET_CPPFLAGS) -std=c++11"
> > > >
> > > > Should be CXXFLAGS and TARGET_CXXFLAGS.
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH] ilixi: new package
2016-04-06 2:47 [Buildroot] [PATCH] ilixi: new package Justin Berger
2016-04-06 2:55 ` Justin Berger
2016-04-06 4:33 ` Baruch Siach
@ 2016-04-08 3:00 ` Thomas Petazzoni
2 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2016-04-08 3:00 UTC (permalink / raw)
To: buildroot
Hello,
Thanks for this contribution! See my review below for some comments.
On Tue, 5 Apr 2016 20:47:16 -0600, Justin Berger wrote:
> diff --git a/package/ilixi/0001-Added-ifdef-around-iconv.patch b/package/ilixi/0001-Added-ifdef-around-iconv.patch
> new file mode 100644
> index 0000000..a341c8c
> --- /dev/null
> +++ b/package/ilixi/0001-Added-ifdef-around-iconv.patch
> @@ -0,0 +1,28 @@
> +From 3e2844eead42ac4e17835f5e59746a52ad0caf76 Mon Sep 17 00:00:00 2001
> +From: Justin Berger <j.david.berger@gmail.com>
> +Date: Tue, 5 Apr 2016 20:06:11 -0600
> +Subject: [PATCH] Added ifdef around iconv
This is not really a great title. A better title IMO could be:
Fix building with locale support
> +Locale support in ilixi is a conditional dependency, and is only used when the libwnn dependency is also met.
This should be wrapped to 80 characters. And you need to Signed-off-by
your patches.
Also, please submit this patch upstream.
> diff --git a/package/ilixi/Config.in b/package/ilixi/Config.in
> new file mode 100644
> index 0000000..54e7b04
> --- /dev/null
> +++ b/package/ilixi/Config.in
> @@ -0,0 +1,26 @@
> +config BR2_PACKAGE_ILIXI
> + bool "ilixi"
> + depends on BR2_INSTALL_LIBSTDCPP
> + depends on BR2_TOOLCHAIN_HAS_THREADS
> + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11
> + depends on !BR2_TOOLCHAIN_USES_MUSL # directfb
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # directfb
> + depends on BR2_USE_WCHAR
> + select BR2_PACKAGE_DIRECTFB
> + select BR2_PACKAGE_LIBSIGC
> + select BR2_PACKAGE_LIBXML2
> + help
> + ilixi is an open-source C++ library aimed at developing rich
> + graphical applications for embedded Linux systems. Having been
> + actively developed since 2010, it is running on thousands of
> + devices around the world.
Not related to the review itself, but I find it odd to use things based
on DirectFB these days. The project is dead, the web site has been dead
for over a year now, etc.
> +comment "ilixi needs a toolchain w/ C++, threads, wchar, gcc >= 4.7"
"needs a glibc/uclibc toolchain w/"
> diff --git a/package/ilixi/ilixi.mk b/package/ilixi/ilixi.mk
> new file mode 100644
> index 0000000..cde9af3
> --- /dev/null
> +++ b/package/ilixi/ilixi.mk
> @@ -0,0 +1,28 @@
> +################################################################################
> +#
> +# ilixi
> +#
> +################################################################################
> +
> +ILIXI_VERSION = 1.0.0
> +ILIXI_SITE = http://ilixi.org/releases
> +ILIXI_LICENSE = LGPLv3+, GPLV3+ (osk utf8-decoder)
> +ILIXI_LICENSE_FILES = COPYING.LESSER COPYING
> +ILIXI_INSTALL_STAGING = YES
> +
> +ILIXI_DEPENDENCIES = \
> + libsigc \
> + libxml2 \
> + directfb \
We typically don't indent the \
> + fontconfig \
This last \ is not needed.
> +
> +ifeq ($(BR2_PACKAGE_SAWMAN),y)
> + ILIXI_CONF_OPTS += --enable-sawman
> + ILIXI_DEPENDENCIES += sawman
> +else
> + ILIXI_CONF_OPTS += --disable-sawman
> +endif
The sawman package no longer exists in Buildroot. Please make sure to
send your patch against the latest version of Buildroot. Sawman is now
part of DirectFB itself.
Does ilixi has some optional dependencies? According to your patch, it
can optional depend on libwnn. If that's the case, then please add the
relevant --disable-<foo> or --without-<bar> configuration options to
explicitly disable all those optional dependencies.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-04-08 3:00 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-06 2:47 [Buildroot] [PATCH] ilixi: new package Justin Berger
2016-04-06 2:55 ` Justin Berger
2016-04-06 21:47 ` Arnout Vandecappelle
2016-04-06 4:33 ` Baruch Siach
2016-04-07 17:37 ` Justin Berger
2016-04-07 19:50 ` Baruch Siach
2016-04-07 20:10 ` Justin Berger
2016-04-07 20:24 ` Baruch Siach
2016-04-08 3:00 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox