# Copyright AllSeen Alliance. All rights reserved.
#
#    Permission to use, copy, modify, and/or distribute this software for any
#    purpose with or without fee is hereby granted, provided that the above
#    copyright notice and this permission notice appear in all copies.
#
#    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
#    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
#    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
#    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
#    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
#    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
#    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Import('env')
import os

services_common_root_default = '../../../services_common'

vars = Variables()
if not env.has_key('SERVICES_COMMON_ROOT'):
    vars.Add('SERVICES_COMMON_ROOT', 'Root directory of Services Common', services_common_root_default)
vars.Update(env)

# if SERVICES_COMMON_ROOT passed in via the env., use it:
if env.has_key('SERVICES_COMMON_ROOT_FROM_COMPONENT'):
    env.Replace(SERVICES_COMMON_ROOT = env['SERVICES_COMMON_ROOT_FROM_COMPONENT'])
Help(vars.GenerateHelpText(env))

cps_env = env.Clone()

cps_env['CONTROLPANEL_DEFINE_STRING'] = 'CONTROLPANEL_SERVICE'
cps_env.Append(CPPDEFINES = '$CONTROLPANEL_DEFINE_STRING')
if cps_env['VARIANT'] == 'debug':
    cps_env.Append(CPPDEFINES = ['ER_DEBUG_AJSVCAPP=1'])
    cps_env.Append(CPPDEFINES = ['ER_DEBUG_AJSVCALL=1'])
    cps_env.Append(CPPDEFINES = ['AJ_DEBUG_RESTRICT=AJ_DEBUG_INFO'])


target_name = 'ControlPanelClient'
source_files = [
    'ControlPanelClientGenerated.c',
    'ControlPanelClient.c',
    'PropertyStore.c',
]

cps_env.Append(CPPPATH = [
                            cps_env.Dir('.'),
                            Dir('../../inc'),
                         ])

objs = cps_env.Object(source_files)
cps_obj = cps_env.SConscript('../../src/CPSControllee/SConscript', {'cps_env': cps_env })

services_common_objs = cps_env.SConscript('$SERVICES_COMMON_ROOT/SConscript', {'services_common_env': cps_env})
objs.extend(services_common_objs)

cps_env.Program(
            target = target_name, 
            source = [
                objs,
                cps_env['aj_obj'],
                cps_obj
            ])

