Ignore:
Timestamp:
Dec 16, 2011, 2:52:14 PM (14 years ago)
Author:
Yuri Dario
Message:

spec: gcc4 updated source code to 4.4.6, github tree.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • spec/trunk/SPECS/gcc4.spec

    r228 r249  
    1 %global gcc_version 4.4.4
     1%global gcc_version 4.4.6
     2%global gcc_target_platform %{_target_cpu}
    23
    34Summary: Various compilers (C, C++, Objective-C, Java, ...)
    45Name: gcc
    56Version: %{gcc_version}
    6 Release: 10%{?dist}
     7Release: 11%{?dist}
    78
    89# libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have
     
    1213URL: http://gcc.gnu.org
    1314
    14 Source0: gcc-%{version}-os2-20101229.zip
    15 Source1: gpl.zip
     15Source0: gcc-os2.zip
     16Patch0: gcc-os2.diff
     17#Source1: gpl.zip
    1618#Source2: gcc-ssp.zip
    1719
     
    1921
    2022Obsoletes: gcc < %{gcc_version}
    21 Requires: libgcc444 = %{gcc_version}
     23
     24BuildRequires: binutils
     25BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1
     26
     27Requires: libgcc446 = %{gcc_version}
    2228Requires: libc-devel >= 0.6.3
    2329Requires: binutils
     
    2733You'll need this package in order to compile C code.
    2834
    29 %package -n libgcc444
     35%package -n libgcc446
    3036Summary: GCC version 4.4 shared support library
    3137Group: System Environment/Libraries
    3238Autoreq: false
    3339
    34 %description -n libgcc444
     40%description -n libgcc446
    3541This package contains GCC shared support library which is needed
    3642e.g. for exception handling support.
     
    6369
    6470%prep
    65 %setup -q -c -a 1
     71%setup -q -c
     72# -a 1
     73%patch0 -p1 -b .os2~
     74
     75%build
     76rm -fr obj-%{gcc_target_platform}
     77mkdir obj-%{gcc_target_platform}
     78cd obj-%{gcc_target_platform}
     79
     80script_dir=%{_topdir}/BUILD/%{name}-%{version}/obj-%{gcc_target_platform}
     81export PATH="$script_dir/gcc${PATH:+;$PATH}"
     82export BEGINLIBPATH="$script_dir/gcc${BEGINLIBPATH:+;$BEGINLIBPATH}"
     83
     84export CONFIG_SHELL=/@unixroot/usr/bin/sh.exe;
     85export AR=ar;
     86export AWK=awk;
     87export CFLAGS="-g -O2 -DEMX -DOS2"
     88export CXXFLAGS="-g -O2 -DEMX -DOS2"
     89export LDFLAGS="-g -Zexe -Zomf -Zmap -Zargs-wild -Zhigh-mem"
     90export LANG="";
     91../configure --prefix=%{_prefix} \
     92    --with-sysroot=/@unixroot \
     93    --enable-shared \
     94    --enable-languages=c,c++ \
     95    --with-gnu-as \
     96    --disable-bootstrap \
     97    --disable-multilib \
     98    --disable-libstdcxx-pch \
     99    --enable-threads \
     100   "--cache-file=%{_topdir}/cache/%{name}-%{_target_cpu}.cache"
     101
     102make %{?_smp_mflags}
    66103
    67104%install
    68105rm -rf $RPM_BUILD_ROOT
    69 mkdir -p %{buildroot}%{_usr}
    70 cp -p -r usr/local444/* %{buildroot}%{_usr}/
    71 
    72 mkdir -p %{buildroot}/%_docdir/%{name}-%{version}
    73 cp -p COPYING %{buildroot}%_docdir/%{name}-%{version}/
    74 cp -p COPYING.LGPL %{buildroot}%_docdir/%{name}-%{version}/
    75 
    76 #cp ssp* %{buildroot}%{_libdir}
    77 #rm %{buildroot}%{_libdir}/ssp*.lib
    78 #rm %{buildroot}%{_libdir}/ssp*.dll
    79 
    80 mv %{buildroot}%{_usr}/gcc444.cmd $RPM_BUILD_ROOT%_docdir/%{name}-%{version}/
    81 mv %{buildroot}%{_usr}/readme.os2 $RPM_BUILD_ROOT%_docdir/%{name}-%{version}/
    82 mv %{buildroot}%{_usr}/stdio.diff $RPM_BUILD_ROOT%_docdir/%{name}-%{version}/
    83 
    84 ln -s /@unixroot/usr/libexec/gcc/i386-pc-os2-emx/4.4.4/cc1.exe %{buildroot}%{_bindir}/cc1.exe
    85 ln -s /@unixroot/usr/libexec/gcc/i386-pc-os2-emx/4.4.4/cc1plus.exe %{buildroot}%{_bindir}/cc1plus.exe
     106
     107cd obj-%{gcc_target_platform}
     108
     109# There are some MP bugs in libstdc++ Makefiles
     110#make -C %{gcc_target_platform}/libstdc++-v3
     111
     112#make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
     113#  infodir=%{buildroot}%{_infodir} install
     114
     115make DESTDIR=${RPM_BUILD_ROOT} install
     116
     117#build dll
     118dllar -o stdcpp.dll i386-pc-os2-emx/libstdc++-v3/src/.libs/stdc++.a \
     119        -d "GNU stdc++ %{gcc_version}" \
     120        -nolxlite -flags "-Zmap -Zhigh-mem -Zomf -g" \
     121        -ex "___main ___do_global_* ___ctordtor* ___eh* ___pop* _DLL_InitTerm" \
     122        -libf "INITINSTANCE TERMINSTANCE" \
     123        -libd "DATA MULTIPLE"
     124cp -p stdcpp.dll %{buildroot}%{_libdir}
     125cp -p stdcpp.a %{buildroot}%{_libdir}/stdc++.a
     126cp -p stdcpp.lib %{buildroot}%{_libdir}/stdc++.lib
     127mv %{buildroot}%{_libdir}/stdc++.a %{buildroot}%{_libdir}/stdc++_s.a
     128
     129#build dll
     130dllar -o supcpp.dll i386-pc-os2-emx/libstdc++-v3/libsupc++/.libs/supc++.a \
     131        -d "GNU supc++ %{gcc_version}" \
     132        -nolxlite -flags "-Zmap -Zhigh-mem -Zomf -g" \
     133        -ex "___main ___do_global_* ___ctordtor* ___eh* ___pop* _DLL_InitTerm" \
     134        -libf "INITINSTANCE TERMINSTANCE" \
     135        -libd "DATA MULTIPLE"
     136cp -p supcpp.dll %{buildroot}%{_libdir}
     137cp -p supcpp.a %{buildroot}%{_libdir}/supc++.a
     138cp -p supcpp.lib %{buildroot}%{_libdir}/supc++.lib
     139mv %{buildroot}%{_libdir}/supc++.a %{buildroot}%{_libdir}/supc++_s.a
     140
     141#build dll
     142dllar -o ssp.dll i386-pc-os2-emx/libssp/.libs/ssp.a \
     143        -d "GNU Stack Protector %{gcc_version}" \
     144        -nolxlite -flags "-Zmap -Zhigh-mem -Zomf -g" \
     145        -ex "___main ___do_global_* ___ctordtor* ___eh* ___pop* _DLL_InitTerm" \
     146        -libf "INITINSTANCE TERMINSTANCE" \
     147        -libd "DATA MULTIPLE"
     148cp -p ssp.dll %{buildroot}%{_libdir}
     149cp -p ssp.a %{buildroot}%{_libdir}
     150cp -p ssp.lib %{buildroot}%{_libdir}
     151mv %{buildroot}%{_libdir}/ssp.a %{buildroot}%{_libdir}/ssp_s.a
     152
     153cd ..
     154
     155echo dummy for virtual package > gcc-wrc.txt
     156echo dummy for virtual package > gcc-wlink.txt
     157
     158#mkdir -p %{buildroot}%{_usr}
     159
     160rm %{buildroot}%{_libdir}/*.la
     161
     162#mv %{buildroot}%{_usr}/readme.os2 $RPM_BUILD_ROOT%_docdir/%{name}-%{version}/
     163
     164ln -s /@unixroot/usr/libexec/gcc/i386-pc-os2-emx/%{version}/cc1.exe %{buildroot}%{_bindir}/cc1.exe
     165ln -s /@unixroot/usr/libexec/gcc/i386-pc-os2-emx/%{version}/cc1plus.exe %{buildroot}%{_bindir}/cc1plus.exe
    86166
    87167#yd fix attributes for executables
     
    129209%{_usr}/info
    130210%{_libdir}/*.*a
     211%{_libdir}/*.lib
     212%{_libdir}/*.dll
     213%exclude %{_libdir}/ssp.dll
     214%exclude %{_libdir}/gcc*.dll
    131215%{_libdir}/*.spec
    132216%{_libdir}/gcc/*
     
    145229%doc gcc-wrc.txt
    146230
    147 %files -n libgcc444
     231%files -n libgcc446
    148232%defattr(-,root,root,-)
    149 %{_libdir}/gcc444.dll
    150 %doc %{_datadir}/doc/*
     233%{_libdir}/gcc446.dll
     234#%doc %{_datadir}/doc/*
    151235
    152236%changelog
     237* Fri Dec 9 2011 yd
     238- updated source code to 4.4.6, github tree
Note: See TracChangeset for help on using the changeset viewer.