Last active
August 3, 2018 10:33
-
-
Save avinash-palleti/9ed617b3841904d9b137d897ca94ed5e to your computer and use it in GitHub Desktop.
Working one
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| %define keepstatic 1 | |
| %define gcc_target x86_64-generic-linux | |
| %define libstdcxx_maj 6 | |
| %define libstdcxx_full 6.0.25 | |
| %define isl_version 0.16.1 | |
| %define gccver 7.3.0 | |
| %define gccpath gcc-7.3.0 | |
| # | |
| # debug_package must be set to %{nil} for functional reasons | |
| # removing this breaks the crt* files for correctness | |
| # | |
| %define debug_package %{nil} | |
| Name : gcc | |
| Version : 7.3.0 | |
| Release : 119 | |
| URL : http://www.gnu.org/software/gcc/ | |
| Source0 : https://mirrors.kernel.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz | |
| Source1 : https://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2 | |
| Summary : GNU cc and gcc C compilers | |
| Group : Development/Tools | |
| License : BSD-3-Clause BSL-1.0 GFDL-1.2 GFDL-1.3 GPL-2.0 GPL-3.0 LGPL-2.1 LGPL-3.0 MIT | |
| BuildRequires : bison | |
| BuildRequires : flex | |
| BuildRequires : gmp-dev | |
| BuildRequires : libstdc++ | |
| BuildRequires : libunwind-dev | |
| BuildRequires : mpc-dev | |
| BuildRequires : mpfr-dev | |
| BuildRequires : pkgconfig(zlib) | |
| BuildRequires : sed | |
| BuildRequires : texinfo | |
| BuildRequires : dejagnu | |
| BuildRequires : expect | |
| BuildRequires : autogen | |
| BuildRequires : guile | |
| BuildRequires : tcl | |
| BuildRequires : valgrind-dev | |
| BuildRequires : libxml2-dev | |
| BuildRequires : libxslt | |
| BuildRequires : graphviz | |
| BuildRequires : gdb-dev | |
| BuildRequires : procps-ng | |
| BuildRequires : glibc-libc32 | |
| BuildRequires : glibc-dev32 | |
| BuildRequires : docbook-xml docbook-utils doxygen | |
| Requires: gcc-libubsan | |
| Requires: gcc-doc | |
| Provides: gcc-symlinks | |
| Provides: cpp | |
| Provides: cpp-symlinks | |
| Provides: gcov | |
| Provides: gfortran-symlinks | |
| Provides: g77 | |
| Provides: g77-symlinks | |
| Provides: g++-symlinks | |
| Provides: g++ | |
| Provides: gfortran | |
| %description | |
| GNU cc and gcc C compilers. | |
| %prep | |
| %setup -q -n %{gccpath} | |
| %build | |
| # Live in the gcc source tree | |
| tar xf %{SOURCE1} && ln -sf isl-%{isl_version} isl | |
| rm -rf ../gcc-build | |
| mkdir ../gcc-build | |
| pushd ../gcc-build | |
| unset CFLAGS | |
| unset CXXFLAGS | |
| export CFLAGS="-g1 -O3 -fstack-protector -Wl,-z -Wl,now -Wl,-z -Wl,relro -Wl,-z,max-page-size=0x1000 " | |
| export CXXFLAGS="-g1 -O3 -Wl,-z,max-page-size=0x1000 " | |
| export CFLAGS_FOR_TARGET="$CFLAGS" | |
| export CXXFLAGS_FOR_TARGET="$CXXFLAGS" | |
| export FFLAGS_FOR_TARGET="$FFLAGS" | |
| export CPATH=/usr/include | |
| export LIBRARY_PATH=/usr/lib64 | |
| ../%{gccpath}/configure \ | |
| --prefix=/opt \ | |
| --with-pkgversion='FuSa Clear Linux OS for Intel Architecture'\ | |
| --libdir=/opt/lib64 \ | |
| --libexecdir=/opt/lib64 \ | |
| --with-system-zlib\ | |
| --enable-shared\ | |
| --enable-clocale=gnu\ | |
| --enable-multilib\ | |
| --build=%{gcc_target}\ | |
| --target=%{gcc_target}\ | |
| --enable-languages="c" \ | |
| --enable-bootstrap \ | |
| --includedir=/opt/include \ | |
| --with-gxx-include-dir=/opt/include/c++/ \ | |
| --exec-prefix=/opt \ | |
| --with-glibc-version=2.19 | |
| make %{?_smp_mflags} profiledbootstrap | |
| popd | |
| #%check | |
| #pushd ../gcc-build | |
| #export CHECK_TEST_FRAMEWORK=1 | |
| #make -k %{?_smp_mflags} check || : | |
| #popd | |
| %install | |
| export CPATH=/opt/include | |
| export LIBRARY_PATH=/opt/lib64 | |
| pushd ../gcc-build | |
| %make_install | |
| cd - | |
| cd %{buildroot}/opt/bin | |
| if [ -e %{gcc_target}-g77 ]; then | |
| ln -sf %{gcc_target}-g77 g77 || true | |
| ln -sf g77 f77 || true | |
| fi | |
| if [ -e x86_64-generic-linux-gfortran ]; then | |
| ln -sf %{gcc_target}-gfortran gfortran || true | |
| ln -sf gfortran f95 || true | |
| fi | |
| ln -sf %{gcc_target}-g++ g++ | |
| ln -sf %{gcc_target}-gcc gcc | |
| #ln -sf %{gcc_target}-cpp cpp | |
| install -d %{buildroot}/lib | |
| ln -sf /opt/bin/cpp %{buildroot}/lib/cpp | |
| ln -sf g++ c++ | |
| ln -sf gcc cc | |
| cd - | |
| find %{buildroot}/opt/ -name libiberty.a | xargs rm -f | |
| find %{buildroot}/opt/ -name libiberty.h | xargs rm -f | |
| chmod 0755 %{buildroot}/opt/lib64/libgcc_s.so.1 | |
| chmod 0755 %{buildroot}/opt/lib32/libgcc_s.so.1 | |
| chmod a+x %{buildroot}/opt/bin | |
| chmod a+x %{buildroot}/opt/lib64 | |
| chmod -R a+x %{buildroot}/opt/lib*/gcc/ | |
| # clang compat (maxdepth as we don't need/want 32bit compat here for now) | |
| (cd %{buildroot}/opt/lib64 && ln -s -t . gcc/x86_64-generic-linux/*/*.[ao]) | |
| %find_lang cpplib cpp.lang | |
| %find_lang gcc tmp.lang | |
| %find_lang libstdc++ cxx.lang | |
| cat *.lang > gcc.lang | |
| %files | |
| /opt/bin/%{gcc_target}-gcc-ar | |
| /opt/bin/%{gcc_target}-gcc-ranlib | |
| /opt/bin/%{gcc_target}-gcc-nm | |
| /opt/bin/%{gcc_target}-gcc | |
| /opt/bin/%{gcc_target}-c++ | |
| /opt/bin/%{gcc_target}-gcc-%{gccver} | |
| /opt/bin/gcc | |
| /opt/bin/cc | |
| /opt/bin/gcc-ar | |
| /opt/bin/gcc-nm | |
| /opt/bin/gcc-ranlib | |
| /opt/bin/gcov | |
| /opt/bin/gcov-tool | |
| /lib/cpp | |
| /opt/bin/cpp | |
| #/opt/lib64/libvtv* | |
| /opt/lib64/libcc1* | |
| /opt/share/gcc-%{gccver} | |
| /opt/lib64/*.a | |
| /opt/lib64/*.o | |
| #g++ | |
| /opt/bin/%{gcc_target}-g++ | |
| /opt/bin/c++ | |
| /opt/bin/g++ | |
| # gcc-dev | |
| /opt/lib64/gcc/%{gcc_target}/%{gccver}/liblto_plugin.so | |
| /opt/lib64/gcc/%{gcc_target}/%{gccver}/plugin/*.so | |
| /opt/bin/gcov-dump | |
| /opt/include/c++ | |
| /opt/lib32/libasan.a | |
| /opt/lib32/libasan.so | |
| /opt/lib32/libasan.so.4 | |
| /opt/lib32/libasan.so.4.0.0 | |
| /opt/lib32/libasan_preinit.o | |
| /opt/lib32/libatomic.a | |
| /opt/lib32/libatomic.so | |
| /opt/lib32/libatomic.so.1 | |
| /opt/lib32/libatomic.so.1.2.0 | |
| /opt/lib32/libcilkrts.a | |
| /opt/lib32/libcilkrts.so | |
| /opt/lib32/libcilkrts.so.5 | |
| /opt/lib32/libcilkrts.so.5.0.0 | |
| /opt/lib32/libcilkrts.spec | |
| /opt/lib32/libgcc_s.so | |
| /opt/lib32/libgcc_s.so.1 | |
| /opt/lib32/libgomp.a | |
| /opt/lib32/libgomp.so | |
| /opt/lib32/libgomp.so.1 | |
| /opt/lib32/libgomp.so.1.0.0 | |
| /opt/lib32/libgomp.spec | |
| /opt/lib32/libitm.a | |
| /opt/lib32/libitm.so | |
| /opt/lib32/libitm.so.1 | |
| /opt/lib32/libitm.so.1.0.0 | |
| /opt/lib32/libitm.spec | |
| /opt/lib32/libmpx.a | |
| /opt/lib32/libmpx.so | |
| /opt/lib32/libmpx.so.2 | |
| /opt/lib32/libmpx.so.2.0.1 | |
| /opt/lib32/libmpx.spec | |
| /opt/lib32/libmpxwrappers.a | |
| /opt/lib32/libmpxwrappers.so | |
| /opt/lib32/libmpxwrappers.so.2 | |
| /opt/lib32/libmpxwrappers.so.2.0.1 | |
| /opt/lib32/libquadmath.a | |
| /opt/lib32/libquadmath.so | |
| /opt/lib32/libquadmath.so.0 | |
| /opt/lib32/libquadmath.so.0.0.0 | |
| /opt/lib32/libsanitizer.spec | |
| /opt/lib32/libssp.a | |
| /opt/lib32/libssp.so | |
| /opt/lib32/libssp.so.0 | |
| /opt/lib32/libssp.so.0.0.0 | |
| /opt/lib32/libssp_nonshared.a | |
| /opt/lib32/libstdc++.a | |
| /opt/lib32/libstdc++.so | |
| /opt/lib32/libstdc++.so.6 | |
| /opt/lib32/libstdc++.so.6.0.24 | |
| /opt/lib32/libstdc++.so.6.0.24-gdb.py | |
| /opt/lib32/libstdc++fs.a | |
| /opt/lib32/libsupc++.a | |
| /opt/lib32/libubsan.a | |
| /opt/lib32/libubsan.so | |
| /opt/lib32/libubsan.so.0 | |
| /opt/lib32/libubsan.so.0.0.0 | |
| /opt/lib64/gcc | |
| /opt/lib64/libasan.so | |
| /opt/lib64/libasan.so.4 | |
| /opt/lib64/libasan.so.4.0.0 | |
| /opt/lib64/libatomic.so | |
| /opt/lib64/libatomic.so.1 | |
| /opt/lib64/libatomic.so.1.2.0 | |
| /opt/lib64/libcilkrts.so | |
| /opt/lib64/libcilkrts.so.5 | |
| /opt/lib64/libcilkrts.so.5.0.0 | |
| /opt/lib64/libcilkrts.spec | |
| /opt/lib64/libgcc_s.so | |
| /opt/lib64/libgcc_s.so.1 | |
| /opt/lib64/libgomp.so | |
| /opt/lib64/libgomp.so.1 | |
| /opt/lib64/libgomp.so.1.0.0 | |
| /opt/lib64/libgomp.spec | |
| /opt/lib64/libitm.so | |
| /opt/lib64/libitm.so.1 | |
| /opt/lib64/libitm.so.1.0.0 | |
| /opt/lib64/libitm.spec | |
| /opt/lib64/liblsan.so | |
| /opt/lib64/liblsan.so.0 | |
| /opt/lib64/liblsan.so.0.0.0 | |
| /opt/lib64/libmpx.so | |
| /opt/lib64/libmpx.so.2 | |
| /opt/lib64/libmpx.so.2.0.1 | |
| /opt/lib64/libmpx.spec | |
| /opt/lib64/libmpxwrappers.so | |
| /opt/lib64/libmpxwrappers.so.2 | |
| /opt/lib64/libmpxwrappers.so.2.0.1 | |
| /opt/lib64/libquadmath.so | |
| /opt/lib64/libquadmath.so.0 | |
| /opt/lib64/libquadmath.so.0.0.0 | |
| /opt/lib64/libsanitizer.spec | |
| /opt/lib64/libssp.so | |
| /opt/lib64/libssp.so.0 | |
| /opt/lib64/libssp.so.0.0.0 | |
| /opt/lib64/libstdc++.so | |
| /opt/lib64/libstdc++.so.6 | |
| /opt/lib64/libstdc++.so.6.0.24 | |
| /opt/lib64/libstdc++.so.6.0.24-gdb.py | |
| /opt/lib64/libtsan.so | |
| /opt/lib64/libtsan.so.0 | |
| /opt/lib64/libtsan.so.0.0.0 | |
| /opt/lib64/libubsan.so | |
| /opt/lib64/libubsan.so.0 | |
| /opt/lib64/libubsan.so.0.0.0 | |
| /opt/share/info/cpp.info | |
| /opt/share/info/cppinternals.info | |
| /opt/share/info/gcc.info | |
| /opt/share/info/gccinstall.info | |
| /opt/share/info/gccint.info | |
| /opt/share/info/libgomp.info | |
| /opt/share/info/libitm.info | |
| /opt/share/info/libquadmath.info | |
| /opt/share/info/dir | |
| /opt/share/locale/be/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/be/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/ca/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/da/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/da/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/de/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/de/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/de/LC_MESSAGES/libstdc++.mo | |
| /opt/share/locale/el/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/el/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/eo/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/es/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/es/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/fi/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/fi/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/fr/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/fr/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/fr/LC_MESSAGES/libstdc++.mo | |
| /opt/share/locale/hr/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/id/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/id/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/ja/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/ja/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/nl/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/nl/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/pt_BR/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/ru/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/ru/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/sr/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/sr/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/sv/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/sv/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/tr/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/tr/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/uk/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/uk/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/vi/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/vi/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/zh_CN/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/zh_CN/LC_MESSAGES/gcc.mo | |
| /opt/share/locale/zh_TW/LC_MESSAGES/cpplib.mo | |
| /opt/share/locale/zh_TW/LC_MESSAGES/gcc.mo | |
| /opt/share/man/man1/cpp.1 | |
| /opt/share/man/man1/g++.1 | |
| /opt/share/man/man1/gcc.1 | |
| /opt/share/man/man1/gcov-dump.1 | |
| /opt/share/man/man1/gcov-tool.1 | |
| /opt/share/man/man1/gcov.1 | |
| /opt/share/man/man7/fsf-funding.7 | |
| /opt/share/man/man7/gfdl.7 | |
| /opt/share/man/man7/gpl.7 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment