	# Copyright (c) 2009-2011 XORP, Inc and Others
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, Version 2, June
# 1991 as published by the Free Software Foundation. Redistribution
# and/or modification of this program under the terms of any other
# version of the GNU General Public License is not permitted.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details,
# see the GNU General Public License, Version 2, a copy of which can be
# found in the XORP LICENSE.gpl file.
#
# XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA;
# http://xorp.net

# $XORP$

import os
Import('env')

subdirs = [
	'tests',
	'tools',
	]

if not env['disable_libtecla']:
    subdirs.append('libtecla')

SConscript(dirs = subdirs, exports = 'env')

env = env.Clone()
is_shared = env.has_key('SHAREDLIBS')

env.AppendUnique(CPPPATH = [
    '#',
    '$BUILDDIR',
     ])

env.PrependUnique(LIBPATH = [
    '$BUILDDIR/xrl/interfaces',
    '$BUILDDIR/xrl/targets',
    '$BUILDDIR/libxipc',
    '$BUILDDIR/libproto',
    '$BUILDDIR/libcomm',
    '$BUILDDIR/libxorp',
    '$BUILDDIR/cli/libtecla',
    ])

if not env['disable_libtecla']:
    env.AppendUnique(LIBPATH = [
        '$BUILDDIR/cli/libtecla',
    ])
        
# Internal libraries.
env.AppendUnique(LIBS = [
    'xif_cli_processor',
    'xst_cli',
    'xorp_proto',
    'xorp_ipc',
    'xorp_comm',
    'xorp_core',
    ])

if (env.has_key('mingw') and env['mingw']):
    env.AppendUnique(LIBS = [ 'winmm' ])

if not env['disable_libtecla']:
    env.AppendUnique(LIBS = [
        'xorp_tecla',
    ])


env.Replace(RPATH = [
    env.Literal(env['xorp_tool_rpath'])
])

libxorp_cli_srcs = [
    'cli_client.cc',
    'cli_command.cc',
    'cli_command_pipe.cc',
    'cli_node.cc',
    'cli_node_internal_commands.cc',
    'cli_node_net.cc',
    'xrl_cli_node.cc'
    ]

if is_shared:
    libxorp_cli = env.SharedLibrary(target = 'libxorp_cli',
				    source = libxorp_cli_srcs)
    # build symlink for resolving links whilst in BUILDDIR
    if env['rtld_origin']:
        for obj in libxorp_cli:
            env.AddPostAction(libxorp_cli,
                env.Symlink(obj.abspath,
                            os.path.join(env['xorp_alias_libdir'], str(obj))))
    env.Alias('install',
              env.InstallLibrary(env['xorp_libdir'], libxorp_cli))
else:
    libxorp_cli = env.StaticLibrary(target = 'libxorp_cli',
				    source = libxorp_cli_srcs)

Default(libxorp_cli)
