Advertisement
Guest User

Untitled

a guest
May 1st, 2012
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 50.69 KB | None | 0 0
  1. # Combined gcc / cross-armv*-gcc(-accel) specfile
  2. Name: gcc
  3. # Keep Name on top !
  4.  
  5. # crossbuild / accelerator section
  6. # \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
  7. %define crossbuild 0
  8. %define accelerator_crossbuild 0
  9. %if "%{name}" != "gcc"
  10. # this is the ix86 -> arm cross compiler (cross-armv*-gcc)
  11. #
  12. # cross arch retrieval
  13. %define crossarch %(echo %{name} | sed -e "s/cross-\\(.*\\)-gcc/\\1/")
  14. # We set requires/provides by hand and disable post-build-checks.
  15. # Captain Trunk: Sledge, you cannot disarm that nuclear bomb!
  16. # Sledge Hammer: Trust me, I know what I'm doing.
  17. AutoReqProv: 0
  18. AutoReq: false
  19. BuildRequires: -rpmlint-Moblin -rpmlint-mini -post-build-checks
  20. # cross platform
  21. %if "%{name}" != "cross-mipsel-gcc"
  22. %define cross_gcc_target_platform %{crossarch}-%{_vendor}-linux-gnueabi
  23. %else
  24. %define cross_gcc_target_platform %{crossarch}-%{_vendor}-linux-gnu
  25. %endif
  26. # gcc_target_platform holds the host (executing the compiler)
  27. # cross_gcc_target_platform holds the target (for which the compiler is producing binaries)
  28. # prefix for cross compiler
  29. %define _prefix /opt/cross
  30. # strip of 'foreign arch' symbols fails
  31. %define __strip /bin/true
  32. # sysroot for cross-compiler
  33. %define crosssysroot %{_prefix}/%{cross_gcc_target_platform}/sys-root
  34. # flag
  35. %define crossbuild 1
  36. # macros in buildrequires is hard to expand for the scheduler (e.g. crossarch) which would make this easier.
  37. #BuildRequires: cross-%{crossarch}-glibc cross-%{crossarch}-glibc-devel cross-%{crossarch}-glibc-headers
  38. #BuildRequires: cross-%{crossarch}-kernel-headers cross-%{crossarch}-binutils
  39. # Fixme: find way to make this without listing every package
  40. %if "%{name}" == "cross-armv5tel-gcc"
  41. BuildRequires: cross-armv5tel-glibc cross-armv5tel-glibc-devel cross-armv5tel-glibc-headers
  42. BuildRequires: cross-armv5tel-kernel-headers cross-armv5tel-binutils
  43. %define crossextraconfig %{nil}
  44. %endif
  45. %if "%{name}" == "cross-armv6l-gcc"
  46. BuildRequires: cross-armv6l-glibc cross-armv6l-glibc-devel cross-armv6l-glibc-headers
  47. BuildRequires: cross-armv6l-kernel-headers cross-armv6l-binutils
  48. %define crossextraconfig --with-fpu=vfp --with-arch=armv6
  49. %endif
  50. %if "%{name}" == "cross-armv7l-gcc"
  51. BuildRequires: cross-armv7l-glibc cross-armv7l-glibc-devel cross-armv7l-glibc-headers
  52. BuildRequires: cross-armv7l-kernel-headers cross-armv7l-binutils
  53. %define crossextraconfig --with-fpu=vfpv3-d16 --with-arch=armv7-a
  54. %endif
  55. %if "%{name}" == "cross-armv7hl-gcc"
  56. BuildRequires: cross-armv7hl-glibc cross-armv7hl-glibc-devel cross-armv7hl-glibc-headers
  57. BuildRequires: cross-armv7hl-kernel-headers cross-armv7hl-binutils
  58. %define crossextraconfig --with-float=hard --with-fpu=vfpv3-d16 --with-arch=armv7-a
  59. %endif
  60. %if "%{name}" == "cross-armv7nhl-gcc"
  61. BuildRequires: cross-armv7nhl-glibc cross-armv7nhl-glibc-devel cross-armv7nhl-glibc-headers
  62. BuildRequires: cross-armv7nhl-kernel-headers cross-armv7nhl-binutils
  63. %define crossextraconfig --with-float=hard --with-fpu=neon --with-arch=armv7-a
  64. %endif
  65. %if "%{name}" == "cross-mipsel-gcc"
  66. BuildRequires: cross-mipsel-glibc cross-mipsel-glibc-devel cross-mipsel-glibc-headers
  67. BuildRequires: cross-mipsel-kernel-headers cross-mipsel-binutils
  68. %define crossextraconfig --disable-fixed-point --disable-ssp --disable-libstdcxx-pch --with-arch=mips32
  69. %endif
  70. # Fixme: see above
  71. %if "%{name}" == "cross-armv5tel-gcc-accel"
  72. BuildRequires: cross-armv5tel-glibc cross-armv5tel-glibc-devel cross-armv5tel-glibc-headers
  73. BuildRequires: cross-armv5tel-kernel-headers cross-armv5tel-binutils
  74. %define crossextraconfig %{nil}
  75. %endif
  76. %if "%{name}" == "cross-armv6l-gcc-accel"
  77. BuildRequires: cross-armv6l-glibc cross-armv6l-glibc-devel cross-armv6l-glibc-headers
  78. BuildRequires: cross-armv6l-kernel-headers cross-armv6l-binutils
  79. %define crossextraconfig --with-fpu=vfp --with-arch=armv6
  80. %endif
  81. %if "%{name}" == "cross-armv7l-gcc-accel"
  82. BuildRequires: cross-armv7l-glibc cross-armv7l-glibc-devel cross-armv7l-glibc-headers
  83. BuildRequires: cross-armv7l-kernel-headers cross-armv7l-binutils
  84. %define crossextraconfig --with-fpu=vfpv3-d16 --with-arch=armv7-a
  85. %endif
  86. %if "%{name}" == "cross-armv7hl-gcc-accel"
  87. BuildRequires: cross-armv7hl-glibc cross-armv7hl-glibc-devel cross-armv7hl-glibc-headers
  88. BuildRequires: cross-armv7hl-kernel-headers cross-armv7hl-binutils
  89. %define crossextraconfig --with-float=hard --with-fpu=vfpv3-d16 --with-arch=armv7-a
  90. %endif
  91. %if "%{name}" == "cross-armv7nhl-gcc-accel"
  92. BuildRequires: cross-armv7nhl-glibc cross-armv7nhl-glibc-devel cross-armv7nhl-glibc-headers
  93. BuildRequires: cross-armv7nhl-kernel-headers cross-armv7nhl-binutils
  94. %define crossextraconfig --with-float=hard --with-fpu=neon --with-arch=armv7-a
  95. %endif
  96. %if "%{name}" == "cross-mipsel-gcc-accel"
  97. BuildRequires: cross-mipsel-glibc cross-mipsel-glibc-devel cross-mipsel-glibc-headers
  98. BuildRequires: cross-mipsel-kernel-headers cross-mipsel-binutils
  99. %define crossextraconfig --disable-fixed-point --disable-ssp --disable-libstdcxx-pch --with-arch=mips32
  100. %endif
  101. # single target atm.
  102. ExclusiveArch: %ix86
  103. #
  104. # special handling for MeeGo ARM build acceleration
  105. # cross-armv*-gcc-accel
  106. %if "%(echo %{name} | sed -e "s/cross-.*-gcc-\\(.*\\)/\\1/")" == "accel"
  107. # cross architecture
  108. %define crossarch %(echo %{name} | sed -e "s/cross-\\(.*\\)-gcc-accel/\\1/")
  109. # cross target platform
  110. %define cross_gcc_target_platform %{crossarch}-%{_vendor}-linux-gnueabi
  111. # prefix - as it's going to "replace" the original compiler ...
  112. %define _prefix /usr
  113. # cross-build sets sysroot as default , we need to override this a bit
  114. %define crosssysroot /
  115. # where to find the libs during the build
  116. %define crossbuildsysroot /opt/cross/%{cross_gcc_target_platform}/sys-root
  117. # flags
  118. %define crossbuild 1
  119. %define accelerator_crossbuild 1
  120. # where to find the libs at runtime
  121. %define newrpath /emul/ia32-linux/lib:/emul/ia32-linux/usr/lib
  122. %define _build_name_fmt %%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.dontuse.rpm
  123. %endif
  124. # end special accel
  125. %endif
  126. # /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
  127. # end crossbuild / accelerator section
  128.  
  129. %global gcc_version 4.6.3
  130. %global gcc_release 1
  131. %global _unpackaged_files_terminate_build 0
  132. %global include_gappletviewer 0
  133. %if !%{crossbuild}
  134. %ifnarch mips mipsel
  135. %global build_cloog 1
  136. %else
  137. %global build_cloog 0
  138. %endif
  139. %else
  140. %global build_cloog 0
  141. %endif
  142. %global build_libstdcxx_docs 0
  143. %global multilib_64_archs x86_64
  144. %ifarch x86_64
  145. %global multilib_32_arch i686
  146. %endif
  147. %global build_64bit_multilib 0
  148. %ifarch %{ix86} x86_64
  149. %global build_libquadmath 1
  150. %else
  151. %global build_libquadmath 0
  152. %endif
  153.  
  154. Summary: Various compilers (C, C++, Objective-C, Java, ...)
  155. Version: %{gcc_version}
  156. Release: %{gcc_release}
  157. License: GPLv3+, GPLv3+ with exceptions and GPLv2+ with exceptions
  158. Group: Development/Languages
  159. URL: http://launchpad.net/gcc-linaro
  160. Source0: http://launchpad.net/gcc-linaro/4.6/4.6-2011.12/+download/gcc-linaro-4.6-2011.12.tar.bz2
  161. Source1: libgcc_post_upgrade.c
  162. Source2: README.libgcjwebplugin.so
  163. Source100: gcc-rpmlintrc
  164. Source200: baselibs.conf
  165. Source300: precheckin.sh
  166. Source301: aaa_README.PACKAGER
  167.  
  168. BuildRequires: binutils >= 2.22
  169. BuildRequires: glibc-static
  170. BuildRequires: zlib-devel, gettext, bison, flex, texinfo
  171. BuildRequires: mpc-devel
  172. BuildRequires: glibc-devel >= 2.4.90-13
  173. BuildRequires: elfutils-devel >= 0.72
  174.  
  175. %if %{build_cloog}
  176. BuildRequires: ppl >= 0.10, ppl-devel >= 0.10, cloog-ppl >= 0.15, cloog-ppl-devel >= 0.15
  177. %endif
  178.  
  179. %if %{build_libstdcxx_docs}
  180. BuildRequires: doxygen
  181. BuildRequires: graphviz
  182. %endif
  183.  
  184. %if !%{crossbuild}
  185. Requires: cpp = %{version}-%{release}
  186. Requires: libgcc >= %{version}-%{release}
  187. Requires: libgomp = %{version}-%{release}
  188. Requires: glibc-devel
  189. Requires: binutils >= 2.22
  190. %endif
  191.  
  192. %if !%{crossbuild}
  193.  
  194. %if %{build_cloog}
  195. Requires: cloog-ppl >= 0.15
  196. %endif
  197.  
  198. %if %{build_64bit_multilib}
  199. Requires: glibc64bit-helper
  200. %endif
  201.  
  202. Requires(post): /sbin/install-info
  203. Requires(preun): /sbin/install-info
  204. Obsoletes: gcc < %{version}-%{release}
  205. Obsoletes: gcc43
  206. AutoReq: true
  207. # /!crossbuild
  208. %endif
  209.  
  210. Patch0: gcc46-hack.patch
  211. Patch2: gcc46-c++-builtin-redecl.patch
  212. Patch4: gcc46-java-nomulti.patch
  213. Patch6: gcc46-pr33763.patch
  214. Patch7: gcc46-rh330771.patch
  215.  
  216. # REMOVED ATOM OPTIMIZATIONS
  217. #Patch8: gcc46-i386-libgomp.patch
  218.  
  219. Patch10: gcc46-libgomp-omp_h-multilib.patch
  220. Patch11: gcc46-libtool-no-rpath.patch
  221. Patch12: gcc46-cloog-dl.patch
  222. Patch14: gcc46-pr38757.patch
  223. Patch15: gcc46-libstdc++-docs.patch
  224. Patch18: gcc46-ppl-0.10.patch
  225. Patch19: gcc46-pr47858.patch
  226.  
  227. # REMOVED ATOM OPTIMIZATIONS:
  228. # Patch40: gcc46-use-atom.patch
  229.  
  230. Patch41: libgcc_post_upgrade.c.arm.patch
  231. Patch42: gcc46-libiberty-conftest.patch
  232. Patch43: gcc463-sync-upto-r182741.patch
  233. Patch44: gcc-hash-style-gnu.diff
  234. Patch45: gcc46-MIPS-boehm-gc-stack-qemu.patch
  235. Patch46: gcc-4.6.0-mips_fix-1.patch
  236.  
  237. Patch9999: gcc44-ARM-boehm-gc-stack-qemu.patch
  238.  
  239. #We need -gnueabi indicator for ARM
  240. %ifnarch %{arm}
  241. %global _gnu %{nil}
  242. %endif
  243. %global gcc_target_platform %{_target_platform}
  244.  
  245. %description
  246. The gcc package contains the GNU Compiler Collection version 4.6.
  247. You'll need this package in order to compile C code.
  248.  
  249. %package -n libgcc
  250. Summary: GCC version 4.6 shared support library
  251. Group: System Environment/Libraries
  252. Obsoletes: libgcc < %{version}-%{release}
  253. Obsoletes: libgcc43
  254. Autoreq: false
  255.  
  256. %description -n libgcc
  257. This package contains GCC shared support library which is needed
  258. e.g. for exception handling support.
  259.  
  260. %package c++
  261. Summary: C++ support for GCC
  262. Group: Development/Languages
  263. Requires: gcc = %{version}-%{release}
  264. Requires: libstdc++ = %{version}-%{release}
  265. Requires: libstdc++-devel = %{version}-%{release}
  266. Obsoletes: gcc-c++ < %{version}-%{release}
  267. Obsoletes: gcc43-c++
  268. Autoreq: true
  269.  
  270. %description c++
  271. This package adds C++ support to the GNU Compiler Collection.
  272. It includes support for most of the current C++ specification,
  273. including templates and exception handling.
  274.  
  275. %package -n libstdc++
  276. Summary: GNU Standard C++ Library
  277. Group: System Environment/Libraries
  278. Obsoletes: libstdc++ < %{version}-%{release}
  279. Obsoletes: libstdc++43
  280. Obsoletes: libstdc++6 < %{version}-%{release}
  281. Autoreq: true
  282. Requires: glibc
  283.  
  284. %description -n libstdc++
  285. The libstdc++ package contains a rewritten standard compliant GCC Standard
  286. C++ Library.
  287.  
  288. %package -n libstdc++-devel
  289. Summary: Header files and libraries for C++ development
  290. Group: Development/Libraries
  291. Requires: libstdc++ = %{version}-%{release}
  292. Obsoletes: libstdc++-devel < %{version}-%{release}
  293. Obsoletes: libstdc++43-devel
  294. Autoreq: true
  295.  
  296. %description -n libstdc++-devel
  297. This is the GNU implementation of the standard C++ libraries. This
  298. package includes the header files and libraries needed for C++
  299. development. This includes rewritten implementation of STL.
  300.  
  301. %package -n libstdc++-docs
  302. Summary: Documentation for the GNU standard C++ library
  303. Group: Development/Libraries
  304. Obsoletes: libstdc++-docs < %{version}-%{release}
  305. Obsoletes: libstdc++43-doc
  306. Autoreq: true
  307.  
  308. %description -n libstdc++-docs
  309. Manual, doxygen generated API information and Frequently Asked Questions
  310. for the GNU standard C++ library.
  311.  
  312. %package objc
  313. Summary: Objective-C support for GCC
  314. Group: Development/Languages
  315. Requires: gcc = %{version}-%{release}
  316. Requires: libobjc = %{version}-%{release}
  317. Obsoletes: gcc-objc < %{version}-%{release}
  318. Obsoletes: gcc43-objc
  319. Autoreq: true
  320.  
  321. %description objc
  322. gcc-objc provides Objective-C support for the GCC.
  323. Mainly used on systems running NeXTSTEP, Objective-C is an
  324. object-oriented derivative of the C language.
  325.  
  326. %package objc++
  327. Summary: Objective-C++ support for GCC
  328. Group: Development/Languages
  329. Requires: gcc-c++ = %{version}-%{release}, gcc-objc = %{version}-%{release}
  330. Obsoletes: gcc-objc++ < %{version}-%{release}
  331. Obsoletes: gcc43-obj-c++ gcc43-objc++
  332. Autoreq: true
  333.  
  334. %description objc++
  335. gcc-objc++ package provides Objective-C++ support for the GCC.
  336.  
  337. %package -n libobjc
  338. Summary: Objective-C runtime
  339. Group: System Environment/Libraries
  340. Obsoletes: libobjc < %{version}-%{release}
  341. Obsoletes: libobjc43
  342. Autoreq: true
  343.  
  344. %description -n libobjc
  345. This package contains Objective-C shared library which is needed to run
  346. Objective-C dynamically linked programs.
  347.  
  348.  
  349. %package -n libgomp
  350. Summary: GCC OpenMP v3.0 shared support library
  351. Group: System Environment/Libraries
  352. Requires(post): /sbin/install-info
  353. Requires(preun): /sbin/install-info
  354. Obsoletes: libgomp < %{version}-%{release}
  355. Obsoletes: libgomp43
  356.  
  357. %description -n libgomp
  358. This package contains GCC shared support library which is needed
  359. for OpenMP v3.0 support.
  360.  
  361. %package -n libmudflap
  362. Summary: GCC mudflap shared support library
  363. Group: System Environment/Libraries
  364.  
  365. %description -n libmudflap
  366. This package contains GCC shared support library which is needed
  367. for mudflap support.
  368.  
  369. %package -n libmudflap-devel
  370. Summary: GCC mudflap support
  371. Group: Development/Libraries
  372. Requires: libmudflap = %{version}-%{release}
  373. Requires: gcc = %{version}-%{release}
  374.  
  375. %description -n libmudflap-devel
  376. This package contains headers and static libraries for building
  377. mudflap-instrumented programs.
  378.  
  379. To instrument a non-threaded program, add -fmudflap
  380. option to GCC and when linking add -lmudflap, for threaded programs
  381. also add -fmudflapth and -lmudflapth.
  382.  
  383. %package -n libquadmath
  384. Summary: GCC __float128 shared support library
  385. Group: System Environment/Libraries
  386. Requires(post): /sbin/install-info
  387. Requires(preun): /sbin/install-info
  388.  
  389. %description -n libquadmath
  390. This package contains GCC shared support library which is needed
  391. for __float128 math support and for Fortran REAL*16 support.
  392.  
  393. %package -n libquadmath-devel
  394. Summary: GCC __float128 support
  395. Group: Development/Libraries
  396. Requires: libquadmath = %{version}-%{release}
  397. Requires: gcc = %{version}-%{release}
  398.  
  399. %description -n libquadmath-devel
  400. This package contains headers for building Fortran programs using
  401. REAL*16 and programs using __float128 math.
  402.  
  403. %package -n libquadmath-static
  404. Summary: Static libraries for __float128 support
  405. Group: Development/Libraries
  406. Requires: libquadmath-devel = %{version}-%{release}
  407.  
  408. %description -n libquadmath-static
  409. This package contains static libraries for building Fortran programs
  410. using REAL*16 and programs using __float128 math.
  411.  
  412. %package -n cpp
  413. Summary: The C Preprocessor
  414. Group: Development/Languages
  415. Requires(post): /sbin/install-info
  416. Requires(preun): /sbin/install-info
  417. Requires: mpc
  418. Obsoletes: cpp < %{version}-%{release}
  419. Obsoletes: cpp43
  420. Autoreq: true
  421.  
  422. %description -n cpp
  423. Cpp is the GNU C-Compatible Compiler Preprocessor.
  424. Cpp is a macro processor which is used automatically
  425. by the C compiler to transform your program before actual
  426. compilation. It is called a macro processor because it allows
  427. you to define macros, abbreviations for longer
  428. constructs.
  429.  
  430. The C preprocessor provides four separate functionalities: the
  431. inclusion of header files (files of declarations that can be
  432. substituted into your program); macro expansion (you can define macros,
  433. and the C preprocessor will replace the macros with their definitions
  434. throughout the program); conditional compilation (using special
  435. preprocessing directives, you can include or exclude parts of the
  436. program according to various conditions); and line control (if you use
  437. a program to combine or rearrange source files into an intermediate
  438. file which is then compiled, you can use line control to inform the
  439. compiler about where each source line originated).
  440.  
  441. You should install this package if you are a C programmer and you use
  442. macros.
  443.  
  444. %package -n gcc-multilib
  445. Summary: for 64bit multilib support
  446. Group: System Environment/Libraries
  447. Autoreq: true
  448.  
  449. %description -n gcc-multilib
  450. This is one set of libraries which support 64bit multilib on top of
  451. 32bit enviroment from compiler side.
  452.  
  453. %prep
  454. %setup -q -n gcc-linaro-4.6-2011.12
  455. %patch0 -p0 -b .hack~
  456. %patch2 -p0 -b .c++-builtin-redecl~
  457. %patch4 -p0 -b .java-nomulti~
  458. %patch6 -p0 -b .pr33763~
  459. %patch7 -p0 -b .rh341221~
  460.  
  461. # REMOVED ATOM OPTIMIZATIONS
  462. # %patch8 -p0 -b .i386-libgomp~
  463.  
  464. %patch10 -p0 -b .libgomp-omp_h-multilib~
  465. %patch11 -p0 -b .libtool-no-rpath~
  466. %if %{build_cloog}
  467. %patch12 -p0 -b .cloog-dl~
  468. %endif
  469. %patch14 -p0 -b .pr38757~
  470. %if %{build_libstdcxx_docs}
  471. %patch15 -p0 -b .libstdc++-docs~
  472. %endif
  473. %patch18 -p0 -b .ppl-0.10~
  474. %patch19 -p0 -b .pr47858~
  475.  
  476. %ifarch i586
  477.  
  478. # REMOVED ATOM OPTIMIZATIONS
  479. # %patch40 -p0 -b .atom
  480.  
  481. %endif
  482.  
  483. %ifarch %arm
  484. %patch42 -p1
  485. %endif
  486. %patch43 -p1
  487. %patch44 -p1
  488. %patch45 -p1
  489. %patch46 -p1
  490.  
  491. # This testcase doesn't compile.
  492. rm libjava/testsuite/libjava.lang/PR35020*
  493.  
  494. %patch9999 -p1 -b .arm-boehm-gc~
  495.  
  496. echo 'Mer %{version}-%{gcc_release}' > gcc/DEV-PHASE
  497.  
  498. # Default to -gdwarf-4 rather than -gdwarf-2
  499. sed -i '/UInteger Var(dwarf_version)/s/Init(2)/Init(4)/' gcc/common.opt
  500. sed -i 's/\(may be either 2 or 3 or 4; the default version is \)2\./\14./' gcc/doc/invoke.texi
  501.  
  502. cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
  503.  
  504. # Hack to avoid building multilib libjava
  505. perl -pi -e 's/^all: all-redirect/ifeq (\$(MULTISUBDIR),)\nall: all-redirect\nelse\nall:\n\techo Multilib libjava build disabled\nendif/' libjava/Makefile.in
  506. perl -pi -e 's/^install: install-redirect/ifeq (\$(MULTISUBDIR),)\ninstall: install-redirect\nelse\ninstall:\n\techo Multilib libjava install disabled\nendif/' libjava/Makefile.in
  507. perl -pi -e 's/^check: check-redirect/ifeq (\$(MULTISUBDIR),)\ncheck: check-redirect\nelse\ncheck:\n\techo Multilib libjava check disabled\nendif/' libjava/Makefile.in
  508. perl -pi -e 's/^all: all-recursive/ifeq (\$(MULTISUBDIR),)\nall: all-recursive\nelse\nall:\n\techo Multilib libjava build disabled\nendif/' libjava/Makefile.in
  509. perl -pi -e 's/^install: install-recursive/ifeq (\$(MULTISUBDIR),)\ninstall: install-recursive\nelse\ninstall:\n\techo Multilib libjava install disabled\nendif/' libjava/Makefile.in
  510. perl -pi -e 's/^check: check-recursive/ifeq (\$(MULTISUBDIR),)\ncheck: check-recursive\nelse\ncheck:\n\techo Multilib libjava check disabled\nendif/' libjava/Makefile.in
  511.  
  512. ./contrib/gcc_update --touch
  513.  
  514. LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi
  515.  
  516. %build
  517.  
  518. rm -fr obj-%{gcc_target_platform}
  519. mkdir obj-%{gcc_target_platform}
  520. cd obj-%{gcc_target_platform}
  521.  
  522. CC=gcc
  523. OPT_FLAGS=`echo %{optflags}|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[12]//g'`
  524. OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'`
  525. %ifarch %{ix86}
  526. OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i.86//g'`
  527. %endif
  528. OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e 's/[[:blank:]]\+/ /g'`
  529. case "$OPT_FLAGS" in
  530. *-fasynchronous-unwind-tables*)
  531. sed -i -e 's/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables/' \
  532. ../gcc/Makefile.in
  533. ;;
  534. esac
  535.  
  536. %ifarch mipsel
  537. export OPT_FLAGS="$OPT_FLAGS --param ggc-min-expand=0 --param ggc-min-heapsize=65536"
  538. %endif
  539.  
  540. %ifarch %arm
  541. # gcc 45 fails to bootstrap itself otherwise on insn-attrtab.o
  542. # issue is bad interaction between ggc and qemu
  543. export OPT_FLAGS="$OPT_FLAGS --param ggc-min-expand=0 --param ggc-min-heapsize=65536"
  544. # gcc 45 segfaults on O2g.gch generation. (cc1plus)
  545. %define ARM_EXTRA_CONFIGURE --disable-libstdcxx-pch
  546. # for armv7hl reset the gcc specs
  547. %ifarch armv6l
  548. %define ARM_EXTRA_CONFIGURE --disable-libstdcxx-pch --with-fpu=vfp --with-arch=armv6
  549. %endif
  550. %ifarch armv7l
  551. %define ARM_EXTRA_CONFIGURE --disable-libstdcxx-pch --with-fpu=vfpv3-d16 --with-arch=armv7-a
  552. %endif
  553. %ifarch armv7hl
  554. %define ARM_EXTRA_CONFIGURE --disable-libstdcxx-pch --with-float=hard --with-fpu=vfpv3-d16 --with-arch=armv7-a
  555. %endif
  556. # for armv7nhl reset the gcc specs
  557. %ifarch armv7nhl
  558. %define ARM_EXTRA_CONFIGURE --disable-libstdcxx-pch --with-float=hard --with-fpu=neon --with-arch=armv7-a
  559. %endif
  560. %endif
  561.  
  562. #export OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e "s/-O2/-O2 -fkeep-inline-functions/g"`
  563. export OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e "s/-fstack-protector//g"`
  564.  
  565. %if %{crossbuild}
  566. # cross build
  567. export PATH=/opt/cross/bin:$PATH
  568. # strip all after -march . no arch specific options in cross-compiler build .
  569. # -march=core2 -mssse3 -mtune=atom -mfpmath=sse -fasynchronous-unwi
  570. export OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e "s#\-march=.*##g"`
  571. %if %{accelerator_crossbuild}
  572. # adding -rpath to the special crosscompiler
  573. export OPT_FLAGS="$OPT_FLAGS -Wl,-rpath,/emul/ia32-linux/usr/lib:/emul/ia32-linux/lib:/usr/lib:/lib"
  574. %endif
  575. %endif
  576.  
  577. CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`" XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \
  578. GCJFLAGS="$OPT_FLAGS" \
  579. ../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
  580. %ifarch %{arm} mipsel
  581. --with-bugurl=http://bugzilla.meego.com/ --disable-bootstrap \
  582. --enable-shared --enable-threads=posix --enable-checking=release \
  583. %ifarch mipsel
  584. --disable-fixed-point \
  585. --disable-ssp \
  586. --disable-libstdcxx-pch \
  587. --with-arch=mips32 \
  588. %endif
  589. %ifarch %{arm}
  590. %ARM_EXTRA_CONFIGURE \
  591. %endif
  592. %else
  593. %if %{crossbuild}
  594. --build=%{gcc_target_platform} \
  595. --host=%{gcc_target_platform} \
  596. --target=%{cross_gcc_target_platform} \
  597. --with-bugurl=http://bugzilla.meego.com/ --disable-bootstrap \
  598. --enable-shared --enable-threads=posix --enable-checking=release \
  599. %else
  600. --with-bugurl=http://bugzilla.meego.com/ --enable-bootstrap \
  601. --enable-shared --enable-threads=posix --enable-checking=release \
  602. %endif
  603. %if %{build_64bit_multilib}
  604. --enable-targets=all \
  605. --enable-multilib \
  606. %endif
  607. %endif
  608. --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \
  609. --enable-gnu-unique-object --enable-lto \
  610. --enable-linker-build-id \
  611. --enable-languages=c,c++,objc,obj-c++ \
  612. --disable-libgcj \
  613. %ifarch %{arm}
  614. --disable-sjlj-exceptions \
  615. %endif
  616. %if !%{crossbuild}
  617. %ifarch %{ix86} x86_64
  618. --with-tune=generic \
  619. %endif
  620. %ifarch %{ix86}
  621. --with-arch=i686 \
  622. %endif
  623. %ifarch x86_64
  624. --with-arch_32=i686 \
  625. %endif
  626. --build=%{gcc_target_platform} || ( cat config.log ; exit 1 )
  627. #end for x86
  628. %else
  629. %if !%{accelerator_crossbuild}
  630. %{crossextraconfig} \
  631. --with-sysroot=%{crosssysroot}
  632. #end for cross-compiler
  633. %else
  634. %{crossextraconfig} \
  635. --program-transform-name='s/%{cross_gcc_target_platform}-//' \
  636. --with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_version} \
  637. --with-build-sysroot=%{crossbuildsysroot} \
  638. --with-sysroot=%{crosssysroot}
  639. #end for special cross-compiler
  640. %endif
  641. %endif
  642.  
  643.  
  644. #GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" bootstrap
  645. %ifarch %{arm} mipsel
  646. GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS"
  647. # native ARM
  648. %else
  649. %if !%{crossbuild}
  650. GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" profiledbootstrap
  651. # native x86
  652. %else
  653. GCJFLAGS="$OPT_FLAGS" make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS"
  654. # crosscompiler
  655. %endif
  656. %endif
  657.  
  658. # Make
  659. #make -C gcc CC="./xgcc -B ./ -O2" all
  660.  
  661. # Make generated man pages even if Pod::Man is not new enough
  662. perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
  663. for i in ../gcc/doc/*.texi; do
  664. cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i
  665. done
  666. make -C gcc generated-manpages
  667. for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done
  668.  
  669. # Make generated doxygen pages.
  670. %if %{build_libstdcxx_docs}
  671. cd %{gcc_target_platform}/libstdc++-v3
  672. make doc-html-doxygen
  673. make doc-man-doxygen
  674. cd ../..
  675. %endif
  676.  
  677. # Copy various doc files here and there
  678. cd ..
  679. mkdir -p rpm.doc/gfortran rpm.doc/objc rpm.doc/libquadmath
  680. mkdir -p rpm.doc/boehm-gc rpm.doc/fastjar rpm.doc/libffi
  681. mkdir -p rpm.doc/changelogs/{gcc/cp,libstdc++-v3,libobjc,libmudflap,libgomp}
  682. sed -e 's,@VERSION@,%{gcc_version},' %{SOURCE2} > rpm.doc/README.libgcjwebplugin.so
  683.  
  684. for i in {gcc,gcc/cp,libstdc++-v3,libobjc,libmudflap,libgomp}/ChangeLog*; do
  685. cp -p $i rpm.doc/changelogs/$i
  686. done
  687.  
  688. (cd gcc/fortran; for i in ChangeLog*; do
  689. cp -p $i ../../rpm.doc/gfortran/$i
  690. done)
  691. (cd libgfortran; for i in ChangeLog*; do
  692. cp -p $i ../rpm.doc/gfortran/$i.libgfortran
  693. done)
  694. (cd gcc/objc; for i in README*; do
  695. cp -p $i ../../rpm.doc/objc/$i.objc
  696. done)
  697. (cd libobjc; for i in README*; do
  698. cp -p $i ../rpm.doc/objc/$i.libobjc
  699. done)
  700. (cd boehm-gc; for i in ChangeLog*; do
  701. cp -p $i ../rpm.doc/boehm-gc/$i.gc
  702. done)
  703. (cd fastjar-%{fastjar_ver}; for i in ChangeLog* README*; do
  704. cp -p $i ../rpm.doc/fastjar/$i.fastjar
  705. done)
  706. (cd libffi; for i in ChangeLog* README* LICENSE; do
  707. cp -p $i ../rpm.doc/libffi/$i.libffi
  708. done)
  709. %if %{build_libquadmath}
  710. (cd libquadmath; for i in ChangeLog* COPYING.LIB; do
  711. cp -p $i ../rpm.doc/libquadmath/$i.libquadmath
  712. done)
  713. %endif
  714.  
  715. rm -f rpm.doc/changelogs/gcc/ChangeLog.[1-9]
  716. find rpm.doc -name \*ChangeLog\* | xargs bzip2 -9
  717.  
  718. %install
  719. rm -fr %{buildroot}
  720.  
  721. cd obj-%{gcc_target_platform}
  722.  
  723. %if !%{crossbuild}
  724. # native
  725. TARGET_PLATFORM=%{gcc_target_platform}
  726. # There are some MP bugs in libstdc++ Makefiles
  727. make -C %{gcc_target_platform}/libstdc++-v3
  728. %else
  729. # cross build
  730. export PATH=/opt/cross/bin:$PATH
  731. # strip all after -march . no arch specific options in cross-compiler build .
  732. # -march=core2 -mssse3 -mtune=atom -mfpmath=sse -fasynchronous-unwi
  733. export OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e "s#\-march=.*##g"`
  734. #echo "$OPT_FLAGS"
  735. #TARGET_PLATFORM=%{cross_gcc_target_platform}
  736. # There are some MP bugs in libstdc++ Makefiles
  737. #make -C %{cross_gcc_target_platform}/libstdc++-v3
  738. %endif
  739.  
  740. make DESTDIR=%{buildroot} install
  741. #prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \
  742. # infodir=%{buildroot}%{_infodir} install
  743.  
  744. %if !%{crossbuild}
  745. # native
  746. # \/\/\/
  747. FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
  748. FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
  749.  
  750. ln -sf gcc %{buildroot}%{_prefix}/bin/cc
  751. mkdir -p %{buildroot}/lib
  752. ln -sf ..%{_prefix}/bin/cpp %{buildroot}/lib/cpp
  753. rm -f %{buildroot}%{_infodir}/dir
  754. gzip -9 %{buildroot}%{_infodir}/*.info*
  755.  
  756. cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`"
  757. for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do
  758. if ! diff -up $cxxconfig $i; then
  759. cat > %{buildroot}%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/bits/c++config.h <<EOF
  760. #ifndef _CPP_CPPCONFIG_WRAPPER
  761. #define _CPP_CPPCONFIG_WRAPPER 1
  762. #include <bits/wordsize.h>
  763. #if __WORDSIZE == 32
  764. %ifarch %{multilib_64_archs}
  765. `cat $(find %{gcc_target_platform}/32/libstdc++-v3/include -name c++config.h)`
  766. %else
  767. `cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
  768. %endif
  769. #else
  770. %ifarch %{multilib_64_archs}
  771. `cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)`
  772. %else
  773. `cat $(find %{gcc_target_platform}/64/libstdc++-v3/include -name c++config.h)`
  774. %endif
  775. #endif
  776. #endif
  777. EOF
  778. break
  779. fi
  780. done
  781.  
  782. for f in `find %{buildroot}%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/ -name c++config.h`; do
  783. for i in 1 2 4 8; do
  784. sed -i -e 's/#define _GLIBCXX_ATOMIC_BUILTINS_'$i' 1/#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_'$i'\
  785. &\
  786. #endif/' $f
  787. done
  788. done
  789.  
  790. # Nuke bits/stdc++.h.gch dirs
  791. # 1) there is no bits/stdc++.h header installed, so when gch file can't be
  792. # used, compilation fails
  793. # 2) sometimes it is hard to match the exact options used for building
  794. # libstdc++-v3 or they aren't desirable
  795. # 3) there are multilib issues, conflicts etc. with this
  796. # 4) it is huge
  797. # People can always precompile on their own whatever they want, but
  798. # shipping this for everybody is unnecessary.
  799. rm -rf %{buildroot}%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform}/bits/stdc++.h.gch
  800.  
  801. %if %{build_libstdcxx_docs}
  802. libstdcxx_doc_builddir=%{gcc_target_platform}/libstdc++-v3/doc/doxygen
  803. mkdir -p ../rpm.doc/libstdc++-v3
  804. cp -r -p ../libstdc++-v3/doc/html ../rpm.doc/libstdc++-v3/html
  805. mv $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api
  806. mkdir -p %{buildroot}%{_mandir}
  807. mv $libstdcxx_doc_builddir/man/man3 %{buildroot}%{_mandir}/man3/
  808. find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm
  809. %endif
  810.  
  811. if [ -n "$FULLLPATH" ]; then
  812. mkdir -p $FULLLPATH
  813. else
  814. FULLLPATH=$FULLPATH
  815. fi
  816.  
  817. find %{buildroot} -name \*.la | xargs rm -f
  818.  
  819. mkdir -p %{buildroot}/%{_lib}
  820. mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_version}.so.1
  821. chmod 755 %{buildroot}/%{_lib}/libgcc_s-%{gcc_version}.so.1
  822. ln -sf libgcc_s-%{gcc_version}.so.1 %{buildroot}/%{_lib}/libgcc_s.so.1
  823. ln -sf /%{_lib}/libgcc_s.so.1 %{buildroot}/%{_libdir}/libgcc_s.so
  824. ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
  825. %ifarch %{multilib_64_archs}
  826. ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
  827. %endif
  828.  
  829. mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.spec $FULLPATH/
  830.  
  831. mkdir -p %{buildroot}%{_prefix}/libexec/getconf
  832. if gcc/xgcc -B gcc/ -E -dD -xc /dev/null | grep __LONG_MAX__.*2147483647; then
  833. ln -sf POSIX_V6_ILP32_OFF32 %{buildroot}%{_prefix}/libexec/getconf/default
  834. else
  835. ln -sf POSIX_V6_LP64_OFF64 %{buildroot}%{_prefix}/libexec/getconf/default
  836. fi
  837.  
  838. mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}
  839. mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++*gdb.py* \
  840. %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/
  841.  
  842. pushd $FULLPATH
  843. if [ "%{_lib}" = "lib" ]; then
  844. ln -sf ../../../libobjc.so.3 libobjc.so
  845. ln -sf ../../../libstdc++.so.6.* libstdc++.so
  846. ln -sf ../../../libgomp.so.1.* libgomp.so
  847. ln -sf ../../../libmudflap.so.0.* libmudflap.so
  848. ln -sf ../../../libmudflapth.so.0.* libmudflapth.so
  849. %if %{build_libquadmath}
  850. ln -sf ../../../libquadmath.so.0.* libquadmath.so
  851. %endif
  852. else
  853. ln -sf ../../../../%{_lib}/libobjc.so.3 libobjc.so
  854. ln -sf ../../../../%{_lib}/libstdc++.so.6.* libstdc++.so
  855. ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so
  856. ln -sf ../../../../%{_lib}/libmudflap.so.0.* libmudflap.so
  857. ln -sf ../../../../%{_lib}/libmudflapth.so.0.* libmudflapth.so
  858. %if %{build_libquadmath}
  859. ln -sf ../../../../%{_lib}/libquadmath.so.0.* libquadmath.so
  860. %endif
  861. fi
  862. mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/
  863. mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a .
  864. mv -f %{buildroot}%{_prefix}/%{_lib}/libobjc.*a .
  865. mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a .
  866. mv -f %{buildroot}%{_prefix}/%{_lib}/libmudflap{,th}.*a $FULLLPATH/
  867. %if %{build_libquadmath}
  868. mv -f %{buildroot}%{_prefix}/%{_lib}/libquadmath.*a $FULLLPATH/
  869. %endif
  870.  
  871.  
  872. %ifarch %{multilib_64_archs}
  873. mkdir -p 32
  874. ln -sf ../../../../libobjc.so.3 32/libobjc.so
  875. ln -sf ../`echo ../../../../lib64/libstdc++.so.6.* | sed s~/../lib64/~/~` 32/libstdc++.so
  876. ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so
  877. rm -f libmudflap.so libmudflapth.so
  878. echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflap.so
  879. echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > libmudflapth.so
  880. echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflap.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflap.so
  881. echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libmudflapth.so.0.* | sed 's,^.*libm,libm,'`' )' > 32/libmudflapth.so
  882. %if %{build_libquadmath}
  883. rm -f libquadmath.so
  884. echo 'INPUT ( %{_prefix}/lib64/'`echo ../../../../lib64/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > libquadmath.so
  885. echo 'INPUT ( %{_prefix}/lib/'`echo ../../../../lib64/libquadmath.so.0.* | sed 's,^.*libq,libq,'`' )' > 32/libquadmath.so
  886. %endif
  887. mv -f %{buildroot}%{_prefix}/lib/libsupc++.*a 32/
  888. mv -f %{buildroot}%{_prefix}/lib/libobjc.*a 32/
  889. mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/
  890. ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libstdc++.a 32/libstdc++.a
  891. ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libmudflap.a 32/libmudflap.a
  892. ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libmudflapth.a 32/libmudflapth.a
  893. %if %{build_libquadmath}
  894. ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_version}/libquadmath.a 32/libquadmath.a
  895. %endif
  896. %endif
  897.  
  898. # Strip debug info from Fortran/ObjC/Java static libraries
  899. strip -g `find . \( -name libobjc.a -o -name libgomp.a \
  900. -o -name libmudflap.a -o -name libmudflapth.a \
  901. -o -name libgcc.a -o -name libgcov.a -name libquadmath.a \) -a -type f`
  902. popd
  903. chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.*
  904. chmod 755 %{buildroot}%{_prefix}/%{_lib}/libmudflap{,th}.so.0.*
  905. %if %{build_libquadmath}
  906. chmod 755 %{buildroot}%{_prefix}/%{_lib}/libquadmath.so.0.*
  907. %endif
  908. chmod 755 %{buildroot}%{_prefix}/%{_lib}/libobjc.so.3.*
  909.  
  910. mv $FULLPATH/include-fixed/syslimits.h $FULLPATH/include/syslimits.h
  911. mv $FULLPATH/include-fixed/limits.h $FULLPATH/include/limits.h
  912. for h in `find $FULLPATH/include -name \*.h`; do
  913. if grep -q 'It has been auto-edited by fixincludes from' $h; then
  914. rh=`grep -A2 'It has been auto-edited by fixincludes from' $h | tail -1 | sed 's|^.*"\(.*\)".*$|\1|'`
  915. diff -up $rh $h || :
  916. rm -f $h
  917. fi
  918. done
  919.  
  920. cat > %{buildroot}%{_prefix}/bin/c89 <<"EOF"
  921. #!/bin/sh
  922. fl="-std=c89"
  923. for opt; do
  924. case "$opt" in
  925. -ansi|-std=c89|-std=iso9899:1990) fl="";;
  926. -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
  927. exit 1;;
  928. esac
  929. done
  930. exec gcc $fl ${1+"$@"}
  931. EOF
  932. cat > %{buildroot}%{_prefix}/bin/c99 <<"EOF"
  933. #!/bin/sh
  934. fl="-std=c99"
  935. for opt; do
  936. case "$opt" in
  937. -std=c99|-std=iso9899:1999) fl="";;
  938. -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
  939. exit 1;;
  940. esac
  941. done
  942. exec gcc $fl ${1+"$@"}
  943. EOF
  944. chmod 755 %{buildroot}%{_prefix}/bin/c?9
  945.  
  946. mkdir -p %{buildroot}%{_prefix}/sbin
  947. %ifarch %{arm}
  948. patch %{SOURCE1} < %{PATCH41}
  949. %endif
  950. %ifnarch mipsel
  951. gcc -static -Os %{SOURCE1} -o %{buildroot}%{_prefix}/sbin/libgcc_post_upgrade
  952. strip %{buildroot}%{_prefix}/sbin/libgcc_post_upgrade
  953. %endif
  954.  
  955. cd ..
  956. %find_lang %{name}
  957. %find_lang cpplib
  958.  
  959. # Remove binaries we will not be including, so that they don't end up in
  960. # gcc-debuginfo
  961. rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a}
  962. rm -f $FULLEPATH/install-tools/{mkheaders,fixincl}
  963. rm -f %{buildroot}%{_prefix}/lib/{32,64}/libiberty.a
  964. %ifarch %{ix86} x86_64
  965. %if !%{crossbuild}
  966. rm -f %{buildroot}%{_prefix}/%{_lib}/libssp*
  967. %endif
  968. %endif
  969. rm -f %{buildroot}%{_prefix}/bin/gnative2ascii
  970. rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gcc-%{version} || :
  971.  
  972.  
  973. %ifarch %{multilib_64_archs}
  974. # Remove libraries for the other arch on multilib arches
  975. rm -f %{buildroot}%{_prefix}/lib/lib*.so*
  976. rm -f %{buildroot}%{_prefix}/lib/lib*.a
  977. %endif
  978.  
  979. # /\/\/\
  980. # native
  981. %else
  982. # cross
  983. # \/\/\/
  984. # additional install for cross
  985. # remove some obsolete files
  986. %if !%{accelerator_crossbuild}
  987. ln -sf %{cross_gcc_target_platform}-gcc %{buildroot}%{_prefix}/bin/%{cross_gcc_target_platform}-cc
  988. #set -x
  989. rm -rRf %buildroot/%{_prefix}/lib/libiberty.a
  990. rm -rRf %buildroot/%{_prefix}/share
  991. #set +x
  992. %endif
  993. # /\/\/\
  994. # cross
  995. %endif
  996.  
  997. %if !%{crossbuild}
  998. # checking and split packaging for native ...
  999. # native
  1000. # \/\/\/
  1001.  
  1002. %check
  1003. %if 0
  1004. cd obj-%{gcc_target_platform}
  1005.  
  1006. # run the tests.
  1007. make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}'" || :
  1008. echo ====================TESTING=========================
  1009. ( LC_ALL=C ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
  1010. echo ====================TESTING END=====================
  1011. mkdir testlogs-%{_target_platform}-%{version}-%{release}
  1012. for i in `find . -name \*.log | grep -F testsuite/ | grep -v 'config.log\|acats\|ada'`; do
  1013. ln $i testlogs-%{_target_platform}-%{version}-%{release}/ || :
  1014. done
  1015. tar cf - testlogs-%{_target_platform}-%{version}-%{release} | bzip2 -9c \
  1016. | uuencode testlogs-%{_target_platform}.tar.bz2 || :
  1017. rm -rf testlogs-%{_target_platform}-%{version}-%{release}
  1018. %endif
  1019.  
  1020. %clean
  1021. rm -rf %{buildroot}
  1022.  
  1023. %post
  1024. [ -e %{_infodir}/gcc.info.gz ] && /sbin/install-info \
  1025. --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || :
  1026.  
  1027. %postun -p /sbin/ldconfig
  1028.  
  1029. %preun
  1030. if [ $1 = 0 ]; then
  1031. [ -e %{_infodir}/gcc.info.gz ] && /sbin/install-info --delete \
  1032. --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || :
  1033. fi
  1034.  
  1035. %post -n cpp
  1036. [ -e %{_infodir}/cpp.info.gz ] && /sbin/install-info \
  1037. --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || :
  1038.  
  1039. %preun -n cpp
  1040. if [ $1 = 0 ]; then
  1041. [ -e %{_infodir}/cpp.info.gz ] && /sbin/install-info --delete \
  1042. --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || :
  1043. fi
  1044.  
  1045. %ifnarch mipsel
  1046. %post -n libgcc -p %{_prefix}/sbin/libgcc_post_upgrade
  1047. %endif
  1048.  
  1049. %postun -n libgcc -p /sbin/ldconfig
  1050.  
  1051. %post -n libstdc++ -p /sbin/ldconfig
  1052.  
  1053. %postun -n libstdc++ -p /sbin/ldconfig
  1054.  
  1055. %post -n libobjc -p /sbin/ldconfig
  1056.  
  1057. %postun -n libobjc -p /sbin/ldconfig
  1058.  
  1059. %post -n libgomp
  1060. /sbin/ldconfig
  1061. [ -e %{_infodir}/libgomp.info.gz ] && /sbin/install-info \
  1062. --info-dir=%{_infodir} %{_infodir}/libgomp.info.gz || :
  1063.  
  1064. %preun -n libgomp
  1065. if [ $1 = 0 ]; then
  1066. [ -e %{_infodir}/libgomp.info.gz ] && /sbin/install-info --delete \
  1067. --info-dir=%{_infodir} %{_infodir}/libgomp.info.gz || :
  1068. fi
  1069.  
  1070. %postun -n libgomp -p /sbin/ldconfig
  1071.  
  1072. %post -n libmudflap -p /sbin/ldconfig
  1073.  
  1074. %postun -n libmudflap -p /sbin/ldconfig
  1075.  
  1076. %post -n libquadmath
  1077. /sbin/ldconfig
  1078. if [ -f %{_infodir}/libquadmath.info.gz ]; then
  1079. /sbin/install-info \
  1080. --info-dir=%{_infodir} %{_infodir}/libquadmath.info.gz || :
  1081. fi
  1082.  
  1083. %preun -n libquadmath
  1084. if [ $1 = 0 -a -f %{_infodir}/libquadmath.info.gz ]; then
  1085. /sbin/install-info --delete \
  1086. --info-dir=%{_infodir} %{_infodir}/libquadmath.info.gz || :
  1087. fi
  1088.  
  1089. %postun -n libquadmath -p /sbin/ldconfig
  1090.  
  1091. %files -f %{name}.lang
  1092. %defattr(-,root,root,-)
  1093. %{_prefix}/bin/cc
  1094. %{_prefix}/bin/c89
  1095. %{_prefix}/bin/c99
  1096. %{_prefix}/bin/gcc
  1097. %{_prefix}/bin/gcov
  1098. %ifnarch %{arm} mipsel
  1099. %{_prefix}/bin/%{gcc_target_platform}-gcc
  1100. %endif
  1101. %{_mandir}/man1/gcc.1*
  1102. %{_mandir}/man1/gcov.1*
  1103. %{_mandir}/man7/*
  1104. %{_infodir}/gcc*
  1105. %dir %{_prefix}/lib/gcc
  1106. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
  1107. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
  1108. %dir %{_prefix}/libexec/gcc
  1109. %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
  1110. %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
  1111. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
  1112.  
  1113. # Shouldn't include all files under this fold, split to diff pkgs
  1114. #%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/*
  1115. %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/lto1
  1116. %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/lto-wrapper
  1117. %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/liblto_plugin.so*
  1118. %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/collect2
  1119.  
  1120. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/plugin
  1121. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/plugin/include
  1122. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/plugin/include/*
  1123.  
  1124. # Shouldn't include all files under this fold, split to diff pkgs
  1125. #%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/*
  1126. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stddef.h
  1127. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdarg.h
  1128. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdfix.h
  1129. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/varargs.h
  1130. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/float.h
  1131. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/limits.h
  1132. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdbool.h
  1133. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/iso646.h
  1134. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/syslimits.h
  1135. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/unwind.h
  1136. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/omp.h
  1137. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdint.h
  1138. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdint-gcc.h
  1139. %ifarch %{ix86} x86_64
  1140. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mmintrin.h
  1141. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xmmintrin.h
  1142. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/emmintrin.h
  1143. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/pmmintrin.h
  1144. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/tmmintrin.h
  1145. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ammintrin.h
  1146. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/smmintrin.h
  1147. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/nmmintrin.h
  1148. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/bmmintrin.h
  1149. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/wmmintrin.h
  1150. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/immintrin.h
  1151. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/avxintrin.h
  1152. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/x86intrin.h
  1153. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/fma4intrin.h
  1154. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/xopintrin.h
  1155. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/lwpintrin.h
  1156. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/abmintrin.h
  1157. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/popcntintrin.h
  1158. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/bmiintrin.h
  1159. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/tbmintrin.h
  1160. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ia32intrin.h
  1161. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mm_malloc.h
  1162. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mm3dnow.h
  1163. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/cpuid.h
  1164. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/cross-stdarg.h
  1165. %endif
  1166.  
  1167. # For ARM port
  1168. %ifarch %{arm}
  1169. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include-fixed
  1170. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include-fixed/README
  1171. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include-fixed/linux/a.out.h
  1172. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/arm_neon.h
  1173. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mmintrin.h
  1174. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ssp/ssp.h
  1175. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ssp/stdio.h
  1176. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ssp/string.h
  1177. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/ssp/unistd.h
  1178. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/stdfix.h
  1179. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/install-tools
  1180. %endif
  1181.  
  1182. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/crt*.o
  1183. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc.a
  1184. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcov.a
  1185. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc_eh.a
  1186. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgcc_s.so
  1187. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.spec
  1188. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.a
  1189. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgomp.so
  1190. %ifarch %{multilib_64_archs}
  1191. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
  1192. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/crt*.o
  1193. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc.a
  1194. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcov.a
  1195. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc_eh.a
  1196. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgcc_s.so
  1197. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgomp.a
  1198. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libgomp.so
  1199. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflap.a
  1200. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflapth.a
  1201. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflap.so
  1202. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libmudflapth.so
  1203. %if %{build_libquadmath}
  1204. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libquadmath.a
  1205. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libquadmath.so
  1206. %endif
  1207. %endif
  1208. %dir %{_prefix}/libexec/getconf
  1209. %{_prefix}/libexec/getconf/default
  1210. %doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* gcc/COPYING*
  1211.  
  1212. %files -n cpp -f cpplib.lang
  1213. %defattr(-,root,root,-)
  1214. /lib/cpp
  1215. %{_prefix}/bin/cpp
  1216. %{_mandir}/man1/cpp.1*
  1217. %{_infodir}/cpp*
  1218. %dir %{_prefix}/libexec/gcc
  1219. %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
  1220. %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
  1221. %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1
  1222.  
  1223. %files -n libgcc
  1224. %defattr(-,root,root,-)
  1225. /%{_lib}/libgcc_s-%{gcc_version}.so.1
  1226. /%{_lib}/libgcc_s.*
  1227. /%{_libdir}/libgcc_s.*
  1228. %ifnarch mipsel
  1229. %{_prefix}/sbin/libgcc_post_upgrade
  1230. %endif
  1231. %doc gcc/COPYING.LIB
  1232.  
  1233. # For ARM port
  1234. %ifarch %{arm} mipsel
  1235. %{_prefix}/%{_lib}/libssp*
  1236. %endif
  1237.  
  1238. %files c++
  1239. %defattr(-,root,root,-)
  1240. %ifnarch %{arm} mipsel
  1241. %{_prefix}/bin/%{gcc_target_platform}-*++
  1242. %endif
  1243. %{_prefix}/bin/g++
  1244. %{_prefix}/bin/c++
  1245. %{_mandir}/man1/g++.1*
  1246. %dir %{_prefix}/lib/gcc
  1247. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
  1248. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
  1249. %dir %{_prefix}/libexec/gcc
  1250. %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
  1251. %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
  1252. %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1plus
  1253. %ifarch %{multilib_64_archs}
  1254. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
  1255. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libstdc++.so
  1256. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libstdc++.a
  1257. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libsupc++.a
  1258. %endif
  1259. %ifarch %{multilib_64_archs}
  1260. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.so
  1261. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
  1262. %endif
  1263. %doc rpm.doc/changelogs/gcc/cp/ChangeLog*
  1264.  
  1265. %files -n libstdc++
  1266. %defattr(-,root,root,-)
  1267. %{_prefix}/%{_lib}/libstdc++.*
  1268. %dir %{_datadir}/gdb
  1269. %dir %{_datadir}/gdb/auto-load
  1270. %dir %{_datadir}/gdb/auto-load/%{_prefix}
  1271. %dir %{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/
  1272. %{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc*gdb.py*
  1273. %dir %{_prefix}/share/gcc-%{gcc_version}
  1274. %{_prefix}/share/gcc-%{gcc_version}/python
  1275.  
  1276. %files -n libstdc++-devel
  1277. %defattr(-,root,root,-)
  1278. %dir %{_prefix}/include/c++
  1279. %dir %{_prefix}/include/c++/%{gcc_version}
  1280. %{_prefix}/include/c++/%{gcc_version}/[^gjos]*
  1281. %{_prefix}/include/c++/%{gcc_version}/os*
  1282. %{_prefix}/include/c++/%{gcc_version}/s[^u]*
  1283. %dir %{_prefix}/lib/gcc
  1284. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
  1285. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
  1286. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.a
  1287. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libsupc++.a
  1288. %ifnarch %{multilib_64_archs}
  1289. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libstdc++.so
  1290. %endif
  1291. %doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README*
  1292.  
  1293. %if %{build_libstdcxx_docs}
  1294. %files -n libstdc++-docs
  1295. %defattr(-,root,root)
  1296. %{_mandir}/man3/*
  1297. %doc rpm.doc/libstdc++-v3/html
  1298. %endif
  1299.  
  1300. %files objc
  1301. %defattr(-,root,root,-)
  1302. %dir %{_prefix}/lib/gcc
  1303. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
  1304. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
  1305. %dir %{_prefix}/libexec/gcc
  1306. %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
  1307. %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
  1308. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
  1309. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/objc
  1310. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/objc/*.h
  1311. %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1obj
  1312. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libobjc.a
  1313. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libobjc.so
  1314. %ifarch %{multilib_64_archs}
  1315. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32
  1316. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libobjc.a
  1317. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/32/libobjc.so
  1318. %endif
  1319. %doc rpm.doc/objc/*
  1320. %doc libobjc/THREADS* rpm.doc/changelogs/libobjc/ChangeLog*
  1321.  
  1322. %files objc++
  1323. %defattr(-,root,root,-)
  1324. %dir %{_prefix}/libexec/gcc
  1325. %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}
  1326. %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
  1327. %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1objplus
  1328.  
  1329. %files -n libobjc
  1330. %defattr(-,root,root,-)
  1331. %{_prefix}/%{_lib}/libobjc.*
  1332.  
  1333. %files -n libgomp
  1334. %defattr(-,root,root,-)
  1335. %{_prefix}/%{_lib}/libgomp.*
  1336. %{_infodir}/libgomp.info*
  1337. %doc rpm.doc/changelogs/libgomp/ChangeLog*
  1338.  
  1339. %files -n libmudflap
  1340. %defattr(-,root,root,-)
  1341. %{_prefix}/%{_lib}/libmudflap.*
  1342. %{_prefix}/%{_lib}/libmudflapth.*
  1343.  
  1344. %files -n libmudflap-devel
  1345. %defattr(-,root,root,-)
  1346. %dir %{_prefix}/lib/gcc
  1347. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
  1348. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
  1349. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
  1350. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/mf-runtime.h
  1351. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.a
  1352. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.a
  1353. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflap.so
  1354. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libmudflapth.so
  1355. %doc rpm.doc/changelogs/libmudflap/ChangeLog*
  1356.  
  1357. %if %{build_64bit_multilib}
  1358. %files -n gcc-multilib
  1359. %defattr(-,root,root,-)
  1360. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64
  1361. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/crt*.o
  1362. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc.a
  1363. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcov.a
  1364. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc_eh.a
  1365. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgfortranbegin.a
  1366. %dir %{_prefix}/lib64
  1367. %{_prefix}/lib64/*
  1368. %endif
  1369.  
  1370. %if %{build_libquadmath}
  1371. %files -n libquadmath
  1372. %defattr(-,root,root,-)
  1373. %{_prefix}/%{_lib}/libquadmath.so.0*
  1374. %{_infodir}/libquadmath.info*
  1375. %doc rpm.doc/libquadmath/COPYING*
  1376.  
  1377. %files -n libquadmath-devel
  1378. %defattr(-,root,root,-)
  1379. %dir %{_prefix}/lib/gcc
  1380. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
  1381. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
  1382. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include
  1383. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/quadmath.h
  1384. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include/quadmath_weak.h
  1385. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libquadmath.so
  1386. %doc rpm.doc/libquadmath/ChangeLog*
  1387.  
  1388. %files -n libquadmath-static
  1389. %defattr(-,root,root,-)
  1390. %dir %{_prefix}/lib/gcc
  1391. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
  1392. %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}
  1393. %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libquadmath.a
  1394. %endif
  1395.  
  1396. # /\/\/\
  1397. # native
  1398. %else
  1399. # cross
  1400. # \/\/\/
  1401. %files
  1402. %defattr(-,root,root,-)
  1403. %{_prefix}
  1404. # /\/\/\
  1405. # cross
  1406. %endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement