Skip to content

luzidchris/rtems-testing

Repository files navigation

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

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:[email protected]:/cvs/src login

# test script infrastructure
git clone git://git.rtems.org/rtems-testing.git
make -C rtems-testing/sim-scripts

# rtems
git clone git://git.rtems.org/rtems.git

# binutils
mkdir binutils-cvs
cd binutils-cvs
READ ONLY: cvs -z 9 -d :pserver:anoncvs:[email protected]:/cvs/src co binutils
WRITE: CVS_RSH=ssh cvs -d :ext:[email protected]:/cvs/src co -P binutils
cd ..

# newlib
mkdir newlib-cvs
cd newlib-cvs
READ ONLY: cvs -z 9 -d :pserver:anoncvs:[email protected]:/cvs/src co newlib
WRITE: CVS_RSH=ssh cvs -d :ext:[email protected]:/cvs/src co -P newlib
cd ..

# gdb
mkdir gdb-cvs
cd gdb-cvs
READ ONLY: cvs -z 9 -d :pserver:anoncvs:[email protected]:/cvs/src co gdb
WRITE: CVS_RSH=ssh cvs -d :ext:[email protected]:/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://[email protected]/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.69.tar.bz2
tar xjf autoconf-2.69.tar.bz2
wget ftp://ftp.gnu.org/pub/gnu/automake/automake-1.12.6.tar.bz2
tar xjf automake-1.12.6.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