summaryrefslogblamecommitdiffstats
path: root/README
blob: 0fbecd463b3ae4a2641dbf07110b9ed7f6f6b67d (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13












                                                                

                                                                 
 
        






                             
                                
 
                                                                     

             

                                                             
 

                                                              
 




                                                                    
 





                                                 
                                                      
 




                                                            
                            

                                                                          
 





                                                                  

                                                                           




                

                                                                         




             

                                                                      


     

                                                                  


                             

                                          


                                                           




                                                               




                     

                                                       

                                         








                                                                      
 




                               






                                                                    
                                  









                                                                   
                                
 
 


                     
                                                         


                                              
                                                                   



                               

                                                        



                      

                                                              
 











                                                                                         
#
#  $Id$
#

This package contains a collection of scripts and support files
that support running the GCC (http://gcc.gnu.org) testsuite for
C, C++, Ada.

This testing environment is used on the GCC Compile Farm as well
as at OAR.

Source Code and Patches
=======================
You are responsible for setting up the source. And it should look
something like this:

TESTROOT
  - gcc SOURCE directory
  - gdb SOURCE directory
  - rtems SOURCE directory
  - automake SOURCE directory
  - autoconf SOURCE directory
  - binutils SOURCE directory
  - newlib SOURCE directory
  - rtems-testing (this package)

Update rtems-testing/VERSIONS to point to the appropriate directories
and versions.

If the various source directories contain a CVS subdirectory,
then they will be updated using CVS.

If the various source directories contain a .svn subdirectory,
then they will be updated using svn.

Look near the top of do_one for a number of environment variables
such as whether to build binutils and gdb from source or just
copy the RPM contents to the working install point.

do_one in this directory has a LOT of options to control what to do.

How to Setup a Source Tree For Testing
======================================
# Make sure test bin directories are in your PATH
# Add compiled tools install directory
export PATH=${HOME}/test-gcc/install/bin:${PATH}
# Add simulator scripts install directory
export PATH=${HOME}/test-gcc/rtems-testing/bin:${PATH}

mkdir ~/test-gcc
cd ~/test-gcc
cvs -z 9 -d :pserver:anoncvs@sourceware.org:/cvs/src login
cvs -z 9 -d :pserver:anonymous@www.rtems.org:/usr1/CVS login

# test script infrastructure
cvs -z 9 -d :pserver:anonymous@www.rtems.org:/usr1/CVS co -P rtems-testing
make -C rtems-testing/sim-scripts

# rtems
cvs -z 9 -d :pserver:anonymous@www.rtems.org:/usr1/CVS co -P rtems

# binutils
mkdir binutils-cvs
cd binutils-cvs
READ ONLY: cvs -z 9 -d :pserver:anoncvs@sourceware.org:/cvs/src co binutils
WRITE: CVS_RSH=ssh cvs -d :ext:joel@sourceware.org:/cvs/src co -P binutils
cd ..

# newlib
mkdir newlib-cvs
cd newlib-cvs
READ ONLY: cvs -z 9 -d :pserver:anoncvs@sourceware.org:/cvs/src co newlib
WRITE: CVS_RSH=ssh cvs -d :ext:joel@sourceware.org:/cvs/src co -P newlib
cd ..

# gdb
mkdir gdb-cvs
cd gdb-cvs
READ ONLY: cvs -z 9 -d :pserver:anoncvs@sourceware.org:/cvs/src co gdb
WRITE: CVS_RSH=ssh cvs -d :ext:joel@sourceware.org:/cvs/src co -P gdb
cd ..

# gcc
READ ONLY: svn checkout svn://gcc.gnu.org/svn/gcc/trunk gcc-svn
WRITE      svn co svn+ssh://joel@gcc.gnu.org/svn/gcc/trunk gcc-svn

# symlink newlib into gcc-svn
cd gcc-svn
ln -s ~/test-gcc/newlib-cvs/src/newlib .
ln -s ~/test-gcc/newlib-cvs/src/libgloss .
cd ..

# obtain automake and autoconf from ftp.gnu.org as tarballs
# NOTE: Check versions required for RTEMS CVS.
wget ftp://ftp.gnu.org/pub/gnu/autoconf/autoconf-2.63.tar.bz2
tar xjf autoconf-2.63.tar.bz2
wget ftp://ftp.gnu.org/pub/gnu/automake/automake-1.10.2.tar.bz2
tar xjf automake-1.10.2.tar.bz2

# make install points
mkdir install
mkdir bsp-install
mkdir log

### Verify the file VERSIONS matches your installation.
=========================================

x86_64 Host
============

You will likely need the 32 bit glibc development kit.  If you do not
have this you will get an error like the following while building gcc:

gnu/stubs-32.h: No such file or directory

Fedora 10: yum install glibc-devel

DejaGNU
========

Fedora 10: Install dejagnu RPM.

MPFR/GMP
========

You must have a sufficiently recent version of GMP and MPFR to build
GCC.  On some OSes you can install a standard package.  On others, 
you may have to provide your own installation.

Fedora 10: Install mpfr-devel RPM.

GNAT
====

You must have a native GNAT installed.  .  On some OSes you can
install a standard package.  On others, you may have to provide
your own installation.  The first step in the build process is
building a native compiler with potentially C, C++ and Ada support.
This compiler will be used for all subsequent cross tool builds.

Fedora 10: Install gcc-gnat RPM.


DejaGNU Support Files
=====================

${HOME}/.dejagnurc may point dejagnu to another location.

      set boards_dir /home/joel/dejagnu/boards

The scripts in this directory use their own dejagnu/boards support.

Ada ACATS Testing Support Files
===============================

The files in gcc/testsuite/ada/acats/ directory support 
that directory in the gcc source tree.

C/C++ Support Files
======================

The files rtems_gcc_main.c and rundeja in the top directory
support the gcc/testsuite subdirectory in the gcc source tree.

Skyeye Installation
===================

15 Jan 2009: 1.2.7 does not work with RTEMS. Unknown reason.  Use 1.2.5
  until this is resolved.

mkdir ~/skyeye
cd ~/skyeye
svn co https://skyeye.svn.sourceforge.net/svnroot/skyeye/skyeye-v1/branches/skyeye-1.2.5/
cd skyeye-1.2.5
./configure
make