#!/bin/bash

# Version-specific information

DYNINST_VERSION=7.0.1
SYMTAB_VERSION=$DYNINST_VERSION
INSTRUCTIONAPI_VERSION=$DYNINST_VERSION
STACKWALKERAPI_VERSION=2.0.1
PARSEAPI_VERSION=$DYNINST_VERSION
PROCCONTROLAPI_VERSION=1.0.1

RELEASEDIR=/p/paradyn/release$DYNINST_VERSION

# Get command options
if [ -z "$1" ]; then
  echo usage: $0 build_dir bin_dir
  echo
  echo "build_dir - Directory where tarballs will be built"
  echo ""
  echo "bin_dir   - Top-level Dyninst build directory"
  echo "            with builds for all platforms"
  echo "            Default: /p/paradyn/builds"
  exit
fi

BUILDDIR=$1

if [ -z "$2" ]; then
  BINDIR=/p/paradyn/builds
else
  BINDIR=$2
fi

# Setup build directory
cd $BUILDDIR
BUILDDIR=$PWD

STAGEDIR=$BUILDDIR/build_stage

# Stage directory holds trees to be tarballed
rm -rf $STAGEDIR
mkdir $STAGEDIR
cd $STAGEDIR

mkdir dyninstAPI
mkdir symtabAPI
mkdir instructionAPI
mkdir stackwalkAPI
mkdir parseAPI
mkdir procControlAPI 


#######################################################
# DyninstAPI
#######################################################

DYNSRC_RM='src/dyninst/codeCoverage src/dyninst/dyninstAPI/tests'

DYNBIN_RM='bin/testprogs bin/testprogs_new include lib/*mrnet* lib/*paradyn* lib/*visi* lib/*pdthread* lib/*pdutil* bin/*barchar* bin/*dbghelp* bin/*igen* bin/*mrnet* bin/*paradyn* bin/*phaseTable* bin/*rthist* bin/*tableVisi* bin/*tclVisi* bin/*topgen* bin/*terrain* bin/*termWin* bin/*barChart* bin/ lib/*testSuite* lib/*xplat* lib/*libtestSuite*'

#
# Build Dyninst Release
#

#Dyninst Source
OFILE=dyninst_src_$DYNINST_VERSION
echo BUILDING $OFILE
cd $STAGEDIR
mkdir dyninstAPI/src
cd dyninstAPI/src
cp -r $BINDIR/dyninst .
cp -r $BINDIR/scripts .
cp -r $BINDIR/packagers .
cp -r $BINDIR/docs .
find . -name .git | xargs rm -rf
cd $STAGEDIR
cp $RELEASEDIR/LICENSE dyninstAPI/LICENSE
cp $RELEASEDIR/README_dyninst dyninstAPI/README
cd dyninstAPI
rm -rf $DYNSRC_RM
cd $STAGEDIR

tar -cf $OFILE.tar dyninstAPI
gzip $OFILE.tar

#Documentation
mkdir dyninstAPI/doc
#cp $RELEASEDIR/doc/dyninstProgGuide.pdf dyninstAPI/doc
#cp $RELEASEDIR/doc/instructionProgGuide.pdf dyninstAPI/doc
#cp $RELEASEDIR/doc/stackwalker.pdf dyninstAPI/doc
#cp $RELEASEDIR/doc/symtabProgGuide.pdf dyninstAPI/doc
cp $RELEASEDIR/doc/*.pdf dyninstAPI/doc

#Includes
cp -r $BINDIR/include dyninstAPI

#Windows
PLAT=i386-unknown-nt4.0
OFILE=dyninst_win_x86_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT dyninstAPI/
cp /p/paradyn/packages/WinDebug/dbghelp.dll dyninstAPI/$PLAT/lib
cp /p/paradyn/packages/libxml2/win32/lib/libxml2.dll dyninstAPI/$PLAT/lib
cd dyninstAPI/$PLAT
rm -rf $DYNBIN_RM

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar dyninstAPI/doc dyninstAPI/include dyninstAPI/README dyninstAPI/$PLAT
gzip $OFILE.tar

#AIX
#PLAT=rs6000-ibm-aix5.1
#OFILE=dyninst_aix_power_$DYNINST_VERSION

#echo COPYING FILES FOR $PLAT
#cd $STAGEDIR
#cp -r $BINDIR/$PLAT dyninstAPI/
#cp /p/paradyn/packages/libxml2/rs_aix51/lib/libxml2.so.2 dyninstAPI/$PLAT/lib/libxml2.so
#cd dyninstAPI/$PLAT
#rm -rf $DYNBIN_RM
#cd $STAGEDIR
#chmod 755 dyninstAPI/$PLAT/lib/libDyninstText.a

#echo TAR GZ
#cd $STAGEDIR
#tar -cf $OFILE.tar dyninstAPI/doc dyninstAPI/include dyninstAPI/README dyninstAPI/$PLAT
#gzip $OFILE.tar

#Linux/x86
PLAT=i386-unknown-linux2.4
OFILE=dyninst_linux_x86_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT dyninstAPI/
cd dyninstAPI/$PLAT
rm -rf $DYNBIN_RM
cd $STAGEDIR
cp /p/paradyn/packages/libxml2/i386_cent40/lib/libxml2.so dyninstAPI/$PLAT/lib
cp $RELEASEDIR/i386-unknown-linux2.4/libelf.so.1 dyninstAPI/$PLAT/lib
cp $RELEASEDIR/i386-unknown-linux2.4/libdwarf.so dyninstAPI/$PLAT/lib

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar dyninstAPI/doc dyninstAPI/include dyninstAPI/README dyninstAPI/$PLAT
gzip $OFILE.tar

#BSD/x86
PLAT=i386-unknown-freebsd7.2
OFILE=dyninst_bsd_x86_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT dyninstAPI/
cd dyninstAPI/$PLAT
rm -rf $DYNBIN_RM
cd $STAGEDIR
cp /p/paradyn/packages/libxml2/i386_cent40/lib/libxml2.so dyninstAPI/$PLAT/lib
cp $RELEASEDIR/$PLAT/libelf.so.0 dyninstAPI/$PLAT/lib
cp $RELEASEDIR/$PLAT/libdwarf.so dyninstAPI/$PLAT/lib

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar dyninstAPI/doc dyninstAPI/include dyninstAPI/README dyninstAPI/$PLAT
gzip $OFILE.tar

#BSD/AMD64
PLAT=amd64-unknown-freebsd7.2
OFILE=dyninst_bsd_amd64_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT dyninstAPI/
cd dyninstAPI/$PLAT
rm -rf $DYNBIN_RM
cd $STAGEDIR
cp /p/paradyn/packages/libxml2/i386_cent40/lib/libxml2.so dyninstAPI/$PLAT/lib
cp $RELEASEDIR/$PLAT/libelf.so.0 dyninstAPI/$PLAT/lib
cp $RELEASEDIR/$PLAT/libdwarf.so dyninstAPI/$PLAT/lib

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar dyninstAPI/doc dyninstAPI/include dyninstAPI/README dyninstAPI/$PLAT
gzip $OFILE.tar


#BG/P
PLAT=ppc32_bgp
OFILE=dyninst_bgp_ppc32_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT dyninstAPI/
cd dyninstAPI/$PLAT
rm -rf $DYNBIN_RM
cd $STAGEDIR
# do we need libxml for bluegene?
cp $RELEASEDIR/ppc32_bgp/libelf.so.0 dyninstAPI/$PLAT/lib
cp $RELEASEDIR/ppc32_bgp/libdwarf.so dyninstAPI/$PLAT/lib

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar dyninstAPI/doc dyninstAPI/include dyninstAPI/README dyninstAPI/$PLAT
gzip $OFILE.tar

#Linux/ia64
#PLAT=ia64-unknown-linux2.4
#OFILE=dyninst_linux_ia64_$DYNINST_VERSION

#echo COPYING FILES FOR $PLAT
#cd $STAGEDIR
#cp -r $BINDIR/$PLAT dyninstAPI/
#cd dyninstAPI/$PLAT
#rm -rf $DYNBIN_RM
#cd $STAGEDIR
#cp /p/paradyn/packages/libxml2/ia64_linux26/lib/libxml2.so dyninstAPI/$PLAT/lib
#cp $RELEASEDIR/ia64-unknown-linux2.4/libelf.so.0 dyninstAPI/$PLAT/lib
#cp $RELEASEDIR/ia64-unknown-linux2.4/libdwarf.so dyninstAPI/$PLAT/lib

#echo TAR GZ
#cd $STAGEDIR
#tar -cf $OFILE.tar dyninstAPI/doc dyninstAPI/include dyninstAPI/README dyninstAPI/$PLAT
#gzip $OFILE.tar

#Linux/AMD64
PLAT=x86_64-unknown-linux2.4
OFILE=dyninst_linux_amd64_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT dyninstAPI/
cd dyninstAPI/$PLAT
rm -rf $DYNBIN_RM
cd $STAGEDIR
cp /p/paradyn/packages/libxml2/amd64_cent40/lib/libxml2.so dyninstAPI/$PLAT/lib
cp $RELEASEDIR/x86_64-unknown-linux2.4/libelf.so.1 dyninstAPI/$PLAT/lib
cp $RELEASEDIR/x86_64-unknown-linux2.4/libdwarf.so dyninstAPI/$PLAT/lib

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar dyninstAPI/doc dyninstAPI/include dyninstAPI/README dyninstAPI/$PLAT
gzip $OFILE.tar

#Linux/PPC32
PLAT=ppc32_linux
OFILE=dyninst_linux_ppc32_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT dyninstAPI/
cd dyninstAPI/$PLAT
rm -rf $DYNBIN_RM
cd $STAGEDIR
cp $RELEASEDIR/ppc32_linux/libelf.so.0 dyninstAPI/$PLAT/lib
cp $RELEASEDIR/ppc32_linux/libdwarf.so dyninstAPI/$PLAT/lib

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar dyninstAPI/doc dyninstAPI/include dyninstAPI/README dyninstAPI/$PLAT
gzip $OFILE.tar

#AIX/PPC64
#PLAT=rs6000-ibm-aix64-5.2
#OFILE=dyninst_aix_ppc64_$DYNINST_VERSION

#echo COPYING FILES FOR $PLAT
#cd $STAGEDIR
#cp -r $BINDIR/$PLAT dyninstAPI/
#cd dyninstAPI/$PLAT
#rm -rf $DYNBIN_RM
#cd $STAGEDIR
#chmod 755 dyninstAPI/$PLAT/lib/libDyninstText.a

#echo TAR GZ
#cd $STAGEDIR
#tar -cf $OFILE.tar dyninstAPI/doc dyninstAPI/include dyninstAPI/README dyninstAPI/$PLAT
#gzip $OFILE.tar

#Linux/PPC64
PLAT=ppc64_linux
OFILE=dyninst_linux_ppc64_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT dyninstAPI/
cd dyninstAPI/$PLAT
rm -rf $DYNBIN_RM
cd $STAGEDIR
cp $RELEASEDIR/$PLAT/libelf.so.0 dyninstAPI/$PLAT/lib
cp $RELEASEDIR/$PLAT/libdwarf.so dyninstAPI/$PLAT/lib

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar dyninstAPI/doc dyninstAPI/include dyninstAPI/README dyninstAPI/$PLAT
gzip $OFILE.tar

#Solaris/SPARC
#PLAT=sparc-sun-solaris2.9
#OFILE=dyninst_solaris_sparc_$DYNINST_VERSION

#echo COPYING FILES FOR $PLAT
#cd $STAGEDIR
#cp -r $BINDIR/$PLAT dyninstAPI/
#cd dyninstAPI/$PLAT
#rm -rf $DYNBIN_RM
#cd $STAGEDIR
#cp $RELEASEDIR/sparc-sun-solaris2.9/libdwarf.so dyninstAPI/$PLAT/lib

#echo TAR GZ
#cd $STAGEDIR
#tar -cf $OFILE.tar dyninstAPI/doc dyninstAPI/include dyninstAPI/README dyninstAPI/$PLAT
#gzip $OFILE.tar

#MOVE GZs
mv *.gz $BUILDDIR

#######################################################
# SymtabAPI
#######################################################

SYMSRC_RM='src/dyninst/codeCoverage src/dyninst/dynC_API src/dyninst/dyner src/dyninst/dyninstAPI src/dyninst/dyninstAPI_RT src/dyninst/parseThat src/dyninst/sharedMem src/dyninst/testsuite src/dyninst/DyninstAPI* src/dyninst/Paradyn.sln src/dyninst/depGraphAPI src/dyninst/instructionAPI src/dyninst/stackwalk src/dyninst/valueAdded src/testsuite/src/instruction src/testsuite/src/dyninst src/dyninst/parseAPI src/dyninst/proccontrol'

SYMBIN_RM='bin/testprogs_new bin/testprogs lib/*dyninstAPI* lib/*dynC* lib/*ShmMut* lib/*testsuite* lib/*sharedMut* lib/*testSuite* lib/*instructionAPI* lib/*stackwalk* lib/*DyninstText* lib/*pcontrol* lib/*parseAPI*'

#
# Build Symtab Release
#

#Symtab Source
OFILE=symtab_src_$DYNINST_VERSION
echo BUILDING $OFILE
cd $STAGEDIR
mkdir symtabAPI/src
cd symtabAPI/src
cp -r $BINDIR/dyninst .
cp -r $BINDIR/scripts .
cp -r $BINDIR/packagers .
cd $STAGEDIR
cp $RELEASEDIR/LICENSE symtabAPI/LICENSE
cp $RELEASEDIR/README_symtab symtabAPI/README
cp $RELEASEDIR/Makefile.symtab symtabAPI/src/dyninst/Makefile
cd symtabAPI
find . -name .git | xargs rm -rf
rm -rf $SYMSRC_RM
cd $STAGEDIR

tar -cf $OFILE.tar symtabAPI
gzip $OFILE.tar

#Documentation
mkdir symtabAPI/doc
cp $RELEASEDIR/doc/symtabProgGuide.pdf symtabAPI/doc

#Includes
mkdir symtabAPI/include
cp $BINDIR/dyninst/symtabAPI/h/*.h symtabAPI/include
cp $BINDIR/dyninst/dynutil/h/*.h symtabAPI/include
cp -r $BINDIR/dyninst/dynutil/h/dyn_detail symtabAPI/include

#Windows
PLAT=i386-unknown-nt4.0
OFILE=symtab_win_x86_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT symtabAPI/
cp /p/paradyn/packages/WinDebug/dbghelp.dll symtabAPI/$PLAT/lib
cp /p/paradyn/packages/libxml2/win32/lib/libxml2.dll symtabAPI/$PLAT/lib
cd symtabAPI/$PLAT
rm -rf $SYMBIN_RM

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar symtabAPI/doc symtabAPI/include symtabAPI/README symtabAPI/LICENSE symtabAPI/$PLAT
gzip $OFILE.tar

#AIX
#PLAT=rs6000-ibm-aix5.1
#OFILE=symtab_aix_power_$DYNINST_VERSION

#echo COPYING FILES FOR $PLAT
#cd $STAGEDIR
#cp -r $BINDIR/$PLAT symtabAPI/
#cp /p/paradyn/packages/libxml2/rs_aix51/lib/libxml2.so.2 symtabAPI/$PLAT/lib/libxml2.so
#cd symtabAPI/$PLAT
#rm -rf $SYMBIN_RM

#echo TAR GZ
#cd $STAGEDIR
#tar -cf $OFILE.tar symtabAPI/doc symtabAPI/include symtabAPI/README symtabAPI/LICENSE symtabAPI/$PLAT
#gzip $OFILE.tar

#Linux/x86
PLAT=i386-unknown-linux2.4
OFILE=symtab_linux_x86_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT symtabAPI/
cd symtabAPI/$PLAT
rm -rf $SYMBIN_RM
cd $STAGEDIR
cp /p/paradyn/packages/libxml2/i386_cent40/lib/libxml2.so symtabAPI/$PLAT/lib
cp $RELEASEDIR/i386-unknown-linux2.4/libelf.so.1 symtabAPI/$PLAT/lib
cp $RELEASEDIR/i386-unknown-linux2.4/libdwarf.so symtabAPI/$PLAT/lib

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar symtabAPI/doc symtabAPI/include symtabAPI/README symtabAPI/LICENSE symtabAPI/$PLAT
gzip $OFILE.tar

#BSD/x86
PLAT=i386-unknown-freebsd7.2
OFILE=symtab_bsd_x86_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT symtabAPI/
cd symtabAPI/$PLAT
rm -rf $SYMBIN_RM
cd $STAGEDIR
cp $RELEASEDIR/$PLAT/libxml2.so symtabAPI/$PLAT/lib
cp $RELEASEDIR/$PLAT/libelf.so.0 symtabAPI/$PLAT/lib
cp $RELEASEDIR/$PLAT/libdwarf.so symtabAPI/$PLAT/lib

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar symtabAPI/doc symtabAPI/include symtabAPI/README symtabAPI/LICENSE symtabAPI/$PLAT
gzip $OFILE.tar

#BSD/amd64
PLAT=amd64-unknown-freebsd7.2
OFILE=symtab_bsd_amd64_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT symtabAPI/
cd symtabAPI/$PLAT
rm -rf $SYMBIN_RM
cd $STAGEDIR
cp $RELEASEDIR/$PLAT/libxml2.so symtabAPI/$PLAT/lib
cp $RELEASEDIR/$PLAT/libelf.so.0 symtabAPI/$PLAT/lib
cp $RELEASEDIR/$PLAT/libdwarf.so symtabAPI/$PLAT/lib

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar symtabAPI/doc symtabAPI/include symtabAPI/README symtabAPI/LICENSE symtabAPI/$PLAT
gzip $OFILE.tar


#BG/P
PLAT=ppc32_bgp
OFILE=symtab_bgp_ppc32_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT symtabAPI/
cd symtabAPI/$PLAT
rm -rf $SYMBIN_RM
cd $STAGEDIR
# do we need libxml?
cp $RELEASEDIR/$PLAT/libelf.so.0 symtabAPI/$PLAT/lib
cp $RELEASEDIR/$PLAT/libdwarf.so symtabAPI/$PLAT/lib

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar symtabAPI/doc symtabAPI/include symtabAPI/README symtabAPI/LICENSE symtabAPI/$PLAT
gzip $OFILE.tar

#Linux/ia64
#PLAT=ia64-unknown-linux2.4
#OFILE=symtab_linux_ia64_$DYNINST_VERSION

#echo COPYING FILES FOR $PLAT
#cd $STAGEDIR
#cp -r $BINDIR/$PLAT symtabAPI/
#cd symtabAPI/$PLAT
#rm -rf $SYMBIN_RM
#cd $STAGEDIR
#cp /p/paradyn/packages/libxml2/ia64_linux26/lib/libxml2.so symtabAPI/$PLAT/lib
#cp $RELEASEDIR/ia64-unknown-linux2.4/libelf.so.0 symtabAPI/$PLAT/lib
#cp $RELEASEDIR/ia64-unknown-linux2.4/libdwarf.so symtabAPI/$PLAT/lib

#echo TAR GZ
#cd $STAGEDIR
#tar -cf $OFILE.tar symtabAPI/doc symtabAPI/include symtabAPI/README symtabAPI/LICENSE symtabAPI/$PLAT
#gzip $OFILE.tar

#Linux/AMD64
PLAT=x86_64-unknown-linux2.4
OFILE=symtab_linux_amd64_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT symtabAPI/
cd symtabAPI/$PLAT
rm -rf $SYMBIN_RM
cd $STAGEDIR
cp /p/paradyn/packages/libxml2/amd64_cent40/lib/libxml2.so symtabAPI/$PLAT/lib
cp $RELEASEDIR/x86_64-unknown-linux2.4/libelf.so.1 symtabAPI/$PLAT/lib
cp $RELEASEDIR/x86_64-unknown-linux2.4/libdwarf.so symtabAPI/$PLAT/lib

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar symtabAPI/doc symtabAPI/include symtabAPI/README symtabAPI/LICENSE symtabAPI/$PLAT
gzip $OFILE.tar

#Linux/PPC32
PLAT=ppc32_linux
OFILE=symtab_linux_ppc32_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT symtabAPI/
cd symtabAPI/$PLAT
rm -rf $SYMBIN_RM
cd $STAGEDIR
cp $RELEASEDIR/ppc32_linux/libelf.so.0 symtabAPI/$PLAT/lib
cp $RELEASEDIR/ppc32_linux/libdwarf.so symtabAPI/$PLAT/lib

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar symtabAPI/doc symtabAPI/include symtabAPI/README symtabAPI/LICENSE symtabAPI/$PLAT
gzip $OFILE.tar

#Linux/PPC64
PLAT=ppc64_linux
OFILE=symtab_linux_ppc64_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT symtabAPI/
cd symtabAPI/$PLAT
rm -rf $SYMBIN_RM
cd $STAGEDIR
cp $RELEASEDIR/$PLAT/libelf.so.0 symtabAPI/$PLAT/lib
cp $RELEASEDIR/$PLAT/libdwarf.so symtabAPI/$PLAT/lib

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar symtabAPI/doc symtabAPI/include symtabAPI/README symtabAPI/LICENSE symtabAPI/$PLAT
gzip $OFILE.tar

#Solaris/SPARC
#PLAT=sparc-sun-solaris2.9
#OFILE=symtab_solaris_sparc_$DYNINST_VERSION

#echo COPYING FILES FOR $PLAT
#cd $STAGEDIR
#cp -r $BINDIR/$PLAT symtabAPI/
#cd symtabAPI/$PLAT
#rm -rf $SYMBIN_RM
#cd $STAGEDIR
#cp $RELEASEDIR/sparc-sun-solaris2.9/libdwarf.so symtabAPI/$PLAT/lib

#echo TAR GZ
#cd $STAGEDIR
#tar -cf $OFILE.tar symtabAPI/doc symtabAPI/include symtabAPI/README symtabAPI/LICENSE symtabAPI/$PLAT
#gzip $OFILE.tar

#AIX/PPC64
#PLAT=rs6000-ibm-aix64-5.2
#OFILE=symtab_aix_ppc64_$DYNINST_VERSION

#echo COPYING FILES FOR $PLAT
#cd $STAGEDIR
#cp -r $BINDIR/$PLAT symtabAPI/
#cd symtabAPI/$PLAT
#rm -rf $SYMBIN_RM
#cd $STAGEDIR

#echo TAR GZ
#cd $STAGEDIR
#tar -cf $OFILE.tar symtabAPI/doc symtabAPI/include symtabAPI/README symtabAPI/LICENSE symtabAPI/$PLAT
#gzip $OFILE.tar

#MOVE GZs
mv *.gz $BUILDDIR

#######################################################
# InstructionAPI
#######################################################

INSSRC_RM='src/dyninst/codeCoverage src/dyninst/dynC_API src/dyninst/dyner src/dyninst/dyninstAPI src/dyninst/dyninstAPI_RT src/dyninst/parseThat src/dyninst/sharedMem src/dyninst/testsuite src/dyninst/DyninstAPI* src/dyninst/Paradyn.sln src/dyninst/symtabAPI src/dyninst/depGraphAPI src/dyninst/stackwalk src/dyninst/valueAdded src/dyninst/testsuite/src/dyninst src/dyninst/testsuite/symtab src/dyninst/proccontrol src/dyninst/parseAPI'

INSBIN_RM='bin/testprogs_new lib/*dyninstAPI* lib/*dynC* lib/*ShmMut* lib/*testsuite* lib/*sharedMut* lib/*testSuite* lib/*symtabAPI* lib/*stackwalk* lib/*pcontrol* lib/*parseAPI*'

#
# Build InstructionAPI Release
#

#InstructionAPI Source
OFILE=instruction_src_$INSTRUCTIONAPI_VERSION

echo BUILDING $OFILE
cd $STAGEDIR
mkdir instructionAPI/src
cd instructionAPI/src
cp -r $BINDIR/dyninst .
cp -r $BINDIR/scripts .
cd $STAGEDIR
cp $RELEASEDIR/LICENSE instructionAPI/LICENSE
cp $RELEASEDIR/README_instruction instructionAPI/README
cp $RELEASEDIR/Makefile.instruction instructionAPI/src/dyninst/Makefile
cd instructionAPI
find . -name .git | xargs rm -rf
rm -rf $INSSRC_RM
cd $STAGEDIR

tar -cf $OFILE.tar instructionAPI
gzip $OFILE.tar

#Documentation
mkdir instructionAPI/doc
cp $RELEASEDIR/doc/instructionProgGuide.pdf instructionAPI/doc

#Includes
mkdir instructionAPI/include
cp $BINDIR/dyninst/instructionAPI/h/*.h instructionAPI/include
cp $BINDIR/dyninst/dynutil/h/*.h instructionAPI/include
cp -r $BINDIR/dyninst/dynutil/h/dyn_detail instructionAPI/include

#Linux/x86
PLAT=i386-unknown-linux2.4
OFILE=instruction_linux_x86_$INSTRUCTIONAPI_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT instructionAPI/
cd instructionAPI/$PLAT
rm -rf $INSBIN_RM

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar instructionAPI/doc instructionAPI/include instructionAPI/README instructionAPI/LICENSE instructionAPI/$PLAT
gzip $OFILE.tar

#X86/BSD
PLAT=i386-unknown-freebsd7.2
OFILE=instruction_bsd_x86_$INSTRUCTIONAPI_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT instructionAPI/
cd instructionAPI/$PLAT
rm -rf $INSBIN_RM

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar instructionAPI/doc instructionAPI/include instructionAPI/README instructionAPI/LICENSE instructionAPI/$PLAT
gzip $OFILE.tar

#AMD64/BSD
PLAT=amd64-unknown-freebsd7.2
OFILE=instruction_bsd_amd64_$INSTRUCTIONAPI_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT instructionAPI/
cd instructionAPI/$PLAT
rm -rf $INSBIN_RM

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar instructionAPI/doc instructionAPI/include instructionAPI/README instructionAPI/LICENSE instructionAPI/$PLAT
gzip $OFILE.tar

#BG/P
PLAT=ppc32_bgp
OFILE=instruction_bgp_ppc32_$INSTRUCTIONAPI_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT instructionAPI/
cd instructionAPI/$PLAT
rm -rf $INSBIN_RM

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar instructionAPI/doc instructionAPI/include instructionAPI/README instructionAPI/LICENSE instructionAPI/$PLAT
gzip $OFILE.tar

#ppc32_linux
PLAT=ppc32_linux
OFILE=instruction_linux_ppc32_$INSTRUCTIONAPI_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT instructionAPI/
cd instructionAPI/$PLAT
rm -rf $INSBIN_RM

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar instructionAPI/doc instructionAPI/include instructionAPI/README instructionAPI/LICENSE instructionAPI/$PLAT
gzip $OFILE.tar

#ppc64_linux
PLAT=ppc64_linux
OFILE=instruction_linux_ppc64_$INSTRUCTIONAPI_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT instructionAPI/
cd instructionAPI/$PLAT
rm -rf $INSBIN_RM

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar instructionAPI/doc instructionAPI/include instructionAPI/README instructionAPI/LICENSE instructionAPI/$PLAT
gzip $OFILE.tar

#Linux/AMD64
PLAT=x86_64-unknown-linux2.4
OFILE=instruction_linux_amd64_$INSTRUCTIONAPI_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT instructionAPI/
cd instructionAPI/$PLAT
rm -rf $INSBIN_RM

echo TAR GZ
cd $STAGEDIR
tar -cf $OFILE.tar instructionAPI/doc instructionAPI/include instructionAPI/README instructionAPI/LICENSE instructionAPI/$PLAT
gzip $OFILE.tar

#MOVE GZs
mv *.gz $BUILDDIR

#######################################################
# StackwalkerAPI
#######################################################

SWKSRC_RM='src/dyninst/codeCoverage src/dyninst/dynC_API src/dyninst/dyner src/dyninst/dyninstAPI src/dyninst/dyninstAPI_RT src/dyninst/parseThat src/dyninst/sharedMem src/dyninst/testsuite src/dyninst/DyninstAPI* src/dyninst/Paradyn.sln src/dyninst/depGraphAPI src/dyninst/valueAdded src/dyninst/testsuite src/dyninst/instructionAPI src/dyninst/parseAPI src/dyninst/proccontrol'

SWKBIN_RM='bin/testprogs_new lib/*dyninstAPI* lib/*dynC* lib/*ShmMut* lib/*testsuite* lib/*sharedMut* lib/*testSuite* lib/*instruction* lib/*pcontrol* lib/*parseAPI*'

#
# Build StackwalkAPI Release
#

#StackwalkAPI Source
OFILE=stackwalk_src_$STACKWALKERAPI_VERSION

echo BUILDING $OFILE
cd $STAGEDIR
mkdir stackwalkAPI/src
cd stackwalkAPI/src
cp -r $BINDIR/dyninst .
cp -r $BINDIR/scripts .
cd $STAGEDIR
cp $RELEASEDIR/LICENSE stackwalkAPI/LICENSE
cp $RELEASEDIR/README_stackwalk stackwalkAPI/README
cp $RELEASEDIR/Makefile.stackwalk stackwalkAPI/src/dyninst/Makefile
cd stackwalkAPI
find . -name .git | xargs rm -rf
rm -rf $SWKSRC_RM
cd $STAGEDIR

tar -cf $OFILE.tar stackwalkAPI
gzip $OFILE.tar

#Documentation
mkdir stackwalkAPI/doc
cp $RELEASEDIR/doc/stackwalker.pdf stackwalkAPI/doc

#Includes
mkdir stackwalkAPI/include
cp $BINDIR/dyninst/stackwalk/h/*.h stackwalkAPI/include
cp $BINDIR/dyninst/dynutil/h/*.h stackwalkAPI/include
cp -r $BINDIR/dyninst/dynutil/h/dyn_detail stackwalkAPI/include

#Linux/x86
PLAT=i386-unknown-linux2.4
OFILE=stackwalk_linux_x86_$STACKWALKERAPI_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT stackwalkAPI/
cd stackwalkAPI/$PLAT
rm -rf $SWKBIN_RM
cd $STAGEDIR
cp /p/paradyn/packages/libxml2/i386_cent40/lib/libxml2.so stackwalkAPI/$PLAT/lib
cp /usr/lib/libelf.so.1 stackwalkAPI/$PLAT/lib
cp /p/paradyn/packages/libdwarf/libdwarf/i386_rhel5/libdwarf.so stackwalkAPI/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar stackwalkAPI/doc stackwalkAPI/include stackwalkAPI/README stackwalkAPI/LICENSE stackwalkAPI/$PLAT
gzip $OFILE.tar

#Linux/AMD64
PLAT=x86_64-unknown-linux2.4
OFILE=stackwalk_linux_amd64_$STACKWALKERAPI_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT stackwalkAPI/
cd stackwalkAPI/$PLAT
rm -rf $SWKBIN_RM
cd $STAGEDIR
cp /p/paradyn/packages/libxml2/amd64_cent40/lib/libxml2.so stackwalkAPI/$PLAT/lib
cp $RELEASEDIR/x86_64-unknown-linux2.4/libelf.so.1 dyninstAPI/$PLAT/lib
cp $RELEASEDIR/x86_64-unknown-linux2.4/libdwarf.so dyninstAPI/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar stackwalkAPI/doc stackwalkAPI/include stackwalkAPI/README stackwalkAPI/LICENSE stackwalkAPI/$PLAT
gzip $OFILE.tar

#Linux/PPC32
PLAT=ppc32_linux
OFILE=stackwalk_linux_ppc32_$STACKWALKERAPI_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT stackwalkAPI/
cd stackwalkAPI/$PLAT
rm -rf $SWKBIN_RM
cd $STAGEDIR
cp $RELEASEDIR/ppc32_linux/libelf.so.0 stackwalkAPI/$PLAT/lib
cp $RELEASEDIR/ppc32_linux/libdwarf.so stackwalkAPI/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar stackwalkAPI/doc stackwalkAPI/include stackwalkAPI/README stackwalkAPI/LICENSE stackwalkAPI/$PLAT
gzip $OFILE.tar

#Linux/PPC64
PLAT=ppc64_linux
OFILE=stackwalk_linux_ppc64_$STACKWALKERAPI_VERSION

echo COPYING FILES FOR $PLAT
cd $STAGEDIR
cp -r $BINDIR/$PLAT stackwalkAPI/
cd stackwalkAPI/$PLAT
rm -rf $SWKBIN_RM
cd $STAGEDIR
cp $RELEASEDIR/ppc32_linux/libelf.so.0 stackwalkAPI/$PLAT/lib
cp $RELEASEDIR/ppc32_linux/libdwarf.so stackwalkAPI/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar stackwalkAPI/doc stackwalkAPI/include stackwalkAPI/README stackwalkAPI/LICENSE stackwalkAPI/$PLAT
gzip $OFILE.tar


#MOVE GZs
mv *.gz $BUILDDIR

#######################################################
# ParseAPI
#######################################################

PARSESRC_RM='src/dyninst/codeCoverage src/dyninst/dynC_API src/dyninst/dyner src/dyninst/dyninstAPI src/dyninst/dyninstAPI_RT src/dyninst/parseThat src/dyninst/sharedMem src/dyninst/testsuite src/dyninst/DyninstAPI* src/dyninst/Paradyn.sln src/dyninst/depGraphAPI src/dyninst/stackwalk src/dyninst/valueAdded src/testsuite/src/instruction src/testsuite/src/dyninst'

PARSEBIN_RM='bin/testprogs_new lib/*dynC* lib/*dyninstAPI* lib/*ShmMut* lib/*testsuite* lib/*sharedMut* lib/*testSuite* lib/*stackwalk* lib/*DyninstText* lib/*pcontrol*'

#
# Build ParseAPI Release
#

COMP_DIR=parseAPI

#ParseAPI Source
OFILE=parse_src_$DYNINST_VERSION

echo BUILDING $OFILE
cd $STAGEDIR
mkdir $COMP_DIR/src
cd $COMP_DIR/src
cp -r $BINDIR/dyninst .
cp -r $BINDIR/scripts .
cp -r $BINDIR/packagers .
cd $STAGEDIR
cp $RELEASEDIR/LICENSE $COMP_DIR/LICENSE
cp $RELEASEDIR/README_parse $COMP_DIR/README
cp $RELEASEDIR/Makefile.parse $COMP_DIR/src/dyninst/Makefile
cd parseAPI
find . -name .git | xargs rm -rf
rm -rf $PARSESRC_RM 
cd $STAGEDIR


#Documentation
mkdir $COMP_DIR/doc
cp $BINDIR/dyninst/parseAPI/doc/parseapi.pdf $COMP_DIR/doc

#Includes
mkdir $COMP_DIR/include
cp $BINDIR/dyninst/parseAPI/h/*.h $COMP_DIR/include
cp $BINDIR/dyninst/symtabAPI/h/*.h symtabAPI/include
cp $BINDIR/dyninst/instructionAPI/h/*.h instructionAPI/include
cp $BINDIR/dyninst/dynutil/h/*.h $COMP_DIR/include
cp -r $BINDIR/dyninst/dynutil/h/dyn_detail $COMP_DIR/include

tar -cf $OFILE.tar $COMP_DIR
gzip $OFILE.tar


#Windows
PLAT=i386-unknown-nt4.0
OFILE=parse_win_x86_$DYNINST_VERSION

echo COPYING FILES FOR $PLAT

cp -r $BINDIR/$PLAT $COMP_DIR/
cp /p/paradyn/packages/WinDebug/dbghelp.dll $COMP_DIR/$PLAT/lib
cp /p/paradyn/packages/libxml2/win32/lib/libxml2.dll $COMP_DIR/$PLAT/lib
cd $COMP_DIR/$PLAT
rm -rf $PARSEBIN_RM
cd $STAGEDIR

echo TAR GZ
tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
gzip $OFILE.tar

#AIX
#PLAT=rs6000-ibm-aix5.1
#OFILE=parse_aix_power_$DYNINST_VERSION

#echo COPYING FILES FOR $PLAT

#cp -r $BINDIR/$PLAT $COMP_DIR/
#cp /p/paradyn/packages/libxml2/rs_aix51/lib/libxml2.so.2 $COMP_DIR/$PLAT/lib/libxml2.so
#cd $COMP_DIR/$PLAT
#rm -rf $PARSEBIN_RM
#cd $STAGEDIR

#echo TAR GZ
#tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
#gzip $OFILE.tar

#Linux/x86
PLAT=i386-unknown-linux2.4
OFILE=parse_linux_x86_$DYNINST_VERSION
echo COPYING FILES FOR $PLAT

cp -r $BINDIR/$PLAT $COMP_DIR/
cd $COMP_DIR/$PLAT
rm -rf $PARSEBIN_RM
cd $STAGEDIR
cp /p/paradyn/packages/libxml2/i386_cent40/lib/libxml2.so $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/i386-unknown-linux2.4/libelf.so.1 $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/i386-unknown-linux2.4/libdwarf.so $COMP_DIR/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
gzip $OFILE.tar

# BSD 32-bit
PLAT=i386-unknown-freebsd7.2
OFILE=parse_bsd_x86_$DYNINST_VERSION
echo COPYING FILES FOR $PLAT

cp -r $BINDIR/$PLAT $COMP_DIR/
cd $COMP_DIR/$PLAT
rm -rf $PARSEBIN_RM
cd $STAGEDIR
cp $RELEASEDIR/$PLAT/libxml2.so $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/$PLAT/libelf.so.0 $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/$PLAT/libdwarf.so $COMP_DIR/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
gzip $OFILE.tar

# BSD 64-bit
PLAT=amd64-unknown-freebsd7.2
OFILE=parse_bsd_amd64_$DYNINST_VERSION
echo COPYING FILES FOR $PLAT

cp -r $BINDIR/$PLAT $COMP_DIR/
cd $COMP_DIR/$PLAT
rm -rf $PARSEBIN_RM
cd $STAGEDIR
cp $RELEASEDIR/$PLAT/libxml2.so $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/$PLAT/libelf.so.0 $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/$PLAT/libdwarf.so $COMP_DIR/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
gzip $OFILE.tar

#BG/P
PLAT=ppc32_bgp
OFILE=parse_bgp_ppc32_$DYNINST_VERSION
echo COPYING FILES FOR $PLAT

cp -r $BINDIR/$PLAT $COMP_DIR/
cd $COMP_DIR/$PLAT
rm -rf $PARSEBIN_RM
cd $STAGEDIR
# libxml for bg/p?
cp $RELEASEDIR/$PLAT/libelf.so.0 $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/$PLAT/libdwarf.so $COMP_DIR/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
gzip $OFILE.tar


#Linux/AMD64
PLAT=x86_64-unknown-linux2.4
OFILE=parse_linux_amd64_$DYNINST_VERSION
echo COPYING FILES FOR $PLAT

cp -r $BINDIR/$PLAT $COMP_DIR/
cd $COMP_DIR/$PLAT
rm -rf $PARSEBIN_RM
cd $STAGEDIR
cp /p/paradyn/packages/libxml2/amd64_cent40/lib/libxml2.so $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/x86_64-unknown-linux2.4/libelf.so.1 $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/x86_64-unknown-linux2.4/libdwarf.so $COMP_DIR/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
gzip $OFILE.tar

#Linux/PPC32
PLAT=ppc32_linux
OFILE=parse_linux_ppc32_$DYNINST_VERSION
echo COPYING FILES FOR $PLAT

cp -r $BINDIR/$PLAT $COMP_DIR/
cd $COMP_DIR/$PLAT
rm -rf $PARSEBIN_RM
cd $STAGEDIR
cp $RELEASEDIR/ppc32_linux/libelf.so.0 $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/ppc32_linux/libdwarf.so $COMP_DIR/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
gzip $OFILE.tar

#Linux/PPC64
PLAT=ppc64_linux
OFILE=parse_linux_ppc64_$DYNINST_VERSION
echo COPYING FILES FOR $PLAT

cp -r $BINDIR/$PLAT $COMP_DIR/
cd $COMP_DIR/$PLAT
rm -rf $PARSEBIN_RM
cd $STAGEDIR
cp $RELEASEDIR/$PLAT/libelf.so.0 $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/$PLAT/libdwarf.so $COMP_DIR/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
gzip $OFILE.tar

#Solaris/SPARC
#PLAT=sparc-sun-solaris2.9
#OFILE=parse_solaris_sparc_$DYNINST_VERSION
#echo COPYING FILES FOR $PLAT

#cp -r $BINDIR/$PLAT $COMP_DIR/
#cd $COMP_DIR/$PLAT
#rm -rf $PARSEBIN_RM
#cd $STAGEDIR
#cp $RELEASEDIR/sparc-sun-solaris2.9/libdwarf.so $COMP_DIR/$PLAT/lib

#echo TAR GZ
#tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
#gzip $OFILE.tar

#AIX/PPC64
#PLAT=rs6000-ibm-aix64-5.2
#OFILE=parse_aix_ppc64_$DYNINST_VERSION
#echo COPYING FILES FOR $PLAT

#cp -r $BINDIR/$PLAT $COMP_DIR/
#cd $COMP_DIR/$PLAT
#rm -rf $PARSEBIN_RM
#cd $STAGEDIR

#echo TAR GZ
#tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
#gzip $OFILE.tar


#MOVE GZs
mv *.gz $BUILDDIR

#######################################################
# ProcControlAPI
#######################################################

PROCSRC_RM='src/dyninst/codeCoverage src/dyninst/dynC_API src/dyninst/dyner src/dyninst/dyninstAPI src/dyninst/dyninstAPI_RT src/dyninst/parseThat src/dyninst/sharedMem src/dyninst/testsuite src/dyninst/DyninstAPI* src/dyninst/Paradyn.sln src/dyninst/depGraphAPI src/dyninst/instructionAPI src/dyninst/stackwalk src/dyninst/valueAdded src/testsuite/src/instruction src/testsuite/src/dyninst src/dyninst/symtabAPI'

PROCBIN_RM='bin/testprogs_new lib/*dynC* lib/*dyninstAPI* lib/*ShmMut* lib/*testsuite* lib/*sharedMut* lib/*testSuite* lib/*instructionAPI* lib/*stackwalk* lib/*DyninstText* lib/*symtabAPI* lib/*parseAPI*'

#
# Build ProcControlAPI Release
#

COMP_DIR=procControlAPI

#ProcControlAPI Source
OFILE=proccontrol_src_$PROCCONTROLAPI_VERSION
echo BUILDING $OFILE
cd $STAGEDIR
mkdir $COMP_DIR/src
cd $COMP_DIR/src
cp -r $BINDIR/dyninst .
cp -r $BINDIR/scripts .
cp -r $BINDIR/packagers .
cd $STAGEDIR
cp $RELEASEDIR/LICENSE $COMP_DIR/LICENSE
cp $RELEASEDIR/README_proccontrol $COMP_DIR/README
cp $RELEASEDIR/Makefile.proccontrol $COMP_DIR/src/dyninst/Makefile
cd $COMP_DIR
find . -name .git | xargs rm -rf
rm -rf $PROCSRC_RM
cd $STAGEDIR

tar -cf $OFILE.tar $COMP_DIR
gzip $OFILE.tar

#Documentation
mkdir $COMP_DIR/doc
cp $BINDIR/docs/ProcControlAPI.pdf $COMP_DIR/doc

#Includes
mkdir $COMP_DIR/include
cp $BINDIR/dyninst/proccontrol/h/*.h $COMP_DIR/include
cp $BINDIR/dyninst/dynutil/h/*.h $COMP_DIR/include
cp -r $BINDIR/dyninst/dynutil/h/dyn_detail $COMP_DIR/include

#Linux/x86
PLAT=i386-unknown-linux2.4
OFILE=proccontrol_linux_x86_$PROCCONTROLAPI_VERSION
echo COPYING FILES FOR $PLAT

cp -r $BINDIR/$PLAT $COMP_DIR/
cd $COMP_DIR/$PLAT
rm -rf $PROCBIN_RM
cd $STAGEDIR
cp /p/paradyn/packages/libxml2/i386_cent40/lib/libxml2.so $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/i386-unknown-linux2.4/libelf.so.1 $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/i386-unknown-linux2.4/libdwarf.so $COMP_DIR/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
gzip $OFILE.tar

#Linux/AMD64
PLAT=x86_64-unknown-linux2.4
OFILE=proccontrol_linux_amd64_$PROCCONTROLAPI_VERSION
echo COPYING FILES FOR $PLAT

cp -r $BINDIR/$PLAT $COMP_DIR/
cd $COMP_DIR/$PLAT
rm -rf $PROCBIN_RM
cd $STAGEDIR
cp /p/paradyn/packages/libxml2/amd64_cent40/lib/libxml2.so $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/x86_64-unknown-linux2.4/libelf.so.1 $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/x86_64-unknown-linux2.4/libdwarf.so $COMP_DIR/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
gzip $OFILE.tar

#BSD/x86
PLAT=i386-unknown-freebsd7.2
OFILE=proccontrol_bsd_x86_$PROCCONTROLAPI_VERSION
echo COPYING FILES FOR $PLAT

cp -r $BINDIR/$PLAT $COMP_DIR/
cd $COMP_DIR/$PLAT
rm -rf $PROCBIN_RM
cd $STAGEDIR
cp $RELEASEDIR/$PLAT/libxml2.so $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/$PLAT/libelf.so.0 $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/$PLAT/libdwarf.so $COMP_DIR/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
gzip $OFILE.tar

#BSD/x86_64
PLAT=amd64-unknown-freebsd7.2
OFILE=proccontrol_bsd_amd64_$PROCCONTROLAPI_VERSION
echo COPYING FILES FOR $PLAT

cp -r $BINDIR/$PLAT $COMP_DIR/
cd $COMP_DIR/$PLAT
rm -rf $PROCBIN_RM
cd $STAGEDIR
cp $RELEASEDIR/$PLAT/libxml2.so $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/$PLAT/libelf.so.0 $COMP_DIR/$PLAT/lib
cp $RELEASEDIR/$PLAT/libdwarf.so $COMP_DIR/$PLAT/lib

echo TAR GZ
tar -cf $OFILE.tar $COMP_DIR/doc $COMP_DIR/include $COMP_DIR/README $COMP_DIR/LICENSE $COMP_DIR/$PLAT
gzip $OFILE.tar

#MOVE GZs
mv *.gz $BUILDDIR

