[meego-commits] 8373: New package devel:tools:sdk:host/meego-sdk-i586-gcc-bootstrap
jackiewu
no_reply at build.meego.com
Wed Oct 13 14:33:10 UTC 2010
Hi,
Adding new package meego-sdk-i586-gcc-bootstrap in project devel:tools:sdk:host. Please review and accept ASAP.
Justification for this new package:
meego sdk toolchain
Thank You,
jackiewu
[This message was auto-generated]
---
Request #8373:
submit: home:jackiewu:toolchain/meego-sdk-i586-gcc-bootstrap(r4) -> devel:tools:sdk:host/meego-sdk-i586-gcc-bootstrap
Message:
meego sdk toolchain
State: new 2010-10-13T07:33:09 jackiewu
Comment: None
This is a NEW package in devel:tools:sdk:host project.
The files in the new package:
meego-sdk-i586-gcc-bootstrap/
|__ README.libgcjwebplugin.so
|__ aaa_README.PACKAGER
|__ baselibs.conf
|__ cross-armv5tel-gcc-accel.spec
|__ cross-armv5tel-gcc.spec
|__ cross-armv7l-gcc-accel.spec
|__ cross-armv7l-gcc.spec
|__ fastjar-0.97-segfault.patch
|__ fastjar-0.97.tar.gz
|__ gcc-4.5.0-rpmlintrc
|__ gcc-4.5.0.tar.bz2
|__ gcc.changes
|__ gcc.spec
|__ gcc44-ARM-boehm-gc-stack-qemu.patch
|__ gcc44-build-id.patch
|__ gcc44-c++-builtin-redecl.patch
|__ gcc44-hack.patch
|__ gcc44-i386-libgomp.patch
|__ gcc44-java-debug-iface-type.patch
|__ gcc44-java-nomulti.patch
|__ gcc44-libgomp-omp_h-multilib.patch
|__ gcc44-libstdc++-docs.patch
|__ gcc44-libtool-no-rpath.patch
|__ gcc44-max-vartrack-size-2.patch
|__ gcc44-max-vartrack-size.patch
|__ gcc44-pr33763.patch
|__ gcc44-rh341221.patch
|__ gcc45-pr43572.patch
|__ gcc45-pr43698.patch
|__ gcc45-pr45094.patch
|__ gcc45-use-atom.patch
|__ libgcc_post_upgrade.c
|__ libgcc_post_upgrade.c.arm.patch
|__ meego-sdk-i586-gcc-bootstrap.changes
|__ meego-sdk-i586-gcc-bootstrap.spec
|__ precheckin.sh
|__ protoize.1
|__ var-tracking1.patch
|__ var-tracking2.patch
|__ var-tracking3.patch
The content of the spec file, meego-sdk-i586-gcc-bootstrap.spec:
===================================================================
%define _meego_cpu i586
%define _meego_arch i586
%define TARGET %{_meego_arch}-meego-linux-gnu
%define install_prefix /opt/meego/meego-sdk-%{_meego_cpu}-toolchain/%{TARGET}
# Combined gcc / cross-armv*-gcc(-accel) specfile
Name: meego-sdk-%{_meego_cpu}-gcc-bootstrap
# Keep Name on top !
Provides: meego-sdk-%{_meego_arch}-gcc-bootstrap
%global _default_patch_fuzz -1
# crossbuild / accelerator section
# \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
%define crossbuild 0
%define accelerator_crossbuild 0
%if "%{name}" != "gcc"
# this is the ix86 -> arm cross compiler (cross-armv*-gcc)
#
# cross arch retrieval
%define crossarch %(echo %{name} | sed -e "s/meego-sdk-\\(.*\\)-gcc-bootstrap/\\1/")
# We set requires/provides by hand and disable post-build-checks.
# Captain Trunk: Sledge, you cannot disarm that nuclear bomb!
# Sledge Hammer: Trust me, I know what I'm doing.
AutoReqProv: 0
AutoReq: false
#BuildRequires: -rpmlint-Moblin -rpmlint-mini -post-build-checks
# cross platform
%define cross_gcc_target_platform %{crossarch}-meego-linux-gnueabi
# gcc_target_platform holds the host (executing the compiler)
# cross_gcc_target_platform holds the target (for which the compiler is producing binaries)
# prefix for cross compiler
%define _prefix /opt/cross
%define _prefix %{install_prefix}
# strip of 'foreign arch' symbols fails
%define __strip /bin/true
# sysroot for cross-compiler
%define crosssysroot %{_prefix}/%{cross_gcc_target_platform}/sys-root
# flag
%define crossbuild 1
# macros in buildrequires is hard to expand for the scheduler (e.g. crossarch) which would make this easier.
#BuildRequires: cross-%{crossarch}-glibc cross-%{crossarch}-glibc-devel cross-%{crossarch}-glibc-headers
#BuildRequires: cross-%{crossarch}-kernel-headers cross-%{crossarch}-binutils
# Fixme: find way to make this without listing every package
%if "%{name}" == "cross-armv5tel-gcc"
BuildRequires: cross-armv5tel-glibc cross-armv5tel-glibc-devel cross-armv5tel-glibc-headers
BuildRequires: cross-armv5tel-kernel-headers cross-armv5tel-binutils
%endif
%if "%{name}" == "cross-armv7l-gcc"
BuildRequires: cross-armv7l-glibc cross-armv7l-glibc-devel cross-armv7l-glibc-headers
BuildRequires: cross-armv7l-kernel-headers cross-armv7l-binutils
%endif
# Fixme: see above
%if "%{name}" == "cross-armv5tel-gcc-accel"
BuildRequires: cross-armv5tel-glibc cross-armv5tel-glibc-devel cross-armv5tel-glibc-headers
BuildRequires: cross-armv5tel-kernel-headers cross-armv5tel-binutils
%endif
%if "%{name}" == "cross-armv7l-gcc-accel"
BuildRequires: cross-armv7l-glibc cross-armv7l-glibc-devel cross-armv7l-glibc-headers
BuildRequires: cross-armv7l-kernel-headers cross-armv7l-binutils
%endif
BuildRequires: meego-sdk-%{_meego_cpu}-kernel-headers meego-sdk-%{_meego_cpu}-binutils
BuildRequires: meego-sdk-%{_meego_cpu}-glibc-headers
BuildRequires: libmpc-devel, gmp-devel, mpfr-devel
Requires: libmpc, gmp, mpfr
# single target atm.
#
# special handling for MeeGo ARM build acceleration
# cross-armv*-gcc-accel
%if "%(echo %{name} | sed -e "s/cross-.*-gcc-\\(.*\\)/\\1/")" == "accel"
# cross architecture
%define crossarch %(echo %{name} | sed -e "s/cross-\\(.*\\)-gcc-accel/\\1/")
# cross target platform
%define cross_gcc_target_platform %{crossarch}-meego-linux-gnueabi
# prefix - as it's going to "replace" the original compiler ...
%define _prefix /usr
# cross-build sets sysroot as default , we need to override this a bit
%define crosssysroot /
# where to find the libs during the build
%define crossbuildsysroot /opt/cross/%{cross_gcc_target_platform}/sys-root
# flags
%define crossbuild 1
%define accelerator_crossbuild 1
# where to find the libs at runtime
%define newrpath /emul/ia32-linux/lib:/emul/ia32-linux/usr/lib
%define _build_name_fmt %%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.dontuse.rpm
%endif
# end special accel
%endif
# /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
# end crossbuild / accelerator section
%global gcc_version 4.5.0
%global gcc_release 1
%global _unpackaged_files_terminate_build 0
%global include_gappletviewer 0
%global build_ada 0
%global build_java 0
%ifarch %{arm}
%global build_cloog 0
%else
%if %{crossbuild}
%global build_cloog 0
%else
%global build_cloog 1
%endif
%endif
%global build_libstdcxx_docs 0
%global bootstrap_java %{?_with_java_bootstrap:%{build_java}}%{!?_with_java_bootstrap:0}
%global build_java_tar %{?_with_java_tar:%{build_java}}%{!?_with_java_tar:0}
%global multilib_64_archs x86_64
%ifarch x86_64
%global multilib_32_arch i686
%endif
%global build_64bit_multilib 0
Summary: Various compilers (C, C++, Objective-C, Java, ...)
Version: %{gcc_version}
Release: %{gcc_release}
License: GPLv3+, GPLv3+ with exceptions and GPLv2+ with exceptions
Group: Development/Languages
URL: http://gcc.gnu.org
Source0: gcc-%{version}.tar.bz2
Source1: libgcc_post_upgrade.c
Source2: README.libgcjwebplugin.so
%global fastjar_ver 0.97
Source4: http://download.savannah.nongnu.org/releases/fastjar/fastjar-%{fastjar_ver}.tar.gz
Source100: gcc-4.5.0-rpmlintrc
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
#BuildRequires: binutils >= 2.19.51.0.14
#BuildRequires: glibc-static
BuildRequires: zlib-devel, gettext, bison, flex, texinfo
#BuildRequires: mpc-devel
#BuildRequires: glibc-devel >= 2.4.90-13
#BuildRequires: elfutils-devel >= 0.72
%if %{build_java}
BuildRequires: /usr/share/java/eclipse-ecj.jar, zip, unzip
%if %{bootstrap_java}
Source10: libjava-classes-%{version}-%{release}.tar.bz2
%else
BuildRequires: gcc-java, libgcj
%endif
%endif
%if %{build_ada}
# Ada requires Ada to build
BuildRequires: gcc-gnat >= 3.1, libgnat >= 3.1
%endif
%if %{build_cloog}
BuildRequires: ppl >= 0.10, ppl-devel >= 0.10, cloog-ppl >= 0.15, cloog-ppl-devel >= 0.15
%endif
%if %{build_libstdcxx_docs}
BuildRequires: doxygen
BuildRequires: graphviz
%endif
Requires: meego-sdk-%{_meego_cpu}-binutils
%if !%{crossbuild}
%if !%{build_ada}
Obsoletes: gcc-gnat < %{version}-%{release}
Obsoletes: libgnat < %{version}-%{release}
%endif
%if %{build_cloog}
Requires: cloog-ppl >= 0.15
%endif
%if %{build_64bit_multilib}
Requires: glibc64bit-helper
%endif
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Obsoletes: gcc < %{version}-%{release}
Obsoletes: gcc43
AutoReq: true
# /!crossbuild
%endif
Patch0: gcc44-hack.patch
Patch1: gcc44-build-id.patch
Patch2: gcc44-c++-builtin-redecl.patch
Patch4: gcc44-java-nomulti.patch
Patch9: gcc44-pr33763.patch
Patch11: gcc44-rh341221.patch
Patch12: gcc44-java-debug-iface-type.patch
Patch13: gcc44-i386-libgomp.patch
Patch16: gcc44-libgomp-omp_h-multilib.patch
Patch20: gcc44-libtool-no-rpath.patch
Patch29: gcc44-libstdc++-docs.patch
Patch30: gcc45-pr43572.patch
Patch31: gcc45-pr43698.patch
Patch40: gcc45-use-atom.patch
Patch41: libgcc_post_upgrade.c.arm.patch
#Patch42: var-tracking1.patch
#Patch43: var-tracking2.patch
#Patch44: var-tracking3.patch
#Patch45: gcc44-max-vartrack-size.patch
#Patch46: gcc44-max-vartrack-size-2.patch
Patch50: gcc45-pr45094.patch
Patch1000: fastjar-0.97-segfault.patch
Patch9999: gcc44-ARM-boehm-gc-stack-qemu.patch
#We need -gnueabi indicator for ARM
%ifnarch %{arm}
%global _gnu %{nil}
%endif
%global gcc_target_platform %{_target_platform}
%description
The gcc package contains the GNU Compiler Collection version 4.5.0.
You'll need this package in order to compile C code.
%prep
%setup -q -n gcc-%{version}
%patch0 -p0 -b .hack~
%patch1 -p0 -b .build-id~
%patch2 -p0 -b .c++-builtin-redecl~
%patch4 -p0 -b .java-nomulti~
%patch9 -p0 -b .pr33763~
%patch11 -p0 -b .rh341221~
%patch12 -p0 -b .java-debug-iface-type~
%patch13 -p0 -b .i386-libgomp~
%patch16 -p0 -b .libgomp-omp_h-multilib~
%patch20 -p0 -b .libtool-no-rpath~
%if %{build_libstdcxx_docs}
%patch29 -p0 -b .libstdc++-docs~
%endif
%patch30 -p1 -b .pr43572
%ifarch %{arm}
%patch31 -p1 -b .pr43698
%else
%if %crossbuild
# add it for arm crossbuild, too
%patch31 -p1 -b .pr43698
%endif
%endif
%patch40 -p1 -b .atom
#%patch42 -p0 -b .var-track1~
#%patch43 -p0 -b .var-track2~
#%patch44 -p0 -b .var-track3~
#%patch45 -p0 -b .max-vartrack-size~
#%patch46 -p1 -b .max-vartrack-size-2~
%patch50 -p0 -b .pr45094
# This testcase doesn't compile.
rm libjava/testsuite/libjava.lang/PR35020*
tar xzf %{SOURCE4}
%patch1000 -p0 -b .fastjar-0.97-segfault~
%patch9999 -p1 -b .arm-boehm-gc~
%if %{bootstrap_java}
tar xjf %{SOURCE10}
%endif
echo 'MeeGo %{version}-%{gcc_release}' > gcc/DEV-PHASE
# Default to -gdwarf-3 rather than -gdwarf-2
sed -i '/UInteger Var(dwarf_version)/s/Init(2)/Init(3)/' gcc/common.opt
sed -i 's/\(may be either 2 or 3; the default version is \)2\./\13./' gcc/doc/invoke.texi
cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
# Hack to avoid building multilib libjava
perl -pi -e 's/^all: all-redirect/ifeq (\$(MULTISUBDIR),)\nall: all-redirect\nelse\nall:\n\techo Multilib libjava build disabled\nendif/' libjava/Makefile.in
perl -pi -e 's/^install: install-redirect/ifeq (\$(MULTISUBDIR),)\ninstall: install-redirect\nelse\ninstall:\n\techo Multilib libjava install disabled\nendif/' libjava/Makefile.in
perl -pi -e 's/^check: check-redirect/ifeq (\$(MULTISUBDIR),)\ncheck: check-redirect\nelse\ncheck:\n\techo Multilib libjava check disabled\nendif/' libjava/Makefile.in
perl -pi -e 's/^all: all-recursive/ifeq (\$(MULTISUBDIR),)\nall: all-recursive\nelse\nall:\n\techo Multilib libjava build disabled\nendif/' libjava/Makefile.in
perl -pi -e 's/^install: install-recursive/ifeq (\$(MULTISUBDIR),)\ninstall: install-recursive\nelse\ninstall:\n\techo Multilib libjava install disabled\nendif/' libjava/Makefile.in
perl -pi -e 's/^check: check-recursive/ifeq (\$(MULTISUBDIR),)\ncheck: check-recursive\nelse\ncheck:\n\techo Multilib libjava check disabled\nendif/' libjava/Makefile.in
./contrib/gcc_update --touch
LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi
%build
# Avoid rebuilding of generated files
contrib/gcc_update --touch
rm -rf obj
mkdir obj
cd obj
#export PATH=/opt/meego-toolchain/bin:$PATH
../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} --mandir=%{_mandir} \
--libdir=%{_libdir} --libexecdir=%{_libdir} \
--enable-languages=c \
--disable-nls --disable-shared \
--enable-version-specific-runtime-libs \
--with-sysroot=%{_prefix}/%{TARGET}/sys-root \
--target=%{TARGET} \
--enable-ssp --disable-libssp \
--disable-libmudflap \
--disable-__cxa_atexit --disable-checking --disable-threads \
--without-newlib --enable-fp
make %{?jobs:-j%jobs} all-gcc
make %{?jobs:-j%jobs} all-target-libgcc
%install
cd obj
#make -C gcc install DESTDIR=%{buildroot}
make install-gcc DESTDIR=%{buildroot}
make install-target-libgcc DESTDIR=%{buildroot}
rm -rf %{buildroot}%{_infodir}
rm -rf %{buildroot}%{_mandir}
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{_prefix}
===================================================================
More information about the MeeGo-commits
mailing list