Message ID | 1459910836-12815-1-git-send-email-j.david.berger@gmail.com |
---|---|
State | Changes Requested |
Headers | show |
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 > >
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
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
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@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il - >
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.
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@tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il - >
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.
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
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))