# Copyright (c) 2009 XORP, Inc.
#
# 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")

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

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

env.AppendUnique(LIBPATH = [
	'$BUILDDIR/ospf',
	'$BUILDDIR/libfeaclient',
	'$BUILDDIR/policy/backend',
	'$BUILDDIR/policy/common',
	'$BUILDDIR/xrl/interfaces',
	'$BUILDDIR/xrl/targets',
	'$BUILDDIR/libxipc',
	'$BUILDDIR/libproto',
	'$BUILDDIR/libxorp',
	'$BUILDDIR/libcomm',
	])

env.AppendUnique(LIBS = [
	'xif_rib',
	'xif_finder_event_notifier',
	'xorp_fea_client',
	'xif_fea_ifmgr_mirror',
	'xif_fea_ifmgr_replicator',
	'xst_fea_ifmgr_mirror',
	'xif_fea_rawpkt4',
	'xif_fea_rawpkt6',
	'xorp_policy_backend',
	'xorp_policy_common',
	'xorp_ipc',
	'xorp_proto',
	'xorp_core',
	'xorp_comm',
	])

# XXX Do we need to link against this now?
if is_shared:
    env.PrependUnique(LIBS = [
	'xst_ospfv2',
	'xst_ospfv3',
    ])

env.PrependUnique(LIBS = [
	'xorp_ospf',
])

# XXX NOTYET: compound test; two modules, one test scaffold, run from
# test_routing.py.
#'build_lsa', 'build_lsa_main'

simple_cpp_tests = [
	'checksum',
	'packet',
	'peering',
	'routing',
	#'routing_database', # NOTYET
	#'routing_interactive', # NOTYET
	'routing_table',
]

cpp_test_targets = []

for ct in simple_cpp_tests:
    cpp_test_targets.append(env.AutoTest(target = 'test_%s' % ct,
                                         source = 'test_%s.cc' % ct))
