-if env.get('SECURED') == '1':
- libocsrm_src = [
- OCSRM_SRC + 'secureresourcemanager.c',
- OCSRM_SRC + 'resourcemanager.c',
- OCSRM_SRC + 'aclresource.c',
- OCSRM_SRC + 'amaclresource.c',
- OCSRM_SRC + 'amsmgr.c',
- OCSRM_SRC + 'pstatresource.c',
- OCSRM_SRC + 'doxmresource.c',
- OCSRM_SRC + 'credresource.c',
- OCSRM_SRC + 'svcresource.c',
- OCSRM_SRC + 'pconfresource.c',
- OCSRM_SRC + 'dpairingresource.c',
- OCSRM_SRC + 'policyengine.c',
- OCSRM_SRC + 'psinterface.c',
- OCSRM_SRC + 'srmresourcestrings.c',
- OCSRM_SRC + 'srmutility.c',
- OCSRM_SRC + 'iotvticalendar.c',
- OCSRM_SRC + 'oxmpincommon.c',
- OCSRM_SRC + 'base64.c',
- #pbkdf2.c is required to PIN based OxM only.
- #But we did not use a separate build options to prevent the build command becomes complicated.
- OCSRM_SRC + 'pbkdf2.c'
- ]
-else:
- libocsrm_src = [
- OCSRM_SRC + 'secureresourcemanager.c',
- OCSRM_SRC + 'resourcemanager.c',
- OCSRM_SRC + 'aclresource.c',
- OCSRM_SRC + 'amaclresource.c',
- OCSRM_SRC + 'amsmgr.c',
- OCSRM_SRC + 'pstatresource.c',
- OCSRM_SRC + 'doxmresource.c',
- OCSRM_SRC + 'credresource.c',
- OCSRM_SRC + 'svcresource.c',
- OCSRM_SRC + 'pconfresource.c',
- OCSRM_SRC + 'dpairingresource.c',
- OCSRM_SRC + 'policyengine.c',
- OCSRM_SRC + 'psinterface.c',
- OCSRM_SRC + 'srmresourcestrings.c',
- OCSRM_SRC + 'srmutility.c',
- OCSRM_SRC + 'iotvticalendar.c',
- OCSRM_SRC + 'base64.c'
- ]
-
-if env.get('DTLS_WITH_X509') == '1' and env.get('SECURED') == '1':
- crl_src = [OCSRM_SRC + 'crlresource.c']
- libocsrm_src = libocsrm_src + crl_src
-
-if target_os != 'arduino':
- dp_src = [OCSRM_SRC + 'directpairing.c']
- libocsrm_src = libocsrm_src + dp_src
-
-libocsrm = libocsrm_env.StaticLibrary('libocsrm', libocsrm_src)
-
-libocsrm_env.InstallTarget(libocsrm, 'libocsrm')
-
-if target_os in ['linux', 'android', 'tizen'] and env.get('SECURED') == '1':
+libocsrm_src = [
+ OCSRM_SRC + 'secureresourcemanager.c',
+ OCSRM_SRC + 'resourcemanager.c',
+ OCSRM_SRC + 'aclresource.c',
+ OCSRM_SRC + 'verresource.c',
+ OCSRM_SRC + 'amaclresource.c',
+ OCSRM_SRC + 'amsmgr.c',
+ OCSRM_SRC + 'pstatresource.c',
+ OCSRM_SRC + 'doxmresource.c',
+ OCSRM_SRC + 'credresource.c',
+ OCSRM_SRC + 'pconfresource.c',
+ OCSRM_SRC + 'dpairingresource.c',
+ OCSRM_SRC + 'policyengine.c',
+ OCSRM_SRC + 'psinterface.c',
+ OCSRM_SRC + 'srmresourcestrings.c',
+ OCSRM_SRC + 'srmutility.c',
+ OCSRM_SRC + 'iotvticalendar.c',
+ OCSRM_SRC + 'base64.c',
+ OCSRM_SRC + 'directpairing.c'
+ ]
+
+if libocsrm_env.get('SECURED') == '1':
+ libocsrm_src = libocsrm_src + [OCSRM_SRC + 'oxmpincommon.c', OCSRM_SRC + 'pbkdf2.c']
+ libocsrm_src = libocsrm_src + [OCSRM_SRC + 'crlresource.c', OCSRM_SRC + 'pkix_interface.c']
+ libocsrm_src = libocsrm_src + [OCSRM_SRC + 'oxmverifycommon.c']
+ libocsrm_src = libocsrm_src + [OCSRM_SRC + 'psiutils.c'] # TODO : need for secure psi
+
+if target_os in ['windows', 'msys_nt']:
+ libocsrm_src = libocsrm_src + [OCSRM_SRC + 'strptime.c']
+
+
+libocsrm_src.extend(env['cbor_files'])
+
+# Insert a hack for Arduino, whose compiler may not support all defines expected
+# by tinycbor
+if target_os in ['arduino']:
+ libocsrm_env.AppendUnique(CPPDEFINES = ['INT64_MAX=0x7FFFFFFFFFFFFFFF'])
+
+libocsrm_conf = Configure(libocsrm_env)
+if libocsrm_conf.CheckFunc('strptime'):
+ libocsrm_conf.env.AppendUnique(CPPDEFINES = ['HAVE_STRPTIME'])
+libocsrm_env = libocsrm_conf.Finish()
+
+libocsrm = libocsrm_env.StaticLibrary('ocsrm', libocsrm_src)
+
+libocsrm_env.InstallTarget(libocsrm, 'ocsrm')
+
+if target_os in ['linux', 'android', 'tizen', 'msys_nt', 'windows', 'ios'] and libocsrm_env.get('SECURED') == '1':