Skip to contentSkip to conversation

ilixi: new package

PATCH New Justin Berger 4 participants 9 messages Apr 6, 2016 – Apr 8, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ilixi: new package

---
 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
package/Config.in +1 -0
index 64822bf..6bbe278 100644
@@ -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"
package/ilixi/0001-Added-ifdef-around-iconv.patch new file +28 -0
new file mode 100644
index 0000000..a341c8c
@@ -0,0 +1,28 @@
+From 3e2844eead42ac4e17835f5e59746a52ad0caf76 Mon Sep 17 00:00:00 2001
+From: Justin Berger <[email protected]>
+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
+
package/ilixi/Config.in new file +26 -0
new file mode 100644
index 0000000..54e7b04
@@ -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
package/ilixi/ilixi.hash new file +1 -0
new file mode 100644
index 0000000..0ffe151
@@ -0,0 +1 @@
+sha256 9b0c17efa75f2dc6a6a1438580a2f01e1cdfde822b10ad8c3f3b4a641caeadce  ilixi-1.0.0.tar.gz
package/ilixi/ilixi.mk new file +28 -0
new file mode 100644
index 0000000..cde9af3
@@ -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))
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/1 ilixi: new package

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

Quoted 140 lines · Justin Berger
---
 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
package/Config.in +1 -0
index 64822bf..6bbe278 100644
@@ -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"
package/ilixi/0001-Added-ifdef-around-iconv.patch new file +6 -0
new file mode 100644
index 0000000..a341c8c
@@ -0,0 +1,28 @@
+From 3e2844eead42ac4e17835f5e59746a52ad0caf76 Mon Sep 17 00:00:00 2001
+From: Justin Berger <[email protected]>
+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.

package/ilixi/0001-Added-ifdef-around-iconv.patch new file +22 -0
+
+---
+ 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
+
package/ilixi/Config.in new file +26 -0
new file mode 100644
index 0000000..54e7b04
@@ -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
package/ilixi/ilixi.hash new file +1 -0
new file mode 100644
index 0000000..0ffe151
@@ -0,0 +1 @@
+sha256 9b0c17efa75f2dc6a6a1438580a2f01e1cdfde822b10ad8c3f3b4a641caeadce

ilixi-1.0.0.tar.gz

package/ilixi/ilixi.mk new file +28 -1
new file mode 100644
index 0000000..cde9af3
@@ -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))
--
Quoted 3 lines

2.1.4

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160405/8bbd74d3/attachment.html>

#2 lore raw

PATCH 1/1 ilixi: new package

Quoted 4 lines · Justin Berger

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

Signature · 6 lines
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
#3 lore raw

PATCH 1/1 ilixi: new package

In reply to Justin Berger

Hi Justin,

Quoted 16 lines · Justin Berger
package/ilixi/ilixi.mk new file +16 -0
+################################################################################
+#
+# 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 	\

package/ilixi/ilixi.mk line 26

Quoted 10 lines
package/ilixi/ilixi.mk new file +10 -0
+	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

Signature · 3 lines
     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 -
#4 lore raw

PATCH 1/1 ilixi: new package

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

Quoted 34 lines · Baruch Siach

Hi Justin,

Quoted 1 line · Justin Berger

+################################################################################

package/ilixi/ilixi.mk line 4

Quoted 4 lines
package/ilixi/ilixi.mk new file +3 -0
+#
+# ilixi
+#

+################################################################################

Quoted 11 lines
package/ilixi/ilixi.mk new file +11 -0
+
+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        \

package/ilixi/ilixi.mk line 26

Quoted 10 lines
package/ilixi/ilixi.mk new file +10 -0
+     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.

Quoted 8 lines

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>

#5 lore raw

PATCH 1/1 ilixi: new package

Hi Justin,

Quoted 1 line · Justin Berger

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.

Quoted 4 lines

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.

Quoted 3 lines

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.

Quoted 3 lines

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

Quoted 32 lines · Baruch Siach
Quoted 31 lines · Justin Berger
Quoted 1 line

+################################################################################

package/ilixi/ilixi.mk line 4

Quoted 4 lines
package/ilixi/ilixi.mk new file +3 -0
+#
+# ilixi
+#

+################################################################################

Quoted 11 lines
package/ilixi/ilixi.mk new file +11 -0
+
+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        \

package/ilixi/ilixi.mk line 26

Quoted 10 lines
package/ilixi/ilixi.mk new file +10 -0
+     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.

Signature · 3 lines
     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 -
#6 lore raw

PATCH 1/1 ilixi: new package

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.

Quoted 76 lines · Baruch Siach

Hi Justin,

Quoted 1 line · Justin Berger

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.

Quoted 1 line

I'm not sure why exactly but this package in particular doesn't seem to

look

Quoted 1 line

at CXXFLAGS if CPPFLAGS is present (which it is due to the

autotools-package

Quoted 1 line

internals it seems), and so doesn't catch the C++11 flag and won't

compile

Quoted 1 line

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.

Quoted 3 lines

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.

Quoted 1 line

Although searching through I see sort of an even spread of CXX vs CPP

among

Quoted 2 lines

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

Quoted 4 lines · Baruch Siach
Quoted 3 lines · Justin Berger
Quoted 1 line

+################################################################################

Quoted 5 lines
Quoted 5 lines

package/ilixi/ilixi.mk line 4

Quoted 4 lines
package/ilixi/ilixi.mk new file +3 -0
+#
+# ilixi
+#

+################################################################################

Quoted 15 lines
Quoted 15 lines
Quoted 15 lines
package/ilixi/ilixi.mk new file +15 -0
+
+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
Quoted 8 lines
Quoted 8 lines

package/ilixi/ilixi.mk line 26

Quoted 6 lines
package/ilixi/ilixi.mk new file +6 -0
+     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.

Quoted 6 lines

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

#7 lore raw

PATCH 1/1 ilixi: new package

Quoted 4 lines · Justin Berger

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.

Quoted 2 lines

I imagine the main way people learn to prepare packages is by looking at other packages, and so this might throw people off.

baruch

Quoted 74 lines · Baruch Siach
Quoted 73 lines · Justin Berger
Quoted 1 line

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.

Quoted 1 line

I'm not sure why exactly but this package in particular doesn't seem to

look

Quoted 1 line

at CXXFLAGS if CPPFLAGS is present (which it is due to the

autotools-package

Quoted 1 line

internals it seems), and so doesn't catch the C++11 flag and won't

compile

Quoted 1 line

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.

Quoted 3 lines

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.

Quoted 1 line

Although searching through I see sort of an even spread of CXX vs CPP

among

Quoted 2 lines

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

Quoted 4 lines · Baruch Siach
Quoted 3 lines · Justin Berger
Quoted 1 line

+################################################################################

Quoted 5 lines
Quoted 5 lines

package/ilixi/ilixi.mk line 4

Quoted 4 lines
package/ilixi/ilixi.mk new file +3 -0
+#
+# ilixi
+#

+################################################################################

Quoted 23 lines
Quoted 23 lines
Quoted 11 lines
package/ilixi/ilixi.mk new file +11 -0
+
+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        \

package/ilixi/ilixi.mk line 26

Quoted 10 lines
package/ilixi/ilixi.mk new file +10 -0
+     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.

Signature · 3 lines
     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 -
#8 lore raw

PATCH 1/1 ilixi: new package

In reply to Justin Berger

Hello,

Thanks for this contribution! See my review below for some comments.

package/ilixi/0001-Added-ifdef-around-iconv.patch line 4

Quoted 10 lines · Justin Berger
package/ilixi/0001-Added-ifdef-around-iconv.patch new file +4 -0
new file mode 100644
index 0000000..a341c8c
@@ -0,0 +1,28 @@
+From 3e2844eead42ac4e17835f5e59746a52ad0caf76 Mon Sep 17 00:00:00 2001
+From: Justin Berger <[email protected]>
+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

package/ilixi/0001-Added-ifdef-around-iconv.patch line 6

Quoted 1 line
package/ilixi/0001-Added-ifdef-around-iconv.patch new file +1 -0
+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.

Quoted 12 lines
package/ilixi/Config.in new file +6 -0
new file mode 100644
index 0000000..54e7b04
@@ -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

package/ilixi/Config.in line 16

Quoted 10 lines
package/ilixi/Config.in new file +10 -0
+	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.

package/ilixi/Config.in line 20

Quoted 1 line
package/ilixi/Config.in new file +1 -0
+comment "ilixi needs a toolchain w/ C++, threads, wchar, gcc >= 4.7"

"needs a glibc/uclibc toolchain w/"

Quoted 12 lines
package/ilixi/ilixi.mk new file +6 -0
new file mode 100644
index 0000000..cde9af3
@@ -0,0 +1,28 @@
+################################################################################
+#
+# ilixi
+#
+################################################################################
+

package/ilixi/ilixi.mk line 16

Quoted 10 lines
package/ilixi/ilixi.mk new file +10 -0
+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 \

package/ilixi/ilixi.mk line 17

Quoted 1 line
package/ilixi/ilixi.mk new file +1 -0
+	fontconfig	\

This last \ is not needed.

package/ilixi/ilixi.mk line 24

Quoted 7 lines
package/ilixi/ilixi.mk new file +7 -0
+
+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

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com