X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fexamples%2FSConscript;h=45de341c556973081f0048de577eeea3efd870f5;hb=refs%2Ftags%2Faccepted%2Ftizen%2Funified%2F20230214.171546;hp=914a5ee6508ecb6421d2d03a85697782bc149370;hpb=ac8ffa40df98b2238be21c4bc3703cfa45e7871d;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/examples/SConscript b/resource/examples/SConscript index 914a5ee..45de341 100644 --- a/resource/examples/SConscript +++ b/resource/examples/SConscript @@ -21,12 +21,15 @@ ## # Examples build script ## -Import('env') -# Add third party libraries -lib_env = env.Clone() -SConscript(env.get('SRC_DIR') + '/resource/third_party_libs.scons', 'lib_env') +thread_env = SConscript('#build_common/thread.scons') +lib_env = thread_env.Clone() +# Add third party libraries +SConscript('#resource/third_party_libs.scons', 'lib_env') examples_env = lib_env.Clone() +target_os = examples_env.get('TARGET_OS') +rd_mode = examples_env.get('RD_MODE') +ble_custom_adv = examples_env.get('BLE_CUSTOM_ADV') ###################################################################### # Build flags @@ -34,70 +37,104 @@ examples_env = lib_env.Clone() examples_env.AppendUnique(CPPPATH = [ '../include/', '../csdk/stack/include', - '../csdk/ocrandom/include', + '../c_common/ocrandom/include', '../csdk/logger/include', '../oc_logger/include' ]) -target_os = env.get('TARGET_OS') -if target_os not in ['windows', 'winrt']: - examples_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall', '-pthread']) +examples_env.AppendUnique(LIBPATH = [examples_env.get('BUILD_DIR')]) +examples_env.AppendUnique(RPATH = [examples_env.get('BUILD_DIR')]) +examples_env.PrependUnique(LIBS = ['coap']) +examples_env.AppendUnique(LIBS = ['connectivity_abstraction']) +examples_env.AppendUnique(LIBS = ['oc_logger']) +examples_env.AppendUnique(LIBS = ['octbstack']) +examples_env.AppendUnique(LIBS = ['oc']) - # Note: 'pthread' is in libc for android. On other platform, if use - # new gcc(>4.9?) it isn't required, otherwise, it's required - if target_os != 'android': - examples_env.AppendUnique(LIBS = ['-lpthread']) +compiler = examples_env.get('CXX') +if 'g++' in compiler: + examples_env.AppendUnique(CXXFLAGS = ['-std=c++0x', '-Wall']) -examples_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')]) -examples_env.AppendUnique(RPATH = [env.get('BUILD_DIR')]) -examples_env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'connectivity_abstraction', 'coap']) -if env.get('SECURED') == '1': - examples_env.AppendUnique(LIBS = ['tinydtls']) +if target_os in ['msys_nt', 'windows']: + examples_env.PrependUnique(LIBS = ['mswsock', 'ws2_32', 'iphlpapi', 'ole32']) + +if examples_env.get('SECURED') == '1': + examples_env.AppendUnique(LIBS = ['mbedtls', 'mbedx509','mbedcrypto']) + examples_env.AppendUnique(CPPDEFINES = ['_WITH_DTLS_']) + if target_os in ['msys_nt', 'windows']: + examples_env.AppendUnique(LIBS = ['advapi32']) if target_os == 'android': examples_env.AppendUnique(CXXFLAGS = ['-frtti', '-fexceptions']) examples_env.AppendUnique(LIBS = ['gnustl_shared']) - if not env.get('RELEASE'): + if not examples_env.get('RELEASE'): examples_env.AppendUnique(LIBS = ['log']) if target_os in ['darwin', 'ios']: examples_env.AppendUnique(CPPDEFINES = ['_DARWIN_C_SOURCE']) +if examples_env.get('WITH_CLOUD'): + examples_env.AppendUnique(CPPDEFINES = ['WITH_CLOUD']) + +if ble_custom_adv == True: + env.AppendUnique(CPPDEFINES = ['BLE_CUSTOM_ADVERTISE']) + +if target_os in ['msys_nt', 'windows']: + examples_env.AppendUnique(LIBS = ['Comctl32', 'Gdi32', 'User32']) + +if examples_env.get('LOGGING'): + examples_env.AppendUnique(CPPDEFINES = ['TB_LOG']) + +def make_single_file_cpp_program(program_name): + return examples_env.Program(program_name, program_name + ".cpp") + ###################################################################### # Source files and Targets ###################################################################### -simpleserver = examples_env.Program('simpleserver', 'simpleserver.cpp') -simpleclient = examples_env.Program('simpleclient', 'simpleclient.cpp') -simpleserverHQ = examples_env.Program('simpleserverHQ', 'simpleserverHQ.cpp') -simpleclientHQ = examples_env.Program('simpleclientHQ', 'simpleclientHQ.cpp') -fridgeserver = examples_env.Program('fridgeserver', 'fridgeserver.cpp') -fridgeclient = examples_env.Program('fridgeclient', 'fridgeclient.cpp') -presenceserver = examples_env.Program('presenceserver', 'presenceserver.cpp') -presenceclient = examples_env.Program('presenceclient', 'presenceclient.cpp') -simpleclientserver = examples_env.Program('simpleclientserver', 'simpleclientserver.cpp') -roomserver = examples_env.Program('roomserver', 'roomserver.cpp') -roomclient = examples_env.Program('roomclient', 'roomclient.cpp') -garageserver = examples_env.Program('garageserver', 'garageserver.cpp') -garageclient = examples_env.Program('garageclient', 'garageclient.cpp') -groupserver = examples_env.Program('groupserver', 'groupserver.cpp') -groupclient = examples_env.Program('groupclient', 'groupclient.cpp') -lightserver = examples_env.Program('lightserver', 'lightserver.cpp') -devicediscoveryserver = examples_env.Program('devicediscoveryserver', 'devicediscoveryserver.cpp') -devicediscoveryclient = examples_env.Program('devicediscoveryclient', 'devicediscoveryclient.cpp') -threadingsample = examples_env.Program('threadingsample', 'threadingsample.cpp') - -Alias("examples", [simpleserver, simpleclient, - simpleserverHQ, simpleclientHQ, - fridgeserver, fridgeclient, - presenceserver, presenceclient, - simpleclientserver, roomserver, roomclient, garageserver, - garageclient, - groupserver, groupclient, - lightserver, - devicediscoveryserver, devicediscoveryclient, - threadingsample - ]) -env.AppendTarget('examples') +example_names = [ + 'simpleserver', 'simpleclient', + 'simpleclientserver', + 'directpairingclient', + 'devicediscoveryserver', 'devicediscoveryclient', + 'simpleserverHQ', 'simpleclientHQ', + ] + +if target_os not in ['windows', 'msys_nt']: + example_names += [ + 'fridgeserver', 'fridgeclient', + 'roomserver', 'roomclient', + 'garageserver', + 'garageclient', + 'groupserver', + 'groupclient', + 'lightserver', + 'threadingsample', + ] + if 'CLIENT' in examples_env.get('RD_MODE'): + examples_env.AppendUnique(CPPPATH = ['../csdk/resource-directory/include']) + example_names += ['rdclient'] + examples_env.AppendUnique(LIBS = ['resource_directory']) + if examples_env.get('DISABLE_PRESENCE') == False: + example_names += ['presenceserver', 'presenceclient'] + +examples = list(map(make_single_file_cpp_program, example_names)) + +###################################################################### +# Other examples +###################################################################### +clientjson = examples_env.Install(examples_env.get('BUILD_DIR') + '/resource/examples/', + examples_env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_client.dat') +serverjson = examples_env.Install(examples_env.get('BUILD_DIR') + '/resource/examples/', + examples_env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_server.dat') +directpairingdat = examples_env.Install(examples_env.get('BUILD_DIR') + '/resource/examples/', + examples_env.get('SRC_DIR') + '/resource/examples/' + 'oic_svr_db_client_directpairing.dat') + +examples += [clientjson, serverjson, directpairingdat] +if target_os in ['msys_nt', 'windows']: + winUIClient = examples_env.Program('winUIClient', ['winuiclientgui.cpp', 'winuiclient.cpp']) + mediaserver = examples_env.Program('mediaserver', 'mediaserver.cpp') + examples += [winUIClient, mediaserver] +Alias("examples", examples) +examples_env.AppendTarget('examples')