File djgpp-gcc.spec of Package djgpp-gcc
%define __os_install_post /usr/lib/rpm/brp-compress %{nil}
Name: djgpp-gcc
Version: 4.4.4
Release: 0
Summary: DJGPP (MSDOS) cross-compiler (GCC) for C
License: GPLv2+
Group: Development/Languages
URL: http://www.mingw.org/
Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-core-%{version}.tar.bz2
Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-g++-%{version}.tar.bz2
Source100: %{name}-rpmlintrc
Patch0: gcc-4.4.4-djgpp.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#!BuildIgnore: post-build-checks
BuildRequires: texinfo
BuildRequires: djgpp-filesystem >= 39-3
BuildRequires: djgpp-binutils
BuildRequires: djgpp-runtime
BuildRequires: gmp-devel
BuildRequires: mpfr-devel
BuildRequires: gcc-c++
BuildRequires: zip, unzip
# NB: Explicit djgpp-filesystem dependency is REQUIRED here.
Requires: djgpp-filesystem >= 39-3
Requires: djgpp-binutils
Requires: djgpp-runtime
Requires: djgpp-cpp
%description
DJGPP (MSDOS) cross-compiler (GCC) for C
%package -n djgpp-cpp
Summary: DJGPP (MSDOS) cross-C Preprocessor.
Group: Development/Languages
%description -n djgpp-cpp
DJGPP (MSDOS) cross-C Preprocessor
%package c++
Summary: DJGPP (MSDOS) cross-compiler for C++
Group: Development/Languages
Requires: djgpp-gcc
%description c++
DJGPP (MSDOS) cross-compiler for C++
%prep
%setup -q -c
%setup -q -D -T -a1
%patch0 -p0
%build
cd gcc-%{version}
mkdir -p build
cd build
languages="c,c++"
CC="%{__cc} ${RPM_OPT_FLAGS}" \
../configure \
--prefix=%{_prefix} \
--bindir=%{_bindir} \
--includedir=%{_includedir} \
--libdir=%{_libdir} \
--libexecdir=%{_libexecdir} \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--datadir=%{_datadir} \
--build=%_build --host=%_host \
--target=%{_djgpp_target} \
--with-gnu-as --with-gnu-ld --verbose \
--without-newlib \
--disable-multilib \
--with-system-zlib \
--disable-nls --without-included-gettext \
--disable-win32-registry \
--enable-version-specific-runtime-libs \
--with-sysroot=%{_djgpp_sysroot} \
--enable-languages="$languages" $optargs \
--without-x \
--enable-hash-synchronization
mkdir -p gcc && %{__cc} -O2 %{_djgpp_prefix}/src/stub/stubify.c -o gcc/stubify
make %{?_smp_mflags} all
%install
rm -rf $RPM_BUILD_ROOT
cd gcc-%{version}
cd build
make DESTDIR=$RPM_BUILD_ROOT install
# These files conflict with existing installed files.
rm -rf $RPM_BUILD_ROOT%{_infodir}
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty*
rm -f $RPM_BUILD_ROOT%{_mandir}/man7/*
rm -f $RPM_BUILD_ROOT%{_bindir}/vxaddr2line
mkdir -p $RPM_BUILD_ROOT/lib
ln -sf ..%{_prefix}/bin/%{_djgpp_target}-cpp \
$RPM_BUILD_ROOT/lib/%{_djgpp_target}-cpp
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{_djgpp_target}/bin
%{__cc} -O2 %{_djgpp_prefix}/src/stub/stubify.c -o $RPM_BUILD_ROOT%{_prefix}/%{_djgpp_target}/bin/stubify
(cd $RPM_BUILD_ROOT%{_libdir}/gcc/%{_djgpp_target}/%{version} && ln -s libstdc++.a libstdcxx.a && ln -s libsupc++.a libsupcxx.a)
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%{_bindir}/%{_djgpp_target}-gcc
%{_bindir}/%{_djgpp_target}-gcc-%{version}
%{_bindir}/%{_djgpp_target}-gccbug
%{_bindir}/%{_djgpp_target}-gcov
%{_prefix}/%{_djgpp_target}/lib/libiberty.a
%{_prefix}/%{_djgpp_target}/bin/stubify
%dir %{_libdir}/gcc/%{_djgpp_target}
%dir %{_libdir}/gcc/%{_djgpp_target}/%{version}
%{_libdir}/gcc/%{_djgpp_target}/%{version}/libgcc.a
%{_libdir}/gcc/%{_djgpp_target}/%{version}/libgcov.a
%{_libdir}/gcc/%{_djgpp_target}/%{version}/libssp.a
%{_libdir}/gcc/%{_djgpp_target}/%{version}/libssp.la
%{_libdir}/gcc/%{_djgpp_target}/%{version}/libssp_nonshared.a
%{_libdir}/gcc/%{_djgpp_target}/%{version}/libssp_nonshared.la
%dir %{_libdir}/gcc/%{_djgpp_target}/%{version}/include
%dir %{_libdir}/gcc/%{_djgpp_target}/%{version}/include-fixed
%dir %{_libdir}/gcc/%{_djgpp_target}/%{version}/include/ssp
%{_libdir}/gcc/%{_djgpp_target}/%{version}/include-fixed/README
%{_libdir}/gcc/%{_djgpp_target}/%{version}/include-fixed/*.h
%{_libdir}/gcc/%{_djgpp_target}/%{version}/include/*.h
%{_libdir}/gcc/%{_djgpp_target}/%{version}/include/ssp/*.h
%dir %{_libdir}/gcc/%{_djgpp_target}/%{version}/install-tools
%{_libdir}/gcc/%{_djgpp_target}/%{version}/install-tools/*
%dir %{_libexecdir}/gcc/%{_djgpp_target}/%{version}/install-tools
%{_libexecdir}/gcc/%{_djgpp_target}/%{version}/install-tools/*
%{_mandir}/man1/%{_djgpp_target}-gcc.1*
%{_mandir}/man1/%{_djgpp_target}-gcov.1*
%files -n djgpp-cpp
%defattr(-,root,root)
/lib/%{_djgpp_target}-cpp
%{_bindir}/%{_djgpp_target}-cpp
%{_mandir}/man1/%{_djgpp_target}-cpp.1*
%dir %{_libdir}/gcc/%{_djgpp_target}
%dir %{_libdir}/gcc/%{_djgpp_target}/%{version}
%{_libexecdir}/gcc/%{_djgpp_target}/%{version}/cc1
%files c++
%defattr(-,root,root)
%{_bindir}/%{_djgpp_target}-g++
%{_bindir}/%{_djgpp_target}-c++
%{_mandir}/man1/%{_djgpp_target}-g++.1*
%{_libdir}/gcc/%{_djgpp_target}/%{version}/include/c++/
%{_libdir}/gcc/%{_djgpp_target}/%{version}/libstdcxx.a
%{_libdir}/gcc/%{_djgpp_target}/%{version}/libstdc++.a
%{_libdir}/gcc/%{_djgpp_target}/%{version}/libstdc++.la
%{_libdir}/gcc/%{_djgpp_target}/%{version}/libsupcxx.a
%{_libdir}/gcc/%{_djgpp_target}/%{version}/libsupc++.a
%{_libdir}/gcc/%{_djgpp_target}/%{version}/libsupc++.la
%{_libexecdir}/gcc/%{_djgpp_target}/%{version}/cc1plus
%{_libexecdir}/gcc/%{_djgpp_target}/%{version}/collect2
%changelog