URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
Compare Revisions
- This comparison shows the changes necessary to convert path
/or1k/trunk/rtems/scripts-ada/gnatnewlib
- from Rev 208 to Rev 1765
- ↔ Reverse comparison
Rev 208 → Rev 1765
/Makefile.am
0,0 → 1,26
## $Id: Makefile.am,v 1.2 2001-09-27 12:02:53 chris Exp $ |
|
AUTOMAKE_OPTIONS = foreign 1.4 |
|
MKGNATNEWLIBSPEC = $(SHELL) $(top_builddir)/mkgnatnewlibspec |
|
MKGNATNEWLIBSPEC_DEPS = $(top_builddir)/mkgnatnewlibspec gnatnewlib.spec.in \ |
$(top_builddir)/setup.cache |
|
powerpc-rtems-$(GNATNEWLIBVERS).spec: $(MKGNATNEWLIBSPEC_DEPS) |
$(MKGNATNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . powerpc-rtems |
|
sparc-rtems-$(GNATNEWLIBVERS).spec: $(MKGNATNEWLIBSPEC_DEPS) |
$(MKGNATNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems |
|
TEMPLATES = gnatnewlib.spec.in |
|
RPM_SPECS_DATA = powerpc-rtems-$(GNATNEWLIBVERS).spec \ |
sparc-rtems-$(GNATNEWLIBVERS).spec |
|
noinst_DATA = $(TEMPLATES) |
|
EXTRA_DIST = $(TEMPLATES) |
|
CLEANFILES = $(RPM_SPECS_DATA) |
include $(top_srcdir)/../automake/local.am |
/gnatnewlib.spec.in
0,0 → 1,401
# |
# spec file for building gcc for rtems |
# |
# Copyright (c) 1999 OARCorp, Huntsville, AL |
# |
# please send bugfixes or comments to joel@OARcorp.com |
# |
|
Vendor: OAR Corporation |
Distribution: Linux |
Name: @target_alias@-gnat-newlib |
Summary: gnat, gcc, and newlib C Library for @target_alias@. |
Group: gnatrtems |
Release: @Release@ |
License: gcc is GPL/LGPL ; newlib no has restrictions on run-time usage |
|
Provides: rtems-base-gnat @target_alias@-gnat |
Provides: rtems-base-gnat-binutils @target_alias@-gnat-binutils |
# Requires: @target_alias@-binutils |
|
Autoreqprov: on |
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com |
|
Version: gnat@gnat_version@ |
Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-@gcc_version@.tar.gz |
Source1: ftp://sourceware.cygnus/com/pub/newlib/newlib-@newlib_version@.tar.gz |
Source2: ftp://cs.nyu.edu/pub/gnat/gnat-@gnat_version@-src.tar.gz |
Source3: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-@binutils_version@.tar.gz |
Patch0: gcc-@gcc_version@-rtems-gnat-@gnat_version@-@gcc_patch_version@.diff |
Patch1: newlib-@newlib_version@-rtems-@newlib_patch_version@.diff |
Patch2: gnat-@gnat_version@-rtems-@gnat_patch_version@.diff |
Patch3: binutils-@binutils_version@-rtems-gnat-@gnat_version@-@binutils_patch_version@.diff |
# |
Buildroot: /tmp |
|
# |
# The original sources are not included in the source RPM. |
# If we included them, then the source RPMs for each target |
# would duplicate MBs of source unnecessarily. This is |
# a duplication of over 30 MBs of source for each of |
# the more than 10 targets it is possible to build. |
# |
# You can get them yourself from the Internet and copy them to |
# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR). |
# Or you can try the ftp options of rpm :-) |
# |
NoSource: 0 |
NoSource: 1 |
NoSource: 2 |
NoSource: 3 |
|
%description |
RTEMS is an open source operating system for embedded systems. |
|
This is gcc's and newlib C Library's sources with patches for RTEMS. |
|
The original sources are not included in the source RPM. |
If we included them, then the source RPMs for each target |
would duplicate MBs of source unnecessarily. This is |
a duplication of over 30 MBs of source for each of |
the more than 10 targets it is possible to build. |
|
You can get them yourself from the Internet and copy them to |
your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR). |
Or you can try the ftp options of rpm :-) |
|
This version of GNAT/RTEMS RPMs is based on the following: |
|
+ gnat-@gnat_version@-src |
+ gcc-@gcc_version@ |
+ newlib-@newlib_version@ |
+ binutils-@binutils_version@ |
|
with appropriate patches. |
|
%package -n rtems-base-gnat |
Summary: base package for rtems gnat, gcc, and newlib C Library |
Group: rtems |
|
%description -n rtems-base-gnat |
|
RTEMS is an open source operating system for embedded systems. |
|
This is the files for gnat, gcc, and newlib that are shared by all targets. |
|
%package -n rtems-base-gnat-binutils |
Summary: base package for rtems binutils |
Group: rtems |
|
%description -n rtems-base-gnat-binutils |
|
RTEMS is an open source operating system for embedded systems. |
|
This is the base for binutils regardless of target CPU. |
|
%package -n @target_alias@-gnat-binutils |
Summary: rtems binutils for @target_alias@ |
Group: rtems |
Requires: rtems-base-gnat-binutils |
|
%description -n @target_alias@-gnat-binutils |
|
RTEMS is an open source operating system for embedded systems. |
|
This is the GNU binutils for RTEMS targetting @target_alias@. |
|
%package -n @target_alias@-gnat |
Summary: rtems gnat, gcc, and newlib C Library for @target_alias@ |
Group: rtems |
Requires: @target_alias@-gnat-binutils rtems-base-gnat |
|
%description -n @target_alias@-gnat |
RTEMS is an open source operating system for embedded systems. |
|
This is gnat, gcc, and newlib C Library for @target_alias@. |
|
%prep |
# untar the sources inside @target_alias@-gnat-newlib |
%setup -c -n @target_alias@-gnat-newlib -a 0 -a 1 -a 2 -a 3 |
|
%patch0 -p0 |
%patch1 -p0 |
%patch2 -p0 |
%patch3 -p0 |
|
# this 281 needs to be a variable. :( |
cd gcc-@gcc_version@ |
patch -p0 <../gnat-@gnat_version@-src/src/gcc-281.dif |
|
mv ../gnat-@gnat_version@-src/src/ada . |
|
cd ada |
touch treeprs.ads a-[es]info.h nmake.ad[bs] |
cd ../.. # now back at top |
|
# Now we should be done patching everything.. build up a source tree |
|
# this sequence is VERY dependent on the versions involved |
# When the gcc gets updated to 2.95.x or newer, this HAS to change. |
|
mkdir src |
cd src |
# configure scripts |
for f in config config.guess config.sub configure configure.in \ |
config-ml.in include install-sh ltconfig ltmain.sh Makefile.in \ |
move-if-change mkinstalldirs libiberty |
do |
# some packages have more configure scripts than others |
# our list is inclusive |
test -r ../binutils-@binutils_version@/$f && \ |
mv ../binutils-@binutils_version@/$f . |
done |
|
# link in gcc |
mv ../gcc-@gcc_version@ gcc |
|
# link in binutils |
for f in bfd binutils gas gprof ld opcodes etc |
do |
mv ../binutils-@binutils_version@/$f . |
done |
|
# link in newlib |
mv ../newlib-@newlib_version@/newlib . |
cd .. |
|
# now we have a linked together source tree |
test -d build || mkdir build |
|
|
%build |
cd build |
# after we switch off gcc 2.8.1, configure using gcc not a src directory |
# and build binutils separately. |
../src/configure --target=@target_alias@ \ |
--with-gnu-as --with-gnu-ld --with-newlib --verbose \ |
--prefix=/opt/gnatrtems |
|
# for now we are building all the languages |
# '--enable-languages=c,c++' |
|
# # This is a hack that is only because gnat still uses gcc 2.8.1 |
# test -d ${RPM_BUILD_ROOT}/opt/gnatrtems/@target_alias@ || |
# mkdir -p ${RPM_BUILD_ROOT}/opt/gnatrtems/@target_alias@ |
# for dir in ${RPM_BUILD_ROOT}/opt/gnatrtems/@target_alias@/include \ |
# ${RPM_BUILD_ROOT}/opt/gnatrtems/@target_alias@/sys-include |
# do |
# test -d ${dir} || mkdir -p ${dir} |
# cp ../newlib-@newlib_version@/newlib/libc/sys/rtems/include/limits.h ${dir} |
# done |
|
make CC=gcc CFLAGS="-O2" LANGUAGES="c" all |
make CC=gcc CFLAGS="-O2" LANGUAGES="c" info |
# must be installed to allow gnat to continue to build |
make CC=gcc CFLAGS="-O2" LANGUAGES="c" install install-info |
make prefix=$RPM_BUILD_ROOT/opt/gnatrtems \ |
CC=gcc CFLAGS="-O2" LANGUAGES="c" install install-info |
|
# When GNAT uses a gcc that finds the RTEMS limits.h, this will not |
# be needed. This should not be needed if the limits.h trick above works. |
# cd gcc |
# rm -f stmp-multilib |
# find . -name "*.a" -print | xargs -e rm -f |
# |
# make all |
# cd .. |
|
#################### Ada from here down ################### |
|
# Just so the log shows what directory we are in. |
pwd |
cd gcc |
echo "Starting build of GNAT proper." |
make prefix=$RPM_BUILD_ROOT/opt/gnatrtems \ |
CC=gcc CFLAGS="-O2" LANGUAGES="c ada" |
|
echo "Starting build of cross GNAT tools" |
make prefix=$RPM_BUILD_ROOT/opt/gnatrtems \ |
CC=gcc CFLAGS="-O2 -g" LANGUAGES="c ada" cross-gnattools |
|
echo "Starting build of ada.all.cross" |
make prefix=$RPM_BUILD_ROOT/opt/gnatrtems \ |
CC=gcc CFLAGS="-O2" LANGUAGES="c ada" ada.all.cross |
|
# must have -gnato to pass validation |
# may want CC=gcc GNATLIBCFLAGS="-O3" GNATLIBFLAGS="-gnatpgn" gnatliy |
# NOTE: gnatlib is not multilib'ed -- serious embedded flaw |
echo "Starting build of gnatlib" |
make prefix=$RPM_BUILD_ROOT/opt/gnatrtems \ |
CC=gcc GNATLIBCFLAGS="-O2 -g" gnatlib |
|
%install |
cd build |
# Bug in gcc-2.95.1: It doesn't build this installation directory |
# If it doesn't find it, gcc doesn't install @target_alias@/bin/gcc |
# ../gcc-@gcc_version@/mkinstalldirs \ |
# $RPM_BUILD_ROOT/opt/gnatrtems/@target_alias@/bin |
|
cd gcc |
echo "Starting install of gnat" |
make prefix=$RPM_BUILD_ROOT/opt/gnatrtems \ |
CC=gcc CFLAGS="-O2 -g -gnata -gnatp" LANGUAGES="c ada" install |
# GNAT has to be mostly installed to even build itself |
|
make prefix=$RPM_BUILD_ROOT/opt/gnatrtems install-info |
|
# cd go back to build/ |
pwd |
cd .. |
|
# gzip info files |
gzip -f $RPM_BUILD_ROOT/opt/gnatrtems/info/*.info 2>/dev/null |
gzip -f $RPM_BUILD_ROOT/opt/gnatrtems/info/*.info-? 2>/dev/null |
gzip -f $RPM_BUILD_ROOT/opt/gnatrtems/info/*.info-?? 2>/dev/null |
|
rm -f dirs ; |
echo "%dir /opt/gnatrtems/lib" >> dirs ; |
echo "%dir /opt/gnatrtems/lib/gcc-lib" >> dirs ; |
echo "%dir /opt/gnatrtems/lib/gcc-lib/@target_alias@" >> dirs ; |
|
touch ../files |
# if test -f $RPM_BUILD_ROOT/opt/gnatrtems/info/configure.info.gz; |
# then |
# These common files are only present in binutils >= 2.9.5 |
# find $RPM_BUILD_ROOT/opt/gnatrtems/info -name 'configure.*' | \ |
# sed -e "s,^$RPM_BUILD_ROOT,,g" > ../files |
# else |
# touch ../files |
# fi |
# These target specific files are only present in binutils >= 2.9.5 |
if test -f /opt/gnatrtems/bin/@target_alias@-readelf@exe_ext@; |
then |
echo /opt/gnatrtems/bin/@target_alias@-readelf@exe_ext@ > ../files.target |
else |
touch ../files.target |
fi |
|
# Collect multilib subdirectories |
TGTDIR="$RPM_BUILD_ROOT/opt/gnatrtems/lib/gcc-lib/@target_alias@/@gcc_version@" |
find $TGTDIR \ |
\( -type d -a ! -path "$TGTDIR/include*" \) -print | \ |
sed -e "s,^$RPM_BUILD_ROOT,%dir ,g" >> dirs |
|
# Collect files to go into different packages |
# NOTE: This is left in as a place holder to move the 2.95.x code into. |
cp dirs ../files.gcc |
|
f=`find $TGTDIR ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`; |
for i in $f; do |
case $i in |
*) echo "$i" >> ../files.gcc ;; |
esac |
done |
|
%files -n rtems-base-gnat-binutils -f files |
%dir /opt/gnatrtems/info |
# %doc /opt/gnatrtems/info/dir |
# %doc /opt/gnatrtems/info/as.info.gz |
# %doc /opt/gnatrtems/info/as.info-?.gz |
# %doc /opt/gnatrtems/info/bfd.info.gz |
# %doc /opt/gnatrtems/info/bfd.info-?.gz |
# %doc /opt/gnatrtems/info/binutils.info.gz |
# %doc /opt/gnatrtems/info/binutils.info-?.gz |
# %doc /opt/gnatrtems/info/ld.info.gz |
# %doc /opt/gnatrtems/info/ld.info-?.gz |
# %doc /opt/gnatrtems/info/gasp.info.gz |
# %doc /opt/gnatrtems/info/standards.info.gz |
|
%dir /opt/gnatrtems/man |
%dir /opt/gnatrtems/man/man1 |
|
%dir /opt/gnatrtems/include |
/opt/gnatrtems/include/bfd.h |
/opt/gnatrtems/include/ansidecl.h |
/opt/gnatrtems/include/bfdlink.h |
|
%dir /opt/gnatrtems/lib |
/opt/gnatrtems/lib/libbfd* |
/opt/gnatrtems/lib/libiberty* |
/opt/gnatrtems/lib/libopcodes* |
|
# %dir /opt/gnatrtems/share |
# %dir /opt/gnatrtems/share/locale |
|
%files -n @target_alias@-gnat-binutils -f files.target |
%doc /opt/gnatrtems/man/man1/@target_alias@-*.1 |
|
%dir /opt/gnatrtems/bin |
/opt/gnatrtems/bin/@target_alias@-addr2line@exe_ext@ |
/opt/gnatrtems/bin/@target_alias@-ar@exe_ext@ |
/opt/gnatrtems/bin/@target_alias@-as@exe_ext@ |
/opt/gnatrtems/bin/@target_alias@-c++filt@exe_ext@ |
/opt/gnatrtems/bin/@target_alias@-gasp@exe_ext@ |
/opt/gnatrtems/bin/@target_alias@-ld@exe_ext@ |
/opt/gnatrtems/bin/@target_alias@-nm@exe_ext@ |
/opt/gnatrtems/bin/@target_alias@-objcopy@exe_ext@ |
/opt/gnatrtems/bin/@target_alias@-objdump@exe_ext@ |
/opt/gnatrtems/bin/@target_alias@-ranlib@exe_ext@ |
# readelf is not in older binutils so get it from file list |
# /opt/gnatrtems/bin/@target_alias@-readelf@exe_ext@ |
/opt/gnatrtems/bin/@target_alias@-size@exe_ext@ |
/opt/gnatrtems/bin/@target_alias@-strings@exe_ext@ |
/opt/gnatrtems/bin/@target_alias@-strip@exe_ext@ |
|
%dir /opt/gnatrtems/@target_alias@ |
%dir /opt/gnatrtems/@target_alias@/bin |
/opt/gnatrtems/@target_alias@/bin/ar@exe_ext@ |
/opt/gnatrtems/@target_alias@/bin/as@exe_ext@ |
/opt/gnatrtems/@target_alias@/bin/ld@exe_ext@ |
/opt/gnatrtems/@target_alias@/bin/nm@exe_ext@ |
/opt/gnatrtems/@target_alias@/bin/ranlib@exe_ext@ |
/opt/gnatrtems/@target_alias@/bin/strip@exe_ext@ |
|
%dir /opt/gnatrtems/@target_alias@/lib |
/opt/gnatrtems/@target_alias@/lib/ldscripts |
%files -n rtems-base-gnat |
%dir /opt/gnatrtems/info |
# %doc /opt/gnatrtems/info/dir |
%doc /opt/gnatrtems/info/cpp.info* |
%doc /opt/gnatrtems/info/gcc.info* |
%doc /opt/gnatrtems/info/libc.info* |
%doc /opt/gnatrtems/info/libm.info* |
|
# %dir /opt/gnatrtems/man |
# %dir /opt/gnatrtems/man/man1 |
%doc /opt/gnatrtems/man/man1/cccp.1 |
%doc /opt/gnatrtems/man/man1/@target_alias@-gcc.1 |
|
%dir /opt/gnatrtems/bin |
# /opt/gnatrtems/bin/cpp@exe_ext@ |
# /opt/gnatrtems/bin/gcov@exe_ext@ |
%dir /opt/gnatrtems/include |
# /opt/gnatrtems/include/g++-3 |
|
%files -n @target_alias@-gnat -f files.gcc |
/opt/gnatrtems/bin/@target_alias@-gcc@exe_ext@ |
|
%dir /opt/gnatrtems/lib/gcc-lib/@target_alias@/@gcc_version@/include |
|
/opt/gnatrtems/@target_alias@ |
|
%post -n @target_alias@-gnat |
if test -d $RPM_INSTALL_PREFIX/rtems/info; |
then |
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir |
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` |
test -n "$f" && for i in $f; do |
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir |
done |
fi |
|
%postun -n @target_alias@-gnat |
if test -d $RPM_INSTALL_PREFIX/rtems/info; |
then |
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir |
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'` |
test -n "$f" && for i in $f; do |
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir |
done |
fi |
|
.
Property changes :
Added: svn:ignore
## -0,0 +1,4 ##
+*.spec
+Makefile
+Makefile.in
+gnatnewlib.spec