All of 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.