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

env = env.Clone()

env.AppendUnique(CPPPATH = [ '#' ])

libpcmsrcs = [
    'dispatcher.cc',
    'elem_set.cc',
    'element.cc',
    'element_base.cc',
    'element_factory.cc',
    'filter.cc',
    'operator.cc',
    'policy_utils.cc',
    'register_elements.cc',
    'register_operations.cc',
    'varrw.cc'
    ]

is_shared = env.has_key('SHAREDLIBS')

# deal with bgp aspath shared code
if is_shared:
    libpcmsrcs += [ '../../bgp/aspath.cc' ]
    libpcm = env.SharedLibrary(target = 'libxorp_policy_common',
			       source = libpcmsrcs)
    if env['rtld_origin']:
        for obj in libpcm:
            env.AddPostAction(libpcm,
                env.Symlink(obj.abspath,
                            os.path.join(env['xorp_alias_libdir'], str(obj))))
    env.Alias('install', env.InstallLibrary(env['xorp_libdir'], libpcm))
else:
    obj_aspath = env.StaticObject(target = 'aspath',
                                  source = '../../bgp/aspath.cc')
    libpcmsrcs += [ obj_aspath ]
    libpcm = env.StaticLibrary(target = 'libxorp_policy_common',
			       source = libpcmsrcs)

Default(libpcm)
