Import('env')

if GetOption("help"):
    # early exit here not to execute config checks
    Return()

env = env.Clone()

common_compiler_flags = [ "-Wall" ]
env.Append(
    LIBS=[ "string_util" ],
    CPPPATH=[ "./src" ],
    CFLAGS=common_compiler_flags,
    CXXFLAGS=common_compiler_flags,
)

sources = Glob("src/*.c*")

msg_defs_used = """
ln/file_services2/read_from_file
ln/file_services2/write_file
ln/file_services/get_tree_info
ln/file_services2/get_tree_info2
ln/file_services/chown
ln/file_services/clock_gettime
ln/file_services/clock_settime
ln/file_services/put_symlink
ln/file_services2/unlink
ln/file_services2/rmdir
"""
env.ln_generate("src/ln_messages.h", msg_defs_used, "./message_definitions", sources)

file_services = env.Program("file_services", source=sources)
env.InstallProgram("$PREFIX/bin", file_services)
env.install_mds(Dir("message_definitions"))
# todo: install file_services.inc.lnc file
