Howto build RAVAC compiler - GUIDE

For missing parts components, and rose compiler binaries, if needed, please constact A. Husar at ihusar@fit.vutbr.cz. 
This package contains parts with different licences.

The source codes developed at BUT can be found in directories ravac, autogen_tmp/link,  
/home/ihusar/lissom/cvs/edkdsp/llvm-3.0.src/lib/Target/Codasip (used a backend template from Codasip based on an
agreement between BUT and Codasip), and 
/home/ihusar/lissom/cvs/edkdsp/llvm-3.0.src/lib/Transforms/Acc.
 

Prerequisites
--------------

For clean installation of Fedora with development packages  

1) Libraries from Perl may be needed for picoBlaze compiler 

install e.g. with:

yum install perl-List-MoreUtils perl-PerlIO-via-dynamic


or 

yum install perl-List-MoreUtils.x86_64


2) on 64-bit systems, 32bit standard C library is needed
 
yum install glibc-devel.i686 glibc.i686


Build & install
----------------

run in current directory: 

./build_ravac.sh


Usage
-----

environment variable RAVAC_BASE_PATH must be set to a directory that contains the ravac directory, e.g.

export RAVAC_BASE_PATH="/home/ihusar/lissom/cvs/edkdsp"

run script ravac.sh with appropriate arguments from any directory, e.g.

../ravac/ravac.sh -b -a test.c -o test


Possible issues
---------------

- picoBlaze compiler may have expired license, if so, you can obtain new 
  binaries from http://sp.utia.cz/index.php?ids=results&id=pblazecc
  
   
   
Microblaze toolchain compilation
----------------
../binutils-2.23/configure --target=microblaze-uclinux --prefix=/home/ihusar/lissom/cvs/edkdsp/microblaze_gcc/tools/linux-i386/microblaze-uclinux-tools
../gcc-4.7.2/configure --target=microblaze-uclinux --prefix=/home/ihusar/lissom/cvs/edkdsp/microblaze_gcc/tools/linux-i386/microblaze-uclinux-tools --enable-languages=c --disable-libssp


----------

Rose:

yum install java-1.7.0-openjdk.x86_64 java-1.7.0-openjdk.i686
   
export LD_LIBRARY_PATH=/home/ihusar/temp/rose/install/lib/:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9/jre/lib/i386/server/:/home/ihusar/temp/libboost_1_46_1_ub32:/home/ihusar/temp/rose_libs
   
in    /usr/bin must be gcc-4.4 binary present (may point to any gcc)

asvp_frontend searches for header files here:

open("/home/ihusar/temp/rose/install/include/gcc-4.4_HEADERS/omp.h", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/ihusar/temp/rose/install/include/gcc-4.4_HEADERS/hdrs/omp.h", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/ihusar/temp/rose/install/include/gcc-4.4_HEADERS/hdrs1/omp.h", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/ihusar/temp/rose/install/include/gcc-4.4_HEADERS/hdrs2/omp.h", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/include/c++/4.4/omp.h", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/include/c++/4.4/i686-linux-gnu/./omp.h", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/include/c++/4.4/backward/omp.h", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/include/omp.h", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/gcc/i686-linux-gnu/4.4.7/include/omp.h", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/gcc/i686-linux-gnu/4.4.7/include-fixed/omp.h", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/include/i386-linux-gnu/omp.h", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/include/omp.h", O_RDONLY)    = -1 ENOENT (No such file or directory)
   
   
   