# 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')

# XXX Tests don't follow Autotools-style regression test format.
#
#subdirs = [ 'tests' ]
#
#SConscript(dirs = subdirs, exports='env')

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

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

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

env.AppendUnique(LIBS = [
    'xorp_vrrp',
    'xst_vrrp',
    'xorp_fea_client',
    'xif_fea_ifmgr',
    'xif_fea_ifmgr_mirror',
    'xif_fea_ifmgr_replicator',
    'xif_fea_rawlink',
    'xif_fea_rawpkt4',
    'xst_fea_ifmgr_mirror',
    'xorp_ipc',
    'xorp_core',
    'xorp_proto',
    'xorp_comm'
])

if (env.has_key('mingw') and env['mingw']):
    env.AppendUnique(LIBS = [
#        'mprapi',
        'regex',
        ])

    env.Append(LIBS = ['xorp_core', 'crypto', 'ws2_32', 'iphlpapi', 'winmm'])


libxorp_vrrp_srcs = ['arpd.cc',
	       'vrrp.cc',
	       'vrrp_packet.cc',
	       'vrrp_target.cc',
	       'vrrp_vif.cc'
	       ]

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

if is_shared:
    libxorp_vrrp = env.SharedLibrary(target = 'libxorp_vrrp',
				     source = libxorp_vrrp_srcs,
				     LIBS = '')
    if env['rtld_origin']:
        for obj in libxorp_vrrp:
            env.AddPostAction(libxorp_vrrp,
                env.Symlink(obj.abspath,
                            os.path.join(env['xorp_alias_libdir'], str(obj))))
else:
    libxorp_vrrp = env.StaticLibrary(target = 'libxorp_vrrp',
				     source = libxorp_vrrp_srcs,
				     LIBS = '')

vrrpsources = [ 'xorp_vrrp.cc' ]

xorp_vrrp = env.Program(target = 'xorp_vrrp',
            source = vrrpsources)
if env['enable_builddirrun']:
    for obj in xorp_vrrp:
        env.AddPostAction(xorp_vrrp,
            env.Symlink(obj.abspath,
                os.path.join(env['xorp_alias_moduledir'], str(obj))))
env.Alias('install', env.InstallProgram(env['xorp_moduledir'], xorp_vrrp))
if is_shared:
    env.Alias('install', env.InstallLibrary(env['xorp_libdir'], libxorp_vrrp))

Default(xorp_vrrp)
