include $(TOPDIR)/rules.mk
PKG_NAME:=iotivity
-PKG_VERSION:=0.9.2
+PKG_VERSION:=1.0.0
PKG_RELEASE=1
PKG_SOURCE:=${PKG_NAME}-${PKG_VERSION}.tar.gz
PKG_SOURCE_URL:=https://downloads.iotivity.org/${PKG_VERSION}/ \
http://mirrors.kernel.org/${PKG_NAME}/${PKG_VERSION}/
-PKG_MD5SUM:=cf32e10a8f355fe1327db98ffc9a6173
+PKG_MD5SUM:=4bcbabffc1734c664bbdf8fedfa60543
PKG_USE_MIPS16:=0
PKG_MAINTAINER:=Hauke Mehrtens <hauke.mehrtens@lantiq.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE.md
-PKG_BUILD_DEPENDS:= +boost +libexpat
-
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/scons.mk
endef
-define Package/iotivity-plugin-manager-lib
- SECTION:=net
- CATEGORY:=Network
- DEPENDS:=iotivity +iotivity-cpp +libexpat +boost +boost-system
- TITLE:=IoTivity plugin manager lib
- URL:=https://www.iotivity.org
-endef
-
-define Package/iotivity-plugin-manager-lib/description
- IoTivity plugin manager lib
-endef
-
-
-define Package/iotivity-mqttclient
- SECTION:=net
- CATEGORY:=Network
- DEPENDS:=iotivity +iotivity-cpp +iotivity-plugin-manager-lib +boost +boost-system
- TITLE:=IoTivity mqtt Client
- URL:=https://www.iotivity.org
-endef
-
-define Package/iotivity-mqttclient/description
- IoTivity mqtt Client
-endef
-
-
define Package/iotivity-oic-middle
SECTION:=net
CATEGORY:=Network
PKG_TINYCBOR_NAME:=tinycbor
-PKG_TINYCBOR_VERSION:=3e83c0dc6e55bc73e9a4a7343ab8e06c43127efa
+PKG_TINYCBOR_VERSION:=43e3ac9490cf19459ec7b7bd13df3b66810fb62a
PKG_TINYCBOR_SOURCE:=$(PKG_TINYCBOR_NAME)-$(PKG_TINYCBOR_VERSION).tar.bz2
PKG_TINYCBOR_PROTO:=git
PKG_TINYCBOR_SOURCE_URL:=https://github.com/01org/tinycbor.git
endef
$(eval $(call Download,iotivity-tinycbor))
+PKG_SQLITE_NAME:=sqlite
+PKG_SQLITE_VERSION:=3081101
+PKG_SQLITE_SOURCE:=$(PKG_SQLITE_NAME)-amalgamation-$(PKG_SQLITE_VERSION).zip
+PKG_SQLITE_SOURCE_URL:=http://www.sqlite.org/2015/
+PKG_SQLITE_SUBDIR:=$(PKG_SQLITE_NAME)
+PKG_SQLITE_MD5SUM:=94907e831502e2080b76e281cfa24dde
+
+define Download/iotivity-sqlite
+ FILE:=$(PKG_SQLITE_SOURCE)
+ URL:=$(PKG_SQLITE_SOURCE_URL)
+ VERSION:=$(PKG_SQLITE_VERSION)
+ SUBDIR:=$(PKG_SQLITE_SUBDIR)
+ MD5SUM:=$(PKG_SQLITE_MD5SUM)
+endef
+$(eval $(call Download,iotivity-sqlite))
+
SCONS_OPTIONS += \
TARGET_OS=linux \
- TARGET_TRANSPORT=ALL \
+ TARGET_TRANSPORT=IP \
TARGET_ARCH=$(ARCH) \
STAGING_DIR=$(STAGING_DIR) \
LOGGING=true \
SECURED=1 \
- mqttclient examples samples libTGMSDK ConServerApp ConClientApp BootstrapServerApp
+ $(if $(CONFIG_PACKAGE_iotivity),liboctbstack) \
+ $(if $(CONFIG_PACKAGE_iotivity-cpp),liboc) \
+ $(if $(CONFIG_PACKAGE_iotivity-things-manager-lib),libTGMSDK) \
+ $(if $(CONFIG_PACKAGE_iotivity-oic-middle),samples) \
+ $(if $(CONFIG_PACKAGE_iotivity-things-manager),ConServerApp ConClientApp BootstrapServerApp) \
+ $(if $(CONFIG_PACKAGE_iotivity-example-garage),examples) \
+
ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
SCONS_OPTIONS += VERBOSE=true
define Build/Prepare
$(call Build/Prepare/Default)
$(TAR) -C $(PKG_BUILD_DIR)/extlibs/tinycbor/ -xjf $(DL_DIR)/$(PKG_TINYCBOR_SOURCE)
+ unzip -d $(PKG_BUILD_DIR)/extlibs/sqlite3/ $(DL_DIR)/$(PKG_SQLITE_SOURCE)
+ mv $(PKG_BUILD_DIR)/extlibs/sqlite3/$(PKG_SQLITE_NAME)-amalgamation-$(PKG_SQLITE_VERSION)/sqlite3.h $(PKG_BUILD_DIR)/extlibs/sqlite3/
+ mv $(PKG_BUILD_DIR)/extlibs/sqlite3/$(PKG_SQLITE_NAME)-amalgamation-$(PKG_SQLITE_VERSION)/sqlite3.c $(PKG_BUILD_DIR)/extlibs/sqlite3/
endef
$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/libTGMSDKLibrary.so $(1)/usr/lib/
endef
-define Package/iotivity-plugin-manager-lib/install
- $(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/libpmimpl.so $(1)/usr/lib/
-endef
-
-define Package/iotivity-mqttclient/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/service/protocol-plugin/sample-app/linux/mqtt/mqttclient $(1)/usr/bin/
-endef
-
define Package/iotivity-oic-middle/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/out/linux/$(ARCH)/release/examples/OICMiddle/OICMiddle $(1)/usr/bin/
$(eval $(call BuildPackage,iotivity))
$(eval $(call BuildPackage,iotivity-cpp))
$(eval $(call BuildPackage,iotivity-things-manager-lib))
-$(eval $(call BuildPackage,iotivity-plugin-manager-lib))
-$(eval $(call BuildPackage,iotivity-mqttclient))
$(eval $(call BuildPackage,iotivity-oic-middle))
$(eval $(call BuildPackage,iotivity-things-manager))
$(eval $(call BuildPackage,iotivity-example-garage))
--- a/resource/SConscript
+++ b/resource/SConscript
-@@ -67,7 +67,7 @@ if target_os == 'linux':
+@@ -71,7 +71,7 @@ if target_os == 'linux':
SConscript('csdk/stack/samples/linux/secure/SConscript')
# Build C/C++ unit tests
env.Command('../../out/darwin/iotivity-csdk.framework',None,src_dir + '/tools/darwin/mkfwk_osx.sh')
--- a/service/resource-encapsulation/SConscript
+++ b/service/resource-encapsulation/SConscript
-@@ -101,7 +101,7 @@ SConscript('examples/SConscript')
+@@ -113,10 +113,10 @@ SConscript('examples/SConscript')
+ # Build UnitTests Resource Client , resourceCache and resourceBroker and
+ # DiscoveryManager
+ ################################################ ######################
+-if target_os == 'linux':
+- SConscript('unittests/SConscript')
+- SConscript('src/resourceCache/unittests/SConscript')
+- SConscript('src/resourceBroker/unittest/SConscript')
++# if target_os == 'linux':
++# SConscript('unittests/SConscript')
++# SConscript('src/resourceCache/unittests/SConscript')
++# SConscript('src/resourceBroker/unittest/SConscript')
+
+ if target_os == 'android':
+ SConscript('android/SConscript')
+\ No newline at end of file
+--- a/service/things-manager/SConscript
++++ b/service/things-manager/SConscript
+@@ -71,6 +71,6 @@ SConscript('sampleapp/SConscript')
######################################################################
- # Build UnitTests Resource Client , resourceCache and resourceBroker
+ # Build UnitTests Things Manager
################################################ ######################
--SConscript('unittests/SConscript')
--SConscript('src/resourceCache/unittests/SConscript')
--SConscript('src/resourceBroker/unittest/SConscript')
-+#SConscript('unittests/SConscript')
-+#SConscript('src/resourceCache/unittests/SConscript')
-+#SConscript('src/resourceBroker/unittest/SConscript')
+-if target_os == 'linux':
+- SConscript('unittests/SConscript')
++# if target_os == 'linux':
++# SConscript('unittests/SConscript')
--- a/build_common/SConscript
+++ b/build_common/SConscript
-@@ -129,6 +129,26 @@ tc_set_msg = '''
+@@ -137,6 +137,26 @@ tc_set_msg = '''
* cause inexplicable errors. *
*******************************************************************************
'''
--- /dev/null
+From d647872aee4871e286ddedf4931792086f5b4565 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Date: Mon, 26 Oct 2015 14:32:39 +0100
+Subject: [PATCH] libcoap: remove fix build error on big endian systems
+
+In the big endian case an additional typedef is added in a wrong
+position in TinyDTLS. This breaks compiling this code on big endian
+systems.
+
+Change-Id: Iad854aba112ddb23bf490b064ec6fbf5d01ce6b6
+Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+---
+ resource/csdk/connectivity/lib/libcoap-4.1.1/pdu.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/resource/csdk/connectivity/lib/libcoap-4.1.1/pdu.h
++++ b/resource/csdk/connectivity/lib/libcoap-4.1.1/pdu.h
+@@ -194,7 +194,7 @@ typedef enum
+ #ifdef WORDS_BIGENDIAN
+ typedef union
+ {
+- typedef struct
++ struct
+ {
+ unsigned int version:2; /* protocol version */
+ unsigned int type:2; /* type flag */
--- /dev/null
+From 9510445c5002b0e3502d2ac09723e1b2ddd03704 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+Date: Mon, 26 Oct 2015 14:39:55 +0100
+Subject: [PATCH] tinydtls: use types from inittype.h, fix musl libc
+
+The SHA2 code currently uses u_int32_t and similar types without
+defining them. This type is not defined by the POSIX standard, but many
+libc implementations have it as a non standard extension. In the musl
+libc it is not implemented and I am getting a compile error when using
+u_int32_t, I should use uint32_t, which is done when
+SHA2_USE_INTTYPES_H is set.
+
+This fixes build with musl libs used in OpenWrt.
+
+Change-Id: I485435ddb8b1a2359caedd335ab54f91ca5e3f3e
+Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
+---
+ extlibs/tinydtls/SConscript | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/extlibs/tinydtls/SConscript
++++ b/extlibs/tinydtls/SConscript
+@@ -68,7 +68,7 @@ if not env.get('RELEASE'):
+ else:
+ env.AppendUnique(CPPDEFINES = ['NDEBUG'])
+
+-env.AppendUnique(CPPDEFINES = ['DTLSV12', 'WITH_SHA256', 'DTLS_CHECK_CONTENTTYPE'])
++env.AppendUnique(CPPDEFINES = ['DTLSV12', 'WITH_SHA256', 'DTLS_CHECK_CONTENTTYPE', 'SHA2_USE_INTTYPES_H'])
+
+
+ libtinydtls = env.StaticLibrary('libtinydtls', env.get('TINYDTLS_SRC'), OBJPREFIX='libtinydtls_')
--- /dev/null
+From 75a19e9059e671442abe40908ba80c2da614118d Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Mon, 26 Oct 2015 22:42:40 +0100
+Subject: [PATCH] connectivity: fix getnameinfo() call for musl libc
+
+The musl libc and also the libc from net/freebsd are currently checking
+if the size of the sockaddr given to getnameinfo() matches the size for
+this family and it fails when giving sizeof(struct sockaddr_storage).
+This patch fixes this problem by making the caller also provide the
+size of the struct sockaddr_storage.
+
+I am currently trying to get a fix for this problem into musl libc, but
+IoTivity should still fix this.
+
+This also fixes a wrong error message.
+
+Change-Id: Ie9b89523b5ba20e536c03e3ad85c65bd5ff2ba53
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+---
+ resource/csdk/connectivity/inc/caadapterutils.h | 12 ++++++++----
+ .../csdk/connectivity/src/adapter_util/caadapternetdtls.c | 10 +++++-----
+ resource/csdk/connectivity/src/adapter_util/caadapterutils.c | 9 +++++----
+ resource/csdk/connectivity/src/ip_adapter/caipserver.c | 2 +-
+ resource/csdk/connectivity/src/tcp_adapter/catcpserver.c | 2 +-
+ 5 files changed, 20 insertions(+), 15 deletions(-)
+
+--- a/resource/csdk/connectivity/inc/caadapterutils.h
++++ b/resource/csdk/connectivity/inc/caadapterutils.h
+@@ -212,13 +212,16 @@ void CAClearNetInterfaceInfoList(u_array
+ */
+ void CAClearServerInfoList(u_arraylist_t *serverInfoList);
+
++#ifndef WITH_ARDUINO
+ /**
+ * Convert address from binary to string.
+- * @param[in] ipaddr IP address info.
+- * @param[out] host address string (must be CA_IPADDR_SIZE).
+- * @param[out] port host order port number.
++ * @param[in] sockAddr IP address info.
++ * @param[in] sockAddrLen size of sockAddr.
++ * @param[out] host address string (must be CA_IPADDR_SIZE).
++ * @param[out] port host order port number.
+ */
+-void CAConvertAddrToName(const struct sockaddr_storage *sockaddr, char *host, uint16_t *port);
++void CAConvertAddrToName(const struct sockaddr_storage *sockAddr, socklen_t sockAddrLen,
++ char *host, uint16_t *port);
+
+ /**
+ * Convert address from string to binary.
+@@ -227,6 +230,7 @@ void CAConvertAddrToName(const struct so
+ * @param[out] ipaddr IP address info.
+ */
+ void CAConvertNameToAddr(const char *host, uint16_t port, struct sockaddr_storage *sockaddr);
++#endif /* WITH_ARDUINO */
+
+ #ifdef __ANDROID__
+ /**
+--- a/resource/csdk/connectivity/src/adapter_util/caadapternetdtls.c
++++ b/resource/csdk/connectivity/src/adapter_util/caadapternetdtls.c
+@@ -417,7 +417,7 @@ static int32_t CAReadDecryptedPayload(dt
+ ((addrInfo->addr.st.ss_family == AF_INET) ? CA_IPV4 : CA_IPV6) | CA_SECURE, .port = 0 },
+ .identity =
+ { 0 } };
+- CAConvertAddrToName(&(addrInfo->addr.st), sep.endpoint.addr, &sep.endpoint.port);
++ CAConvertAddrToName(&(addrInfo->addr.st), addrInfo->size, sep.endpoint.addr, &sep.endpoint.port);
+
+ if (NULL == g_caDtlsContext)
+ {
+@@ -468,7 +468,7 @@ static int32_t CASendSecureData(dtls_con
+
+ CAEndpoint_t endpoint = {.adapter = CA_DEFAULT_ADAPTER};
+
+- CAConvertAddrToName(&(addrInfo->addr.st), endpoint.addr, &endpoint.port);
++ CAConvertAddrToName(&(addrInfo->addr.st), addrInfo->size, endpoint.addr, &endpoint.port);
+ endpoint.flags = addrInfo->addr.st.ss_family == AF_INET ? CA_IPV4 : CA_IPV6;
+ endpoint.flags |= CA_SECURE;
+ endpoint.adapter = CA_ADAPTER_IP;
+@@ -515,7 +515,7 @@ static int32_t CAHandleSecureEvent(dtls_
+ stCADtlsAddrInfo_t *addrInfo = (stCADtlsAddrInfo_t *)session;
+ char peerAddr[MAX_ADDR_STR_SIZE_CA] = { 0 };
+ uint16_t port = 0;
+- CAConvertAddrToName(&(addrInfo->addr.st), peerAddr, &port);
++ CAConvertAddrToName(&(addrInfo->addr.st), addrInfo->size, peerAddr, &port);
+ CARemovePeerFromPeerInfoList(peerAddr, port);
+ }
+
+@@ -553,7 +553,7 @@ static int32_t CAGetPskCredentials(dtls_
+ stCADtlsAddrInfo_t *addrInfo = (stCADtlsAddrInfo_t *)session;
+ char peerAddr[MAX_ADDR_STR_SIZE_CA] = { 0 };
+ uint16_t port = 0;
+- CAConvertAddrToName(&(addrInfo->addr.st), peerAddr, &port);
++ CAConvertAddrToName(&(addrInfo->addr.st), addrInfo->size, peerAddr, &port);
+
+ if(CA_STATUS_OK != CAAddIdToPeerInfoList(peerAddr, port, desc, descLen) )
+ {
+@@ -933,7 +933,7 @@ static int CAVerifyCertificate(struct dt
+ stCADtlsAddrInfo_t *addrInfo = (stCADtlsAddrInfo_t *)session;
+ char peerAddr[MAX_ADDR_STR_SIZE_CA] = { 0 };
+ uint16_t port = 0;
+- CAConvertAddrToName(&(addrInfo->addr.st), peerAddr, &port);
++ CAConvertAddrToName(&(addrInfo->addr.st), addrInfo->size, peerAddr, &port);
+
+ CAResult_t result = CAAddIdToPeerInfoList(peerAddr, port,
+ crtChain[0].subject.data + DER_SUBJECT_HEADER_LEN + 2, crtChain[0].subject.data[DER_SUBJECT_HEADER_LEN + 1]);
+--- a/resource/csdk/connectivity/src/adapter_util/caadapterutils.c
++++ b/resource/csdk/connectivity/src/adapter_util/caadapterutils.c
+@@ -122,14 +122,15 @@ CAResult_t CAParseIPv4AddressInternal(co
+ * These two conversion functions return void because errors can't happen
+ * (because of NI_NUMERIC), and there's nothing to do if they do happen.
+ */
+-void CAConvertAddrToName(const struct sockaddr_storage *sockAddr, char *host, uint16_t *port)
++void CAConvertAddrToName(const struct sockaddr_storage *sockAddr, socklen_t sockAddrLen,
++ char *host, uint16_t *port)
+ {
+ VERIFY_NON_NULL_VOID(sockAddr, CA_ADAPTER_UTILS_TAG, "sockAddr is null");
+ VERIFY_NON_NULL_VOID(host, CA_ADAPTER_UTILS_TAG, "host is null");
+ VERIFY_NON_NULL_VOID(port, CA_ADAPTER_UTILS_TAG, "port is null");
+
+ int r = getnameinfo((struct sockaddr *)sockAddr,
+- sizeof (struct sockaddr_storage),
++ sockAddrLen,
+ host, MAX_ADDR_STR_SIZE_CA,
+ NULL, 0,
+ NI_NUMERICHOST|NI_NUMERICSERV);
+@@ -138,12 +139,12 @@ void CAConvertAddrToName(const struct so
+ if (EAI_SYSTEM == r)
+ {
+ OIC_LOG_V(ERROR, CA_ADAPTER_UTILS_TAG,
+- "getaddrinfo failed: errno %s", strerror(errno));
++ "getnameinfo failed: errno %s", strerror(errno));
+ }
+ else
+ {
+ OIC_LOG_V(ERROR, CA_ADAPTER_UTILS_TAG,
+- "getaddrinfo failed: %s", gai_strerror(r));
++ "getnameinfo failed: %s", gai_strerror(r));
+ }
+ return;
+ }
+--- a/resource/csdk/connectivity/src/ip_adapter/caipserver.c
++++ b/resource/csdk/connectivity/src/ip_adapter/caipserver.c
+@@ -299,7 +299,7 @@ static CAResult_t CAReceiveMessage(int f
+ }
+ }
+
+- CAConvertAddrToName(&srcAddr, sep.endpoint.addr, &sep.endpoint.port);
++ CAConvertAddrToName(&srcAddr, msg.msg_namelen, sep.endpoint.addr, &sep.endpoint.port);
+
+ if (flags & CA_SECURE)
+ {
+--- a/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c
++++ b/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c
+@@ -478,7 +478,7 @@ static void CAAcceptHandler(void *data)
+ }
+ svritem->u4tcp.fd = sockfd;
+
+- CAConvertAddrToName((struct sockaddr_storage *)&clientaddr,
++ CAConvertAddrToName((struct sockaddr_storage *)&clientaddr, clientlen,
+ (char *) &svritem->addr, &svritem->u4tcp.port);
+
+ ca_mutex_lock(g_mutexObjectList);
--- /dev/null
+--- a/service/resource-container/SConscript
++++ b/service/resource-container/SConscript
+@@ -176,35 +176,21 @@ if target_os in ['linux', 'tizen', 'andr
+ # build hue sample bundle
+ ######################################################################
+
+-conf2 = Configure(lib_env)
+-if not conf2.CheckLib('curl'):
+- print '''X
+-*********************************** Error *************************************
+-* Cannot build hue sample. Please install libcurl.
+-* Example (Ubuntu):
+-* sudo apt-get install libcurl4-openssl-dev
+-* sudo ldconfig
+-* Hint: check with pkg-config --libs libcurl and clear scons cache.
+-* Skipping hue sample build.
+-*******************************************************************************
+- '''
+-else:
+- hue_resource_bundle_env = resource_container_env.Clone()
+- hue_resource_bundle_env.AppendUnique(CCFLAGS = ['-fPIC'])
+-
+- HUE_RESOURCE_BUNDLE_DIR = 'examples/HueSampleBundle/'
+- hue_resource_bundle_env.AppendUnique(CPPPATH = [
+- HUE_RESOURCE_BUNDLE_DIR + 'include',
+- 'include/'
+- ])
+-
+- hue_resource_bundle_env.PrependUnique(LIBS = ['curl', 'rcs_container'])
+-
+- hue_resource_bundle_src = [ Glob(HUE_RESOURCE_BUNDLE_DIR + 'src/*.cpp')]
+-
+- HueBundle = hue_resource_bundle_env.SharedLibrary('HueBundle', hue_resource_bundle_src)
+- hue_resource_bundle_env.InstallTarget(HueBundle, 'libHueBundle')
+-lib_env = conf2.Finish()
++hue_resource_bundle_env = resource_container_env.Clone()
++hue_resource_bundle_env.AppendUnique(CCFLAGS = ['-fPIC'])
++
++HUE_RESOURCE_BUNDLE_DIR = 'examples/HueSampleBundle/'
++hue_resource_bundle_env.AppendUnique(CPPPATH = [
++ HUE_RESOURCE_BUNDLE_DIR + 'include',
++ 'include/'
++ ])
++
++hue_resource_bundle_env.PrependUnique(LIBS = ['curl', 'rcs_container'])
++
++hue_resource_bundle_src = [ Glob(HUE_RESOURCE_BUNDLE_DIR + 'src/*.cpp')]
++
++HueBundle = hue_resource_bundle_env.SharedLibrary('HueBundle', hue_resource_bundle_src)
++hue_resource_bundle_env.InstallTarget(HueBundle, 'libHueBundle')
+
+ ######################################################################
+ # build resource container unit tests
+++ /dev/null
-From b13839cceaae97d7d23b54586da1ad7ac85ab2b6 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Date: Tue, 21 Jul 2015 20:50:39 +0200
-Subject: [PATCH] liboc: add missing depending library
-
-liboc.so depends on liboctbstack.so, liboc_logger.so and pthread, this
-patch adds these dependencies to the build.
-
-Without this the dynamic loader will not automatically load these
-libraries and it could result in unresolved dependencies at runtime.
-
-Change-Id: I971b45669adef31dc9cca719884ebeb74aaf735e
-Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/1794
-Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
-Reviewed-by: Erich Keane <erich.keane@intel.com>
----
- resource/src/SConscript | 14 ++++++++------
- 1 file changed, 8 insertions(+), 6 deletions(-)
-
---- a/resource/src/SConscript
-+++ b/resource/src/SConscript
-@@ -40,18 +40,20 @@ oclib_env.AppendUnique(CPPPATH = [
- '../csdk/connectivity/lib/libcoap-4.1.1'
- ])
-
-+oclib_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
-+
-+oclib_env.AppendUnique(LIBS = ['octbstack', 'oc_logger'])
-+
- target_os = env.get('TARGET_OS')
-+if target_os == 'linux':
-+ oclib_env.AppendUnique(LIBS = ['pthread'])
-+
- if target_os not in ['windows', 'winrt']:
- oclib_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-fPIC'])
-
- if target_os == 'android':
- oclib_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
-- oclib_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
-- oclib_env.AppendUnique(LIBS = ['octbstack', 'oc_logger', 'boost_thread', 'gnustl_shared', 'log'])
--
--if target_os in ['darwin', 'ios']:
-- oclib_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
-- oclib_env.AppendUnique(LIBS = ['octbstack', 'oc_logger'])
-+ oclib_env.AppendUnique(LIBS = ['boost_thread', 'gnustl_shared', 'log'])
-
- ######################################################################
- # Source files and Targets
+++ /dev/null
-From 0143dfaa7e6dace845412e97ebbf697d273b0d10 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Date: Tue, 21 Jul 2015 22:06:52 +0200
-Subject: [PATCH] things-manager: libTGMSDKLibrary.so: add missing depending
- library
-
-libTGMSDKLibrary.so also depends on liboc.so, liboctbstack.so and
-pthread, this patch adds these dependencies to the build.
-
-Without this the dynamic loader will not automatically load these
-libraries and it could result in unresolved dependencies at runtime.
-
-Change-Id: I174b38e747be247fc25544db629f8ad2b7eb5ef5
-Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/1795
-Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
-Reviewed-by: Uze Choi <uzchoi@samsung.com>
----
- service/things-manager/SConscript | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
---- a/service/things-manager/SConscript
-+++ b/service/things-manager/SConscript
-@@ -35,14 +35,17 @@ target_os = env.get('TARGET_OS')
- ######################################################################
- things_manager_env.AppendUnique(CPPPATH = ['../../extlibs/timer', 'sdk/inc', 'sdk/src'])
-
-+things_manager_env.PrependUnique(LIBS = ['oc', 'octbstack'])
-+
- if target_os not in ['windows', 'winrt']:
- things_manager_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall'])
- if target_os != 'android':
- things_manager_env.AppendUnique(CXXFLAGS = ['-pthread'])
-+ things_manager_env.AppendUnique(LIBS = ['pthread'])
-
- if target_os == 'android':
- things_manager_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
-- things_manager_env.PrependUnique(LIBS = ['oc', 'octbstack', 'gnustl_shared'])
-+ things_manager_env.PrependUnique(LIBS = ['gnustl_shared'])
-
- ######################################################################
- # Source files and Targets
+++ /dev/null
-From b52307797b91d7448a72874e4da7bed30c27a4f5 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Date: Tue, 21 Jul 2015 22:29:14 +0200
-Subject: [PATCH] soft-sensor-manager: libSSMCore.so: add missing depending
- library
-
-libSSMCore.so also depends on libdl.so, this patch adds these
-dependencies to the build.
-
-Without this the dynamic loader will not automatically load these
-libraries and it could result in unresolved dependencies at runtime.
-
-Change-Id: I76faff46fe96caef75fb6673c7e83d62b15b8489
-Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/1796
-Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
-Reviewed-by: Uze Choi <uzchoi@samsung.com>
----
- service/soft-sensor-manager/SConscript | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/service/soft-sensor-manager/SConscript
-+++ b/service/soft-sensor-manager/SConscript
-@@ -157,7 +157,7 @@ static_libssmcore = ssmcore_env.StaticLi
-
- ssmcore_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
- ssmcore_env.AppendUnique(LIBS = ['oc', 'octbstack', 'oc_logger',
-- 'connectivity_abstraction', 'coap'])
-+ 'connectivity_abstraction', 'coap', 'dl'])
-
- shared_libssmcore = ssmcore_env.SharedLibrary(
- target = 'SSMCore',
+++ /dev/null
-From 60b43aed7e479bc6d7252f0dba2542fe7aab9195 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Date: Tue, 21 Jul 2015 22:38:02 +0200
-Subject: [PATCH] mqtt-fan: libmosquittopp.so: add missing depending library
-
-libmosquittopp.so also depends on libpthread.so, this patch adds these
-dependencies to the build. In addition it puts the dependency to
-mosquitto to the beginning of the list. This is needed because
-mosquitto is a statically linked lib and it also has unresolved
-symbols, but gcc only searches the dynamic libs defined after the
-static for unresolved symbols in the static lib.
-
-Without this the dynamic loader will not automatically load these
-libraries and it could result in unresolved dependencies at runtime.
-
-Change-Id: I866a46305c31d37cf706b9f2b965e843c35c5667
-Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/1797
-Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
-Reviewed-by: Younghyun Joo <yh_.joo@samsung.com>
-Reviewed-by: Uze Choi <uzchoi@samsung.com>
----
- .../plugins/mqtt-fan/lib/cpp/SConscript | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
---- a/service/protocol-plugin/plugins/mqtt-fan/lib/cpp/SConscript
-+++ b/service/protocol-plugin/plugins/mqtt-fan/lib/cpp/SConscript
-@@ -16,7 +16,10 @@ mosquittopp_env.AppendUnique(CPPPATH = [
- if target_os not in ['windows', 'winrt']:
- mosquittopp_env.AppendUnique(CFLAGS = ['-Wall', '-ggdb', '-O2', '-fPIC'])
-
--mosquittopp_env.AppendUnique(LIBS = ['mosquitto', 'ssl', 'crypto'])
-+if target_os == 'linux':
-+ mosquittopp_env.AppendUnique(LIBS = ['pthread'])
-+
-+mosquittopp_env.PrependUnique(LIBS = ['mosquitto', 'ssl', 'crypto'])
- ######################################################################
- # Source files and Targets
- ######################################################################
+++ /dev/null
-From d1fb4c055f168e68ffd2d5596eef8d96f6c6cfae Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Date: Tue, 21 Jul 2015 22:41:09 +0200
-Subject: [PATCH] protocol-plugin: libfanserver_mqtt_plugin.so and
- liblightserver_mqtt_plugin.so add missing depending library
-
-libfanserver_mqtt_plugin.so and liblightserver_mqtt_plugin.so are also
-depending on liboc.so and libcrypto.so, this patch adds these
-dependencies to the build. In addition it puts the dependency to
-mosquitto to the beginning of the list. This is needed because
-mosquitto is a statically linked lib and it also has unresolved
-symbols, but gcc only searches the dynamic libs defined after the
-static for unresolved symbols in the static lib.
-
-mosquitto was only build as a static linked library so we can use the
-normal LIBS mechanism and it will be statically linked.
-
-Without this the dynamic loader will not automatically load these
-libraries and it could result in unresolved dependencies at runtime.
-
-Change-Id: Ia130827d04bd3bb1a8863fc64d0097a076edc751
-Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/1798
-Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
-Reviewed-by: Younghyun Joo <yh_.joo@samsung.com>
-Reviewed-by: Uze Choi <uzchoi@samsung.com>
----
- service/protocol-plugin/plugins/SConscript | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
---- a/service/protocol-plugin/plugins/SConscript
-+++ b/service/protocol-plugin/plugins/SConscript
-@@ -47,8 +47,7 @@ if target_os == 'android':
- plugins_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
- plugins_env.AppendUnique(LIBS = ['gnustl_shared'])
-
--plugins_env.AppendUnique(LIBS = [File(env.get('BUILD_DIR') + '/libmosquitto.a'),
-- 'mosquitto', 'ssl', 'rt'])
-+plugins_env.PrependUnique(LIBS = ['mosquitto', 'ssl', 'crypto', 'rt', 'oc'])
-
-
- ######################################################################
+++ /dev/null
-From 2993af980993ebb70b686b1a521d98d26e85cfc2 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Tue, 21 Jul 2015 20:55:50 +0200
-Subject: [PATCH] resource-manipulation: libserver_builder.so add missing
- depending library
-
-libserver_builder.so is also depending on liboc.so and
-librcs_common.so, this patch adds these dependencies to the build.
-
-liboctbstack.so is only needed when LOGGING=true is set. Without
-liboctbstack.so libserver_builder.so misses the dependencies to the
-OCLog and OCLogv symbols.
-Add LIBPATH to make sure the libs will be found, this fixes a problem
-in some jenkins tests.
-
-pthread is added two times, once should be enough.
-
-Without this the dynamic loader will not automatically load these
-libraries and it could result in unresolved dependencies at runtime.
-
-Change-Id: I6af126eb4af975b7231d01df922885c7dec5fc56
-Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/1799
-Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
-Reviewed-by: Uze Choi <uzchoi@samsung.com>
----
- .../src/serverBuilder/SConscript | 11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
---- a/service/resource-encapsulation/src/serverBuilder/SConscript
-+++ b/service/resource-encapsulation/src/serverBuilder/SConscript
-@@ -47,6 +47,8 @@ server_builder_env.AppendUnique(CPPPATH
-
- server_builder_env.AppendUnique(CPPPATH = [env.get('SRC_DIR')+'/extlibs', 'include'])
-
-+server_builder_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
-+
- if target_os not in ['windows', 'winrt']:
- server_builder_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall'])
- if target_os != 'android':
-@@ -56,7 +58,10 @@ if target_os == 'android':
- server_builder_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
- server_builder_env.PrependUnique(LIBS = ['gnustl_shared', 'compatibility', 'log'])
-
--server_builder_env.AppendUnique(LIBS = ['dl'])
-+server_builder_env.AppendUnique(LIBS = ['dl', 'oc', 'rcs_common'])
-+
-+if env.get('LOGGING'):
-+ server_builder_env.AppendUnique(LIBS = ['octbstack'])
-
- if not release:
- server_builder_env.AppendUnique(CXXFLAGS = ['--coverage'])
-@@ -77,7 +82,6 @@ server_builder_env.InstallTarget([server
- ######################################################################
- server_builder_test_env = server_builder_env.Clone();
-
--server_builder_test_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
- server_builder_test_env.AppendUnique(CPPPATH = [
- env.get('SRC_DIR')+'/extlibs/hippomocks-master',
- gtest_dir + '/include',
-@@ -89,8 +93,6 @@ gtest_main = File(gtest_dir + '/lib/.lib
-
- server_builder_test_env.PrependUnique(LIBS = [
- 'rcs_server',
-- 'rcs_common',
-- 'oc',
- 'octbstack',
- 'oc_logger',
- 'connectivity_abstraction',
+++ /dev/null
-From c02a2b8ad3efb0b59392b1c2d441e3f7144c1fda Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Date: Tue, 21 Jul 2015 22:45:40 +0200
-Subject: [PATCH] csdk: remove dependency to liboc_logger.so in c code
-
-The liboc_logger.so is only used by the c++ part and not by the c part,
-remove it from the c only part.
-
-Change-Id: Ib0894974de8ef7150401f02fbd0ea864d1d6f2cd
-Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/1801
-Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
-Reviewed-by: Charlie Lenahan <charlie.lenahan@intel.com>
-Reviewed-by: Erich Keane <erich.keane@intel.com>
----
- resource/csdk/connectivity/test/SConscript | 3 ---
- .../samples/linux/SimpleClientServer/SConscript | 2 +-
- .../csdk/stack/samples/linux/secure/SConscript | 2 +-
- 3 files changed, 2 insertions(+), 5 deletions(-)
-
---- a/resource/csdk/connectivity/test/SConscript
-+++ b/resource/csdk/connectivity/test/SConscript
-@@ -58,9 +58,6 @@ target_os = env.get('TARGET_OS')
- if target_os not in ['arduino', 'darwin', 'ios']:
- catest_env.AppendUnique(LIBS=['rt'])
-
--if target_os != 'darwin':
-- catest_env.PrependUnique(LIBS = ['oc_logger'])
--
- if env.get('SECURED') == '1':
- catest_env.AppendUnique(LIBS = ['tinydtls'])
-
---- a/resource/csdk/stack/samples/linux/SimpleClientServer/SConscript
-+++ b/resource/csdk/stack/samples/linux/SimpleClientServer/SConscript
-@@ -41,7 +41,7 @@ samples_env.AppendUnique(LIBPATH = [env.
- if target_os in ['darwin', 'ios']:
- samples_env.PrependUnique(LIBS = ['m','octbstack', 'ocsrm', 'connectivity_abstraction','coap' ])
- elif target_os not in ['arduino']:
-- samples_env.PrependUnique(LIBS = ['m', 'octbstack', 'ocsrm', 'oc_logger', 'connectivity_abstraction', 'coap'])
-+ samples_env.PrependUnique(LIBS = ['m', 'octbstack', 'ocsrm', 'connectivity_abstraction', 'coap'])
- samples_env.AppendUnique(LIBS = ['rt'])
-
- if env.get('SECURED') == '1':
---- a/resource/csdk/stack/samples/linux/secure/SConscript
-+++ b/resource/csdk/stack/samples/linux/secure/SConscript
-@@ -41,7 +41,7 @@ if target_os not in ['windows', 'winrt']
- samples_env.AppendUnique(LIBS = ['-lpthread'])
-
- samples_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
--samples_env.PrependUnique(LIBS = ['octbstack', 'm', 'oc_logger', 'connectivity_abstraction', 'coap'])
-+samples_env.PrependUnique(LIBS = ['octbstack', 'm', 'connectivity_abstraction', 'coap'])
- if env.get('SECURED') == '1':
- samples_env.AppendUnique(LIBS = ['tinydtls'])
-
+++ /dev/null
-From 32e39b18fb4fd01408898a0ccba751f0033800c7 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Wed, 22 Jul 2015 23:05:19 +0200
-Subject: [PATCH] csdk: libconnectivity_abstraction.so: add missing depending
- library
-
-libconnectivity_abstractionso depends on libcoap.so and librt.so when
-build as shared lib, which is the case for the Tizen build. This patch
-adds these dependencies to the build.
-
-Without this the dynamic loader will not automatically load these
-libraries and it could result in unresolved dependencies at runtime.
-
-Change-Id: Ib972be2b766d7fbccac9b246ae6f11e6182af94c
-Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/1825
-Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
-Reviewed-by: Uze Choi <uzchoi@samsung.com>
-Tested-by: Uze Choi <uzchoi@samsung.com>
----
- resource/csdk/connectivity/src/SConscript | 5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/resource/csdk/connectivity/src/SConscript
-+++ b/resource/csdk/connectivity/src/SConscript
-@@ -108,6 +108,11 @@ if 'BLE' in ca_transport:
- print "Include path is %s" % env.get('CPPPATH')
- print "Files path is %s" % env.get('CA_SRC')
- if ca_os in ['android', 'tizen']:
-+ env.AppendUnique(LIBS = ['coap'])
-+ if env.get('SECURED') == '1':
-+ env.AppendUnique(LIBS = ['tinydtls'])
-+ if ca_os != 'android':
-+ env.AppendUnique(LIBS = ['rt'])
- calib = env.SharedLibrary('connectivity_abstraction', env.get('CA_SRC'))
- else:
- calib = env.StaticLibrary('connectivity_abstraction', env.get('CA_SRC'))
+++ /dev/null
-From 2533c88e18de689dbb26cfd4d585b1a991533c76 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Date: Tue, 21 Jul 2015 22:00:18 +0200
-Subject: [PATCH] build: make build fail if unresolved symbols found
-
-gcc links shared libs also when there are still some unresolved
-symbols, you have to specify it explicitly to make it fail in such
-cases. I think a compiler should fail in such cases otherwise
-someone will add some not intended dependencies or some existing
-dependencies are not getting declared.
-
-This patch makes gcc fail in such cases. I have only activated this for
-libs build in a Linux build and explicitly deactivates it for windows
-(does this even work at all?) This should be build tested with Android
-also.
-
-This was build tested for Linux and Android.
-
-This patch depends on some other patches I send which are fixing the
-problems I found with this change.
-
-Change-Id: I9ab79896ca2e86e9226cd9b39060a0763ef89694
-Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/1802
-Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
-Reviewed-by: Erich Keane <erich.keane@intel.com>
-Reviewed-by: Hun-je Yeon <hunje.yeon@samsung.com>
-Reviewed-by: Uze Choi <uzchoi@samsung.com>
----
- extlibs/expat/SConscript | 3 +++
- .../csdk/connectivity/samples/android/SConscript | 1 +
- resource/csdk/connectivity/src/SConscript | 3 +++
- resource/oc_logger/SConscript | 3 +++
- resource/src/SConscript | 3 +++
- service/notification-manager/SConscript | 3 +++
- service/protocol-plugin/plugin-manager/SConscript | 4 ++++
- .../plugin-manager/src/Android/jni/SConscript | 1 +
- service/protocol-plugin/plugins/SConscript | 3 +++
- .../plugins/mqtt-fan/lib/cpp/SConscript | 3 +++
- .../resource-manipulation/src/common/SConscript | 5 ++++-
- .../src/resourceContainer/SConscript | 3 +++
- .../src/resourceContainer/unittests/SConscript | 3 +++
- .../src/serverBuilder/SConscript | 3 +++
- service/soft-sensor-manager/SConscript | 3 +++
- service/things-manager/SConscript | 3 +++
- service/things-manager/sdk/java/jni/SConscript | 3 +++
- 17 files changed, 49 insertions(+), 1 deletion(-)
-
---- a/extlibs/expat/SConscript
-+++ b/extlibs/expat/SConscript
-@@ -35,6 +35,9 @@ if target_os not in ['windows', 'winrt']
- '-fexceptions', '-fno-common'])
- expat_env.AppendUnique(CPPDEFINES = ['HAVE_EXPAT_CONFIG_H'])
-
-+if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
-+ expat_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-+
- ######################################################################
- # Source files and Targets
- ######################################################################
---- a/resource/csdk/connectivity/src/SConscript
-+++ b/resource/csdk/connectivity/src/SConscript
-@@ -27,6 +27,9 @@ env.AppendUnique(CPPPATH = [ os.path.joi
- if ca_os not in ['arduino', 'windows', 'winrt']:
- env.AppendUnique(CPPDEFINES = ['WITH_POSIX'])
-
-+if ca_os not in ['darwin', 'ios', 'windows', 'winrt']:
-+ env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-+
- if ca_os in ['darwin','ios']:
- env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE'])
-
---- a/resource/oc_logger/SConscript
-+++ b/resource/oc_logger/SConscript
-@@ -42,6 +42,9 @@ if target_os not in ['arduino', 'windows
- liboc_logger_env.AppendUnique(CFLAGS = ['-Wall', '-std=c99', '-fPIC'])
- liboc_logger_env.AppendUnique(CXXFLAGS = ['-Wall', '-std=c++0x', '-fPIC'])
-
-+if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
-+ liboc_logger_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-+
- ######################################################################
- # Source files and Targets
- ######################################################################
---- a/resource/src/SConscript
-+++ b/resource/src/SConscript
-@@ -51,6 +51,9 @@ if target_os == 'linux':
- if target_os not in ['windows', 'winrt']:
- oclib_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-fPIC'])
-
-+if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
-+ oclib_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-+
- if target_os == 'android':
- oclib_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
- oclib_env.AppendUnique(LIBS = ['boost_thread', 'gnustl_shared', 'log'])
---- a/service/notification-manager/SConscript
-+++ b/service/notification-manager/SConscript
-@@ -65,6 +65,9 @@ notimgr_env.PrependUnique(LIBS = [
- if target_os not in ['windows', 'winrt']:
- notimgr_env.AppendUnique(CXXFLAGS = ['-O2', '-g', '-Wall', '-fmessage-length=0', '-std=c++0x'])
-
-+if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
-+ notimgr_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-+
- if target_os == 'linux':
- notimgr_env.AppendUnique(LIBS = ['pthread'])
-
---- a/service/protocol-plugin/plugin-manager/SConscript
-+++ b/service/protocol-plugin/plugin-manager/SConscript
-@@ -61,6 +61,10 @@ if target_os == 'android':
- pmimpl_env = plugin_manager_env.Clone()
- pmimpl_env.PrependUnique(CCFLAGS = ['-fPIC'])
- pmimpl_env.PrependUnique(LIBS = File(env.get('BUILD_DIR') + '/libcpluff.a'))
-+
-+if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
-+ pmimpl_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-+
- pmimpl = pmimpl_env.SharedLibrary('pmimpl', pmimpl_src)
-
- plugin_manager_env.InstallTarget([ppm, pmimpl], 'libppm')
---- a/service/protocol-plugin/plugin-manager/src/Android/jni/SConscript
-+++ b/service/protocol-plugin/plugin-manager/src/Android/jni/SConscript
-@@ -23,6 +23,7 @@ ppm_jni_env.PrependUnique(LIBS = ['pmimp
- ppm_jni_env.AppendUnique(CPPPATH = [ppm_sdk+'/src'])
- ppm_jni_env.AppendUnique(CPPPATH = [ppm_sdk+'/../lib/cpluff/libcpluff'])
- ppm_jni_env.AppendUnique(CPPPATH = [env.get('SRC_DIR')+'/extlibs/rapidxml'])
-+ppm_jni_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-
- ######################################################################
- # Source files and Targets
---- a/service/protocol-plugin/plugins/SConscript
-+++ b/service/protocol-plugin/plugins/SConscript
-@@ -40,6 +40,9 @@ if target_os not in ['windows', 'winrt']
- plugins_env.PrependUnique(CCFLAGS = ['-fPIC'])
- plugins_env.AppendUnique(LINKFLAGS = ['-fPIC'])
-
-+if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
-+ plugins_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-+
- if target_os not in ['arduino', 'android']:
- plugins_env.AppendUnique(LIBS = ['pthread'])
-
---- a/service/protocol-plugin/plugins/mqtt-fan/lib/cpp/SConscript
-+++ b/service/protocol-plugin/plugins/mqtt-fan/lib/cpp/SConscript
-@@ -16,6 +16,9 @@ mosquittopp_env.AppendUnique(CPPPATH = [
- if target_os not in ['windows', 'winrt']:
- mosquittopp_env.AppendUnique(CFLAGS = ['-Wall', '-ggdb', '-O2', '-fPIC'])
-
-+if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
-+ mosquittopp_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-+
- if target_os == 'linux':
- mosquittopp_env.AppendUnique(LIBS = ['pthread'])
-
---- a/service/resource-encapsulation/src/resourceContainer/SConscript
-+++ b/service/resource-encapsulation/src/resourceContainer/SConscript
-@@ -88,6 +88,9 @@ if target_os not in ['windows', 'winrt']
- if target_os != 'android':
- resource_container_env.AppendUnique(CXXFLAGS = ['-pthread'])
-
-+if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
-+ resource_container_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-+
- if target_os == 'android':
- resource_container_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
- resource_container_env.PrependUnique(LIBS = ['gnustl_shared', 'compatibility', 'log'])
---- a/service/resource-encapsulation/src/resourceContainer/unittests/SConscript
-+++ b/service/resource-encapsulation/src/resourceContainer/unittests/SConscript
-@@ -144,6 +144,9 @@ if int(containerJavaSupport):
- test_bundle_env = container_gtest_env.Clone()
- test_bundle_env.AppendUnique(CCFLAGS = ['-fPIC'])
-
-+if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
-+ test_bundle_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-+
- TEST_BUNDLE_DIR = 'TestBundle/'
- test_bundle_env.AppendUnique(CPPPATH = [
- TEST_BUNDLE_DIR + 'include',
---- a/service/resource-encapsulation/src/serverBuilder/SConscript
-+++ b/service/resource-encapsulation/src/serverBuilder/SConscript
-@@ -54,6 +54,9 @@ if target_os not in ['windows', 'winrt']
- if target_os != 'android':
- server_builder_env.AppendUnique(CXXFLAGS = ['-pthread'])
-
-+if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
-+ server_builder_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-+
- if target_os == 'android':
- server_builder_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
- server_builder_env.PrependUnique(LIBS = ['gnustl_shared', 'compatibility', 'log'])
---- a/service/soft-sensor-manager/SConscript
-+++ b/service/soft-sensor-manager/SConscript
-@@ -45,6 +45,9 @@ if target_os not in ['windows', 'winrt']
- soft_sensor_manager_env.AppendUnique(LIBS = ['pthread'])
- soft_sensor_manager_env.AppendUnique(CXXFLAGS = ['-pthread'])
-
-+if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
-+ soft_sensor_manager_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-+
- if target_os == 'android':
- soft_sensor_manager_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
- soft_sensor_manager_env.AppendUnique(LIBS = ['gnustl_shared'])
---- a/service/things-manager/SConscript
-+++ b/service/things-manager/SConscript
-@@ -43,6 +43,9 @@ if target_os not in ['windows', 'winrt']
- things_manager_env.AppendUnique(CXXFLAGS = ['-pthread'])
- things_manager_env.AppendUnique(LIBS = ['pthread'])
-
-+if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
-+ things_manager_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-+
- if target_os == 'android':
- things_manager_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])
- things_manager_env.PrependUnique(LIBS = ['gnustl_shared'])
---- a/service/things-manager/sdk/java/jni/SConscript
-+++ b/service/things-manager/sdk/java/jni/SConscript
-@@ -27,6 +27,9 @@ tm_jni_env.AppendUnique(CPPPATH = [tm_sd
- tm_jni_env.AppendUnique(CPPPATH = [base_jni])
- tm_jni_env.AppendUnique(CPPPATH = ['tm/inc', 'jniutil/inc', extlibs+'/timer/'])
-
-+if target_os not in ['darwin', 'ios', 'windows', 'winrt']:
-+ tm_jni_env.AppendUnique(LINKFLAGS = ['-Wl,--no-undefined'])
-+
- ######################################################################
- # Source files and Targets
- ######################################################################
+++ /dev/null
-From a8f5ed3ff337bce5222967fdf8c0b475fd28e74a Mon Sep 17 00:00:00 2001
-From: John Light <john.j.light@intel.com>
-Date: Thu, 30 Jul 2015 15:14:07 -0700
-Subject: [PATCH] Avoid Segv by testing address field before using it.
-
-sIssue reported off dev list by Gabriel Schulhof.
-
-Change-Id: Ifa529da59fb784fd5cdef6ca333635cf99ed1f59
-Signed-off-by: John Light <john.j.light@intel.com>
-Reviewed-on: https://gerrit.iotivity.org/gerrit/2160
-Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
-Reviewed-by: Erich Keane <erich.keane@intel.com>
----
- .../src/ip_adapter/linux/caipnwmonitor.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
---- a/resource/csdk/connectivity/src/ip_adapter/linux/caipnwmonitor.c
-+++ b/resource/csdk/connectivity/src/ip_adapter/linux/caipnwmonitor.c
-@@ -57,6 +57,10 @@ u_arraylist_t *CAIPGetInterfaceInformati
- struct ifaddrs *ifa = NULL;
- for (ifa = ifp; ifa; ifa = ifa->ifa_next)
- {
-+ if (!ifa->ifa_addr)
-+ {
-+ continue;
-+ }
- int family = ifa->ifa_addr->sa_family;
- if ((ifa->ifa_flags & IFF_LOOPBACK) || (AF_INET != family && AF_INET6 != family))
- {
+++ /dev/null
-From e767f892e7736008b60f85d2c2690d660661814b Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
-Date: Thu, 13 Aug 2015 15:03:11 +0200
-Subject: [PATCH] resource-encapsulation: fix build without curl
-
-The hue plugin needs curl and it should only be build when libcurl is available.
-Without this patch, the build fails without curl installed, this patch fixes the problem and makes the build worm without curl and without the hue stuff.
-
-Without this patch I am getting this error message:
-scons: ***
-File "/service/third_party_libs.scons", line 50, in ?
-
-Change-Id: I5b4da555ff84b9b605cc6c119990d60ff670bd0d
-Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
----
- .../src/resourceContainer/SConscript | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/service/resource-encapsulation/src/resourceContainer/SConscript
-+++ b/service/resource-encapsulation/src/resourceContainer/SConscript
-@@ -177,7 +177,7 @@ else:
-
- HueBundle = hue_resource_bundle_env.SharedLibrary('HueBundle', hue_resource_bundle_src)
- hue_resource_bundle_env.InstallTarget(HueBundle, 'libHueBundle')
-- lib_env = conf2.Finish()
-+lib_env = conf2.Finish()
-
- ######################################################################
- # build resource container unit tests
+--- a/resource/csdk/connectivity/src/bt_le_adapter/linux/SConscript
++++ b/resource/csdk/connectivity/src/bt_le_adapter/linux/SConscript
+@@ -31,7 +31,7 @@ this_build_dir = os.path.join(root_build
+
+ # The Linux BLE adapter implementation uses GDBus to make D-Bus based
+ # method calls to BlueZ. Pull in the necessary dependencies.
+-env.ParseConfig("pkg-config gio-unix-2.0 --cflags --libs")
++# env.ParseConfig("pkg-config gio-unix-2.0 --cflags --libs")
+
+ # Set up commands to generate GDBus code from the D-Bus introspection
+ # XML.
--- a/resource/csdk/security/provisioning/sample/SConscript
+++ b/resource/csdk/security/provisioning/sample/SConscript
-@@ -53,7 +53,7 @@ provisioning_env.PrependUnique(LIBS = ['
-
- if env.get('SECURED') == '1':
- provisioning_env.AppendUnique(LIBS = ['tinydtls'])
+@@ -58,7 +58,7 @@ if env.get('SECURED') == '1':
+ if env.get('DTLS_WITH_X509') == '1':
+ provisioning_env.AppendUnique(LIBS = ['CKManager'])
+ provisioning_env.AppendUnique(LIBS = ['asn1'])
-provisioning_env.ParseConfig('pkg-config --libs glib-2.0');
-+#provisioning_env.ParseConfig('pkg-config --libs glib-2.0');
++# provisioning_env.ParseConfig('pkg-config --libs glib-2.0');
provisioning_env.AppendUnique(CPPDEFINES = ['TB_LOG'])
--- a/resource/csdk/security/provisioning/SConscript
+++ b/resource/csdk/security/provisioning/SConscript
-@@ -62,7 +62,7 @@ provisioning_env.PrependUnique(LIBS = ['
-
- provisioning_env.AppendUnique(LIBS = ['tinydtls'])
+@@ -73,7 +73,7 @@ provisioning_env.AppendUnique(LIBS = ['t
+ if env.get('DTLS_WITH_X509') == '1':
+ provisioning_env.AppendUnique(LIBS = ['CKManger'])
-provisioning_env.ParseConfig('pkg-config --libs glib-2.0');
-+#provisioning_env.ParseConfig('pkg-config --libs glib-2.0');
++# provisioning_env.ParseConfig('pkg-config --libs glib-2.0');
if target_os == 'android':
provisioning_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions'])