Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/sdbus-cpp: add support to build the host stub generator
@ 2023-06-20 17:43 Charles Hardin
  2023-06-20 20:04 ` Sergey Bobrenok
  2023-09-30 14:13 ` Thomas Petazzoni via buildroot
  0 siblings, 2 replies; 3+ messages in thread
From: Charles Hardin @ 2023-06-20 17:43 UTC (permalink / raw)
  To: buildroot; +Cc: Samuel Martin, Sergey Bobrenok, Charles Hardin

Add a host option to build the xml2cpp-codegen part of the
sdbus-cpp package for use in creating adaptor and proxy
implementations from the D-Bus IDL.

Signed-off-by: Charles Hardin <ckhardin@gmail.com>
---
 package/Config.in.host           |  1 +
 package/sdbus-cpp/Config.in.host | 14 ++++++++++++++
 package/sdbus-cpp/sdbus-cpp.mk   |  9 +++++++++
 3 files changed, 24 insertions(+)
 create mode 100644 package/sdbus-cpp/Config.in.host

diff --git a/package/Config.in.host b/package/Config.in.host
index dcadbfdfc1..13eec7f7f5 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -94,6 +94,7 @@ menu "Host utilities"
 	source "package/rustc/Config.in.host"
 	source "package/s6-rc/Config.in.host"
 	source "package/sam-ba/Config.in.host"
+	source "package/sdbus-cpp/Config.in.host"
 	source "package/sdbusplus/Config.in.host"
 	source "package/sentry-cli/Config.in.host"
 	source "package/sloci-image/Config.in.host"
diff --git a/package/sdbus-cpp/Config.in.host b/package/sdbus-cpp/Config.in.host
new file mode 100644
index 0000000000..79402af441
--- /dev/null
+++ b/package/sdbus-cpp/Config.in.host
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_HOST_SDBUS_CPP
+	bool "host-sdbus-c++-xml2cpp"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_PACKAGE_HOST_SYSTEMD
+	select BR2_PACKAGE_HOST_PKGCONF
+	depends on BR2_HOST_GCC_AT_LEAST_7
+	help
+	  sdbus-c++ is a high-level C++ D-Bus library for Linux
+	  designed to provide expressive, easy-to-use API in modern C++.
+
+	  This will build the stub code generator for the adaptor and
+	  proxy interfaces from D-Bus IDL.
+
+	  https://github.com/Kistler-Group/sdbus-cpp
diff --git a/package/sdbus-cpp/sdbus-cpp.mk b/package/sdbus-cpp/sdbus-cpp.mk
index 0e8d74cfcd..ece18126ba 100644
--- a/package/sdbus-cpp/sdbus-cpp.mk
+++ b/package/sdbus-cpp/sdbus-cpp.mk
@@ -12,4 +12,13 @@ SDBUS_CPP_DEPENDENCIES = host-pkgconf systemd
 SDBUS_CPP_LICENSE = LGPL-2.1+ with exception (headers)
 SDBUS_CPP_LICENSE_FILES = COPYING COPYING-LGPL-Exception
 
+# Host build for sdbus-c++-xml2cpp
+HOST_SDBUS_CPP_DEPENDENCIES = host-pkgconf host-systemd
+HOST_SDBUS_CPP_CONF_OPTS += \
+	-DBUILD_CODE_GEN=ON \
+	-DBUILD_DOC=OFF \
+	-DBUILD_TESTS=OFF \
+	-DBUILD_LIBSYSTEMD=OFF
+
 $(eval $(cmake-package))
+$(eval $(host-cmake-package))
-- 
2.39.2 (Apple Git-143)

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/sdbus-cpp: add support to build the host stub generator
  2023-06-20 17:43 [Buildroot] [PATCH 1/1] package/sdbus-cpp: add support to build the host stub generator Charles Hardin
@ 2023-06-20 20:04 ` Sergey Bobrenok
  2023-09-30 14:13 ` Thomas Petazzoni via buildroot
  1 sibling, 0 replies; 3+ messages in thread
From: Sergey Bobrenok @ 2023-06-20 20:04 UTC (permalink / raw)
  To: Charles Hardin; +Cc: Samuel Martin, buildroot

Hi Charles,

I also think that it would be useful to have an option to build 
the 'sdbus-c++-xml2cpp'
host tool. I even tried to add a host variant of the package 
initially [1]. But I wasn't
sure of the right way to implement it.
'sdbus-c++-xml2cpp' is more like a stand-alone tool: it doesn't 
depend on sdbus-c++ or its
dependencies, it has its own build files, it requires a different 
C++ standard (14 vs 17).
It just lives in the same repository.
So I think, maybe it would be better to make 'sdbus-c++-xml2cpp' a 
separate host package?
For example, the same approach is used in the 'Yocto meta-oe' 
repository: one package for
sdbus-c++ itself, and another package for sdbus-c++-tools [2].

[1] 
https://lore.kernel.org/all/20201113171845.63359-1-bobrofon@gmail.com/
[2] 
https://lore.kernel.org/all/CAA9bybPbYubZDBnACQAa+44K4Jkza9Eb9wpgAo_r0WB7e6MjaA@mail.gmail.com/

Charles Hardin <ckhardin@gmail.com> writes:

> Add a host option to build the xml2cpp-codegen part of the
> sdbus-cpp package for use in creating adaptor and proxy
> implementations from the D-Bus IDL.
>
> Signed-off-by: Charles Hardin <ckhardin@gmail.com>
> ---
>  package/Config.in.host           |  1 +
>  package/sdbus-cpp/Config.in.host | 14 ++++++++++++++
>  package/sdbus-cpp/sdbus-cpp.mk   |  9 +++++++++
>  3 files changed, 24 insertions(+)
>  create mode 100644 package/sdbus-cpp/Config.in.host
>
> diff --git a/package/Config.in.host b/package/Config.in.host
> index dcadbfdfc1..13eec7f7f5 100644
> --- a/package/Config.in.host
> +++ b/package/Config.in.host
> @@ -94,6 +94,7 @@ menu "Host utilities"
>  	source "package/rustc/Config.in.host"
>  	source "package/s6-rc/Config.in.host"
>  	source "package/sam-ba/Config.in.host"
> +	source "package/sdbus-cpp/Config.in.host"
>  	source "package/sdbusplus/Config.in.host"
>  	source "package/sentry-cli/Config.in.host"
>  	source "package/sloci-image/Config.in.host"
> diff --git a/package/sdbus-cpp/Config.in.host 
> b/package/sdbus-cpp/Config.in.host
> new file mode 100644
> index 0000000000..79402af441
> --- /dev/null
> +++ b/package/sdbus-cpp/Config.in.host
> @@ -0,0 +1,14 @@
> +config BR2_PACKAGE_HOST_SDBUS_CPP
> +	bool "host-sdbus-c++-xml2cpp"
> +	depends on BR2_INSTALL_LIBSTDCPP
> +	depends on BR2_PACKAGE_HOST_SYSTEMD
> +	select BR2_PACKAGE_HOST_PKGCONF
> +	depends on BR2_HOST_GCC_AT_LEAST_7
> +	help
> +	  sdbus-c++ is a high-level C++ D-Bus library for Linux
> +	  designed to provide expressive, easy-to-use API in modern 
> C++.
> +
> +	  This will build the stub code generator for the adaptor and
> +	  proxy interfaces from D-Bus IDL.
> +
> +	  https://github.com/Kistler-Group/sdbus-cpp
> diff --git a/package/sdbus-cpp/sdbus-cpp.mk 
> b/package/sdbus-cpp/sdbus-cpp.mk
> index 0e8d74cfcd..ece18126ba 100644
> --- a/package/sdbus-cpp/sdbus-cpp.mk
> +++ b/package/sdbus-cpp/sdbus-cpp.mk
> @@ -12,4 +12,13 @@ SDBUS_CPP_DEPENDENCIES = host-pkgconf systemd
>  SDBUS_CPP_LICENSE = LGPL-2.1+ with exception (headers)
>  SDBUS_CPP_LICENSE_FILES = COPYING COPYING-LGPL-Exception
>  
> +# Host build for sdbus-c++-xml2cpp
> +HOST_SDBUS_CPP_DEPENDENCIES = host-pkgconf host-systemd

'sdbus-c++-xml2cpp' depends on the 'expat' library, so 
'host-expat' is required as well.

> +HOST_SDBUS_CPP_CONF_OPTS += \
> +	-DBUILD_CODE_GEN=ON \
> +	-DBUILD_DOC=OFF \
> +	-DBUILD_TESTS=OFF \
> +	-DBUILD_LIBSYSTEMD=OFF
> +
>  $(eval $(cmake-package))
> +$(eval $(host-cmake-package))


-- 
Sergey Bobrenok
System software developer
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/sdbus-cpp: add support to build the host stub generator
  2023-06-20 17:43 [Buildroot] [PATCH 1/1] package/sdbus-cpp: add support to build the host stub generator Charles Hardin
  2023-06-20 20:04 ` Sergey Bobrenok
@ 2023-09-30 14:13 ` Thomas Petazzoni via buildroot
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-09-30 14:13 UTC (permalink / raw)
  To: Charles Hardin; +Cc: Sergey Bobrenok, Samuel Martin, buildroot

Hello Charles,

On Tue, 20 Jun 2023 10:43:21 -0700
Charles Hardin <ckhardin@gmail.com> wrote:

> Add a host option to build the xml2cpp-codegen part of the
> sdbus-cpp package for use in creating adaptor and proxy
> implementations from the D-Bus IDL.
> 
> Signed-off-by: Charles Hardin <ckhardin@gmail.com>

I've applied, with some small changes, see below.

> diff --git a/package/sdbus-cpp/Config.in.host b/package/sdbus-cpp/Config.in.host
> new file mode 100644
> index 0000000000..79402af441
> --- /dev/null
> +++ b/package/sdbus-cpp/Config.in.host
> @@ -0,0 +1,14 @@
> +config BR2_PACKAGE_HOST_SDBUS_CPP
> +	bool "host-sdbus-c++-xml2cpp"

Changed to:

	bool "host sdbus-c++"

> +	depends on BR2_INSTALL_LIBSTDCPP

Not relevant, as we are a host package, while BR2_INSTALL_LIBSTDCPP
indicates availability of C++ support in the cross-compiler.

> +	depends on BR2_PACKAGE_HOST_SYSTEMD

Not needed for host packages.

> +	select BR2_PACKAGE_HOST_PKGCONF

Same.

> diff --git a/package/sdbus-cpp/sdbus-cpp.mk b/package/sdbus-cpp/sdbus-cpp.mk
> index 0e8d74cfcd..ece18126ba 100644
> --- a/package/sdbus-cpp/sdbus-cpp.mk
> +++ b/package/sdbus-cpp/sdbus-cpp.mk
> @@ -12,4 +12,13 @@ SDBUS_CPP_DEPENDENCIES = host-pkgconf systemd
>  SDBUS_CPP_LICENSE = LGPL-2.1+ with exception (headers)
>  SDBUS_CPP_LICENSE_FILES = COPYING COPYING-LGPL-Exception
>  
> +# Host build for sdbus-c++-xml2cpp
> +HOST_SDBUS_CPP_DEPENDENCIES = host-pkgconf host-systemd

It's pretty silly that host-systemd is needed, because in fact the host
sdbus-c++-xml2cpp is not linked against the sdbus-c++ library, and only
the sdbus-c++ library needs libsystemd. But oh well, since anyway
systemd+host-systemd are built for target sdbus-c++, there's in
practice no overhead.

> +HOST_SDBUS_CPP_CONF_OPTS += \

                            ^^ Changed to just =

Applied with those changes, thanks a lot!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-09-30 14:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-20 17:43 [Buildroot] [PATCH 1/1] package/sdbus-cpp: add support to build the host stub generator Charles Hardin
2023-06-20 20:04 ` Sergey Bobrenok
2023-09-30 14:13 ` Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox