* [Buildroot] [PATCH] kmsxx: new package
@ 2016-04-19 21:09 Maxime Ripard
2016-04-20 19:51 ` Samuel Martin
[not found] ` <121769471.QD3BYebGGi@avalon>
0 siblings, 2 replies; 5+ messages in thread
From: Maxime Ripard @ 2016-04-19 21:09 UTC (permalink / raw)
To: buildroot
KMS++ is a suite of library and test tools to interact with KMS drivers in
the linux kernel.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
---
package/Config.in | 1 +
package/kmsxx/Config.in | 24 ++++++++++++++++++++++++
package/kmsxx/kmsxx.mk | 42 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 67 insertions(+)
create mode 100644 package/kmsxx/Config.in
create mode 100644 package/kmsxx/kmsxx.mk
diff --git a/package/Config.in b/package/Config.in
index 529ad3364994..4bb60ead530b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -867,6 +867,7 @@ menu "Graphics"
source "package/imlib2/Config.in"
source "package/jasper/Config.in"
source "package/jpeg/Config.in"
+ source "package/kmsxx/Config.in"
source "package/lcms2/Config.in"
source "package/lesstif/Config.in"
source "package/libart/Config.in"
diff --git a/package/kmsxx/Config.in b/package/kmsxx/Config.in
new file mode 100644
index 000000000000..4b70c276d4e3
--- /dev/null
+++ b/package/kmsxx/Config.in
@@ -0,0 +1,24 @@
+config BR2_PACKAGE_KMSXX
+ bool "kmsxx"
+ select BR2_PACKAGE_LIBDRM
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libpthread-stubs
+ help
+ libkms++ is a C++11 library for kernel mode setting.
+
+ Also included are simple test tools for KMS and python wrapper for
+ libkms++.
+
+ https://github.com/tomba/kmsxx
+
+if BR2_PACKAGE_KMSXX
+
+config BR2_PACKAGE_KMSXX_INSTALL_TESTS
+ bool "Install test programs"
+ help
+ This option allows to install the kmsxx test programs.
+
+endif
+
+comment "kmsxx needs a toolchain w/ threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
diff --git a/package/kmsxx/kmsxx.mk b/package/kmsxx/kmsxx.mk
new file mode 100644
index 000000000000..b3a2e178bc22
--- /dev/null
+++ b/package/kmsxx/kmsxx.mk
@@ -0,0 +1,42 @@
+################################################################################
+#
+# kmsxx
+#
+################################################################################
+
+KMSXX_VERSION = bef0109aa93971dd6cc6040661dc6494533e6bee
+KMSXX_SITE = $(call github,tomba,kmsxx,$(KMSXX_VERSION))
+KMSXX_LICENSE = MPLv2.0
+KMSXX_LICENSE_FILES = LICENSE
+
+KMSXX_DEPENDENCIES += libdrm
+
+KMSXX_CONF_OPTS += -DLIBKMS_ENABLE_PYTHON=OFF
+
+ifeq ($(BR2_PACKAGE_KMSXX_INSTALL_TESTS),y)
+define KMSXX_INSTALL_TARGET_TESTS
+ $(INSTALL) -D -m 0755 $(@D)/libkmstest/libkmstest.so \
+ $(TARGET_DIR)/usr/lib/libkmstest.so
+ $(INSTALL) -D -m 0755 $(@D)/tests/db \
+ $(TARGET_DIR)/usr/bin/db
+ $(INSTALL) -D -m 0755 $(@D)/tests/fbtestpat \
+ $(TARGET_DIR)/usr/bin/fbtestpat
+ $(INSTALL) -D -m 0755 $(@D)/tests/kmscapture \
+ $(TARGET_DIR)/usr/bin/kmscapture
+ $(INSTALL) -D -m 0755 $(@D)/tests/kmsprint \
+ $(TARGET_DIR)/usr/bin/kmsprint
+ $(INSTALL) -D -m 0755 $(@D)/tests/kmsview \
+ $(TARGET_DIR)/usr/bin/kmsview
+ $(INSTALL) -D -m 0755 $(@D)/tests/testpat \
+ $(TARGET_DIR)/usr/bin/testpat
+endef
+endif
+
+define KMSXX_INSTALL_TARGET_CMDS
+ $(INSTALL) -D -m 0755 $(@D)/libkms++/libkms++.so \
+ $(TARGET_DIR)/usr/lib/libkms++.so
+
+ $(KMSXX_INSTALL_TARGET_TESTS)
+endef
+
+$(eval $(cmake-package))
--
2.8.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [Buildroot] [PATCH] kmsxx: new package
2016-04-19 21:09 [Buildroot] [PATCH] kmsxx: new package Maxime Ripard
@ 2016-04-20 19:51 ` Samuel Martin
2016-04-21 20:16 ` Thomas Petazzoni
[not found] ` <121769471.QD3BYebGGi@avalon>
1 sibling, 1 reply; 5+ messages in thread
From: Samuel Martin @ 2016-04-20 19:51 UTC (permalink / raw)
To: buildroot
Hi Maxime, all,
On Tue, Apr 19, 2016 at 11:09 PM, Maxime Ripard
<maxime.ripard@free-electrons.com> wrote:
> KMS++ is a suite of library and test tools to interact with KMS drivers in
> the linux kernel.
>
> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
> ---
> package/Config.in | 1 +
> package/kmsxx/Config.in | 24 ++++++++++++++++++++++++
> package/kmsxx/kmsxx.mk | 42 ++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 67 insertions(+)
> create mode 100644 package/kmsxx/Config.in
> create mode 100644 package/kmsxx/kmsxx.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 529ad3364994..4bb60ead530b 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -867,6 +867,7 @@ menu "Graphics"
> source "package/imlib2/Config.in"
> source "package/jasper/Config.in"
> source "package/jpeg/Config.in"
> + source "package/kmsxx/Config.in"
> source "package/lcms2/Config.in"
> source "package/lesstif/Config.in"
> source "package/libart/Config.in"
> diff --git a/package/kmsxx/Config.in b/package/kmsxx/Config.in
> new file mode 100644
> index 000000000000..4b70c276d4e3
> --- /dev/null
> +++ b/package/kmsxx/Config.in
> @@ -0,0 +1,24 @@
> +config BR2_PACKAGE_KMSXX
> + bool "kmsxx"
> + select BR2_PACKAGE_LIBDRM
> + depends on BR2_TOOLCHAIN_HAS_THREADS # libpthread-stubs
> + help
> + libkms++ is a C++11 library for kernel mode setting.
Does this mean there is some restriction on the toolchain properties?
(maybe a minimal compiler version?)
If so, a "depends on BR2_TOOLCHAIN_GCC_AT_LEAST_..." would be needed.
> +
> + Also included are simple test tools for KMS and python wrapper for
> + libkms++.
> +
> + https://github.com/tomba/kmsxx
> +
> +if BR2_PACKAGE_KMSXX
> +
> +config BR2_PACKAGE_KMSXX_INSTALL_TESTS
> + bool "Install test programs"
> + help
> + This option allows to install the kmsxx test programs.
> +
> +endif
> +
> +comment "kmsxx needs a toolchain w/ threads"
> + depends on !BR2_TOOLCHAIN_HAS_THREADS
> +
> diff --git a/package/kmsxx/kmsxx.mk b/package/kmsxx/kmsxx.mk
> new file mode 100644
> index 000000000000..b3a2e178bc22
> --- /dev/null
> +++ b/package/kmsxx/kmsxx.mk
> @@ -0,0 +1,42 @@
> +################################################################################
> +#
> +# kmsxx
> +#
> +################################################################################
> +
> +KMSXX_VERSION = bef0109aa93971dd6cc6040661dc6494533e6bee
> +KMSXX_SITE = $(call github,tomba,kmsxx,$(KMSXX_VERSION))
> +KMSXX_LICENSE = MPLv2.0
> +KMSXX_LICENSE_FILES = LICENSE
> +
> +KMSXX_DEPENDENCIES += libdrm
> +
> +KMSXX_CONF_OPTS += -DLIBKMS_ENABLE_PYTHON=OFF
> +
> +ifeq ($(BR2_PACKAGE_KMSXX_INSTALL_TESTS),y)
> +define KMSXX_INSTALL_TARGET_TESTS
> + $(INSTALL) -D -m 0755 $(@D)/libkmstest/libkmstest.so \
> + $(TARGET_DIR)/usr/lib/libkmstest.so
> + $(INSTALL) -D -m 0755 $(@D)/tests/db \
> + $(TARGET_DIR)/usr/bin/db
> + $(INSTALL) -D -m 0755 $(@D)/tests/fbtestpat \
> + $(TARGET_DIR)/usr/bin/fbtestpat
> + $(INSTALL) -D -m 0755 $(@D)/tests/kmscapture \
> + $(TARGET_DIR)/usr/bin/kmscapture
> + $(INSTALL) -D -m 0755 $(@D)/tests/kmsprint \
> + $(TARGET_DIR)/usr/bin/kmsprint
> + $(INSTALL) -D -m 0755 $(@D)/tests/kmsview \
> + $(TARGET_DIR)/usr/bin/kmsview
> + $(INSTALL) -D -m 0755 $(@D)/tests/testpat \
> + $(TARGET_DIR)/usr/bin/testpat
> +endef
> +endif
> +
> +define KMSXX_INSTALL_TARGET_CMDS
> + $(INSTALL) -D -m 0755 $(@D)/libkms++/libkms++.so \
> + $(TARGET_DIR)/usr/lib/libkms++.so
> +
I don't think this blank line is necessary.
> + $(KMSXX_INSTALL_TARGET_TESTS)
> +endef
> +
> +$(eval $(cmake-package))
> --
> 2.8.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 5+ messages in thread* [Buildroot] [PATCH] kmsxx: new package
2016-04-20 19:51 ` Samuel Martin
@ 2016-04-21 20:16 ` Thomas Petazzoni
2016-04-25 7:41 ` Maxime Ripard
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2016-04-21 20:16 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 20 Apr 2016 21:51:32 +0200, Samuel Martin wrote:
> > +config BR2_PACKAGE_KMSXX
> > + bool "kmsxx"
> > + select BR2_PACKAGE_LIBDRM
> > + depends on BR2_TOOLCHAIN_HAS_THREADS # libpthread-stubs
> > + help
> > + libkms++ is a C++11 library for kernel mode setting.
> Does this mean there is some restriction on the toolchain properties?
> (maybe a minimal compiler version?)
> If so, a "depends on BR2_TOOLCHAIN_GCC_AT_LEAST_..." would be needed.
Well, for sure if it's written in C++, a dependency on
BR2_INSTALL_LIBSTDCPP is needed.
And since it's C++11, a dependency on gcc 4.7 or 4.8 is most likely
needed.
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH] kmsxx: new package
2016-04-21 20:16 ` Thomas Petazzoni
@ 2016-04-25 7:41 ` Maxime Ripard
0 siblings, 0 replies; 5+ messages in thread
From: Maxime Ripard @ 2016-04-25 7:41 UTC (permalink / raw)
To: buildroot
Hi Samuel, Thomas,
On Thu, Apr 21, 2016 at 10:16:39PM +0200, Thomas Petazzoni wrote:
> Hello,
>
> On Wed, 20 Apr 2016 21:51:32 +0200, Samuel Martin wrote:
>
> > > +config BR2_PACKAGE_KMSXX
> > > + bool "kmsxx"
> > > + select BR2_PACKAGE_LIBDRM
> > > + depends on BR2_TOOLCHAIN_HAS_THREADS # libpthread-stubs
> > > + help
> > > + libkms++ is a C++11 library for kernel mode setting.
> > Does this mean there is some restriction on the toolchain properties?
> > (maybe a minimal compiler version?)
> > If so, a "depends on BR2_TOOLCHAIN_GCC_AT_LEAST_..." would be needed.
>
> Well, for sure if it's written in C++, a dependency on
> BR2_INSTALL_LIBSTDCPP is needed.
>
> And since it's C++11, a dependency on gcc 4.7 or 4.8 is most likely
> needed.
Good point, it seems like it was entirely supported in 4.8, let's add
that as a dependency.
Thanks!
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160425/a13c7e24/attachment.asc>
^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <121769471.QD3BYebGGi@avalon>]
* [Buildroot] [PATCH] kmsxx: new package
[not found] ` <121769471.QD3BYebGGi@avalon>
@ 2016-04-25 7:40 ` Maxime Ripard
0 siblings, 0 replies; 5+ messages in thread
From: Maxime Ripard @ 2016-04-25 7:40 UTC (permalink / raw)
To: buildroot
Hi Laurent,
On Wed, Apr 20, 2016 at 03:21:23AM +0300, Laurent Pinchart wrote:
> > +###########################################################################
> > ##### +#
> > +# kmsxx
> > +#
> > +###########################################################################
> > ##### +
> > +KMSXX_VERSION = bef0109aa93971dd6cc6040661dc6494533e6bee
> > +KMSXX_SITE = $(call github,tomba,kmsxx,$(KMSXX_VERSION))
> > +KMSXX_LICENSE = MPLv2.0
> > +KMSXX_LICENSE_FILES = LICENSE
> > +
> > +KMSXX_DEPENDENCIES += libdrm
> > +
> > +KMSXX_CONF_OPTS += -DLIBKMS_ENABLE_PYTHON=OFF
>
> The python bindings are very useful to write unit tests. Would it be possible
> to add an option to enable them ? I use them successfully on a buildroot
> rootfs with python support enabled.
I didn't have anything to test them with, so that's why I disabled
them at first, but I can enable it if you want. You'll have to test
though ;)
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160425/cb44a101/attachment.asc>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-04-25 7:41 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-19 21:09 [Buildroot] [PATCH] kmsxx: new package Maxime Ripard
2016-04-20 19:51 ` Samuel Martin
2016-04-21 20:16 ` Thomas Petazzoni
2016-04-25 7:41 ` Maxime Ripard
[not found] ` <121769471.QD3BYebGGi@avalon>
2016-04-25 7:40 ` Maxime Ripard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox