builds: stop defeating Variant dir Part 2/3 79/21979/9
authorMats Wichmann <mats@linux.com>
Wed, 16 Aug 2017 14:50:21 +0000 (08:50 -0600)
committerMats Wichmann <mats@linux.com>
Sun, 5 Nov 2017 15:07:34 +0000 (08:07 -0700)
This intends to pick up only three stray misplaced files from resource/
which were actually also being built in normal sequence in the expected
places and added to their respective libraries there; thus the problem
was a reference from elsewhere in the tree - which turned out to be the
Zigbee wrapper. The files in question are oic_malloc.c, oic_string.c
and logger.c.  There are no executables built in this tree, only some
libraries.  In the original form these files are just built in to the
libraries as follows:

$ ar t out/linux/x86_64/debug/plugins/zigbee_wrapper/telegesis_wrapper/src/libtelegesis_wrapper.a
oic_string.o
logger.o
twsocketlist.o
telegesis_socket.o
telegesis_wrapper.o
$ ar t out/linux/x86_64/debug/plugins/zigbee_wrapper/src/libzigbee_wrapper.a
oic_malloc.o
logger.o
zigbee_wrapper.o
$ ar t out/linux/x86_64/debug/plugins/src/libplugin_interface.a
logger.o
pluginlist.o
plugininterface.o

Binaries should just get these interfaces by linking with libc_common
(for oic_string and oic_malloc) and liblogger (for logger). The unit
test here is the only binary built, and it doesn't seem to need either.

Meanwhile, all the build scripts in plugins were cleaned up a bit.
They now use the SCons #-at-start-of-string reference to refer to
the top of the tree, instead of fetching saved src_dir and joining it
to paths, and a bit of other cleanup also done.

Bug: https://jira.iotivity.org/browse/IOT-1745
Change-Id: I01d95a757aea8e955fd5af4951e1ba3ad52228d3
Signed-off-by: Mats Wichmann <mats@linux.com>
plugins/SConscript
plugins/samples/linux/SConscript
plugins/src/SConscript
plugins/unittests/SConscript
plugins/zigbee_wrapper/SConscript
plugins/zigbee_wrapper/src/SConscript
plugins/zigbee_wrapper/telegesis_wrapper/SConscript
plugins/zigbee_wrapper/telegesis_wrapper/src/SConscript

index 3decb72..9cb96ba 100644 (file)
@@ -27,7 +27,6 @@ Import('env')
 
 target_os = env.get('TARGET_OS')
 build_sample = env.get('BUILD_SAMPLE')
-src_dir = env.get('SRC_DIR')
 
 if target_os not in [
         'android', 'arduino', 'darwin', 'ios', 'tizen', 'msys_nt', 'windows'
index e57f9a9..78b4758 100644 (file)
@@ -24,30 +24,37 @@ import os.path
 target_os = env.get('TARGET_OS')
 target_arch = env.get('TARGET_ARCH')
 samples_env = env.Clone()
-src_dir = env.get('SRC_DIR')
-pi_dir = os.path.join(src_dir, 'plugins')
 
 ######################################################################
 # Build flags
 ######################################################################
 samples_env.PrependUnique(CPPPATH=[
-    os.path.join(src_dir, 'resource', 'oc_logger', 'include'),
-    os.path.join(src_dir, 'resource', 'csdk', 'logger', 'include'),
-    os.path.join(src_dir, 'resource', 'csdk', 'include'),
-    os.path.join(src_dir, 'resource', 'csdk', 'stack', 'include'),
-    os.path.join(pi_dir, 'include')
+    '#/resource/oc_logger/include',
+    '#/resource/csdk/logger/include',
+    '#/resource/csdk/include',
+    '#/resource/csdk/stack/include',
+    '#/plugins/include',
 ])
 
 samples_env.AppendUnique(
     CXXFLAGS=['-std=c++0x', '-Wall', '-Wextra', '-Werror'])
 
 if target_os in ['darwin', 'ios']:
-    samples_env.PrependUnique(
-        LIBS=['m', 'octbstack', 'ocsrm', 'connectivity_abstraction', 'coap'])
+    samples_env.PrependUnique(LIBS=[
+        'm',
+        'octbstack',
+        'ocsrm',
+        'connectivity_abstraction',
+        'coap',
+    ])
 elif target_os not in ['arduino']:
     samples_env.PrependUnique(LIBS=[
-        'm', 'octbstack', 'ocsrm', 'connectivity_abstraction', 'coap',
-        'plugin_interface'
+        'm',
+        'octbstack',
+        'ocsrm',
+        'connectivity_abstraction',
+        'coap',
+        'plugin_interface',
     ])
     samples_env.AppendUnique(LIBS=['rt'])
     if target_arch in ['x86_64', 'arm64']:
index d3aaa1f..0f9c57f 100644 (file)
@@ -26,10 +26,6 @@ import os.path
 Import('env')
 
 target_os = env.get('TARGET_OS')
-src_dir = env.get('SRC_DIR')
-pi_path = os.path.join(src_dir, 'plugins')
-
-print("Reading PI script")
 
 ######################################################################
 # Build flags
@@ -38,26 +34,23 @@ with_unforked_libcoap = env.get('WITH_UNFORKED_LIBCOAP')
 if with_unforked_libcoap == '1':
     env.PrependUnique(CPPPATH=['#extlibs/libcoap/libcoap/include'])
 else:
-    env.PrependUnique(CPPPATH=[
-        os.path.join(src_dir, 'resource', 'csdk', 'connectivity', 'lib',
-                     'libcoap-4.1.1', 'include')
-    ])
+    env.PrependUnique(CPPPATH=['#/resource/csdk/connectivity/lib/libcoap-4.1.1/include'])
 
 env.PrependUnique(CPPPATH=[
-    os.path.join(src_dir, 'resource', 'c_common', 'oic_malloc', 'include'),
-    os.path.join(src_dir, 'resource', 'c_common', 'oic_string', 'include'),
-    os.path.join(src_dir, 'resource', 'c_common', 'oic_time', 'include'),
-    os.path.join(src_dir, 'resource', 'oc_logger', 'include'),
-    os.path.join(src_dir, 'resource', 'csdk', 'logger', 'include'),
-    os.path.join(src_dir, 'resource', 'csdk', 'stack', 'include'),
-    os.path.join(src_dir, 'resource', 'csdk', 'security', 'include'),
-    os.path.join(src_dir, 'resource', 'csdk', 'include')
+    '#/resource/c_common/oic_malloc/include',
+    '#/resource/c_common/oic_string/include',
+    '#/resource/c_common/oic_time/include',
+    '#/resource/oc_logger/include',
+    '#/resource/csdk/logger/include',
+    '#/resource/csdk/stack/include',
+    '#/resource/csdk/security/include',
+    '#/resource/csdk/include'
 ])
 env.AppendUnique(CPPPATH=[
-    os.path.join(pi_path, 'include'),
-    os.path.join(pi_path, 'include', 'internal'),
-    os.path.join(pi_path, 'zigbee_wrapper', 'include'),
-    os.path.join(pi_path, 'include', 'internal')
+    '#/plugins/include',
+    '#/plugins/include/internal',
+    '#/plugins/zigbee_wrapper/include',
+    '#/plugins/include/internal'
 ])
 
 if target_os not in ['arduino', 'windows']:
@@ -74,16 +67,13 @@ env.PrependUnique(LIBS=['zigbee_wrapper'])
 # Source files and Target(s)
 ######################################################################
 pi_src = [
-    os.path.join(src_dir, 'resource', 'csdk', 'logger', 'src', 'logger.c'),
     'pluginlist.c',
     'plugininterface.c',
 ]
 
-env.AppendUnique(PI_SRC=pi_src)
-
 if target_os in ['android', 'tizen']:
-    calib = env.SharedLibrary('plugin_interface', env.get('PI_SRC'))
+    calib = env.SharedLibrary('plugin_interface', pi_src)
 else:
-    calib = env.StaticLibrary('plugin_interface', env.get('PI_SRC'))
+    calib = env.StaticLibrary('plugin_interface', pi_src)
 env.InstallTarget(calib, 'plugin_interface')
 env.UserInstallTargetLib(calib, 'plugin_interface')
index 8e1ade2..f1cf0fd 100644 (file)
@@ -25,16 +25,13 @@ from tools.scons.RunTest import run_test
 # SConscript file for Local PKI google tests
 gtest_env = SConscript('#extlibs/gtest/SConscript')
 unittests_env = gtest_env.Clone()
-src_dir = unittests_env.get('SRC_DIR')
-pi_dir = os.path.join(src_dir, 'plugins')
-build_dir = unittests_env.get('BUILD_DIR')
 target_os = unittests_env.get('TARGET_OS')
 
 ######################################################################
 # Build flags
 ######################################################################
 unittests_env.PrependUnique(CPPPATH=[
-    os.path.join(pi_dir, 'include'),
+    '#/plugins/include',
 ])
 
 unittests_env.AppendUnique(LIBPATH=[unittests_env.get('BUILD_DIR')])
index b8fe2f6..9fea10d 100644 (file)
@@ -25,8 +25,5 @@ import os.path
 
 Import('env')
 
-print("Reading top Zigbee Wrapper.")
-
 env.SConscript('telegesis_wrapper/SConscript')
-
 env.SConscript('src/SConscript')
index d2ac092..e565423 100644 (file)
@@ -27,29 +27,24 @@ import os.path
 Import('env')
 
 target_os = env.get('TARGET_OS')
-src_dir = env.get('SRC_DIR')
-zw_path = os.path.join(src_dir, 'plugins')
-
-print("Reading Zigbee Wrapper (ZW) script")
 
 ######################################################################
 # Build flags
 ######################################################################
 
 env.PrependUnique(CPPPATH=[
-    os.path.join(src_dir, 'resource'),
-    os.path.join(src_dir, 'resource', 'c_common'),
-    os.path.join(src_dir, 'resource', 'c_common', 'oic_malloc', 'include'),
-    os.path.join(src_dir, 'resource', 'c_common', 'oic_string', 'include'),
-    os.path.join(src_dir, 'resource', 'oc_logger', 'include'),
-    os.path.join(src_dir, 'resource', 'csdk', 'logger', 'include'),
-    os.path.join(src_dir, 'resource', 'csdk', 'include'),
-    os.path.join(src_dir, 'resource', 'csdk', 'stack', 'include'),
+    '#/resource/c_common',
+    '#/resource/c_common/oic_malloc/include',
+    '#/resource/c_common/oic_string/include',
+    '#/resource/oc_logger/include',
+    '#/resource/csdk/logger/include',
+    '#/resource/csdk/include',
+    '#/resource/csdk/stack/include',
 ])
 env.AppendUnique(CPPPATH=[
-    os.path.join(zw_path, 'include'),
-    os.path.join(zw_path, 'include', 'internal'),
-    os.path.join(zw_path, 'zigbee_wrapper', 'include')
+    '#/plugins/include',
+    '#/plugins/include/internal',
+    '#/plugins/zigbee_wrapper/include'
 ])
 
 if target_os not in ['arduino', 'windows']:
@@ -66,17 +61,12 @@ env.PrependUnique(LIBS=['telegesis_wrapper'])
 ######################################################################
 
 zw_src = [
-    os.path.join(src_dir, 'resource', 'c_common', 'oic_malloc', 'src',
-                 'oic_malloc.c'),
-    os.path.join(src_dir, 'resource', 'csdk', 'logger', 'src', 'logger.c'),
     'zigbee_wrapper.c',
 ]
 
-env.AppendUnique(ZW_SRC=zw_src)
-
 if target_os in ['android', 'tizen']:
-    calib = env.SharedLibrary('zigbee_wrapper', env.get('ZW_SRC'))
+    calib = env.SharedLibrary('zigbee_wrapper', zw_src)
 else:
-    calib = env.StaticLibrary('zigbee_wrapper', env.get('ZW_SRC'))
+    calib = env.StaticLibrary('zigbee_wrapper', zw_src)
 env.InstallTarget(calib, 'libzigbee_wrapper')
 env.UserInstallTargetLib(calib, 'libzigbee_wrapper')
index 22b39d1..73d6a61 100644 (file)
@@ -25,6 +25,4 @@ import os.path
 
 Import('env')
 
-print("Reading top Telegesis Wrapper.")
-
 env.SConscript('src/SConscript')
index 845d90e..c16f872 100644 (file)
@@ -26,24 +26,20 @@ import os.path
 Import('env')
 
 target_os = env.get('TARGET_OS')
-src_dir = env.get('SRC_DIR')
-tw_path = os.path.join(src_dir, 'plugins')
 
 #####################################################################
 # Source files and Target(s)
 ######################################################################
 
-print("Reading Telegesis Wrapper (TW) script")
-
 env.AppendUnique(CPPPATH=[
-    os.path.join(tw_path, 'include'),
-    os.path.join(tw_path, 'include', 'internal'),
-    os.path.join(src_dir, 'resource', 'oc_logger', 'include'),
-    os.path.join(src_dir, 'resource', 'csdk', 'include'),
-    os.path.join(src_dir, 'resource', 'csdk', 'stack', 'include'),
-    os.path.join(src_dir, 'resource', 'csdk', 'logger', 'include'),
-    os.path.join(src_dir, 'resource', 'c_common', 'oic_string', 'include'),
-    os.path.join(tw_path, 'zigbee_wrapper', 'telegesis_wrapper', 'include')
+    '#/plugins/include',
+    '#/plugins/include/internal',
+    '#/resource/oc_logger/include',
+    '#/resource/csdk/include',
+    '#/resource/csdk/stack/include',
+    '#/resource/csdk/logger/include',
+    '#/resource/c_common/oic_string/include',
+    '#/plugins/zigbee_wrapper/telegesis_wrapper/include',
 ])
 
 if target_os not in ['arduino', 'windows']:
@@ -53,10 +49,9 @@ if target_os in ['darwin', 'ios']:
     env.AppendUnique(CPPDEFINES=['_DARWIN_C_SOURCE'])
 
 tw_src = [
-    os.path.join(src_dir, 'resource', 'c_common', 'oic_string', 'src',
-                 'oic_string.c'),
-    os.path.join(src_dir, 'resource', 'csdk', 'logger', 'src', 'logger.c'),
-    'twsocketlist.c', 'telegesis_socket.c', 'telegesis_wrapper.c'
+    'twsocketlist.c',
+    'telegesis_socket.c',
+    'telegesis_wrapper.c',
 ]
 
 env.AppendUnique(TW_SRC=tw_src)