forked from Imagelibrary/rtems
issue and has mkbspspec in a better state. user.cfg is now gone. There are some miscellaneous changes to buildall done by Joel to clean up the build process.
178 lines
4.8 KiB
RPMSpec
178 lines
4.8 KiB
RPMSpec
#
|
|
# spec file for package rtems
|
|
#
|
|
# Copyright (c) 1999 OARCorp, Huntsville, AL
|
|
#
|
|
# please send bugfixes or comments to joel@OARcorp.com
|
|
#
|
|
|
|
Vendor: OAR Corporation
|
|
Distribution: Linux
|
|
Name: @target_alias@-gcc-newlib
|
|
Release: @Release@
|
|
Copyright: 1999 OARCorp
|
|
Group: unsorted
|
|
Provides: @target_alias@-gcc-newlib
|
|
Requires: @target_alias@-binutils
|
|
|
|
Autoreqprov: on
|
|
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
|
|
|
|
Version: @gcc_version@newlib@newlib_version@
|
|
Summary: rtems gcc and newlib C Library for target @target_alias@
|
|
Source0: gcc-@gcc_version@.tar.gz
|
|
Source1: newlib-@newlib_version@.tar.gz
|
|
Patch0: gcc-@gcc_version@-rtems-@gcc_patch_version@.diff
|
|
Patch1: newlib-@newlib_version@-rtems-@newlib_patch_version@.diff
|
|
|
|
Buildroot: /tmp
|
|
# Patch:
|
|
%description
|
|
RTEMS is an open source operating system for embedded systems.
|
|
|
|
This is gcc and newlib C Library for @target_alias@.
|
|
|
|
Authors:
|
|
--------
|
|
Joel Sherrill (joel@oarcorp.com)
|
|
...
|
|
|
|
%prep
|
|
echo RPM_BUILD_ROOT=${RPM_BUILD_ROOT}
|
|
# untar the sources inside @target_alias@-gcc-newlib -@Version@
|
|
%setup -c -n @target_alias@-gcc-newlib -a 0 -a 1
|
|
|
|
%patch0 -p0
|
|
%patch1 -p0
|
|
|
|
# Now link the C library into the source tree
|
|
ln -s ../newlib-1.8.2/newlib gcc-@gcc_version@
|
|
|
|
%build
|
|
test -d build || mkdir build
|
|
cd build
|
|
../gcc-@gcc_version@/configure --target=@target_alias@ \
|
|
--with-gnu-as --with-gnu-ld --with-newlib --verbose \
|
|
--prefix=/opt/rtems
|
|
|
|
# for now we are building all the languages
|
|
# '--enable-languages=c c++'
|
|
|
|
make all
|
|
make info
|
|
|
|
# Since gcc now finds the RTEMS limits.h, this should not be needed
|
|
# cd gcc
|
|
# rm -f stmp-multilib
|
|
# find . -name "*.a" -print | xargs -e rm -f
|
|
#
|
|
# make all
|
|
# cd ..
|
|
|
|
%install
|
|
cd build
|
|
make prefix=$RPM_BUILD_ROOT/opt/rtems install
|
|
cd @target_alias@/newlib
|
|
make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
|
|
|
|
# cd back to build/
|
|
cd ../..
|
|
|
|
# gzip info files
|
|
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null
|
|
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null
|
|
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-?? 2>/dev/null
|
|
|
|
rm -f files
|
|
|
|
# collect c++ headers
|
|
if test -d $RPM_BUILD_ROOT/opt/rtems/include/g++-3; then
|
|
find $RPM_BUILD_ROOT/opt/rtems/include/g++-3 \
|
|
-type d | \
|
|
sed -e "s,^$RPM_BUILD_ROOT,%dir ,g" >> files
|
|
find $RPM_BUILD_ROOT/opt/rtems/include/g++-3 \
|
|
\( -type f -o -type l \) | \
|
|
sed -e "s,^$RPM_BUILD_ROOT,,g" >> files
|
|
fi
|
|
|
|
# collect target gcc-lib
|
|
if test -d "$RPM_BUILD_ROOT/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@"; \
|
|
then
|
|
find "$RPM_BUILD_ROOT/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@" \
|
|
-type d | sed -e "s,^$RPM_BUILD_ROOT,%dir ,g" >> files
|
|
find "$RPM_BUILD_ROOT/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@" \
|
|
\( -type f -o -type l \) \
|
|
| sed -e "s,^$RPM_BUILD_ROOT,,g" >> files
|
|
fi
|
|
|
|
# collect target files
|
|
if test -d "$RPM_BUILD_ROOT/opt/rtems/@target_alias@"; \
|
|
then
|
|
find "$RPM_BUILD_ROOT/opt/rtems/@target_alias@" \
|
|
-type d | \
|
|
sed -e "s,^$RPM_BUILD_ROOT,%dir ,g" >> files
|
|
find "$RPM_BUILD_ROOT/opt/rtems/@target_alias@" \
|
|
\( -type f -o -type l \) | \
|
|
sed -e "s,^$RPM_BUILD_ROOT,,g" >> files
|
|
fi
|
|
|
|
%post
|
|
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
|
|
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
|
|
|
|
%files -f build/files
|
|
%docdir /opt/rtems/info
|
|
%doc /opt/rtems/info/dir
|
|
%doc /opt/rtems/info/chill.info*
|
|
%doc /opt/rtems/info/cpp.info*
|
|
%doc /opt/rtems/info/gcc.info*
|
|
%doc /opt/rtems/info/g77.info*
|
|
%doc /opt/rtems/info/libc.info*
|
|
%doc /opt/rtems/info/libm.info*
|
|
|
|
%docdir /opt/rtems/man
|
|
%docdir /opt/rtems/man/man1
|
|
%doc /opt/rtems/man/man1/cccp.1
|
|
%doc /opt/rtems/man/man1/@target_alias@-gcc.1
|
|
%doc /opt/rtems/man/man1/@target_alias@-g++.1
|
|
%doc /opt/rtems/man/man1/@target_alias@-g77.1
|
|
|
|
%dir /opt/rtems/bin
|
|
/opt/rtems/bin/cpp
|
|
/opt/rtems/bin/jv-scan
|
|
/opt/rtems/bin/gcov
|
|
/opt/rtems/bin/jcf-dump
|
|
/opt/rtems/bin/gcjh
|
|
/opt/rtems/bin/@target_alias@-c++
|
|
/opt/rtems/bin/@target_alias@-g++
|
|
/opt/rtems/bin/@target_alias@-gcc
|
|
/opt/rtems/bin/@target_alias@-gcj
|
|
/opt/rtems/bin/@target_alias@-chill
|
|
/opt/rtems/bin/@target_alias@-g77
|
|
/opt/rtems/bin/@target_alias@-protoize
|
|
/opt/rtems/bin/@target_alias@-unprotoize
|
|
|
|
%dir /opt/rtems/lib
|
|
/opt/rtems/lib/libiberty*
|
|
%dir /opt/rtems/include
|
|
|
|
%dir /opt/rtems/lib/gcc-lib
|
|
%dir /opt/rtems/lib/gcc-lib/@target_alias@
|
|
|