* [Buildroot] [PATCH v3,1/3] alljoyn-base: new package
@ 2016-07-07 9:33 Fabrice Fontaine
2016-07-07 9:33 ` [Buildroot] [PATCH v3,2/3] alljoyn-tcl: " Fabrice Fontaine
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Fabrice Fontaine @ 2016-07-07 9:33 UTC (permalink / raw)
To: buildroot
AllJoyn Base Services are common services used by many devices,
providing a set of interfaces for different devices to interact and
interoperate with one another.
https://allseenalliance.org
Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
---
Changes v2 -> v3 (after review of Romain Naour):
- Move comment in Config.in at end of file to fix Kconfig indentation
- Remove / at the beginning of the ALLJOYN_BASE_DISTDIR variable
- Rewrap Config.in help text
Changes v1 -> v2 (after review of Romain Naour):
- Add dependencies on BR2_USE_MMU and !BR2_STATIC_LIBS
- Select BR2_PACKAGE_OPENSSL and never use builtin crypto library
- Remove unneeded comments on ALLJOYN_LICENSE_FILES
- Remove unneeded select and dependency on BR2_PACKAGE_LIBCAP as it is
already done in alljoyn package
package/Config.in | 1 +
package/alljoyn-base/Config.in | 43 ++++++++++++++++
package/alljoyn-base/alljoyn-base.hash | 2 +
package/alljoyn-base/alljoyn-base.mk | 94 ++++++++++++++++++++++++++++++++++
4 files changed, 140 insertions(+)
create mode 100644 package/alljoyn-base/Config.in
create mode 100644 package/alljoyn-base/alljoyn-base.hash
create mode 100644 package/alljoyn-base/alljoyn-base.mk
diff --git a/package/Config.in b/package/Config.in
index a682131..99a8836 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1129,6 +1129,7 @@ endmenu
menu "Networking"
source "package/agentpp/Config.in"
source "package/alljoyn/Config.in"
+ source "package/alljoyn-base/Config.in"
source "package/batman-adv/Config.in"
source "package/c-ares/Config.in"
source "package/canfestival/Config.in"
diff --git a/package/alljoyn-base/Config.in b/package/alljoyn-base/Config.in
new file mode 100644
index 0000000..233b3a7
--- /dev/null
+++ b/package/alljoyn-base/Config.in
@@ -0,0 +1,43 @@
+config BR2_PACKAGE_ALLJOYN_BASE
+ bool "alljoyn-base"
+ depends on BR2_USE_MMU # alljoyn
+ depends on !BR2_STATIC_LIBS
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_USE_WCHAR # alljoyn
+ select BR2_PACKAGE_ALLJOYN
+ select BR2_PACKAGE_OPENSSL
+ help
+ AllJoyn Base Services are common services used by many
+ devices, providing a set of interfaces for different devices
+ to interact and interoperate with one another.
+
+ https://allseenalliance.org
+
+if BR2_PACKAGE_ALLJOYN_BASE
+
+config BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL
+ bool "alljoyn-controlpanel"
+ help
+ Enable AllJoyn Control Panel base service which allows devices
+ to advertise a virtual control panel to be controlled remotely.
+
+config BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION
+ bool "alljoyn-notification"
+ help
+ Enable AllJoyn Notification base service which allows
+ text-based notifications to be sent and received by devices on
+ the AllJoyn network. Also supports audio and images via URLs.
+
+config BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING
+ bool "alljoyn-onboarding"
+ help
+ Enable AllJoyn Onboarding base service which provides a
+ consistent way to bring a new device onto the Wi-Fi network.
+
+endif # BR2_PACKAGE_ALLJOYN_BASE
+
+comment "alljoyn-base needs a toolchain w/ C++, threads, wchar, dynamic library"
+ depends on BR2_USE_MMU
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
+ !BR2_USE_WCHAR || BR2_STATIC_LIBS
diff --git a/package/alljoyn-base/alljoyn-base.hash b/package/alljoyn-base/alljoyn-base.hash
new file mode 100644
index 0000000..dbec3a3
--- /dev/null
+++ b/package/alljoyn-base/alljoyn-base.hash
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256 742f724b3a06c8fc4039591dba24871755728221ca5dc4afb78ebd9a7e3beb44 alljoyn-base-16.04.00.tar.gz
diff --git a/package/alljoyn-base/alljoyn-base.mk b/package/alljoyn-base/alljoyn-base.mk
new file mode 100644
index 0000000..80df718
--- /dev/null
+++ b/package/alljoyn-base/alljoyn-base.mk
@@ -0,0 +1,94 @@
+################################################################################
+#
+# alljoyn-base
+#
+################################################################################
+
+ALLJOYN_BASE_REV = 16.04
+ALLJOYN_BASE_VERSION = $(ALLJOYN_BASE_REV).00
+ALLJOYN_BASE_SOURCE = alljoyn-base-$(ALLJOYN_BASE_VERSION).tar.gz
+ALLJOYN_BASE_SITE = \
+ https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_BASE_REV)
+# See https://allseenalliance.org/alliance/ip-policy
+ALLJOYN_BASE_LICENSE = ISC
+
+ALLJOYN_BASE_DEPENDENCIES = host-scons alljoyn openssl
+ALLJOYN_BASE_INSTALL_STAGING = YES
+
+ALLJOYN_BASE_CRYPTO = openssl
+
+# AllJoyn can be compiled in debug or release mode. By default, AllJoyn is built
+# in debug mode.
+ALLJOYN_BASE_VARIANT = release
+
+ALLJOYN_BASE_BINDINGS = c,cpp
+
+# By setting openwrt for OS and CPU, AllJoyn cross-compilation can be finely
+# tuned through TARGET_xxx options. All TARGET_xxx variables must be defined
+# otherwise compilation will fail.
+# CROSS_COMPILE option should not be used as it works only for linux/ARM.
+ALLJOYN_BASE_OS = openwrt
+ALLJOYN_BASE_CPU = openwrt
+
+# AllJoyn install everything in this relative path
+ALLJOYN_BASE_DISTDIR = \
+ build/$(ALLJOYN_OS)/$(ALLJOYN_CPU)/$(ALLJOYN_VARIANT)/dist/
+
+ALLJOYN_BASE_SCONS_OPTS = \
+ -j$(PARALLEL_JOBS) \
+ V=1 \
+ OS=$(ALLJOYN_BASE_OS) \
+ CPU=$(ALLJOYN_BASE_CPU) \
+ VARIANT=$(ALLJOYN_BASE_VARIANT) \
+ BR=off \
+ CRYPTO=$(ALLJOYN_BASE_CRYPTO) \
+ BINDINGS=$(ALLJOYN_BASE_BINDINGS) \
+ ALLJOYN_DISTDIR="$(STAGING_DIR)"\
+ TARGET_CFLAGS="$(TARGET_CFLAGS)" \
+ TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \
+ TARGET_LINKFLAGS="$(TARGET_LINKFLAGS)" \
+ TARGET_CC="$(TARGET_CC)" \
+ TARGET_CXX="$(TARGET_CXX)" \
+ TARGET_LD="$(TARGET_LD)" \
+ TARGET_LINK="$(TARGET_CXX)" \
+ TARGET_AR="$(TARGET_AR)" \
+ TARGET_RANLIB="$(TARGET_RANLIB)" \
+ TARGET_PATH="$(BR_PATH)"
+
+ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL), y)
+ALLJOYN_BASE_BUILD_CONTROLPANEL = \
+ cd $(@D)/controlpanel; $(SCONS) $(ALLJOYN_BASE_SCONS_OPTS)
+endif
+
+ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION), y)
+ALLJOYN_BASE_BUILD_NOTIFICATION = \
+ cd $(@D)/notification; $(SCONS) $(ALLJOYN_BASE_SCONS_OPTS)
+endif
+
+ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING), y)
+ALLJOYN_BASE_BUILD_ONBOARDING = \
+ cd $(@D)/onboarding; $(SCONS) $(ALLJOYN_BASE_SCONS_OPTS)
+endif
+
+define ALLJOYN_BASE_BUILD_CMDS
+ $(ALLJOYN_BASE_BUILD_CONTROLPANEL)
+ $(ALLJOYN_BASE_BUILD_NOTIFICATION)
+ $(ALLJOYN_BASE_BUILD_ONBOARDING)
+endef
+
+# Suppress error code and error message as those directories could be missing if
+# BR2_PACKAGE_ALLJOYN_BASE_xxx variables are all unset
+define ALLJOYN_BASE_INSTALL_STAGING_CMDS
+ cp -a $(@D)/*/$(ALLJOYN_BASE_DISTDIR)/*/lib/lib* \
+ $(STAGING_DIR)/usr/lib/ 2>/dev/null || :
+ cp -a $(@D)/*/$(ALLJOYN_BASE_DISTDIR)/*/inc/* \
+ $(STAGING_DIR)/usr/include/ 2>/dev/null || :
+endef
+
+# Only install alljoyn dynamic libraries into target directory
+define ALLJOYN_BASE_INSTALL_TARGET_CMDS
+ cp -a $(@D)/*/$(ALLJOYN_BASE_DISTDIR)/*/lib/lib*.so* \
+ $(TARGET_DIR)/usr/lib/ 2>/dev/null || :
+endef
+
+$(eval $(generic-package))
--
2.7.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,2/3] alljoyn-tcl: new package
2016-07-07 9:33 [Buildroot] [PATCH v3,1/3] alljoyn-base: new package Fabrice Fontaine
@ 2016-07-07 9:33 ` Fabrice Fontaine
2016-07-07 16:59 ` Romain Naour
2016-07-20 20:28 ` Thomas Petazzoni
2016-07-07 9:33 ` [Buildroot] [PATCH v3,3/3] alljoyn-tcl-base: " Fabrice Fontaine
` (2 subsequent siblings)
3 siblings, 2 replies; 9+ messages in thread
From: Fabrice Fontaine @ 2016-07-07 9:33 UTC (permalink / raw)
To: buildroot
The AllJoyn framework defines a common way for devices and apps to
communicate with one another regardless of brands, categories,
transports, and OSes. Developers write applications that discover
nearby devices, and communicate with each other directly and through
the cloud, unleashing new possibilities in the Internet of Things.
AllJoyn Thin Core Library (AJTCL) is designed to bring the benefits
of the AllJoyn distributed programming environment to embedded
systems.
https://allseenalliance.org
Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
---
Changes v2 -> v3 (after review of Romain Naour):
- Rename ajtcl into alljoyn-tcl for consistency
- Rewrap Config.in help text
Changes v1 -> v2 (after review of Romain Naour):
- Add dependencies on !BR2_STATIC_LIBS
- Remove unneeded comments on ALLJOYN_LICENSE_FILES
package/Config.in | 1 +
package/alljoyn-tcl/Config.in | 20 +++++++++++++++++
package/alljoyn-tcl/alljoyn-tcl.hash | 2 ++
package/alljoyn-tcl/alljoyn-tcl.mk | 43 ++++++++++++++++++++++++++++++++++++
4 files changed, 66 insertions(+)
create mode 100644 package/alljoyn-tcl/Config.in
create mode 100644 package/alljoyn-tcl/alljoyn-tcl.hash
create mode 100644 package/alljoyn-tcl/alljoyn-tcl.mk
diff --git a/package/Config.in b/package/Config.in
index 99a8836..5715bff 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1130,6 +1130,7 @@ menu "Networking"
source "package/agentpp/Config.in"
source "package/alljoyn/Config.in"
source "package/alljoyn-base/Config.in"
+ source "package/alljoyn-tcl/Config.in"
source "package/batman-adv/Config.in"
source "package/c-ares/Config.in"
source "package/canfestival/Config.in"
diff --git a/package/alljoyn-tcl/Config.in b/package/alljoyn-tcl/Config.in
new file mode 100644
index 0000000..fe54af0
--- /dev/null
+++ b/package/alljoyn-tcl/Config.in
@@ -0,0 +1,20 @@
+config BR2_PACKAGE_ALLJOYN_TCL
+ bool "alljoyn-tcl"
+ depends on !BR2_STATIC_LIBS
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ help
+ The AllJoyn framework defines a common way for devices and
+ apps to communicate with one another regardless of brands,
+ categories, transports, and OSes. Developers write
+ applications that discover nearby devices, and communicate
+ with each other directly and through the cloud, unleashing
+ new possibilities in the Internet of Things.
+
+ AllJoyn Thin Core Library (AJTCL) is designed to bring the
+ benefits of the AllJoyn distributed programming environment
+ to embedded systems.
+
+ https://allseenalliance.org
+
+comment "alljoyn-tcl needs a toolchain w/ threads and dynamic library"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/alljoyn-tcl/alljoyn-tcl.hash b/package/alljoyn-tcl/alljoyn-tcl.hash
new file mode 100644
index 0000000..a1cdf16
--- /dev/null
+++ b/package/alljoyn-tcl/alljoyn-tcl.hash
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256 ce6a05a67ff405ba6274e85fe750d98f40cbe7ab2c968218c7741a10bd86e21a ajtcl-16.04.00-src.tar.gz
diff --git a/package/alljoyn-tcl/alljoyn-tcl.mk b/package/alljoyn-tcl/alljoyn-tcl.mk
new file mode 100644
index 0000000..a5c7e4e
--- /dev/null
+++ b/package/alljoyn-tcl/alljoyn-tcl.mk
@@ -0,0 +1,43 @@
+################################################################################
+#
+# alljoyn-tcl
+#
+################################################################################
+
+ALLJOYN_TCL_REV = 16.04
+ALLJOYN_TCL_VERSION = $(ALLJOYN_TCL_REV).00
+ALLJOYN_TCL_SOURCE = ajtcl-$(ALLJOYN_TCL_VERSION)-src.tar.gz
+ALLJOYN_TCL_SITE = \
+ https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_TCL_REV)
+# See https://allseenalliance.org/alliance/ip-policy
+ALLJOYN_TCL_LICENSE = ISC
+
+ALLJOYN_TCL_DEPENDENCIES = host-scons
+ALLJOYN_TCL_INSTALL_STAGING = YES
+
+# AllJoyn Thin Core can be compiled in debug or release mode. By default,
+# AllJoyn Thin Core is built in debug mode.
+ALLJOYN_TCL_VARIANT = release
+
+ALLJOYN_TCL_SCONS_OPTS = \
+ -j$(PARALLEL_JOBS) \
+ V=1 \
+ VARIANT=$(ALLJOYN_TCL_VARIANT) \
+ CC="$(TARGET_CC)" \
+ CXX="$(TARGET_CXX)"
+
+define ALLJOYN_TCL_BUILD_CMDS
+ cd $(@D); $(SCONS) $(ALLJOYN_TCL_SCONS_OPTS)
+endef
+
+define ALLJOYN_TCL_INSTALL_STAGING_CMDS
+ cp -a $(@D)/dist/lib/lib* $(STAGING_DIR)/usr/lib/
+ cp -a $(@D)/dist/include/* $(STAGING_DIR)/usr/include/
+endef
+
+# Only install AllJoyn Thin Core dynamic libraries into target directory
+define ALLJOYN_TCL_INSTALL_TARGET_CMDS
+ cp -a $(@D)/dist/lib/lib*.so* $(TARGET_DIR)/usr/lib/
+endef
+
+$(eval $(generic-package))
--
2.7.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,3/3] alljoyn-tcl-base: new package
2016-07-07 9:33 [Buildroot] [PATCH v3,1/3] alljoyn-base: new package Fabrice Fontaine
2016-07-07 9:33 ` [Buildroot] [PATCH v3,2/3] alljoyn-tcl: " Fabrice Fontaine
@ 2016-07-07 9:33 ` Fabrice Fontaine
2016-07-07 17:02 ` Romain Naour
2016-07-20 20:31 ` Thomas Petazzoni
2016-07-07 16:58 ` [Buildroot] [PATCH v3,1/3] alljoyn-base: " Romain Naour
2016-07-20 20:20 ` Thomas Petazzoni
3 siblings, 2 replies; 9+ messages in thread
From: Fabrice Fontaine @ 2016-07-07 9:33 UTC (permalink / raw)
To: buildroot
AllJoyn Base Services are common services used by many devices,
providing a set of interfaces for different devices to interact and
interoperate with one another.
Thin Client Library is designed to bring the benefits of the AllJoyn
distributed programming environment to embedded systems.
https://allseenalliance.org
Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
---
Changes v2 -> v3 (after review of Romain Naour):
- Rewrap Config.in help text
- Replace dependency on ajtcl to alljoyn-tcl
package/Config.in | 1 +
package/alljoyn-tcl-base/Config.in | 18 +++++++++++
package/alljoyn-tcl-base/alljoyn-tcl-base.hash | 2 ++
package/alljoyn-tcl-base/alljoyn-tcl-base.mk | 45 ++++++++++++++++++++++++++
4 files changed, 66 insertions(+)
create mode 100644 package/alljoyn-tcl-base/Config.in
create mode 100644 package/alljoyn-tcl-base/alljoyn-tcl-base.hash
create mode 100644 package/alljoyn-tcl-base/alljoyn-tcl-base.mk
diff --git a/package/Config.in b/package/Config.in
index 5715bff..f86e1ef 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1131,6 +1131,7 @@ menu "Networking"
source "package/alljoyn/Config.in"
source "package/alljoyn-base/Config.in"
source "package/alljoyn-tcl/Config.in"
+ source "package/alljoyn-tcl-base/Config.in"
source "package/batman-adv/Config.in"
source "package/c-ares/Config.in"
source "package/canfestival/Config.in"
diff --git a/package/alljoyn-tcl-base/Config.in b/package/alljoyn-tcl-base/Config.in
new file mode 100644
index 0000000..ebc3370
--- /dev/null
+++ b/package/alljoyn-tcl-base/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_ALLJOYN_TCL_BASE
+ bool "alljoyn-tcl-base"
+ depends on !BR2_STATIC_LIBS
+ depends on BR2_TOOLCHAIN_HAS_THREADS # alljoyn-tcl
+ select BR2_PACKAGE_ALLJOYN_TCL
+ help
+ AllJoyn Base Services are common services used by many
+ devices, providing a set of interfaces for different devices
+ to interact and interoperate with one another.
+
+ Thin Client Library is designed to bring the benefits of the
+ AllJoyn distributed programming environment to embedded
+ systems.
+
+ https://allseenalliance.org
+
+comment "alljoyn-tcl-base needs a toolchain w/ threads and dynamic library"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/alljoyn-tcl-base/alljoyn-tcl-base.hash b/package/alljoyn-tcl-base/alljoyn-tcl-base.hash
new file mode 100644
index 0000000..882839d
--- /dev/null
+++ b/package/alljoyn-tcl-base/alljoyn-tcl-base.hash
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256 741f7a71929ccd6a66bf75d2b03affc62411e229b70bb89399be9b1b2ce40629 alljoyn-base_tcl-16.04.00.tar.gz
diff --git a/package/alljoyn-tcl-base/alljoyn-tcl-base.mk b/package/alljoyn-tcl-base/alljoyn-tcl-base.mk
new file mode 100644
index 0000000..461cd09
--- /dev/null
+++ b/package/alljoyn-tcl-base/alljoyn-tcl-base.mk
@@ -0,0 +1,45 @@
+################################################################################
+#
+# alljoyn-tcl-base
+#
+################################################################################
+
+ALLJOYN_TCL_BASE_REV = 16.04
+ALLJOYN_TCL_BASE_VERSION = $(ALLJOYN_TCL_BASE_REV).00
+ALLJOYN_TCL_BASE_SOURCE = alljoyn-base_tcl-$(ALLJOYN_TCL_BASE_VERSION).tar.gz
+ALLJOYN_TCL_BASE_SITE = \
+ https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_TCL_BASE_REV)
+# See https://allseenalliance.org/alliance/ip-policy
+ALLJOYN_TCL_BASE_LICENSE = ISC
+
+ALLJOYN_TCL_BASE_DEPENDENCIES = host-scons alljoyn-tcl
+ALLJOYN_TCL_BASE_INSTALL_STAGING = YES
+
+# AllJoyn Base Thin Core can be compiled in debug or release mode. By default,
+# AllJoyn Base Thin Core is built in debug mode.
+ALLJOYN_TCL_BASE_VARIANT = release
+
+ALLJOYN_TCL_BASE_SCONS_OPTS = \
+ -j$(PARALLEL_JOBS) \
+ V=1 \
+ VARIANT=$(ALLJOYN_TCL_BASE_VARIANT) \
+ CC="$(TARGET_CC)" \
+ CXX="$(TARGET_CXX)" \
+ AJTCL_DIST=$(STAGING_DIR) \
+ WS=off
+
+define ALLJOYN_TCL_BASE_BUILD_CMDS
+ cd $(@D); $(SCONS) $(ALLJOYN_TCL_BASE_SCONS_OPTS)
+endef
+
+define ALLJOYN_TCL_BASE_INSTALL_STAGING_CMDS
+ cp -a $(@D)/dist/lib/lib* $(STAGING_DIR)/usr/lib/
+ cp -a $(@D)/dist/include/* $(STAGING_DIR)/usr/include/
+endef
+
+# Only install AllJoyn Base Thin Core dynamic libraries into target directory
+define ALLJOYN_TCL_BASE_INSTALL_TARGET_CMDS
+ cp -a $(@D)/dist/lib/lib*.so* $(TARGET_DIR)/usr/lib/
+endef
+
+$(eval $(generic-package))
--
2.7.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,1/3] alljoyn-base: new package
2016-07-07 9:33 [Buildroot] [PATCH v3,1/3] alljoyn-base: new package Fabrice Fontaine
2016-07-07 9:33 ` [Buildroot] [PATCH v3,2/3] alljoyn-tcl: " Fabrice Fontaine
2016-07-07 9:33 ` [Buildroot] [PATCH v3,3/3] alljoyn-tcl-base: " Fabrice Fontaine
@ 2016-07-07 16:58 ` Romain Naour
2016-07-20 20:20 ` Thomas Petazzoni
3 siblings, 0 replies; 9+ messages in thread
From: Romain Naour @ 2016-07-07 16:58 UTC (permalink / raw)
To: buildroot
Hi Fabrice,
Le 07/07/2016 ? 11:33, Fabrice Fontaine a ?crit :
> AllJoyn Base Services are common services used by many devices,
> providing a set of interfaces for different devices to interact and
> interoperate with one another.
>
> https://allseenalliance.org
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Best regards,
Romain
>
> Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
> ---
> Changes v2 -> v3 (after review of Romain Naour):
> - Move comment in Config.in at end of file to fix Kconfig indentation
> - Remove / at the beginning of the ALLJOYN_BASE_DISTDIR variable
> - Rewrap Config.in help text
>
> Changes v1 -> v2 (after review of Romain Naour):
> - Add dependencies on BR2_USE_MMU and !BR2_STATIC_LIBS
> - Select BR2_PACKAGE_OPENSSL and never use builtin crypto library
> - Remove unneeded comments on ALLJOYN_LICENSE_FILES
> - Remove unneeded select and dependency on BR2_PACKAGE_LIBCAP as it is
> already done in alljoyn package
>
> package/Config.in | 1 +
> package/alljoyn-base/Config.in | 43 ++++++++++++++++
> package/alljoyn-base/alljoyn-base.hash | 2 +
> package/alljoyn-base/alljoyn-base.mk | 94 ++++++++++++++++++++++++++++++++++
> 4 files changed, 140 insertions(+)
> create mode 100644 package/alljoyn-base/Config.in
> create mode 100644 package/alljoyn-base/alljoyn-base.hash
> create mode 100644 package/alljoyn-base/alljoyn-base.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index a682131..99a8836 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1129,6 +1129,7 @@ endmenu
> menu "Networking"
> source "package/agentpp/Config.in"
> source "package/alljoyn/Config.in"
> + source "package/alljoyn-base/Config.in"
> source "package/batman-adv/Config.in"
> source "package/c-ares/Config.in"
> source "package/canfestival/Config.in"
> diff --git a/package/alljoyn-base/Config.in b/package/alljoyn-base/Config.in
> new file mode 100644
> index 0000000..233b3a7
> --- /dev/null
> +++ b/package/alljoyn-base/Config.in
> @@ -0,0 +1,43 @@
> +config BR2_PACKAGE_ALLJOYN_BASE
> + bool "alljoyn-base"
> + depends on BR2_USE_MMU # alljoyn
> + depends on !BR2_STATIC_LIBS
> + depends on BR2_INSTALL_LIBSTDCPP
> + depends on BR2_TOOLCHAIN_HAS_THREADS
> + depends on BR2_USE_WCHAR # alljoyn
> + select BR2_PACKAGE_ALLJOYN
> + select BR2_PACKAGE_OPENSSL
> + help
> + AllJoyn Base Services are common services used by many
> + devices, providing a set of interfaces for different devices
> + to interact and interoperate with one another.
> +
> + https://allseenalliance.org
> +
> +if BR2_PACKAGE_ALLJOYN_BASE
> +
> +config BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL
> + bool "alljoyn-controlpanel"
> + help
> + Enable AllJoyn Control Panel base service which allows devices
> + to advertise a virtual control panel to be controlled remotely.
> +
> +config BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION
> + bool "alljoyn-notification"
> + help
> + Enable AllJoyn Notification base service which allows
> + text-based notifications to be sent and received by devices on
> + the AllJoyn network. Also supports audio and images via URLs.
> +
> +config BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING
> + bool "alljoyn-onboarding"
> + help
> + Enable AllJoyn Onboarding base service which provides a
> + consistent way to bring a new device onto the Wi-Fi network.
> +
> +endif # BR2_PACKAGE_ALLJOYN_BASE
> +
> +comment "alljoyn-base needs a toolchain w/ C++, threads, wchar, dynamic library"
> + depends on BR2_USE_MMU
> + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
> + !BR2_USE_WCHAR || BR2_STATIC_LIBS
> diff --git a/package/alljoyn-base/alljoyn-base.hash b/package/alljoyn-base/alljoyn-base.hash
> new file mode 100644
> index 0000000..dbec3a3
> --- /dev/null
> +++ b/package/alljoyn-base/alljoyn-base.hash
> @@ -0,0 +1,2 @@
> +# Locally computed:
> +sha256 742f724b3a06c8fc4039591dba24871755728221ca5dc4afb78ebd9a7e3beb44 alljoyn-base-16.04.00.tar.gz
> diff --git a/package/alljoyn-base/alljoyn-base.mk b/package/alljoyn-base/alljoyn-base.mk
> new file mode 100644
> index 0000000..80df718
> --- /dev/null
> +++ b/package/alljoyn-base/alljoyn-base.mk
> @@ -0,0 +1,94 @@
> +################################################################################
> +#
> +# alljoyn-base
> +#
> +################################################################################
> +
> +ALLJOYN_BASE_REV = 16.04
> +ALLJOYN_BASE_VERSION = $(ALLJOYN_BASE_REV).00
> +ALLJOYN_BASE_SOURCE = alljoyn-base-$(ALLJOYN_BASE_VERSION).tar.gz
> +ALLJOYN_BASE_SITE = \
> + https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_BASE_REV)
> +# See https://allseenalliance.org/alliance/ip-policy
> +ALLJOYN_BASE_LICENSE = ISC
> +
> +ALLJOYN_BASE_DEPENDENCIES = host-scons alljoyn openssl
> +ALLJOYN_BASE_INSTALL_STAGING = YES
> +
> +ALLJOYN_BASE_CRYPTO = openssl
> +
> +# AllJoyn can be compiled in debug or release mode. By default, AllJoyn is built
> +# in debug mode.
> +ALLJOYN_BASE_VARIANT = release
> +
> +ALLJOYN_BASE_BINDINGS = c,cpp
> +
> +# By setting openwrt for OS and CPU, AllJoyn cross-compilation can be finely
> +# tuned through TARGET_xxx options. All TARGET_xxx variables must be defined
> +# otherwise compilation will fail.
> +# CROSS_COMPILE option should not be used as it works only for linux/ARM.
> +ALLJOYN_BASE_OS = openwrt
> +ALLJOYN_BASE_CPU = openwrt
> +
> +# AllJoyn install everything in this relative path
> +ALLJOYN_BASE_DISTDIR = \
> + build/$(ALLJOYN_OS)/$(ALLJOYN_CPU)/$(ALLJOYN_VARIANT)/dist/
> +
> +ALLJOYN_BASE_SCONS_OPTS = \
> + -j$(PARALLEL_JOBS) \
> + V=1 \
> + OS=$(ALLJOYN_BASE_OS) \
> + CPU=$(ALLJOYN_BASE_CPU) \
> + VARIANT=$(ALLJOYN_BASE_VARIANT) \
> + BR=off \
> + CRYPTO=$(ALLJOYN_BASE_CRYPTO) \
> + BINDINGS=$(ALLJOYN_BASE_BINDINGS) \
> + ALLJOYN_DISTDIR="$(STAGING_DIR)"\
> + TARGET_CFLAGS="$(TARGET_CFLAGS)" \
> + TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \
> + TARGET_LINKFLAGS="$(TARGET_LINKFLAGS)" \
> + TARGET_CC="$(TARGET_CC)" \
> + TARGET_CXX="$(TARGET_CXX)" \
> + TARGET_LD="$(TARGET_LD)" \
> + TARGET_LINK="$(TARGET_CXX)" \
> + TARGET_AR="$(TARGET_AR)" \
> + TARGET_RANLIB="$(TARGET_RANLIB)" \
> + TARGET_PATH="$(BR_PATH)"
> +
> +ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL), y)
> +ALLJOYN_BASE_BUILD_CONTROLPANEL = \
> + cd $(@D)/controlpanel; $(SCONS) $(ALLJOYN_BASE_SCONS_OPTS)
> +endif
> +
> +ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION), y)
> +ALLJOYN_BASE_BUILD_NOTIFICATION = \
> + cd $(@D)/notification; $(SCONS) $(ALLJOYN_BASE_SCONS_OPTS)
> +endif
> +
> +ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING), y)
> +ALLJOYN_BASE_BUILD_ONBOARDING = \
> + cd $(@D)/onboarding; $(SCONS) $(ALLJOYN_BASE_SCONS_OPTS)
> +endif
> +
> +define ALLJOYN_BASE_BUILD_CMDS
> + $(ALLJOYN_BASE_BUILD_CONTROLPANEL)
> + $(ALLJOYN_BASE_BUILD_NOTIFICATION)
> + $(ALLJOYN_BASE_BUILD_ONBOARDING)
> +endef
> +
> +# Suppress error code and error message as those directories could be missing if
> +# BR2_PACKAGE_ALLJOYN_BASE_xxx variables are all unset
> +define ALLJOYN_BASE_INSTALL_STAGING_CMDS
> + cp -a $(@D)/*/$(ALLJOYN_BASE_DISTDIR)/*/lib/lib* \
> + $(STAGING_DIR)/usr/lib/ 2>/dev/null || :
> + cp -a $(@D)/*/$(ALLJOYN_BASE_DISTDIR)/*/inc/* \
> + $(STAGING_DIR)/usr/include/ 2>/dev/null || :
> +endef
> +
> +# Only install alljoyn dynamic libraries into target directory
> +define ALLJOYN_BASE_INSTALL_TARGET_CMDS
> + cp -a $(@D)/*/$(ALLJOYN_BASE_DISTDIR)/*/lib/lib*.so* \
> + $(TARGET_DIR)/usr/lib/ 2>/dev/null || :
> +endef
> +
> +$(eval $(generic-package))
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,2/3] alljoyn-tcl: new package
2016-07-07 9:33 ` [Buildroot] [PATCH v3,2/3] alljoyn-tcl: " Fabrice Fontaine
@ 2016-07-07 16:59 ` Romain Naour
2016-07-20 20:28 ` Thomas Petazzoni
1 sibling, 0 replies; 9+ messages in thread
From: Romain Naour @ 2016-07-07 16:59 UTC (permalink / raw)
To: buildroot
Hi Fabrice,
Le 07/07/2016 ? 11:33, Fabrice Fontaine a ?crit :
> The AllJoyn framework defines a common way for devices and apps to
> communicate with one another regardless of brands, categories,
> transports, and OSes. Developers write applications that discover
> nearby devices, and communicate with each other directly and through
> the cloud, unleashing new possibilities in the Internet of Things.
>
> AllJoyn Thin Core Library (AJTCL) is designed to bring the benefits
> of the AllJoyn distributed programming environment to embedded
> systems.
>
> https://allseenalliance.org
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Best regards,
Romain
>
> Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
> ---
> Changes v2 -> v3 (after review of Romain Naour):
> - Rename ajtcl into alljoyn-tcl for consistency
> - Rewrap Config.in help text
>
> Changes v1 -> v2 (after review of Romain Naour):
> - Add dependencies on !BR2_STATIC_LIBS
> - Remove unneeded comments on ALLJOYN_LICENSE_FILES
>
> package/Config.in | 1 +
> package/alljoyn-tcl/Config.in | 20 +++++++++++++++++
> package/alljoyn-tcl/alljoyn-tcl.hash | 2 ++
> package/alljoyn-tcl/alljoyn-tcl.mk | 43 ++++++++++++++++++++++++++++++++++++
> 4 files changed, 66 insertions(+)
> create mode 100644 package/alljoyn-tcl/Config.in
> create mode 100644 package/alljoyn-tcl/alljoyn-tcl.hash
> create mode 100644 package/alljoyn-tcl/alljoyn-tcl.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 99a8836..5715bff 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1130,6 +1130,7 @@ menu "Networking"
> source "package/agentpp/Config.in"
> source "package/alljoyn/Config.in"
> source "package/alljoyn-base/Config.in"
> + source "package/alljoyn-tcl/Config.in"
> source "package/batman-adv/Config.in"
> source "package/c-ares/Config.in"
> source "package/canfestival/Config.in"
> diff --git a/package/alljoyn-tcl/Config.in b/package/alljoyn-tcl/Config.in
> new file mode 100644
> index 0000000..fe54af0
> --- /dev/null
> +++ b/package/alljoyn-tcl/Config.in
> @@ -0,0 +1,20 @@
> +config BR2_PACKAGE_ALLJOYN_TCL
> + bool "alljoyn-tcl"
> + depends on !BR2_STATIC_LIBS
> + depends on BR2_TOOLCHAIN_HAS_THREADS
> + help
> + The AllJoyn framework defines a common way for devices and
> + apps to communicate with one another regardless of brands,
> + categories, transports, and OSes. Developers write
> + applications that discover nearby devices, and communicate
> + with each other directly and through the cloud, unleashing
> + new possibilities in the Internet of Things.
> +
> + AllJoyn Thin Core Library (AJTCL) is designed to bring the
> + benefits of the AllJoyn distributed programming environment
> + to embedded systems.
> +
> + https://allseenalliance.org
> +
> +comment "alljoyn-tcl needs a toolchain w/ threads and dynamic library"
> + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
> diff --git a/package/alljoyn-tcl/alljoyn-tcl.hash b/package/alljoyn-tcl/alljoyn-tcl.hash
> new file mode 100644
> index 0000000..a1cdf16
> --- /dev/null
> +++ b/package/alljoyn-tcl/alljoyn-tcl.hash
> @@ -0,0 +1,2 @@
> +# Locally computed:
> +sha256 ce6a05a67ff405ba6274e85fe750d98f40cbe7ab2c968218c7741a10bd86e21a ajtcl-16.04.00-src.tar.gz
> diff --git a/package/alljoyn-tcl/alljoyn-tcl.mk b/package/alljoyn-tcl/alljoyn-tcl.mk
> new file mode 100644
> index 0000000..a5c7e4e
> --- /dev/null
> +++ b/package/alljoyn-tcl/alljoyn-tcl.mk
> @@ -0,0 +1,43 @@
> +################################################################################
> +#
> +# alljoyn-tcl
> +#
> +################################################################################
> +
> +ALLJOYN_TCL_REV = 16.04
> +ALLJOYN_TCL_VERSION = $(ALLJOYN_TCL_REV).00
> +ALLJOYN_TCL_SOURCE = ajtcl-$(ALLJOYN_TCL_VERSION)-src.tar.gz
> +ALLJOYN_TCL_SITE = \
> + https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_TCL_REV)
> +# See https://allseenalliance.org/alliance/ip-policy
> +ALLJOYN_TCL_LICENSE = ISC
> +
> +ALLJOYN_TCL_DEPENDENCIES = host-scons
> +ALLJOYN_TCL_INSTALL_STAGING = YES
> +
> +# AllJoyn Thin Core can be compiled in debug or release mode. By default,
> +# AllJoyn Thin Core is built in debug mode.
> +ALLJOYN_TCL_VARIANT = release
> +
> +ALLJOYN_TCL_SCONS_OPTS = \
> + -j$(PARALLEL_JOBS) \
> + V=1 \
> + VARIANT=$(ALLJOYN_TCL_VARIANT) \
> + CC="$(TARGET_CC)" \
> + CXX="$(TARGET_CXX)"
> +
> +define ALLJOYN_TCL_BUILD_CMDS
> + cd $(@D); $(SCONS) $(ALLJOYN_TCL_SCONS_OPTS)
> +endef
> +
> +define ALLJOYN_TCL_INSTALL_STAGING_CMDS
> + cp -a $(@D)/dist/lib/lib* $(STAGING_DIR)/usr/lib/
> + cp -a $(@D)/dist/include/* $(STAGING_DIR)/usr/include/
> +endef
> +
> +# Only install AllJoyn Thin Core dynamic libraries into target directory
> +define ALLJOYN_TCL_INSTALL_TARGET_CMDS
> + cp -a $(@D)/dist/lib/lib*.so* $(TARGET_DIR)/usr/lib/
> +endef
> +
> +$(eval $(generic-package))
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,3/3] alljoyn-tcl-base: new package
2016-07-07 9:33 ` [Buildroot] [PATCH v3,3/3] alljoyn-tcl-base: " Fabrice Fontaine
@ 2016-07-07 17:02 ` Romain Naour
2016-07-20 20:31 ` Thomas Petazzoni
1 sibling, 0 replies; 9+ messages in thread
From: Romain Naour @ 2016-07-07 17:02 UTC (permalink / raw)
To: buildroot
Hi Fabrice,
Le 07/07/2016 ? 11:33, Fabrice Fontaine a ?crit :
> AllJoyn Base Services are common services used by many devices,
> providing a set of interfaces for different devices to interact and
> interoperate with one another.
>
> Thin Client Library is designed to bring the benefits of the AllJoyn
> distributed programming environment to embedded systems.
>
> https://allseenalliance.org
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Best regards,
Romain
>
> Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
> ---
> Changes v2 -> v3 (after review of Romain Naour):
> - Rewrap Config.in help text
> - Replace dependency on ajtcl to alljoyn-tcl
>
> package/Config.in | 1 +
> package/alljoyn-tcl-base/Config.in | 18 +++++++++++
> package/alljoyn-tcl-base/alljoyn-tcl-base.hash | 2 ++
> package/alljoyn-tcl-base/alljoyn-tcl-base.mk | 45 ++++++++++++++++++++++++++
> 4 files changed, 66 insertions(+)
> create mode 100644 package/alljoyn-tcl-base/Config.in
> create mode 100644 package/alljoyn-tcl-base/alljoyn-tcl-base.hash
> create mode 100644 package/alljoyn-tcl-base/alljoyn-tcl-base.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 5715bff..f86e1ef 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1131,6 +1131,7 @@ menu "Networking"
> source "package/alljoyn/Config.in"
> source "package/alljoyn-base/Config.in"
> source "package/alljoyn-tcl/Config.in"
> + source "package/alljoyn-tcl-base/Config.in"
> source "package/batman-adv/Config.in"
> source "package/c-ares/Config.in"
> source "package/canfestival/Config.in"
> diff --git a/package/alljoyn-tcl-base/Config.in b/package/alljoyn-tcl-base/Config.in
> new file mode 100644
> index 0000000..ebc3370
> --- /dev/null
> +++ b/package/alljoyn-tcl-base/Config.in
> @@ -0,0 +1,18 @@
> +config BR2_PACKAGE_ALLJOYN_TCL_BASE
> + bool "alljoyn-tcl-base"
> + depends on !BR2_STATIC_LIBS
> + depends on BR2_TOOLCHAIN_HAS_THREADS # alljoyn-tcl
> + select BR2_PACKAGE_ALLJOYN_TCL
> + help
> + AllJoyn Base Services are common services used by many
> + devices, providing a set of interfaces for different devices
> + to interact and interoperate with one another.
> +
> + Thin Client Library is designed to bring the benefits of the
> + AllJoyn distributed programming environment to embedded
> + systems.
> +
> + https://allseenalliance.org
> +
> +comment "alljoyn-tcl-base needs a toolchain w/ threads and dynamic library"
> + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
> diff --git a/package/alljoyn-tcl-base/alljoyn-tcl-base.hash b/package/alljoyn-tcl-base/alljoyn-tcl-base.hash
> new file mode 100644
> index 0000000..882839d
> --- /dev/null
> +++ b/package/alljoyn-tcl-base/alljoyn-tcl-base.hash
> @@ -0,0 +1,2 @@
> +# Locally computed:
> +sha256 741f7a71929ccd6a66bf75d2b03affc62411e229b70bb89399be9b1b2ce40629 alljoyn-base_tcl-16.04.00.tar.gz
> diff --git a/package/alljoyn-tcl-base/alljoyn-tcl-base.mk b/package/alljoyn-tcl-base/alljoyn-tcl-base.mk
> new file mode 100644
> index 0000000..461cd09
> --- /dev/null
> +++ b/package/alljoyn-tcl-base/alljoyn-tcl-base.mk
> @@ -0,0 +1,45 @@
> +################################################################################
> +#
> +# alljoyn-tcl-base
> +#
> +################################################################################
> +
> +ALLJOYN_TCL_BASE_REV = 16.04
> +ALLJOYN_TCL_BASE_VERSION = $(ALLJOYN_TCL_BASE_REV).00
> +ALLJOYN_TCL_BASE_SOURCE = alljoyn-base_tcl-$(ALLJOYN_TCL_BASE_VERSION).tar.gz
> +ALLJOYN_TCL_BASE_SITE = \
> + https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_TCL_BASE_REV)
> +# See https://allseenalliance.org/alliance/ip-policy
> +ALLJOYN_TCL_BASE_LICENSE = ISC
> +
> +ALLJOYN_TCL_BASE_DEPENDENCIES = host-scons alljoyn-tcl
> +ALLJOYN_TCL_BASE_INSTALL_STAGING = YES
> +
> +# AllJoyn Base Thin Core can be compiled in debug or release mode. By default,
> +# AllJoyn Base Thin Core is built in debug mode.
> +ALLJOYN_TCL_BASE_VARIANT = release
> +
> +ALLJOYN_TCL_BASE_SCONS_OPTS = \
> + -j$(PARALLEL_JOBS) \
> + V=1 \
> + VARIANT=$(ALLJOYN_TCL_BASE_VARIANT) \
> + CC="$(TARGET_CC)" \
> + CXX="$(TARGET_CXX)" \
> + AJTCL_DIST=$(STAGING_DIR) \
> + WS=off
> +
> +define ALLJOYN_TCL_BASE_BUILD_CMDS
> + cd $(@D); $(SCONS) $(ALLJOYN_TCL_BASE_SCONS_OPTS)
> +endef
> +
> +define ALLJOYN_TCL_BASE_INSTALL_STAGING_CMDS
> + cp -a $(@D)/dist/lib/lib* $(STAGING_DIR)/usr/lib/
> + cp -a $(@D)/dist/include/* $(STAGING_DIR)/usr/include/
> +endef
> +
> +# Only install AllJoyn Base Thin Core dynamic libraries into target directory
> +define ALLJOYN_TCL_BASE_INSTALL_TARGET_CMDS
> + cp -a $(@D)/dist/lib/lib*.so* $(TARGET_DIR)/usr/lib/
> +endef
> +
> +$(eval $(generic-package))
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,1/3] alljoyn-base: new package
2016-07-07 9:33 [Buildroot] [PATCH v3,1/3] alljoyn-base: new package Fabrice Fontaine
` (2 preceding siblings ...)
2016-07-07 16:58 ` [Buildroot] [PATCH v3,1/3] alljoyn-base: " Romain Naour
@ 2016-07-20 20:20 ` Thomas Petazzoni
3 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2016-07-20 20:20 UTC (permalink / raw)
To: buildroot
Hello,
I've applied your patch, after doing a number of changes, see below for
the details.
On Thu, 7 Jul 2016 11:33:33 +0200, Fabrice Fontaine wrote:
> diff --git a/package/alljoyn-base/Config.in b/package/alljoyn-base/Config.in
> new file mode 100644
> index 0000000..233b3a7
> --- /dev/null
> +++ b/package/alljoyn-base/Config.in
> @@ -0,0 +1,43 @@
> +config BR2_PACKAGE_ALLJOYN_BASE
> + bool "alljoyn-base"
> + depends on BR2_USE_MMU # alljoyn
> + depends on !BR2_STATIC_LIBS
> + depends on BR2_INSTALL_LIBSTDCPP
> + depends on BR2_TOOLCHAIN_HAS_THREADS
> + depends on BR2_USE_WCHAR # alljoyn
This was missing a dependency on BR2_TOOLCHAIN_HAS_SYNC_4, which was
added later on on the alljoyn package.
> + select BR2_PACKAGE_ALLJOYN
> + select BR2_PACKAGE_OPENSSL
I've added here a "select" that makes sure at least one of the three
sub-options is enabled.
> + help
> + AllJoyn Base Services are common services used by many
> + devices, providing a set of interfaces for different devices
> + to interact and interoperate with one another.
> +
> + https://allseenalliance.org
> +
> +if BR2_PACKAGE_ALLJOYN_BASE
> +
> +config BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL
> + bool "alljoyn-controlpanel"
bool "controlpanel"
is sufficient, since those sub-options are indented below the
"alljoyn-base" option, so it's obvious they belong to alljoyn-base.
I've changed that for the three sub-options.
> +# By setting openwrt for OS and CPU, AllJoyn cross-compilation can be finely
> +# tuned through TARGET_xxx options. All TARGET_xxx variables must be defined
> +# otherwise compilation will fail.
> +# CROSS_COMPILE option should not be used as it works only for linux/ARM.
> +ALLJOYN_BASE_OS = openwrt
> +ALLJOYN_BASE_CPU = openwrt
> +
> +# AllJoyn install everything in this relative path
> +ALLJOYN_BASE_DISTDIR = \
> + build/$(ALLJOYN_OS)/$(ALLJOYN_CPU)/$(ALLJOYN_VARIANT)/dist/
Final / not needed.
> +ALLJOYN_BASE_SCONS_OPTS = \
> + -j$(PARALLEL_JOBS) \
> + V=1 \
> + OS=$(ALLJOYN_BASE_OS) \
> + CPU=$(ALLJOYN_BASE_CPU) \
> + VARIANT=$(ALLJOYN_BASE_VARIANT) \
> + BR=off \
> + CRYPTO=$(ALLJOYN_BASE_CRYPTO) \
> + BINDINGS=$(ALLJOYN_BASE_BINDINGS) \
> + ALLJOYN_DISTDIR="$(STAGING_DIR)"\
> + TARGET_CFLAGS="$(TARGET_CFLAGS)" \
> + TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \
> + TARGET_LINKFLAGS="$(TARGET_LINKFLAGS)" \
> + TARGET_CC="$(TARGET_CC)" \
> + TARGET_CXX="$(TARGET_CXX)" \
> + TARGET_LD="$(TARGET_LD)" \
> + TARGET_LINK="$(TARGET_CXX)" \
> + TARGET_AR="$(TARGET_AR)" \
> + TARGET_RANLIB="$(TARGET_RANLIB)" \
> + TARGET_PATH="$(BR_PATH)"
> +
> +ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL), y)
> +ALLJOYN_BASE_BUILD_CONTROLPANEL = \
> + cd $(@D)/controlpanel; $(SCONS) $(ALLJOYN_BASE_SCONS_OPTS)
> +endif
> +
> +ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION), y)
> +ALLJOYN_BASE_BUILD_NOTIFICATION = \
> + cd $(@D)/notification; $(SCONS) $(ALLJOYN_BASE_SCONS_OPTS)
> +endif
> +
> +ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING), y)
> +ALLJOYN_BASE_BUILD_ONBOARDING = \
> + cd $(@D)/onboarding; $(SCONS) $(ALLJOYN_BASE_SCONS_OPTS)
> +endif
This is a lot of a duplication a loop would have been much better.
> +
> +define ALLJOYN_BASE_BUILD_CMDS
> + $(ALLJOYN_BASE_BUILD_CONTROLPANEL)
> + $(ALLJOYN_BASE_BUILD_NOTIFICATION)
> + $(ALLJOYN_BASE_BUILD_ONBOARDING)
> +endef
> +
> +# Suppress error code and error message as those directories could be missing if
> +# BR2_PACKAGE_ALLJOYN_BASE_xxx variables are all unset
> +define ALLJOYN_BASE_INSTALL_STAGING_CMDS
> + cp -a $(@D)/*/$(ALLJOYN_BASE_DISTDIR)/*/lib/lib* \
> + $(STAGING_DIR)/usr/lib/ 2>/dev/null || :
> + cp -a $(@D)/*/$(ALLJOYN_BASE_DISTDIR)/*/inc/* \
> + $(STAGING_DIR)/usr/include/ 2>/dev/null || :
And here, throwing away the error messages is definitely not good.
So, I've replaced the build and installation logic with:
ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL), y)
ALLJOYN_BASE_TARGETS += controlpanel
endif
ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION), y)
ALLJOYN_BASE_TARGETS += notification
endif
ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING), y)
ALLJOYN_BASE_TARGETS += onboarding
endif
define ALLJOYN_BASE_BUILD_CMDS
$(foreach target,$(ALLJOYN_BASE_TARGETS),\
cd $(@D)/$(target); $(SCONS) $(ALLJOYN_BASE_SCONS_OPTS)
)
endef
define ALLJOYN_BASE_INSTALL_STAGING_CMDS
$(foreach target,$(ALLJOYN_BASE_TARGETS),\
cp -a $(@D)/$(target)/$(ALLJOYN_BASE_DISTDIR)/*/lib/lib* \
$(STAGING_DIR)/usr/lib/
cp -a $(@D)/$(target)/$(ALLJOYN_BASE_DISTDIR)/*/inc/* \
$(STAGING_DIR)/usr/include/
)
endef
define ALLJOYN_BASE_INSTALL_TARGET_CMDS
$(foreach target,$(ALLJOYN_BASE_TARGETS),\
cp -a $(@D)/$(target)/$(ALLJOYN_BASE_DISTDIR)/*/lib/lib* \
$(TARGET_DIR)/usr/lib/
)
endef
which is both shorter, clearer, and keeps the error checking around.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,2/3] alljoyn-tcl: new package
2016-07-07 9:33 ` [Buildroot] [PATCH v3,2/3] alljoyn-tcl: " Fabrice Fontaine
2016-07-07 16:59 ` Romain Naour
@ 2016-07-20 20:28 ` Thomas Petazzoni
1 sibling, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2016-07-20 20:28 UTC (permalink / raw)
To: buildroot
Hello,
On Thu, 7 Jul 2016 11:33:34 +0200, Fabrice Fontaine wrote:
> The AllJoyn framework defines a common way for devices and apps to
> communicate with one another regardless of brands, categories,
> transports, and OSes. Developers write applications that discover
> nearby devices, and communicate with each other directly and through
> the cloud, unleashing new possibilities in the Internet of Things.
>
> AllJoyn Thin Core Library (AJTCL) is designed to bring the benefits
> of the AllJoyn distributed programming environment to embedded
> systems.
>
> https://allseenalliance.org
>
> Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
> ---
> Changes v2 -> v3 (after review of Romain Naour):
> - Rename ajtcl into alljoyn-tcl for consistency
> - Rewrap Config.in help text
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3,3/3] alljoyn-tcl-base: new package
2016-07-07 9:33 ` [Buildroot] [PATCH v3,3/3] alljoyn-tcl-base: " Fabrice Fontaine
2016-07-07 17:02 ` Romain Naour
@ 2016-07-20 20:31 ` Thomas Petazzoni
1 sibling, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2016-07-20 20:31 UTC (permalink / raw)
To: buildroot
Hello,
On Thu, 7 Jul 2016 11:33:35 +0200, Fabrice Fontaine wrote:
> AllJoyn Base Services are common services used by many devices,
> providing a set of interfaces for different devices to interact and
> interoperate with one another.
>
> Thin Client Library is designed to bring the benefits of the AllJoyn
> distributed programming environment to embedded systems.
>
> https://allseenalliance.org
>
> Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
> ---
> Changes v2 -> v3 (after review of Romain Naour):
> - Rewrap Config.in help text
> - Replace dependency on ajtcl to alljoyn-tcl
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-07-20 20:31 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-07 9:33 [Buildroot] [PATCH v3,1/3] alljoyn-base: new package Fabrice Fontaine
2016-07-07 9:33 ` [Buildroot] [PATCH v3,2/3] alljoyn-tcl: " Fabrice Fontaine
2016-07-07 16:59 ` Romain Naour
2016-07-20 20:28 ` Thomas Petazzoni
2016-07-07 9:33 ` [Buildroot] [PATCH v3,3/3] alljoyn-tcl-base: " Fabrice Fontaine
2016-07-07 17:02 ` Romain Naour
2016-07-20 20:31 ` Thomas Petazzoni
2016-07-07 16:58 ` [Buildroot] [PATCH v3,1/3] alljoyn-base: " Romain Naour
2016-07-20 20:20 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox