Ignore:
Timestamp:
Feb 24, 2014, 11:54:06 AM (11 years ago)
Author:
Yuri Dario
Message:

spec: gcc4, renamed stdc++, update to 4.7.3.

File:
1 edited

Legend:

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

    r357 r370  
    1 %global gcc_version 4.4.6
     1%define ver_major   4
     2%define ver_minor   7
     3%define ver_patch   3
     4
     5%define os2_release 1
     6
     7%define rpm_release 1
     8
     9%global gcc_version %{ver_major}.%{ver_minor}.%{ver_patch}
    210%global gcc_target_platform %{_target_cpu}
    311
     
    1321Summary: Various compilers (C, C++, Objective-C, Java, ...)
    1422Name: gcc
    15 Version: %{gcc_version}.17
    16 Release: 1%{?dist}
     23Version: %{gcc_version}.%{os2_release}
     24Release: %{rpm_release}%{?dist}
    1725
    1826# libgcc, libgfortran, libmudflap, libgomp, libstdc++ and crtstuff have
     
    2230URL: http://gcc.gnu.org
    2331
    24 Source0: gcc-os2-b41a22fed042051d238a596cdf40d6a5aa991391.tar.bz2
     32Source0: gcc-gcc-4_7-branch-os2.zip
    2533Patch0: gcc-os2.diff
    2634
     
    3038BuildRequires: os2-base-fhs
    3139BuildRequires: ash gcc gcc-wlink gcc-wrc grep gettext-devel diffutils gawk flex sed
    32 BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1
    33 
    34 Requires: libgcc446 = %{version}-%{release}
     40BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1, mpc-devel
     41
     42Requires: libgcc%{ver_major}%{ver_minor}%{ver_patch} = %{version}-%{release}
    3543Requires: libssp = %{version}-%{release}
    36 Requires: libstdc++ = %{version}-%{release}
    37 Requires: libsupc++ = %{version}-%{release}
     44Requires: libstdc++6 = %{version}-%{release}
     45Requires: libsupc++6 = %{version}-%{release}
    3846Requires: libc-devel >= 0.6.3
    3947Requires: binutils
    4048
    4149%description
    42 The gcc package contains the GNU Compiler Collection version 4.4.
     50The gcc package contains the GNU Compiler Collection version %{ver_major}.%{ver_minor}.
    4351You'll need this package in order to compile C code.
    4452
    45 %package -n libgcc446
    46 Summary: GCC version 4.4 shared support library
     53%package -n libgcc%{ver_major}%{ver_minor}%{ver_patch}
     54Summary: GCC version %{ver_major}.%{ver_minor} shared support library
    4755Group: System Environment/Libraries
    4856Autoreq: false
    4957
    50 %description -n libgcc446
     58%description -n libgcc%{ver_major}%{ver_minor}%{ver_patch}
    5159This package contains GCC shared support library which is needed
    5260e.g. for exception handling support.
     
    6169for stack protector.
    6270
    63 %package -n libstdc++
     71%package -n libstdc++6
    6472Summary: GNU Standard C++ Library v3
    6573Group: System Environment/Libraries
    66 Obsoletes: gcc-stdc++-shared-library
    67 
    68 %description -n libstdc++
     74
     75%description -n libstdc++6
    6976This package contains GNU Standard C++ Library v3 shared library.
    7077
    71 %package -n libsupc++
     78%package -n libsupc++6
    7279Summary: GNU Standard C++ Library v3 subset
    7380Group: System Environment/Libraries
    74 Obsoletes: gcc-supc++-shared-library
    75 
    76 %description -n libsupc++
     81
     82%description -n libsupc++6
    7783This package contains GNU Standard C++ Library v3 subset shared library.
    7884
     
    112118export CXXFLAGS="$RPM_OPT_FLAGS -DEMX -DOS2"
    113119export LDFLAGS="-g -Zexe -Zomf -Zmap -Zargs-wild -Zhigh-mem"
    114 export LANG=C
     120export LANG=en_US
     121export GREP=grep
    115122
    116123../configure --prefix=%{_prefix} \
     
    122129    --disable-multilib \
    123130    --disable-libstdcxx-pch \
    124     --enable-threads \
    125    "--cache-file=%{_topdir}/cache/%{name}-%{_target_cpu}.cache"
    126 
    127 make %{?_smp_mflags}
     131    --enable-threads
     132
     133make
     134# %{?_smp_mflags}
     135
    128136
    129137%install
     
    140148make DESTDIR=${RPM_BUILD_ROOT} install
    141149
     150# copy runtime files
     151emxomf -o i386-pc-os2-emx/libgcc/libgcc_so_d.lib i386-pc-os2-emx/libgcc/libgcc_so_d.a
     152cp -p i386-pc-os2-emx/libgcc/libgcc_so_d.a %{buildroot}%{_libdir}
     153cp -p i386-pc-os2-emx/libgcc/libgcc_so_d.lib %{buildroot}%{_libdir}
     154cp -p i386-pc-os2-emx/libgcc/gcc%{ver_major}%{ver_minor}%{ver_patch}.dll %{buildroot}%{_libdir}
     155
    142156#build dll
    143 dllar -o stdcpp.dll i386-pc-os2-emx/libstdc++-v3/src/.libs/libstdc++.a \
     157dllar -o stdcpp6.dll i386-pc-os2-emx/libstdc++-v3/src/.libs/libstdc++.a \
    144158        -d "GNU stdc++ %{gcc_version}" \
    145         -nolxlite -flags "-Zmap -Zhigh-mem -Zomf -g" \
     159        -nolxlite -flags "-Zmap -Zhigh-mem -Zomf -g -L%{buildroot}%{_libdir}" \
    146160        -ex "___main ___do_global_* ___ctordtor* ___eh* ___pop* _DLL_InitTerm" \
    147161        -libf "INITINSTANCE TERMINSTANCE" \
    148162        -libd "DATA MULTIPLE"
    149 cp -p stdcpp.dll %{buildroot}%{_libdir}
    150 cp -p stdcpp.a %{buildroot}%{_libdir}/stdc++.a
    151 cp -p stdcpp.lib %{buildroot}%{_libdir}/stdc++.lib
    152 mv %{buildroot}%{_libdir}/stdc++.a %{buildroot}%{_libdir}/stdc++_s.a
     163cp -p stdcpp6.dll %{buildroot}%{_libdir}
     164cp -p stdcpp6.a %{buildroot}%{_libdir}/stdc++.a
     165cp -p stdcpp6.lib %{buildroot}%{_libdir}/stdc++.lib
     166mv %{buildroot}%{_libdir}/libstdc++.a %{buildroot}%{_libdir}/stdc++_s.a
    153167
    154168#build dll
    155 dllar -o supcpp.dll i386-pc-os2-emx/libstdc++-v3/libsupc++/.libs/libsupc++.a \
     169dllar -o supcpp6.dll i386-pc-os2-emx/libstdc++-v3/libsupc++/.libs/libsupc++.a \
    156170        -d "GNU supc++ %{gcc_version}" \
    157         -nolxlite -flags "-Zmap -Zhigh-mem -Zomf -g" \
     171        -nolxlite -flags "-Zmap -Zhigh-mem -Zomf -g -L%{buildroot}%{_libdir}" \
    158172        -ex "___main ___do_global_* ___ctordtor* ___eh* ___pop* _DLL_InitTerm" \
    159173        -libf "INITINSTANCE TERMINSTANCE" \
    160174        -libd "DATA MULTIPLE"
    161 cp -p supcpp.dll %{buildroot}%{_libdir}
    162 cp -p supcpp.a %{buildroot}%{_libdir}/supc++.a
    163 cp -p supcpp.lib %{buildroot}%{_libdir}/supc++.lib
    164 mv %{buildroot}%{_libdir}/supc++.a %{buildroot}%{_libdir}/supc++_s.a
     175cp -p supcpp6.dll %{buildroot}%{_libdir}
     176cp -p supcpp6.a %{buildroot}%{_libdir}/supc++.a
     177cp -p supcpp6.lib %{buildroot}%{_libdir}/supc++.lib
     178mv %{buildroot}%{_libdir}/libsupc++.a %{buildroot}%{_libdir}/supc++_s.a
    165179
    166180#build dll
    167181dllar -o ssp.dll i386-pc-os2-emx/libssp/.libs/ssp.a \
    168182        -d "GNU Stack Protector %{gcc_version}" \
    169         -nolxlite -flags "-Zmap -Zhigh-mem -Zomf -g" \
     183        -nolxlite -flags "-Zmap -Zhigh-mem -Zomf -g -L%{buildroot}%{_libdir}" \
    170184        -ex "___main ___do_global_* ___ctordtor* ___eh* ___pop* _DLL_InitTerm" \
    171185        -libf "INITINSTANCE TERMINSTANCE" \
     
    184198
    185199rm %{buildroot}%{_libdir}/*.la
     200rm %{buildroot}%{_libdir}/*.py
    186201
    187202ln -s ./cc1.exe %{buildroot}%{_libexecdir}/gcc/i386-pc-os2-emx/%{gcc_version}/cc1
     
    230245%{_usr}/bin
    231246%{_usr}/include
    232 %{_usr}/info
    233247%{_libdir}/*.*a
    234248%{_libdir}/*.lib
    235 %{_libdir}/*.dll
    236249%exclude %{_libdir}/*.dll
    237250%{_libdir}/*.spec
    238251%{_libdir}/gcc/*
    239252%{_usr}/libexec
    240 %{_usr}/man
    241253%{_usr}/share
    242254%doc ChangeLog ChangeLog.*
     
    249261%{_libdir}/ssp.dll
    250262
    251 %files -n libstdc++
    252 %defattr(-,root,root,-)
    253 %{_libdir}/stdcpp.dll
    254 
    255 %files -n libsupc++
    256 %defattr(-,root,root,-)
    257 %{_libdir}/supcpp.dll
     263%files -n libstdc++6
     264%defattr(-,root,root,-)
     265%{_libdir}/stdcp*.dll
     266
     267%files -n libsupc++6
     268%defattr(-,root,root,-)
     269%{_libdir}/supcp*.dll
    258270
    259271%files wlink
     
    263275%doc gcc-wrc.txt
    264276
    265 %files -n libgcc446
    266 %defattr(-,root,root,-)
    267 %{_libdir}/gcc446.dll
    268 #%doc %{_datadir}/doc/*
     277%files -n libgcc%{ver_major}%{ver_minor}%{ver_patch}
     278%defattr(-,root,root,-)
     279%{_libdir}/gcc%{ver_major}%{ver_minor}%{ver_patch}.dll
     280
    269281
    270282%changelog
     283* Wed Nov 27 2013 yd
     284- Rename the following packages to avoid ABI breaks (using gcc versioning policy):
     285  + libstdc++ => libstdc++6
     286  + libsupc++ => libsupc++6
     287- updated source code to gcc 4.7.3.
    271288
    272289* Mon Jul 25 2013 Dmitriy Kuminov <coding@dmik.org> - 4.4.6.17-1
Note: See TracChangeset for help on using the changeset viewer.