# -*- mode:python -*-

# Copyright (c) 2004
# The Regents of The University of Michigan
# All Rights Reserved
#
# This code is part of the M5 simulator, developed by Nathan Binkert,
# Erik Hallnor, Steve Raasch, and Steve Reinhardt, with contributions
# from Ron Dreslinski, Dave Greene, Lisa Hsu, Kevin Lim, Ali Saidi,
# and Andrew Schultz.
#
# Permission is granted to use, copy, create derivative works and
# redistribute this software and such derivative works for any
# purpose, so long as the copyright notice above, this grant of
# permission, and the disclaimer below appear in all copies made; and
# so long as the name of The University of Michigan is not used in any
# advertising or publicity pertaining to the use or distribution of
# this software without specific, written prior authorization.
#
# THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION FROM THE
# UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY PURPOSE, AND
# WITHOUT WARRANTY BY THE UNIVERSITY OF MICHIGAN OF ANY KIND, EITHER
# EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE. THE REGENTS OF THE UNIVERSITY OF MICHIGAN SHALL NOT BE
# LIABLE FOR ANY DAMAGES, INCLUDING DIRECT, SPECIAL, INDIRECT,
# INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WITH RESPECT TO ANY CLAIM
# ARISING OUT OF OR IN CONNECTION WITH THE USE OF THE SOFTWARE, EVEN
# IF IT HAS BEEN OR IS HEREAFTER ADVISED OF THE POSSIBILITY OF SUCH
# DAMAGES.

# This SConscript file specifies the "local" libelf build: copying
# header files from the distribution and from the shared libelf build
# (specified in SConscript-global) into the per-configuration build
# tree.

import os.path

Import('env')

# Headers to copy straight from the libelf distribution
dist_elf_headers = Split('gelf.h elf_repl.h nlist.h libelf.h')

# Headers to copy from the local libelf build
build_elf_headers = Split('sys_elf.h')

# register the commands to copy headers from the distribution
for f in dist_elf_headers:
    env.Command(f, '$EXT_SRCDIR/libelf/lib/' + f, 'cp $SOURCE $TARGET')

# register the commands to copy headers from the local build
for f in build_elf_headers:
    env.Command(f, '#/libelf/lib/' + f, 'cp $SOURCE $TARGET')
