From Fedora Project Wiki

It is often useful to test Fedora Core JPackages against GCJ HEAD. java-gcjHEAD-compat is a package that provides a GCJ HEAD JVM alternative alongside the normal java-gcj-compat and SDK alternatives.

These instructions assume a ~/.rpmmacros file like this:

$ cat ~/.rpmmacros
%_topdir /home/overholt/rpmbuild

and a GCC installation in /home/overholt/install.

1. Check java-1.4.2-gcj-compat out of Fedora CVS
$ cvs -d :pserver:anonymous@cvs.fedora.redhat.com:/cvs/dist co java-1.4.2-gcj-compat
2. Change to the devel directory
$ cd java-1.4.2-gcj-compat/devel
3. Build an SRPM
$ make srpm
4. Ensure that your built gcc is ahead of the system compiler in your path
$ export PATH=/home/overholt/install/bin:$PATH
5. Build java-1.4.2-gcjHEAD-compat RPMS
$ rpmbuild --rebuild \
--define "custom 1" \
--define "gcj_prefix /home/overholt/install" \
--define "origin gcjHEAD" \
java-1.4.2-gcj-compat-<version>.src.rpm
6. Install the RPMs produced by rpmbuild
$ sudo rpm -Uvh ~/rpmbuild/RPMS/<arch>/*gcjHEAD*
7. Set the java and javac alternatives to gcjHEAD
$ sudo /usr/sbin/update-alternatives --config javac
$ sudo /usr/sbin/update-alternatives --config java
8. Verify the alternatives
$ readlink -f /usr/bin/java
$ readlink -f /usr/bin/javac

This approach is general, so it can be applied to any number of GCC installations by modifying the arguments to rpmbuild.