first commit
[scm/bb/meta-tizen.git] / recipes-tizen / gcc / gcc.inc
1 DESCRIPTION = "The system GNU C Compiler"
2 HOMEPAGE = "http://gcc.gnu.org/"
3 SECTION = "Development/Toolchain"
4 LICENSE = "GPL-3.0+"
5
6 SRC_URI = ""
7
8 S = "${WORKDIR}/git"
9
10 PROVIDES = ""
11
12 #PROVIDES by gcc-gij 
13 PROVIDES += "gcc-gij"
14 RPROVIDES_gcc-gij += "gcc-gij"
15
16 #PROVIDES by gcc-gij-32bit 
17 PROVIDES += "gcc-gij-32bit"
18 RPROVIDES_gcc-gij-32bit += "gcc-gij-32bit"
19
20 #PROVIDES by gcc-obj-c++ 
21 PROVIDES += "gcc-obj-c++"
22 RPROVIDES_gcc-obj-c++ += "gcc-obj-c++"
23
24 #PROVIDES by gcc-fortran-32bit 
25 PROVIDES += "gcc-fortran-32bit"
26 RPROVIDES_gcc-fortran-32bit += "gcc-fortran-32bit"
27
28 #PROVIDES by gcc-info 
29 PROVIDES += "gcc-info"
30 RPROVIDES_gcc-info += "gcc-info"
31
32 #PROVIDES by gcc 
33 PROVIDES += "gcc"
34 RPROVIDES_gcc += "gcc"
35 # the PROVIDES rules is ignore "c_compiler  "
36 PROVIDES += "c_compiler"
37 RPROVIDES_gcc += "c_compiler"
38
39 #PROVIDES by libstdc++-devel 
40 PROVIDES += "libstdc++-devel"
41 RPROVIDES_libstdc++-devel += "libstdc++-devel"
42 RPROVIDES_libstdc++-devel += "libstdc++-dev"
43
44 #PROVIDES by gcc-64bit 
45 PROVIDES += "gcc-64bit"
46 RPROVIDES_gcc-64bit += "gcc-64bit"
47
48 #PROVIDES by gcc-locale 
49 PROVIDES += "gcc-locale"
50 RPROVIDES_gcc-locale += "gcc-locale"
51
52 #PROVIDES by gcc-objc-64bit 
53 PROVIDES += "gcc-objc-64bit"
54 RPROVIDES_gcc-objc-64bit += "gcc-objc-64bit"
55
56 #PROVIDES by gcc-c++ 
57 PROVIDES += "gcc-c++"
58 RPROVIDES_gcc-c++ += "gcc-c++"
59 # the PROVIDES rules is ignore "c++_compiler  "
60 PROVIDES += "c++_compiler"
61 RPROVIDES_gcc-c++ += "c++_compiler"
62
63 #PROVIDES by gcc-fortran 
64 PROVIDES += "gcc-fortran"
65 RPROVIDES_gcc-fortran += "gcc-fortran"
66
67 #PROVIDES by gcc-c++-64bit 
68 PROVIDES += "gcc-c++-64bit"
69 RPROVIDES_gcc-c++-64bit += "gcc-c++-64bit"
70
71 #PROVIDES by gcc-z9 
72 PROVIDES += "gcc-z9"
73 RPROVIDES_gcc-z9 += "gcc-z9"
74
75 #PROVIDES by gcc-objc-32bit 
76 PROVIDES += "gcc-objc-32bit"
77 RPROVIDES_gcc-objc-32bit += "gcc-objc-32bit"
78
79 #PROVIDES by gcc-java 
80 PROVIDES += "gcc-java"
81 RPROVIDES_gcc-java += "gcc-java"
82
83 #PROVIDES by libgcj-devel 
84 PROVIDES += "libgcj-devel"
85 RPROVIDES_libgcj-devel += "libgcj-devel"
86 RPROVIDES_libgcj-devel += "libgcj-dev"
87
88 #PROVIDES by gcc-c++-32bit 
89 PROVIDES += "gcc-c++-32bit"
90 RPROVIDES_gcc-c++-32bit += "gcc-c++-32bit"
91
92 #PROVIDES by gcc-ada 
93 PROVIDES += "gcc-ada"
94 RPROVIDES_gcc-ada += "gcc-ada"
95
96 #PROVIDES by gcc-32bit 
97 PROVIDES += "gcc-32bit"
98 RPROVIDES_gcc-32bit += "gcc-32bit"
99
100 #PROVIDES by gcc-objc 
101 PROVIDES += "gcc-objc"
102 RPROVIDES_gcc-objc += "gcc-objc"
103
104 #PROVIDES by gcc-fortran-64bit 
105 PROVIDES += "gcc-fortran-64bit"
106 RPROVIDES_gcc-fortran-64bit += "gcc-fortran-64bit"
107
108 #PROVIDES by cpp 
109 PROVIDES += "cpp"
110 RPROVIDES_cpp += "cpp"
111
112 #PROVIDES by gcc-gij-64bit 
113 PROVIDES += "gcc-gij-64bit"
114 RPROVIDES_gcc-gij-64bit += "gcc-gij-64bit"
115
116 RDEPENDS = ""
117 #RDEPENDS of gcc-gij (${PN}-gij)
118 RDEPENDS_${PN}-gij += "gcc48-gij"
119
120 #RDEPENDS of gcc-gij-32bit (${PN}-gij-32bit)
121 RDEPENDS_${PN}-gij-32bit += "gcc48-gij-32bit"
122
123 #RDEPENDS of gcc-obj-c++ (${PN}-obj-c++)
124 RDEPENDS_${PN}-obj-c++ += "gcc-objc"
125 RDEPENDS_${PN}-obj-c++ += "gcc48-obj-c++"
126
127 #RDEPENDS of gcc-fortran-32bit (${PN}-fortran-32bit)
128 RDEPENDS_${PN}-fortran-32bit += "gcc48-fortran-32bit"
129 RDEPENDS_${PN}-fortran-32bit += "gcc-fortran"
130
131 #RDEPENDS of gcc-info (${PN}-info)
132 RDEPENDS_${PN}-info += "gcc48-info"
133
134 #RDEPENDS of gcc (${PN})
135 RDEPENDS_${PN} += "cpp"
136 RDEPENDS_${PN} += "gcc48"
137
138 #RDEPENDS of libstdc++-devel (libstdc++-devel)
139 RDEPENDS_libstdc++-devel += "libstdc++48-dev"
140
141 #RDEPENDS of gcc-64bit (${PN}-64bit)
142 RDEPENDS_${PN}-64bit += "gcc"
143 RDEPENDS_${PN}-64bit += "gcc48-64bit"
144
145 #RDEPENDS of gcc-locale (${PN}-locale)
146 RDEPENDS_${PN}-locale += "gcc48-locale"
147
148 #RDEPENDS of gcc-objc-64bit (${PN}-objc-64bit)
149 RDEPENDS_${PN}-objc-64bit += "gcc48-objc-64bit"
150 RDEPENDS_${PN}-objc-64bit += "gcc-objc"
151
152 #RDEPENDS of gcc-c++ (${PN}-c++)
153 RDEPENDS_${PN}-c++ += "gcc"
154 RDEPENDS_${PN}-c++ += "gcc48-c++"
155
156 #RDEPENDS of gcc-fortran (${PN}-fortran)
157 RDEPENDS_${PN}-fortran += "gcc"
158 RDEPENDS_${PN}-fortran += "gcc48-fortran"
159
160 #RDEPENDS of gcc-c++-64bit (${PN}-c++-64bit)
161 RDEPENDS_${PN}-c++-64bit += "gcc-64bit"
162 RDEPENDS_${PN}-c++-64bit += "libstdc++48-dev"
163 RDEPENDS_${PN}-c++-64bit += "gcc-c++"
164
165 #RDEPENDS of gcc-z9 (${PN}-z9)
166 RDEPENDS_${PN}-z9 += "gcc"
167
168 #RDEPENDS of gcc-objc-32bit (${PN}-objc-32bit)
169 RDEPENDS_${PN}-objc-32bit += "gcc-objc"
170 RDEPENDS_${PN}-objc-32bit += "gcc48-objc-32bit"
171
172 #RDEPENDS of gcc-java (${PN}-java)
173 RDEPENDS_${PN}-java += "gcc48-java"
174 RDEPENDS_${PN}-java += "libgcj-dev"
175 RDEPENDS_${PN}-java += "gcc"
176
177 #RDEPENDS of libgcj-devel (libgcj-devel)
178 RDEPENDS_libgcj-devel += "libgcj48-dev"
179
180 #RDEPENDS of gcc-c++-32bit (${PN}-c++-32bit)
181 RDEPENDS_${PN}-c++-32bit += "libstdc++48-dev"
182 RDEPENDS_${PN}-c++-32bit += "gcc-32bit"
183 RDEPENDS_${PN}-c++-32bit += "gcc-c++"
184
185 #RDEPENDS of gcc-ada (${PN}-ada)
186 RDEPENDS_${PN}-ada += "gcc"
187 RDEPENDS_${PN}-ada += "gcc48-ada"
188
189 #RDEPENDS of gcc-32bit (${PN}-32bit)
190 RDEPENDS_${PN}-32bit += "gcc"
191 RDEPENDS_${PN}-32bit += "gcc48-32bit"
192
193 #RDEPENDS of gcc-objc (${PN}-objc)
194 RDEPENDS_${PN}-objc += "gcc"
195 RDEPENDS_${PN}-objc += "gcc48-objc"
196
197 #RDEPENDS of gcc-fortran-64bit (${PN}-fortran-64bit)
198 RDEPENDS_${PN}-fortran-64bit += "gcc48-fortran-64bit"
199 RDEPENDS_${PN}-fortran-64bit += "gcc-fortran"
200
201 #RDEPENDS of cpp (cpp)
202 RDEPENDS_cpp += "cpp48"
203
204 #RDEPENDS of gcc-gij-64bit (${PN}-gij-64bit)
205 RDEPENDS_${PN}-gij-64bit += "gcc48-gij-64bit"
206
207
208 DEPENDS = ""
209
210 do_patch() {
211  
212  
213 }
214
215 do_configure() {
216 }
217
218 do_compile() {
219  LANG=C
220  export LANG
221  unset DISPLAY
222  CFLAGS="-O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables" ; export CFLAGS ; 
223  CXXFLAGS="${CXXFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables}" ; export CXXFLAGS ; 
224  FFLAGS="${FFLAGS:--O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -I%_fmoddir}" ; export FFLAGS ; 
225  LD_AS_NEEDED=1; export LD_AS_NEEDED ; 
226  
227  echo "This is a dummy package to provide a dependency on the system compiler." > README
228  
229  
230  
231 }
232
233 do_install() {
234  echo export RPM_BUILD_ROOT=${D}
235  LANG=C
236  export LANG
237  unset DISPLAY
238  rm -rf ${D} 
239  mkdir -p ${D} 
240  
241  mkdir -p $RPM_BUILD_ROOT/lib
242  mkdir -p $RPM_BUILD_ROOT/usr/bin
243  mkdir -p $RPM_BUILD_ROOT/usr/share/man/man1
244  mkdir -p $RPM_BUILD_ROOT/usr/share/doc/packages/gcc-objc/
245  mkdir -p $RPM_BUILD_ROOT/usr/share/doc/packages/gcc-obj-c++/
246  # Link all the binaries
247  for program in \
248          gcc gcov \
249          g++ \
250          cpp \
251         gcj gcjh gcj-dbtool jcf-dump jv-convert gc-analyze \
252         gij \
253         gappletviewer \
254         gjar gjarsigner gjavah gkeytool gnative2ascii gorbd grmic \
255         grmid grmiregistry gserialver gtnameserv \
256         grmiregistry32 \
257         gij32 \
258          gfortran \
259         gnat gnatbind gnatbl gnatchop gnatclean gnatfind gnatkr \
260         gnatlink gnatls gnatmake gnatname gnatprep gnatxref gprmake \
261      ; do
262    ln -sf $program-4.8 $RPM_BUILD_ROOT/usr/bin/$program
263  done
264  # Link section 1 manpages
265  for man1 in \
266          gcc gcov \
267          g++ \
268          cpp \
269          gfortran \
270         gcj gcjh gcj-dbtool jcf-dump jv-convert gc-analyze \
271         gij \
272         gappletviewer gjar gjarsigner gjavah \
273         gkeytool gnative2ascii gorbd grmic grmid grmiregistry gserialver \
274         gtnameserv \
275      ; do
276    ln -sf $man1-4.8.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/$man1.1.gz
277  done
278  # Provide the traditional /lib/cpp that only handles C
279  cp $RPM_SOURCE_DIR/cpp $RPM_BUILD_ROOT/lib/
280  chmod 755 $RPM_BUILD_ROOT/lib/cpp
281  # Provide extra symlinks
282  ln -sf g++-4.8 $RPM_BUILD_ROOT/usr/bin/c++
283  ln -sf gcc-4.8 $RPM_BUILD_ROOT/usr/bin/cc
284  ln -sf g++-4.8.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/c++.1.gz
285  ln -sf gcc-4.8.1.gz $RPM_BUILD_ROOT/usr/share/man/man1/cc.1.gz
286  
287  
288 }
289
290 PACKAGES = ""
291 PACKAGES += "gcc"
292 PACKAGES += "gcc-fortran-32bit"
293 PACKAGES += "libstdc++-devel"
294 PACKAGES += "gcc-ada"
295 PACKAGES += "gcc-gij-32bit"
296 PACKAGES += "gcc-32bit"
297 PACKAGES += "gcc-gij"
298 PACKAGES += "gcc-objc"
299 PACKAGES += "gcc-info"
300 PACKAGES += "gcc-obj-c++"
301 PACKAGES += "gcc-objc-32bit"
302 PACKAGES += "gcc-java"
303 PACKAGES += "cpp"
304 PACKAGES += "libgcj-devel"
305 PACKAGES += "gcc-c++"
306 PACKAGES += "gcc-c++-32bit"
307 PACKAGES += "gcc-locale"
308 PACKAGES += "gcc-fortran"
309
310 gcc_files = ""
311 gcc_files += "/usr/bin/gcc"
312 gcc_files += "/usr/bin/cc"
313 gcc_files += "/usr/bin/gcov"
314 gcc_files += "/usr/share/man/man1/gcc.1.gz"
315 gcc_files += "/usr/share/man/man1/cc.1.gz"
316 gcc_files += "/usr/share/man/man1/gcov.1.gz"
317
318 gcc-fortran-32bit_files = ""
319 gcc-fortran-32bit_files += "README"
320
321 libstdc++-devel_files = ""
322 libstdc++-devel_files += "README"
323
324 gcc-ada_files = ""
325 gcc-ada_files += "/usr/bin/gnat"
326 gcc-ada_files += "/usr/bin/gnatbind"
327 gcc-ada_files += "/usr/bin/gnatbl"
328 gcc-ada_files += "/usr/bin/gnatchop"
329 gcc-ada_files += "/usr/bin/gnatclean"
330 gcc-ada_files += "/usr/bin/gnatfind"
331 gcc-ada_files += "/usr/bin/gnatkr"
332 gcc-ada_files += "/usr/bin/gnatlink"
333 gcc-ada_files += "/usr/bin/gnatls"
334 gcc-ada_files += "/usr/bin/gnatmake"
335 gcc-ada_files += "/usr/bin/gnatname"
336 gcc-ada_files += "/usr/bin/gnatprep"
337 gcc-ada_files += "/usr/bin/gnatxref"
338 gcc-ada_files += "/usr/bin/gprmake"
339
340 gcc-gij-32bit_files = ""
341 gcc-gij-32bit_files += "/usr/bin/gij32"
342 gcc-gij-32bit_files += "/usr/bin/grmiregistry32"
343
344 gcc-32bit_files = ""
345 gcc-32bit_files += "README"
346
347 gcc-gij_files = ""
348 gcc-gij_files += "/usr/bin/gij"
349 gcc-gij_files += "/usr/bin/gappletviewer"
350 gcc-gij_files += "/usr/bin/gjar"
351 gcc-gij_files += "/usr/bin/gjarsigner"
352 gcc-gij_files += "/usr/bin/gjavah"
353 gcc-gij_files += "/usr/bin/gkeytool"
354 gcc-gij_files += "/usr/bin/gnative2ascii"
355 gcc-gij_files += "/usr/bin/gorbd"
356 gcc-gij_files += "/usr/bin/grmic"
357 gcc-gij_files += "/usr/bin/grmid"
358 gcc-gij_files += "/usr/bin/grmiregistry"
359 gcc-gij_files += "/usr/bin/gserialver"
360 gcc-gij_files += "/usr/bin/gtnameserv"
361 gcc-gij_files += "/usr/share/man/man1/gij.1.gz"
362 gcc-gij_files += "/usr/share/man/man1/gappletviewer.1.gz"
363 gcc-gij_files += "/usr/share/man/man1/gjar.1.gz"
364 gcc-gij_files += "/usr/share/man/man1/gjarsigner.1.gz"
365 gcc-gij_files += "/usr/share/man/man1/gjavah.1.gz"
366 gcc-gij_files += "/usr/share/man/man1/gkeytool.1.gz"
367 gcc-gij_files += "/usr/share/man/man1/gnative2ascii.1.gz"
368 gcc-gij_files += "/usr/share/man/man1/gorbd.1.gz"
369 gcc-gij_files += "/usr/share/man/man1/grmic.1.gz"
370 gcc-gij_files += "/usr/share/man/man1/grmid.1.gz"
371 gcc-gij_files += "/usr/share/man/man1/grmiregistry.1.gz"
372 gcc-gij_files += "/usr/share/man/man1/gserialver.1.gz"
373 gcc-gij_files += "/usr/share/man/man1/gtnameserv.1.gz"
374
375 gcc-objc_files = ""
376 gcc-objc_files += "README"
377
378 gcc-info_files = ""
379 gcc-info_files += "README"
380
381 gcc-obj-c++_files = ""
382 gcc-obj-c++_files += "README"
383
384 gcc-objc-32bit_files = ""
385 gcc-objc-32bit_files += "README"
386
387 gcc-java_files = ""
388 gcc-java_files += "/usr/bin/gcj"
389 gcc-java_files += "/usr/bin/gcjh"
390 gcc-java_files += "/usr/bin/gcj-dbtool"
391 gcc-java_files += "/usr/bin/jcf-dump"
392 gcc-java_files += "/usr/bin/jv-convert"
393 gcc-java_files += "/usr/bin/gc-analyze"
394 gcc-java_files += "/usr/share/man/man1/gcj.1.gz"
395 gcc-java_files += "/usr/share/man/man1/gcjh.1.gz"
396 gcc-java_files += "/usr/share/man/man1/gcj-dbtool.1.gz"
397 gcc-java_files += "/usr/share/man/man1/jcf-dump.1.gz"
398 gcc-java_files += "/usr/share/man/man1/jv-convert.1.gz"
399 gcc-java_files += "/usr/share/man/man1/gc-analyze.1.gz"
400
401 cpp_files = ""
402 cpp_files += "/lib/cpp"
403 cpp_files += "/usr/bin/cpp"
404 cpp_files += "/usr/share/man/man1/cpp.1.gz"
405
406 libgcj-devel_files = ""
407 libgcj-devel_files += "README"
408
409 gcc-c++_files = ""
410 gcc-c++_files += "/usr/bin/g++"
411 gcc-c++_files += "/usr/bin/c++"
412 gcc-c++_files += "/usr/share/man/man1/g++.1.gz"
413 gcc-c++_files += "/usr/share/man/man1/c++.1.gz"
414
415 gcc-c++-32bit_files = ""
416 gcc-c++-32bit_files += "README"
417
418 gcc-locale_files = ""
419 gcc-locale_files += "README"
420
421 gcc-fortran_files = ""
422 gcc-fortran_files += "/usr/bin/gfortran"
423 gcc-fortran_files += "/usr/share/man/man1/gfortran.1.gz"
424
425 FILES_${PN} = "${gcc_files}"
426 FILES_${PN}-fortran-32bit = "${gcc-fortran-32bit_files}"
427 FILES_libstdc++-devel = "${libstdc++-devel_files}"
428 FILES_${PN}-ada = "${gcc-ada_files}"
429 FILES_${PN}-gij-32bit = "${gcc-gij-32bit_files}"
430 FILES_${PN}-32bit = "${gcc-32bit_files}"
431 FILES_${PN}-gij = "${gcc-gij_files}"
432 FILES_${PN}-objc = "${gcc-objc_files}"
433 FILES_${PN}-info = "${gcc-info_files}"
434 FILES_${PN}-obj-c++ = "${gcc-obj-c++_files}"
435 FILES_${PN}-objc-32bit = "${gcc-objc-32bit_files}"
436 FILES_${PN}-java = "${gcc-java_files}"
437 FILES_cpp = "${cpp_files}"
438 FILES_libgcj-devel = "${libgcj-devel_files}"
439 FILES_${PN}-c++ = "${gcc-c++_files}"
440 FILES_${PN}-c++-32bit = "${gcc-c++-32bit_files}"
441 FILES_${PN}-locale = "${gcc-locale_files}"
442 FILES_${PN}-fortran = "${gcc-fortran_files}"
443
444 PKG_gcc= "gcc"
445 PKG_gcc-fortran-32bit= "gcc-fortran-32bit"
446 PKG_libstdc++-devel= "libstdc++-devel"
447 PKG_gcc-ada= "gcc-ada"
448 PKG_gcc-gij-32bit= "gcc-gij-32bit"
449 PKG_gcc-32bit= "gcc-32bit"
450 PKG_gcc-gij= "gcc-gij"
451 PKG_gcc-objc= "gcc-objc"
452 PKG_gcc-info= "gcc-info"
453 PKG_gcc-obj-c++= "gcc-obj-c++"
454 PKG_gcc-objc-32bit= "gcc-objc-32bit"
455 PKG_gcc-java= "gcc-java"
456 PKG_cpp= "cpp"
457 PKG_libgcj-devel= "libgcj-devel"
458 PKG_gcc-c++= "gcc-c++"
459 PKG_gcc-c++-32bit= "gcc-c++-32bit"
460 PKG_gcc-locale= "gcc-locale"
461 PKG_gcc-fortran= "gcc-fortran"
462
463 require gcc-extraconf.inc