# -*- Python -*-

Import('*')
from CXL_init import *

appName = "CodeXLRemoteAgent-bin"

env = CXL_env.Clone()
UseBoost(env)
UseAPPSDK(env)

env.Append( CPPPATH = [ 
    ".",
    "./Public Include/",
    env['CXL_commonproj_dir'] + '/AMDTCommonHeaders/',
    env['CXL_commonproj_dir'],
    env['CXL_commonproj_dir'] + '/../../CodeXL/Remote',
    env['CXL_commonproj_dir'] + "/AMDTOSAPIWrappers/Include",
])

# osMessageBox, osDesktop
env.Append(CPPFLAGS = '-fno-strict-aliasing')

UseGtk(env)
UseTinyXml(env)

sources = \
[
    "./dmnConfigManager.cpp",
    "./Daemon.cpp",
    "./dmnSessionThread.cpp",
    "./dmnUtils.cpp",
    "./dmnThreadObserver.cpp",
    "./dmnServerThreadConfig.cpp",
    "./dmnServerThread.cpp",
    "./dmnConnectionWatcherThread.cpp",
    "./IThreadEventObserver.cpp",
    "./dmnAppWatcherThread.cpp",
]
    
# Creating object files    
objFiles = env.SharedObject(sources)

otherResources = \
[
    "./CodeXLRemoteAgent",
    "./CodeXLRemoteAgentConfig.xml",
]

linkerFlags = []

env.Append (LIBS = [
    "CXLOSWrappers",
    "CXLBaseTools",
    "CXLOSAPIWrappers",
    "libz",
    "libpthread",
    "libboost_regex",
    "libboost_filesystem",
    "libboost_wave",
    "libboost_system",
    "libboost_thread",
    "libboost_date_time",
    "libboost_chrono"
])

# Creating executable
exe = env.Program(
	target = appName, 
    source = sources,
	LINKFLAGS = linkerFlags)

# Installing libraries
libInstall = env.Install( 
    dir = env['CXL_bin_dir'], 
    source = (exe))

# Install additional items - shell script, config file, etc.
libInstall += env.Install(
    dir = env['CXL_bin_dir'], 
    source = (otherResources))

Return('libInstall')
