• R/O
  • SSH

contrib-spec-files: Commit

日本OpenSolaris Users Group有志による、レポジトリサーバ作成のためのspecファイル群です。


Commit MetaInfo

Revision4cf59be8dfbee1b9910e66820195d8a6312a0667 (tree)
Time2012-06-13 21:26:54
AuthorOsamu Tabata <cantimerny.g@gmai...>
CommiterOsamu Tabata

Log Message

SFEgcc: Initial commit

Change Summary

Incremental Difference

diff -r 7c547e0194ea -r 4cf59be8dfbe specs/SFEgcc.spec
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/SFEgcc.spec Wed Jun 13 21:26:54 2012 +0900
@@ -0,0 +1,762 @@
1+#
2+# spec file for package SFEgcc
3+#
4+# includes module(s): GNU gcc
5+#
6+
7+##TODO## test sparc version of gcc-05-LINK_LIBGCC_SPEC-sparcv9.diff
8+
9+#provide symbolic links in places define below:
10+#start the paths with a leading "/"
11+#example: %define gccsymlinks /usr/gcc /usr/gnu
12+
13+%define gccsymlinks /usr/gcc /usr/gnu
14+#IMPORTANT! READ ON BELOW and set switches and paths accordingly
15+
16+#hack for the %files section. use define for each directory from above
17+#to control the non scriptable %files section
18+#1 = enabled 0 = disabled
19+#and special<n>path point to one of the paths noted in %{gccsymlinks}
20+%define symlinktarget1enabled 1
21+%define symlinktarget1path /usr/gcc
22+
23+%define symlinktarget2enabled 1
24+%define symlinktarget2path /usr/gnu
25+
26+#spare
27+%define symlinktarget3enabled 0
28+%define symlinktarget3path /usr
29+
30+# to more widely test if this change causes regressions, by default off:
31+# want this? compile with: --with-handle_pragma_pack_push_pop
32+%define with_handle_pragma_pack_push_pop %{?_with_handle_pragma_pack_push_pop:1}%{?!_with_handle_pragma_pack_push_pop:0}
33+
34+%include Solaris.inc
35+%include base.inc
36+%include packagenamemacros.inc
37+
38+%define osbuild %(uname -v | sed -e 's/[A-z_]//g')
39+
40+##TODO## should include/arch64.inc consider setting _arch64 that way?
41+# gcc builds 64-bit libs/binaries even on 32-bit CPUs/Kernels (e.g. ATOM CPU)
42+%ifarch amd64 i386
43+%define _arch64 amd64
44+%else
45+%define _arch64 sparcv9
46+%endif
47+
48+
49+#default to SUNWbinutils
50+##TODO## if necessary add osbuild numbers to decide SUNW/SFE version
51+%define SUNWbinutils %(/usr/bin/pkginfo -q SUNWbinutils 2>/dev/null && echo 1 || echo 0)
52+%define SFEbinutils %(/usr/bin/pkginfo -q SFEbinutils 2>/dev/null && echo 1 || echo 0)
53+#see below, older builds then 126 have too old gmp / mpfr to gcc version around 4.4.4
54+#%define SFEgmp %(/usr/bin/pkginfo -q SFEgmp 2>/dev/null && echo 1 || echo 0)
55+##TODO## to be replaced by packagenamemacros, selecting SFEgmp on specific osbuilds where
56+#it is too old for fresh gcc builds
57+%define SFEgmp 1
58+#%define SFEmpfr %(/usr/bin/pkginfo -q SFEmpfr 2>/dev/null && echo 1 || echo 0)
59+##TODO## to be replaced by packagenamemacros, selecting SFEmpfr on specific osbuilds where
60+#it is too old for fresh gcc builds
61+%define SFEmpfr 1
62+
63+# force using SFEbinutils
64+#if SFEbinutils is not present, force it by the commandline switch --with_SFEbinutils
65+%define with_SFEbinutils %{?_with_SFEbinutils:1}%{?!_with_SFEbinutils:0}
66+%if %with_SFEbinutils
67+%define SFEbinutils 1
68+%define SUNWbinutils 0
69+%endif
70+
71+# force using gmp | mpfr
72+#if SFEgmp is not present, force them as required by the commandline switch --with_SFEgmp
73+%define with_SFEgmp %{?_with_SFEgmp:1}%{?!_with_SFEgmp:0}
74+#if build is lower then 126 then force it (update to gmp see CR 6863696)
75+%if %(expr %{osbuild} '<' 126)
76+%define with_SFEgmp 1
77+%endif
78+
79+%if %with_SFEgmp
80+%define SFEgmp 1
81+%endif
82+
83+#if SFEgmp is not present, force them as required by the commandline switch --with_SFEmpfr
84+%define with_SFEmpfr %{?_with_SFEmpfr:1}%{?!_with_SFEmpfr:0}
85+#if build is lower then 126 then force it (update to gmp see CR 6863684)
86+%if %(expr %{osbuild} '<' 126)
87+%define with_SFEmpfr 1
88+%endif
89+
90+%if %with_SFEmpfr
91+%define SFEmpfr 1
92+%endif
93+
94+#if SFElibmpc is not present, force them as required by the commandline switch --with-SFElibmpc
95+#future OS versins might include a libmpc, leave code commented until then
96+%define with_SFElibmpc %{?_with_SFElibmpc:1}%{?!_with_SFElibmpc:0}
97+#parked #if build is lower then 126 then force it (update to gmp see CR 6863684)
98+#parked %if %(expr %{osbuild} '<' 126)
99+#for *now* require SFElibmpc in any case
100+%define with_SFElibmpc 1
101+#parked %endif
102+
103+%if %with_SFElibmpc
104+%define SFElibmpc 1
105+%endif
106+
107+#if you want a specific version of gcc be built, then change the default setting
108+#below *or* specify the number on the command line (gcc_version), example see below
109+
110+# To set a specific gcc version to be build, do this from *outside*
111+# pkgtool build SFEgcc --define 'gcc_version 4.6.1'
112+
113+%if %{!?gcc_version:1}
114+#make version bump *here* - this is the default version being built
115+%define version 4.6.3
116+%else
117+#gcc version is already defined from *outside*, from the pkgtool command line
118+%define version %{gcc_version}
119+%endif
120+#special handling of version / gcc_version
121+
122+%define major_minor 4.6
123+# breaks build .... use 4.6.1 and remove the third++ part
124+#%define major_minor %( echo %{version} | sed -e 's/\(^[0-9]*\.[0-9]*\)\..*/\1/' )
125+
126+#transform 4.6. -> 46
127+%define majorminornumber %( echo %{major_minor} | sed -e 's/\.//g' )
128+%define _prefix /usr/gcc/%major_minor
129+%define _infodir %{_prefix}/info
130+
131+# This "Name:" SFEgcc and SFEgccruntime is a compatibility layer,
132+# and delivering only symbolic links to corresponding versioned
133+# directories with real files delivered in sub packages like
134+# SFEgcc-%majorminornumber and SFEgccruntime-%majorminornumber
135+
136+##TODO## make symlinks mediated symlinks for machine-local configured,
137+#preferred versions. Not as flexible as we want (want: user selectable
138+#gcc variant, but we get only whole machine defaults)
139+
140+Name: SFEgcc
141+IPS_package_name: sfe/developer/gcc
142+Summary: GNU gcc compiler - metapackage with symbolic links to version %{major_minor} compiler files available in %{gccsymlinks}
143+#Version: see above, %{version} is set elsewhere
144+License: GPLv3+
145+SUNW_Copyright: gcc.copyright
146+Source: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.bz2
147+Patch1: gcc-01-libtool-rpath.diff
148+%if %with_handle_pragma_pack_push_pop
149+Patch2: gcc-02-handle_pragma_pack_push_pop.diff
150+%else
151+%endif
152+Patch3: gcc-03-gnulib.diff
153+
154+#LINK_LIBGCC_SPEC
155+#gcc-05 could be reworked to know both, amd64 and sparcv9
156+%ifarch i386 amd64
157+Patch5: gcc-05-LINK_LIBGCC_SPEC.diff
158+%endif
159+%ifarch sparcv9
160+Patch5: gcc-05-LINK_LIBGCC_SPEC-sparcv9.diff
161+%endif
162+
163+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49347
164+Patch10: gcc-10-spawn.diff
165+
166+SUNW_BaseDir: %{_basedir}
167+BuildRoot: %{_tmppath}/%{name}-%{version}-build
168+%include default-depend.inc
169+
170+#Attention - this is the dependency chain for the compiler:
171+# SFEgcc -needs-> SFEgcc-46,SFEgccruntime-46
172+# this is an example for a program which can have this
173+# dependency chain (most common case)
174+# SFEapplication -needs-> SFEgccruntime
175+# *OR* in special cases
176+# SFEapplication -needs-> SFEgccruntime-46
177+#
178+# today we want exactly 4.6. later on if we can ask a minimum revision,
179+# then a "Requires:" can be changed to request the minimum version which
180+# is needed to e.g. >= 4.6
181+Requires: SFEgcc-%{majorminornumber},SFEgccruntime-%{majorminornumber}
182+#cosmetic:
183+Requires: SFEgccruntime
184+
185+BuildRequires: SFElibiconv-devel
186+Requires: SFElibiconv
187+BuildRequires: SUNWbash
188+
189+%if %SFEgmp
190+BuildRequires: SFEgmp-devel
191+Requires: SFEgmp
192+#workaround on IPS which is wrong with BASEdir as "/" -> then assume /usr/gnu
193+%define SFEgmpbasedir %(pkgparam SFEgmp BASEDIR 2>/dev/null | sed -e 's+^/$+/usr/gnu+')
194+%else
195+BuildRequires: SUNWgnu-mp
196+Requires: SUNWgnu-mp
197+%endif
198+
199+%if %SFEmpfr
200+BuildRequires: SFEmpfr-devel
201+Requires: SFEmpfr
202+#workaround on IPS which is wrong with BASEdir as "/" -> then assume /usr/gnu
203+%define SFEmpfrbasedir %(pkgparam SFEmpfr BASEDIR 2>/dev/null | sed -e 's+^/$+/usr/gnu+')
204+%else
205+BuildRequires: SUNWgnu-mpfr
206+Requires: SUNWgnu-mpfr
207+%endif
208+
209+%if %SFElibmpc
210+BuildRequires: SFElibmpc-devel
211+Requires: SFElibmpc
212+#workaround on IPS which is wrong with BASEdir as "/" -> then assume /usr/gnu
213+%define SFElibmpcbasedir %(pkgparam SFElibmpc BASEDIR 2>/dev/null | sed -e 's+^/$+/usr/gnu+')
214+%else
215+#BuildRequires: empty
216+#Requires: empty
217+%endif
218+
219+%if %SFEbinutils
220+BuildRequires: SFEbinutils
221+Requires: SFEbinutils
222+%else
223+BuildRequires: SUNWbinutils
224+Requires: SUNWbinutils
225+%endif
226+
227+Requires: SUNWpostrun
228+
229+%package -n SFEgcc-%{majorminornumber}
230+IPS_package_name: sfe/developer/gcc-46
231+Summary: GNU gcc compiler - version %{major_minor} compiler files
232+Version: %{version}
233+SUNW_BaseDir: %{_basedir}
234+%include default-depend.inc
235+Requires: %{name}runtime-%{majorminornumber}
236+
237+%package -n SFEgccruntime
238+IPS_package_name: sfe/system/library/gcc-runtime
239+Summary: GNU gcc runtime libraries for applications - metapackage with symbolic links to version %{major_minor} runtime available in %{gccsymlinks}
240+Version: %{version}
241+SUNW_BaseDir: %{_basedir}
242+%include default-depend.inc
243+Requires: %{name}runtime-%{majorminornumber}
244+
245+%package -n SFEgccruntime-%{majorminornumber}
246+IPS_package_name: sfe/system/library/gcc-46-runtime
247+Summary: GNU gcc runtime libraries for applications - version %{version} runtime library files
248+Version: %{version}
249+SUNW_BaseDir: %{_basedir}
250+%include default-depend.inc
251+#not apropriate Requires: %{name}
252+
253+%if %SFEgmp
254+BuildRequires: SFEgmp-devel
255+Requires: SFEgmp
256+%else
257+BuildRequires: SUNWgnu-mp
258+Requires: SUNWgnu-mp
259+%endif
260+
261+%if %SFEmpfr
262+BuildRequires: SFEmpfr-devel
263+Requires: SFEmpfr
264+%else
265+BuildRequires: SUNWgnu-mpfr
266+Requires: SUNWgnu-mpfr
267+%endif
268+
269+%if %SFElibmpc
270+BuildRequires: SFElibmpc-devel
271+Requires: SFElibmpc
272+%else
273+#BuildRequires: SUNWthis-package-not-availbale
274+#Requires: SUNWthis-package-not-availbale
275+%endif
276+
277+Requires: SUNWpostrun
278+
279+
280+%if %build_l10n
281+%package -n SFEgcc-l10n
282+Summary: %{summary} - l10n files
283+SUNW_BaseDir: %{_basedir}
284+%include default-depend.inc
285+Requires: %{name}
286+%endif
287+
288+%prep
289+%setup -q -c -n %{name}-%version
290+mkdir gcc
291+#with 4.3.3 in new directory libjava/classpath/
292+cd gcc-%{version}/libjava/classpath/
293+#%patch1 -p1
294+cd ../../..
295+cd gcc-%{version}
296+%if %with_handle_pragma_pack_push_pop
297+%patch2 -p1
298+%else
299+%endif
300+%patch3 -p1
301+%patch5 -p1
302+%patch10 -p1
303+
304+%build
305+CPUS=`/usr/sbin/psrinfo | grep on-line | wc -l | tr -d ' '`
306+if test "x$CPUS" = "x" -o $CPUS = 0; then
307+ CPUS=1
308+fi
309+
310+#perl -w -pi.bak -e "s,^#\!\s*/bin/sh,#\!/usr/bin/bash -x," `find . -type f -name configure -exec grep -q "^#\!.*/bin/sh" {} \; -print`
311+#perl -w -pi.bak -e "s,^#\!\s*/bin/sh,#\!/usr/bin/bash -x," `find . -type f -name configure -exec grep -q "^#\!.*/bin/sh" {} \; -print`
312+
313+cd gcc
314+
315+%if %build_l10n
316+nlsopt='--with-libiconv-prefix=/usr/gnu -enable-nls'
317+%else
318+nlsopt=-disable-nls
319+%endif
320+
321+%define ld_options -zignore -zcombreloc -Bdirect -i
322+
323+export CC=gcc
324+export CXX=g++
325+#export CONFIG_SHELL=/usr/bin/bash
326+export CONFIG_SHELL=/usr/bin/ksh
327+export CPP="cc -E -Xs"
328+export CFLAGS="-O"
329+
330+export BOOT_CFLAGS="-Os -Xlinker -i %gcc_picflags %gnu_lib_path"
331+export BOOT_LDLAGS="%_ldflags -R%{_prefix}/%major_minor/lib %gnu_lib_path"
332+
333+# for target libraries (built with bootstrapped GCC)
334+export CFLAGS_FOR_TARGET="-O2 -Xlinker -i %gcc_picflags"
335+export LDFLAGS_FOR_TARGET="%_ldflags"
336+export LDFLAGS="%_ldflags %gnu_lib_path"
337+export LD_OPTIONS="%ld_options"
338+
339+# For pod2man
340+export PATH="$PATH:/usr/perl5/bin"
341+
342+%define build_gcc_with_gnu_ld 0
343+#saw problems. 134 did compile, OI147 stopped with probably linker errors
344+##TODO## research which osbuild started to fail, adjust the number below
345+#%if %(expr %{osbuild} '>=' 146)
346+#%define build_gcc_with_gnu_ld 1
347+#%endif
348+
349+%if %build_gcc_with_gnu_ld
350+export LD="/usr/gnu/bin/ld"
351+%else
352+#avoid slipping in gnu ld
353+#might be changed to plain /usr/bin/ld instead of CBE ld-wrapper
354+#export LD=`which ld-wrapper`
355+#it's actually better to really specify /usr/bin/ld and skip the
356+#extra options from the wrapper instead of ending up on a system
357+#without the SFE build-env and have no ld-wrapper installed there
358+export LD=/usr/bin/ld
359+%endif
360+
361+
362+../gcc-%{version}/configure \
363+ --prefix=%{_prefix} \
364+ --libdir=%{_libdir} \
365+ --libexecdir=%{_libexecdir} \
366+ --mandir=%{_mandir} \
367+ --infodir=%{_infodir} \
368+%if %SUNWbinutils
369+ --with-build-time-tools=/usr/sfw \
370+ --with-as=/usr/sfw/bin/gas \
371+ --with-gnu-as \
372+%else
373+ --with-as=/usr/gnu/bin/as \
374+ --with-gnu-as \
375+%endif
376+%if %build_gcc_with_gnu_ld
377+ --with-ld=$LD \
378+ --with-gnu-ld \
379+%else
380+ --with-ld=$LD \
381+ --without-gnu-ld \
382+%endif
383+ --enable-languages=c,c++,fortran,objc \
384+ --enable-shared \
385+ --disable-static \
386+ --enable-decimal-float \
387+%if %SFEgmp
388+ --with-gmp=%{SFEgmpbasedir} \
389+%else
390+ --with-gmp_include=%{_basedir}/include/gmp \
391+%endif
392+%if %SFEmpfr
393+ --with-mpfr=%{SFEmpfrbasedir} \
394+%else
395+ --with-mpfr_include=%{_basedir}/include/mpfr \
396+%endif
397+%if %SFElibmpc
398+ --with-mpc=%{SFElibmpcbasedir} \
399+%else
400+ --with-mpc_include=%{_basedir}/include \
401+%endif
402+ $nlsopt
403+
404+gmake -j$CPUS bootstrap-lean \
405+ BOOT_CFLAGS="$BOOT_CFLAGS" \
406+ CFLAGS_FOR_TARGET="$CFLAGS_FOR_TARGET" \
407+ CXXFLAGS_FOR_TARGET="$CFLAGS_FOR_TARGET"
408+
409+
410+%install
411+rm -rf $RPM_BUILD_ROOT
412+
413+cd gcc
414+gmake install DESTDIR=$RPM_BUILD_ROOT
415+
416+cd $RPM_BUILD_ROOT%{_prefix}
417+ln -s share/man man
418+
419+rm -f $RPM_BUILD_ROOT%{_infodir}/dir
420+
421+%if %build_l10n
422+%else
423+# REMOVE l10n FILES
424+rm -rf $RPM_BUILD_ROOT%{_datadir}/locale
425+%endif
426+
427+#link runtime libs, for compatibility
428+#note: links only "basename_of_lib", then "major"-number version libs
429+#leaves out "minor" and "micro" version libs, they are normally not
430+#to be linked by userland binaries (runtime linking, see output of "ldd binaryname")
431+
432+# remove trailing slash, change to "../" and remove trailing slash again
433+# OFFSET=$( echo $SYMLINKTARGET | sed -e 's?/$??' -e 's?\w*/?../?g' -e 's?\w*$??' )
434+
435+for SYMLINKTARGET in %{gccsymlinks}
436+do
437+ # make from /usr/gcc this offset ../../
438+ OFFSET=$( echo "$SYMLINKTARGET" | sed -e 's?/$??' -e 's?\w*/?../?g' -e 's?\w*$??' -e 's?/$??' )
439+ # with CWD /usr/gcc/lib, an example is ../../gcc/%major_minor/lib/libgcc_s.so.1
440+ mkdir -p $RPM_BUILD_ROOT/$SYMLINKTARGET/lib
441+ cd $RPM_BUILD_ROOT/$SYMLINKTARGET/lib
442+ for filepath in lib/libgcc_s.so.1 lib/libgcc_s.so lib/libgfortran.so.3 lib/libgfortran.so lib/libgomp.so.1 lib/libgomp.so lib/libobjc_gc.so.2 lib/libobjc_gc.so lib/libobjc.so.2 lib/libobjc.so lib/libssp.so.0 lib/libssp.so lib/libstdc++.so.6 lib/libstdc++.so lib/libquadmath.so lib/libquadmath.so.0
443+ do
444+ [ -r $OFFSET/gcc/%major_minor/$filepath ] && ln -s $OFFSET/gcc/%major_minor/$filepath
445+ done #for file
446+done #for SYMLINKTARGET
447+
448+#link arch runtime libs for compatibility
449+%ifarch amd64 sparcv9
450+for SYMLINKTARGET in %{gccsymlinks}
451+do
452+ # make from /usr/gcc this offset ../../
453+ OFFSET=$( echo "$SYMLINKTARGET" | sed -e 's?/$??' -e 's?\w*/?../?g' -e 's?\w*$??' -e 's?/$??' )
454+ # with CWD /usr/gcc/lib, an example is ../../gcc/%major_minor/lib/libgcc_s.so.1
455+ mkdir -p $RPM_BUILD_ROOT/$SYMLINKTARGET/lib/%{_arch64}
456+ cd $RPM_BUILD_ROOT/$SYMLINKTARGET/lib/%{_arch64}
457+ for filepath in lib/%{_arch64}/libgcc_s.so.1 lib/%{_arch64}/libgcc_s.so lib/%{_arch64}/libgfortran.so.3 lib/%{_arch64}/libgfortran.so lib/%{_arch64}/libgomp.so.1 lib/%{_arch64}/libgomp.so lib/%{_arch64}/libobjc.so.2 lib/%{_arch64}/libobjc.so lib/%{_arch64}/libssp.so.0 lib/%{_arch64}/libssp.so lib/%{_arch64}/libstdc++.so.6 lib/%{_arch64}/libstdc++.so lib/%{_arch64}/libquadmath.so lib/%{_arch64}/libquadmath.so.0
458+ do
459+ #note add one ../ for %{_arch64}
460+ [ -r $OFFSET/../gcc/%major_minor/$filepath ] && ln -s $OFFSET/../gcc/%major_minor/$filepath
461+ done #for file
462+done #for SYMLINKTARGET
463+%endif
464+
465+for SYMLINKTARGET in %{gccsymlinks}
466+do
467+ # make from /usr/gcc this offset ../../
468+ OFFSET=$( echo "$SYMLINKTARGET" | sed -e 's?/$??' -e 's?\w*/?../?g' -e 's?\w*$??' -e 's?/$??' )
469+ # with CWD /usr/gcc/lib, an example is ../../gcc/%major_minor/lib/libgcc_s.so.1
470+ mkdir -p $RPM_BUILD_ROOT/$SYMLINKTARGET/bin
471+ cd $RPM_BUILD_ROOT/$SYMLINKTARGET/bin
472+# leave out sfw gcc 3.x.x uses this name already ln -s ../../gcc/%major_minor/bin/cpp
473+ for filepath in bin/c++ bin/g++ bin/gcc bin/gcov bin/gfortran
474+ do
475+ [ -r $OFFSET/gcc/%major_minor/$filepath ] && ln -s $OFFSET/gcc/%major_minor/$filepath
476+ done #for file
477+done #for SYMLINKTARGET
478+
479+rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.a
480+rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.la
481+%ifarch amd64 sparcv9
482+rm -f $RPM_BUILD_ROOT%{_libdir}/%{_arch64}/lib*.a
483+rm -f $RPM_BUILD_ROOT%{_libdir}/%{_arch64}/lib*.la
484+%endif
485+
486+
487+%clean
488+rm -rf $RPM_BUILD_ROOT
489+
490+%post -n SFEgcc
491+( echo 'PATH=/usr/bin:/usr/sfw/bin; export PATH' ;
492+ echo 'infos="';
493+ echo 'gcc.info cpp.info gccint.info cppinternals.info gccinstall.info gfortran.info' ;
494+ echo '"';
495+ echo 'retval=0';
496+ echo 'for info in $infos; do';
497+ echo ' install-info --info-dir=%{_infodir} %{_infodir}/$info || retval=1';
498+ echo 'done';
499+ echo 'exit $retval' ) | $PKG_INSTALL_ROOT/usr/lib/postrun -b -c SFE
500+
501+%preun -n SFEgcc
502+( echo 'PATH=/usr/bin:/usr/sfw/bin; export PATH' ;
503+ echo 'infos="';
504+ echo 'gcc.info cpp.info gccint.info cppinternals.info gccinstall.info gfortran.info' ;
505+ echo '"';
506+ echo 'for info in $infos; do';
507+ echo ' install-info --info-dir=%{_infodir} --delete %{_infodir}/$info';
508+ echo 'done';
509+ echo 'exit 0' ) | $PKG_INSTALL_ROOT/usr/lib/postrun -b -c SFE
510+
511+
512+
513+#SFEgcc-%{majorminornumber}, other packages see below
514+
515+%files -n SFEgcc-%{majorminornumber}
516+%defattr (-, root, bin)
517+%dir %attr (0755, root, bin) %{_prefix}
518+%{_prefix}/man
519+%dir %attr (0755, root, bin) %{_bindir}
520+%{_bindir}/*
521+%dir %attr (0755, root, bin) %{_libdir}
522+%{_libdir}/gcc
523+%dir %attr (0755, root, sys) %{_datadir}
524+%dir %attr (0755, root, bin) %{_mandir}
525+%dir %attr (0755, root, bin) %{_mandir}/man1
526+%{_mandir}/man1/*.1
527+%dir %attr (0755, root, bin) %{_mandir}/man7
528+%{_mandir}/man7/*.7
529+%{_infodir}
530+%{_includedir}
531+
532+%dir %attr (0755, root, sys) %{_datadir}/gcc-%{version}
533+%dir %attr (0755, root, sys) %{_datadir}/gcc-%{version}/python
534+%dir %attr (0755, root, sys) %{_datadir}/gcc-%{version}/python/libstdcxx
535+%dir %attr (0755, root, sys) %{_datadir}/gcc-%{version}/python/libstdcxx/v6
536+%{_datadir}/gcc-%{version}/python/libstdcxx/v6/printers.py
537+%{_datadir}/gcc-%{version}/python/libstdcxx/v6/__init__.py
538+%{_datadir}/gcc-%{version}/python/libstdcxx/__init__.py
539+
540+
541+%files -n SFEgccruntime-%{majorminornumber}
542+%defattr (-, root, bin)
543+%dir %attr (0755, root, bin) %{_prefix}
544+%dir %attr (0755, root, bin) %{_libdir}
545+%{_libdir}/lib*.so*
546+%{_libdir}/lib*.spec
547+%ifarch amd64 sparcv9 i386
548+%dir %attr (0755, root, bin) %{_libdir}/%{_arch64}
549+%{_libdir}/%{_arch64}/lib*.so*
550+%{_libdir}/%{_arch64}/lib*.spec
551+%endif
552+
553+%if %symlinktarget1enabled
554+%files -n SFEgcc
555+%defattr (-, root, bin)
556+%{symlinktarget1path}/bin
557+%files -n SFEgccruntime
558+%defattr (-, root, bin)
559+%{symlinktarget1path}/lib
560+%endif
561+
562+%if %symlinktarget2enabled
563+%files -n SFEgcc
564+%defattr (-, root, bin)
565+%{symlinktarget2path}/bin
566+%files -n SFEgccruntime
567+%defattr (-, root, bin)
568+%{symlinktarget2path}/lib
569+%endif
570+
571+%if %symlinktarget3enabled
572+%files -n SFEgcc
573+%defattr (-, root, bin)
574+%{symlinktarget3path}/bin
575+%files -n SFEgccruntime
576+%defattr (-, root, bin)
577+%{symlinktarget3path}/lib
578+%endif
579+
580+
581+%if %build_l10n
582+%files -n SFEgcc-l10n
583+%defattr (-, root, bin)
584+%dir %attr (0755, root, bin) %{_prefix}
585+%dir %attr (0755, root, sys) %{_datadir}
586+%attr (-, root, other) %{_datadir}/locale
587+%endif
588+
589+%changelog
590+* Wed Jun 13 2012 - Osamu Tabata<cantimerny.g@gmail.com>
591+- Sipport for Solaris11
592+* Sat Mar 03 2012 - Milan Jurik
593+- bump to 4.6.3
594+* Wed Dec 23 2011 - Milan Jurik
595+- add libquadmath symlinks
596+* Sun Dec 04 2011 - Milan Jurik
597+- patch10 for spawn issue
598+* Sat Oct 29 2011 - Milan Jurik
599+- bump to 4.6.2
600+* Thr Oct 13 2011 - Thomas Wagner
601+- add to LDFLAGS %gnu_lib_path or cc1 can't find libs in bootstrapping the compiler
602+- remove typo in LDFLAGS_FOR_TARGET="%_ldflags"
603+* Wed Oct 11 2011 - Thomas Wagner
604+- add IPS_package_names
605+- little cleaning up: remove development comments
606+* Tue Sep 27 2011 - Thomas Wagner
607+- add version control form outside, so you can build and version
608+ (if the patches apply cleanly). Note: only one micro version at
609+ a time is supported by the naming schema: 4.6.1 -> SFEgcc-46
610+ 4.5.3 -> SFEgcc-45, and not at the same time 4.5.2 -> SFEgcc-45.
611+ Always send to the repo last, what then should be the version
612+ providing the symlinks in /usr/gnu/<bin|lib>
613+ e.g. first 4.5.3 then second 4.6.1 -> you get SFEgcc symlinks to 4.6.1 version
614+* Thu Sep 22 2011 - Thomas Wagner
615+- automate symlinks to be created in for instance /usr/gnu/bin or /usr/gcc/bin
616+ as requested at compile time by the configure line --enable-languages=c,c++,fortran,objc
617+ This works automaticly and independent of number of languages enabled
618+- reverse package odering, make filename match package SFEgcc, this fixes --autodeps
619+##TODO## review/verify documentatioin in patch gcc-03-gnulib.diff
620+- document patch gcc-03-gnulib.diff backgrounds
621+##TODO## review/verify documentatioin in patch gcc-05-LINK_LIBGCC_SPEC.diff
622+- add patch gcc-05-LINK_LIBGCC_SPEC.diff (inspired by pkgsrc's gcc variant!)
623+ to make gcc always know where the gcc compiler runtime lives. Needed to get
624+ rid of excessive number of directories hardcoded in -R (patch gcc-03-gnulib.diff
625+ new version removed them, resultingin libgcc_s.so and libstdc++.so.6 not always
626+ found). Only downside: if you want a user library then really *do* specify one
627+ -R/usr/gnu/lib for instance. Else find a clean binary with the correct runpath
628+- move %gnu_lib_path over from LDFLAGS + LD_OPTIONS to BOOT_CFLAGS, removes
629+ excessive number of directories in runpath of binaries, but still finds iconv,
630+ mpfr, gmp, mpc in /usr/gnu/lib at compiler bootstrap and when using the compiler
631+ itself.
632+- second draft of a compile time selectable set of target directories where
633+ gcc symlinks for compiler and runtime are support to going to. Current
634+ simplification is that all symlinks go into a single target package SFEgcc
635+ respectively SFEgccruntime.
636+- avoid slipping in gnu-ld with the new consolidation of /usr/sfw/bin/<ld|*> and/or
637+ /usr/ccs/bin over to /usr/bin which might be accidentially be the first in PATH.
638+ Set LD=`which ld-wrapper` -->> NOTE changd again later
639+- it's actually better to really specify LD=/usr/bin/ld then specifying
640+ eventually unavailable ld-wrapper script (in case CBE is not installed)
641+- make extra matapackages available to be set as "Requires:" in consumer packages
642+ and add packages which version number in theyr names that can will be pulled
643+ in by the metapackages or consumer packages. In selected special cases
644+ programs can "Requires:" the versioned SFEgccruntime-46 package name.
645+- first draft patch5 gcc-05-LINK_LIBGCC_SPEC-sparcv9.diff for sparcv9 - needs
646+ testing, please give feedback
647+* Tue Aug 16 2011 - Thomas Wagner
648+- first version of reworked gcc-03-gnulib.diff where user can
649+ define libdirs everywhere in RUNPATH, e.g. /usr/g++/lib:/usr/gnu/lib:/usr/lib
650+ please test results with dump -Lv /usr/g++/lib/libQtNetwork.so | grep RUNPATH
651+* Sat Jul 23 2011 - Guido Berhoerster <gber@openindiana.org>
652+- added License and SUNW_Copyright tags
653+* Sun Jul 17 2011 - Alex Viskovatoff
654+- do not hardcode <majornumber>.<minornumber>
655+* Sun Jul 17 2011 - Milan Jurik
656+- bump to 4.6.1
657+* Tue May 17 2011 - Milan Jurik
658+- bump to 4.5.3
659+* Thu Mar 17 2011 - Thomas Wagner
660+- temporarily force SFEgmp SFEmpfr to have pkgtool --autodeps working in correct build-order
661+* Wed Mar 16 2011 - Thomas Wagner
662+- symlinks did not go into package, added %{_gnu_bindir}/* to %files SFEgcc
663+* Tue Mar 15 2011 - Thomas Wagner
664+- add missing %define _gnu_bindir %{_basedir}/gnu/bin
665+* Sat Mar 12 2011 - Thomas Wagner
666+- make symlinks to get SFEgcc.spec version 4.x.x to have the gcc 4.x.x
667+ default compiler accessible by /usr/gnu/bin/gcc and /usr/gnu/bin/g++
668+ and /usr/gnu/bin/gfortran ...
669+* Fri Mar 04 2011 - Milan Jurik
670+- RUNPATH enforced to contain /usr/gnu/lib, libs symlinked to /usr/gnu/lib
671+* Wed Mar 02 2011 - Milan Jurik
672+- fix NLS build, need to fix linker for g++ still
673+* Tue Mar 01 2011 - Milan Jurik
674+- move to /usr/gcc/4.5
675+* Tue Feb 08 2011 - Thomas Wagner
676+- interim solution for very old gcc-4.3.3, derived from experimental/SFEgcc-4.5.2.spec
677+* Sun Jan 30 2011 - Thomas Wagner
678+- bump to 4.5.2
679+* Sat Oct 23 2010 - Thomas Wagner
680+- bump to 4.5.1
681+- require SFEgmp / SFEmpfr (new version) for builds below 126. may add
682+ upper limit later if OS contains required version as SUNWgnu-mp / SUNWgnu-mpfr
683+- finetune BASEDIR detection (SVR4 works, IPS lacks BASEDIR -> emulate)
684+- merge new logic for (Build)Requires from SFEgcc version 4.4.4 to 4.5.0 spec file
685+- start with osbuild >= 146 to use gnu ld for linking (build_gcc_with_gnu_ld)
686+ because looks like linker error
687+- collect python files from directory based on gcc %version
688+- make spec bailout if the symlink /usr/gnu/bin/cc exists
689+- add (Build)Requires SFElibmpc.spec (SFEMpc might retire, naming)
690+- add new python files to %files
691+- add experimental --with-SFEbinutils to force using more fresh SFEbinutils
692+- don't hard-code ld-wrapper location, use instead `which ld-wrapper`
693+* Mon Jul 28 2010 - Thomas Wagner
694+- bump to 4.5.0
695+* Wed Aug 18 2010 - Thomas Wagner
696+- try with defaults to SUNWbinutils SUNWgnu-mp SUNWgnu-mpfr
697+ this might break gcc compile on older osbuild versions
698+- stop and exit 1 if the link /usr/gnu/bin/cc exists. Give user hint to
699+ remove this problematic symlink of gcc to cc
700+- search ld-wrapper from PATH (e.g. /opt/jdsbld/bin or /opt/dtbld/bin)
701+- workaround IPS bug that ever prints BASEdir as "/" even if it presents
702+ "/usr/gnu" to have configure find SFEgmp and SFEmpfr in case it should
703+* Sun Jun 6 2010 - Thomas Wagner
704+- bump to 4.4.4
705+- add switches to force SFEgmp and SFEmpfr
706+- experimenting with gcc related CFLAGS/LDFLAGS
707+* Fri Feb 05 2010 - Albert Lee <trisk@opensolaris.org>
708+- Fix bootstrap compiler options
709+* Sun Aug 09 2009 - Thomas Wagner
710+- BuildRequires: SUNWbash
711+* Sat Mar 14 2009 - Thomas Wagner
712+- change logic to require SFEgmp/SFEmpfr only if *no* SUNWgnu-mp/SUNWgnu-mpfr is present (this is on old OS builds)
713+- make SFEgcc use of new SUNWgnu-mp/SUNWgnu-mpfr (replacement for SFEgmp/SFEmpfr, SFE-versions still work with SFEgcc)
714+- detect new location of SFEgmp/SFEmpfr now in /usr/gnu and use them only if missing SUNWgnu-mp/SUNWgnu-mpfr
715+- add (Build)Requires: SFElibiconv(-devel) (thanks to check-deps.pl)
716+* Sat Feb 21 2009 - Thomas Wagner
717+- bump to 4.3.3
718+- make conditional SFEgmp / SUNWgnu-mp
719+- make conditional SFEmpfr / SUNWgnu-mpfr
720+- add extra configure switch if SUNWgnu-mp and/or SUNWgnu-mpfr is used
721+* Sun Jan 25 2009 - Thomas Wagner
722+- make default without HANDLE_PRAGMA_PACK_PUSH_POP. switch on with:
723+ --with-handle_pragma_pack_push_pop
724+* Sat Jan 24 2009 - Thomas Wagner
725+- add HANDLE_PRAGMA_PACK_PUSH_POP (might help wine)
726+- bump to 4.2.4, version SFEgcc wit %{version}
727+* Wed Jan 7 2009 - Thomas Wagner
728+- add conditional SUNWbinutils/SFEbinutils to SFEgcc package
729+* Sun Dec 28 2008 - Thomas Wagner
730+- work around %files section on i386/32-bit not finding %{_arch64} binaries because _arch64 is unset ... _arch64 only set if running 64-bit OS in include/arch64.inc
731+* Sat Dec 27 2008 - Thomas Wagner
732+- add conditional SUNWbinutils/SFEbinutils to re-enable build on old OS
733+- add configure-switch for SUNWbinutils otherwise left over SFEbinutils catched by configure/compile. SUNWbinuils not found otherwise.
734+* Wed Aug 06 2008 - andras.barna@gmail.com
735+- change SFEbinutils to SUNWbinutils, defaulting to SUN ld
736+* Mon Mar 10 2008 - laca@sun.com
737+- add missing defattr
738+* Sun Mar 2 2008 - Mark Wright <markwright@internode.on.net>
739+- Add gcc-01-libtool-rpath.diff patch for a problem where
740+- the old, modified libtool 1.4 in gcc 4.2.3 drops
741+- -rpath /usr/gnu/lib when building libstdc++.so.6.0.9.
742+* Fri Feb 29 2008 - Mark Wright <markwright@internode.on.net>
743+- Bump to 4.2.3. Remove patch for 32787 as it is upstreamed into gcc 4.2.3.
744+* Sat Jan 26 2008 - Moinak Ghosh <moinak.ghosh@sun.com>
745+- Refactor package to have SFEgcc and SFEgccruntime.
746+* Sun Oct 14 2007 - Mark Wright <markwright@internode.on.net>
747+- Bump to 4.2.2.
748+* Wed Aug 15 2007 - Mark Wright <markwright@internode.on.net>
749+- Change from /usr/ccs/bin/ld to /usr/gnu/bin/ld, this change
750+ requires SFEbinutils built with binutils-01-bug-2495.diff,
751+ binutils-02-ld-m-elf_i386.diff and binutils-03-lib-amd64-ld-so-1.diff.
752+ Add objc to --enable-languages, add --enable-decimal-float.
753+* Wed Jul 24 2007 - Mark Wright <markwright@internode.on.net>
754+- Bump to 4.2.1, add patch for gcc bug 32787.
755+* Wed May 16 2007 - Doug Scott <dougs@truemail.co.th>
756+- Bump to 4.2.0
757+* Tue Mar 20 2007 - Doug Scott <dougs@truemail.co.th>
758+- Added LD_OPTIONS so libs in /usr/gnu/lib will be found
759+* Sun Mar 7 2007 - Doug Scott <dougs@truemail.co.th>
760+- change to use GNU as from SFEbinutils
761+* Sun Mar 7 2007 - Doug Scott <dougs@truemail.co.th>
762+- Initial spec
diff -r 7c547e0194ea -r 4cf59be8dfbe specs/copyright/gcc.copyright
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/copyright/gcc.copyright Wed Jun 13 21:26:54 2012 +0900
@@ -0,0 +1,1480 @@
1+GCC is Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
2+1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3+2008, 2009, 2010, 2011 Free Software Foundation, Inc.
4+
5+GCC is free software; you can redistribute it and/or modify it under
6+the terms of the GNU General Public License as published by the Free
7+Software Foundation; either version 3, or (at your option) any later
8+version.
9+
10+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11+WARRANTY; without even the implied warranty of MERCHANTABILITY or
12+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13+for more details.
14+
15+Files that have exception clauses are licensed under the terms of the
16+GNU General Public License; either version 3, or (at your option) any
17+later version.
18+
19+
20+ GNU GENERAL PUBLIC LICENSE
21+ Version 3, 29 June 2007
22+
23+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
24+ Everyone is permitted to copy and distribute verbatim copies
25+ of this license document, but changing it is not allowed.
26+
27+ Preamble
28+
29+ The GNU General Public License is a free, copyleft license for
30+software and other kinds of works.
31+
32+ The licenses for most software and other practical works are designed
33+to take away your freedom to share and change the works. By contrast,
34+the GNU General Public License is intended to guarantee your freedom to
35+share and change all versions of a program--to make sure it remains free
36+software for all its users. We, the Free Software Foundation, use the
37+GNU General Public License for most of our software; it applies also to
38+any other work released this way by its authors. You can apply it to
39+your programs, too.
40+
41+ When we speak of free software, we are referring to freedom, not
42+price. Our General Public Licenses are designed to make sure that you
43+have the freedom to distribute copies of free software (and charge for
44+them if you wish), that you receive source code or can get it if you
45+want it, that you can change the software or use pieces of it in new
46+free programs, and that you know you can do these things.
47+
48+ To protect your rights, we need to prevent others from denying you
49+these rights or asking you to surrender the rights. Therefore, you have
50+certain responsibilities if you distribute copies of the software, or if
51+you modify it: responsibilities to respect the freedom of others.
52+
53+ For example, if you distribute copies of such a program, whether
54+gratis or for a fee, you must pass on to the recipients the same
55+freedoms that you received. You must make sure that they, too, receive
56+or can get the source code. And you must show them these terms so they
57+know their rights.
58+
59+ Developers that use the GNU GPL protect your rights with two steps:
60+(1) assert copyright on the software, and (2) offer you this License
61+giving you legal permission to copy, distribute and/or modify it.
62+
63+ For the developers' and authors' protection, the GPL clearly explains
64+that there is no warranty for this free software. For both users' and
65+authors' sake, the GPL requires that modified versions be marked as
66+changed, so that their problems will not be attributed erroneously to
67+authors of previous versions.
68+
69+ Some devices are designed to deny users access to install or run
70+modified versions of the software inside them, although the manufacturer
71+can do so. This is fundamentally incompatible with the aim of
72+protecting users' freedom to change the software. The systematic
73+pattern of such abuse occurs in the area of products for individuals to
74+use, which is precisely where it is most unacceptable. Therefore, we
75+have designed this version of the GPL to prohibit the practice for those
76+products. If such problems arise substantially in other domains, we
77+stand ready to extend this provision to those domains in future versions
78+of the GPL, as needed to protect the freedom of users.
79+
80+ Finally, every program is threatened constantly by software patents.
81+States should not allow patents to restrict development and use of
82+software on general-purpose computers, but in those that do, we wish to
83+avoid the special danger that patents applied to a free program could
84+make it effectively proprietary. To prevent this, the GPL assures that
85+patents cannot be used to render the program non-free.
86+
87+ The precise terms and conditions for copying, distribution and
88+modification follow.
89+
90+ TERMS AND CONDITIONS
91+
92+ 0. Definitions.
93+
94+ "This License" refers to version 3 of the GNU General Public License.
95+
96+ "Copyright" also means copyright-like laws that apply to other kinds of
97+works, such as semiconductor masks.
98+
99+ "The Program" refers to any copyrightable work licensed under this
100+License. Each licensee is addressed as "you". "Licensees" and
101+"recipients" may be individuals or organizations.
102+
103+ To "modify" a work means to copy from or adapt all or part of the work
104+in a fashion requiring copyright permission, other than the making of an
105+exact copy. The resulting work is called a "modified version" of the
106+earlier work or a work "based on" the earlier work.
107+
108+ A "covered work" means either the unmodified Program or a work based
109+on the Program.
110+
111+ To "propagate" a work means to do anything with it that, without
112+permission, would make you directly or secondarily liable for
113+infringement under applicable copyright law, except executing it on a
114+computer or modifying a private copy. Propagation includes copying,
115+distribution (with or without modification), making available to the
116+public, and in some countries other activities as well.
117+
118+ To "convey" a work means any kind of propagation that enables other
119+parties to make or receive copies. Mere interaction with a user through
120+a computer network, with no transfer of a copy, is not conveying.
121+
122+ An interactive user interface displays "Appropriate Legal Notices"
123+to the extent that it includes a convenient and prominently visible
124+feature that (1) displays an appropriate copyright notice, and (2)
125+tells the user that there is no warranty for the work (except to the
126+extent that warranties are provided), that licensees may convey the
127+work under this License, and how to view a copy of this License. If
128+the interface presents a list of user commands or options, such as a
129+menu, a prominent item in the list meets this criterion.
130+
131+ 1. Source Code.
132+
133+ The "source code" for a work means the preferred form of the work
134+for making modifications to it. "Object code" means any non-source
135+form of a work.
136+
137+ A "Standard Interface" means an interface that either is an official
138+standard defined by a recognized standards body, or, in the case of
139+interfaces specified for a particular programming language, one that
140+is widely used among developers working in that language.
141+
142+ The "System Libraries" of an executable work include anything, other
143+than the work as a whole, that (a) is included in the normal form of
144+packaging a Major Component, but which is not part of that Major
145+Component, and (b) serves only to enable use of the work with that
146+Major Component, or to implement a Standard Interface for which an
147+implementation is available to the public in source code form. A
148+"Major Component", in this context, means a major essential component
149+(kernel, window system, and so on) of the specific operating system
150+(if any) on which the executable work runs, or a compiler used to
151+produce the work, or an object code interpreter used to run it.
152+
153+ The "Corresponding Source" for a work in object code form means all
154+the source code needed to generate, install, and (for an executable
155+work) run the object code and to modify the work, including scripts to
156+control those activities. However, it does not include the work's
157+System Libraries, or general-purpose tools or generally available free
158+programs which are used unmodified in performing those activities but
159+which are not part of the work. For example, Corresponding Source
160+includes interface definition files associated with source files for
161+the work, and the source code for shared libraries and dynamically
162+linked subprograms that the work is specifically designed to require,
163+such as by intimate data communication or control flow between those
164+subprograms and other parts of the work.
165+
166+ The Corresponding Source need not include anything that users
167+can regenerate automatically from other parts of the Corresponding
168+Source.
169+
170+ The Corresponding Source for a work in source code form is that
171+same work.
172+
173+ 2. Basic Permissions.
174+
175+ All rights granted under this License are granted for the term of
176+copyright on the Program, and are irrevocable provided the stated
177+conditions are met. This License explicitly affirms your unlimited
178+permission to run the unmodified Program. The output from running a
179+covered work is covered by this License only if the output, given its
180+content, constitutes a covered work. This License acknowledges your
181+rights of fair use or other equivalent, as provided by copyright law.
182+
183+ You may make, run and propagate covered works that you do not
184+convey, without conditions so long as your license otherwise remains
185+in force. You may convey covered works to others for the sole purpose
186+of having them make modifications exclusively for you, or provide you
187+with facilities for running those works, provided that you comply with
188+the terms of this License in conveying all material for which you do
189+not control copyright. Those thus making or running the covered works
190+for you must do so exclusively on your behalf, under your direction
191+and control, on terms that prohibit them from making any copies of
192+your copyrighted material outside their relationship with you.
193+
194+ Conveying under any other circumstances is permitted solely under
195+the conditions stated below. Sublicensing is not allowed; section 10
196+makes it unnecessary.
197+
198+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
199+
200+ No covered work shall be deemed part of an effective technological
201+measure under any applicable law fulfilling obligations under article
202+11 of the WIPO copyright treaty adopted on 20 December 1996, or
203+similar laws prohibiting or restricting circumvention of such
204+measures.
205+
206+ When you convey a covered work, you waive any legal power to forbid
207+circumvention of technological measures to the extent such circumvention
208+is effected by exercising rights under this License with respect to
209+the covered work, and you disclaim any intention to limit operation or
210+modification of the work as a means of enforcing, against the work's
211+users, your or third parties' legal rights to forbid circumvention of
212+technological measures.
213+
214+ 4. Conveying Verbatim Copies.
215+
216+ You may convey verbatim copies of the Program's source code as you
217+receive it, in any medium, provided that you conspicuously and
218+appropriately publish on each copy an appropriate copyright notice;
219+keep intact all notices stating that this License and any
220+non-permissive terms added in accord with section 7 apply to the code;
221+keep intact all notices of the absence of any warranty; and give all
222+recipients a copy of this License along with the Program.
223+
224+ You may charge any price or no price for each copy that you convey,
225+and you may offer support or warranty protection for a fee.
226+
227+ 5. Conveying Modified Source Versions.
228+
229+ You may convey a work based on the Program, or the modifications to
230+produce it from the Program, in the form of source code under the
231+terms of section 4, provided that you also meet all of these conditions:
232+
233+ a) The work must carry prominent notices stating that you modified
234+ it, and giving a relevant date.
235+
236+ b) The work must carry prominent notices stating that it is
237+ released under this License and any conditions added under section
238+ 7. This requirement modifies the requirement in section 4 to
239+ "keep intact all notices".
240+
241+ c) You must license the entire work, as a whole, under this
242+ License to anyone who comes into possession of a copy. This
243+ License will therefore apply, along with any applicable section 7
244+ additional terms, to the whole of the work, and all its parts,
245+ regardless of how they are packaged. This License gives no
246+ permission to license the work in any other way, but it does not
247+ invalidate such permission if you have separately received it.
248+
249+ d) If the work has interactive user interfaces, each must display
250+ Appropriate Legal Notices; however, if the Program has interactive
251+ interfaces that do not display Appropriate Legal Notices, your
252+ work need not make them do so.
253+
254+ A compilation of a covered work with other separate and independent
255+works, which are not by their nature extensions of the covered work,
256+and which are not combined with it such as to form a larger program,
257+in or on a volume of a storage or distribution medium, is called an
258+"aggregate" if the compilation and its resulting copyright are not
259+used to limit the access or legal rights of the compilation's users
260+beyond what the individual works permit. Inclusion of a covered work
261+in an aggregate does not cause this License to apply to the other
262+parts of the aggregate.
263+
264+ 6. Conveying Non-Source Forms.
265+
266+ You may convey a covered work in object code form under the terms
267+of sections 4 and 5, provided that you also convey the
268+machine-readable Corresponding Source under the terms of this License,
269+in one of these ways:
270+
271+ a) Convey the object code in, or embodied in, a physical product
272+ (including a physical distribution medium), accompanied by the
273+ Corresponding Source fixed on a durable physical medium
274+ customarily used for software interchange.
275+
276+ b) Convey the object code in, or embodied in, a physical product
277+ (including a physical distribution medium), accompanied by a
278+ written offer, valid for at least three years and valid for as
279+ long as you offer spare parts or customer support for that product
280+ model, to give anyone who possesses the object code either (1) a
281+ copy of the Corresponding Source for all the software in the
282+ product that is covered by this License, on a durable physical
283+ medium customarily used for software interchange, for a price no
284+ more than your reasonable cost of physically performing this
285+ conveying of source, or (2) access to copy the
286+ Corresponding Source from a network server at no charge.
287+
288+ c) Convey individual copies of the object code with a copy of the
289+ written offer to provide the Corresponding Source. This
290+ alternative is allowed only occasionally and noncommercially, and
291+ only if you received the object code with such an offer, in accord
292+ with subsection 6b.
293+
294+ d) Convey the object code by offering access from a designated
295+ place (gratis or for a charge), and offer equivalent access to the
296+ Corresponding Source in the same way through the same place at no
297+ further charge. You need not require recipients to copy the
298+ Corresponding Source along with the object code. If the place to
299+ copy the object code is a network server, the Corresponding Source
300+ may be on a different server (operated by you or a third party)
301+ that supports equivalent copying facilities, provided you maintain
302+ clear directions next to the object code saying where to find the
303+ Corresponding Source. Regardless of what server hosts the
304+ Corresponding Source, you remain obligated to ensure that it is
305+ available for as long as needed to satisfy these requirements.
306+
307+ e) Convey the object code using peer-to-peer transmission, provided
308+ you inform other peers where the object code and Corresponding
309+ Source of the work are being offered to the general public at no
310+ charge under subsection 6d.
311+
312+ A separable portion of the object code, whose source code is excluded
313+from the Corresponding Source as a System Library, need not be
314+included in conveying the object code work.
315+
316+ A "User Product" is either (1) a "consumer product", which means any
317+tangible personal property which is normally used for personal, family,
318+or household purposes, or (2) anything designed or sold for incorporation
319+into a dwelling. In determining whether a product is a consumer product,
320+doubtful cases shall be resolved in favor of coverage. For a particular
321+product received by a particular user, "normally used" refers to a
322+typical or common use of that class of product, regardless of the status
323+of the particular user or of the way in which the particular user
324+actually uses, or expects or is expected to use, the product. A product
325+is a consumer product regardless of whether the product has substantial
326+commercial, industrial or non-consumer uses, unless such uses represent
327+the only significant mode of use of the product.
328+
329+ "Installation Information" for a User Product means any methods,
330+procedures, authorization keys, or other information required to install
331+and execute modified versions of a covered work in that User Product from
332+a modified version of its Corresponding Source. The information must
333+suffice to ensure that the continued functioning of the modified object
334+code is in no case prevented or interfered with solely because
335+modification has been made.
336+
337+ If you convey an object code work under this section in, or with, or
338+specifically for use in, a User Product, and the conveying occurs as
339+part of a transaction in which the right of possession and use of the
340+User Product is transferred to the recipient in perpetuity or for a
341+fixed term (regardless of how the transaction is characterized), the
342+Corresponding Source conveyed under this section must be accompanied
343+by the Installation Information. But this requirement does not apply
344+if neither you nor any third party retains the ability to install
345+modified object code on the User Product (for example, the work has
346+been installed in ROM).
347+
348+ The requirement to provide Installation Information does not include a
349+requirement to continue to provide support service, warranty, or updates
350+for a work that has been modified or installed by the recipient, or for
351+the User Product in which it has been modified or installed. Access to a
352+network may be denied when the modification itself materially and
353+adversely affects the operation of the network or violates the rules and
354+protocols for communication across the network.
355+
356+ Corresponding Source conveyed, and Installation Information provided,
357+in accord with this section must be in a format that is publicly
358+documented (and with an implementation available to the public in
359+source code form), and must require no special password or key for
360+unpacking, reading or copying.
361+
362+ 7. Additional Terms.
363+
364+ "Additional permissions" are terms that supplement the terms of this
365+License by making exceptions from one or more of its conditions.
366+Additional permissions that are applicable to the entire Program shall
367+be treated as though they were included in this License, to the extent
368+that they are valid under applicable law. If additional permissions
369+apply only to part of the Program, that part may be used separately
370+under those permissions, but the entire Program remains governed by
371+this License without regard to the additional permissions.
372+
373+ When you convey a copy of a covered work, you may at your option
374+remove any additional permissions from that copy, or from any part of
375+it. (Additional permissions may be written to require their own
376+removal in certain cases when you modify the work.) You may place
377+additional permissions on material, added by you to a covered work,
378+for which you have or can give appropriate copyright permission.
379+
380+ Notwithstanding any other provision of this License, for material you
381+add to a covered work, you may (if authorized by the copyright holders of
382+that material) supplement the terms of this License with terms:
383+
384+ a) Disclaiming warranty or limiting liability differently from the
385+ terms of sections 15 and 16 of this License; or
386+
387+ b) Requiring preservation of specified reasonable legal notices or
388+ author attributions in that material or in the Appropriate Legal
389+ Notices displayed by works containing it; or
390+
391+ c) Prohibiting misrepresentation of the origin of that material, or
392+ requiring that modified versions of such material be marked in
393+ reasonable ways as different from the original version; or
394+
395+ d) Limiting the use for publicity purposes of names of licensors or
396+ authors of the material; or
397+
398+ e) Declining to grant rights under trademark law for use of some
399+ trade names, trademarks, or service marks; or
400+
401+ f) Requiring indemnification of licensors and authors of that
402+ material by anyone who conveys the material (or modified versions of
403+ it) with contractual assumptions of liability to the recipient, for
404+ any liability that these contractual assumptions directly impose on
405+ those licensors and authors.
406+
407+ All other non-permissive additional terms are considered "further
408+restrictions" within the meaning of section 10. If the Program as you
409+received it, or any part of it, contains a notice stating that it is
410+governed by this License along with a term that is a further
411+restriction, you may remove that term. If a license document contains
412+a further restriction but permits relicensing or conveying under this
413+License, you may add to a covered work material governed by the terms
414+of that license document, provided that the further restriction does
415+not survive such relicensing or conveying.
416+
417+ If you add terms to a covered work in accord with this section, you
418+must place, in the relevant source files, a statement of the
419+additional terms that apply to those files, or a notice indicating
420+where to find the applicable terms.
421+
422+ Additional terms, permissive or non-permissive, may be stated in the
423+form of a separately written license, or stated as exceptions;
424+the above requirements apply either way.
425+
426+ 8. Termination.
427+
428+ You may not propagate or modify a covered work except as expressly
429+provided under this License. Any attempt otherwise to propagate or
430+modify it is void, and will automatically terminate your rights under
431+this License (including any patent licenses granted under the third
432+paragraph of section 11).
433+
434+ However, if you cease all violation of this License, then your
435+license from a particular copyright holder is reinstated (a)
436+provisionally, unless and until the copyright holder explicitly and
437+finally terminates your license, and (b) permanently, if the copyright
438+holder fails to notify you of the violation by some reasonable means
439+prior to 60 days after the cessation.
440+
441+ Moreover, your license from a particular copyright holder is
442+reinstated permanently if the copyright holder notifies you of the
443+violation by some reasonable means, this is the first time you have
444+received notice of violation of this License (for any work) from that
445+copyright holder, and you cure the violation prior to 30 days after
446+your receipt of the notice.
447+
448+ Termination of your rights under this section does not terminate the
449+licenses of parties who have received copies or rights from you under
450+this License. If your rights have been terminated and not permanently
451+reinstated, you do not qualify to receive new licenses for the same
452+material under section 10.
453+
454+ 9. Acceptance Not Required for Having Copies.
455+
456+ You are not required to accept this License in order to receive or
457+run a copy of the Program. Ancillary propagation of a covered work
458+occurring solely as a consequence of using peer-to-peer transmission
459+to receive a copy likewise does not require acceptance. However,
460+nothing other than this License grants you permission to propagate or
461+modify any covered work. These actions infringe copyright if you do
462+not accept this License. Therefore, by modifying or propagating a
463+covered work, you indicate your acceptance of this License to do so.
464+
465+ 10. Automatic Licensing of Downstream Recipients.
466+
467+ Each time you convey a covered work, the recipient automatically
468+receives a license from the original licensors, to run, modify and
469+propagate that work, subject to this License. You are not responsible
470+for enforcing compliance by third parties with this License.
471+
472+ An "entity transaction" is a transaction transferring control of an
473+organization, or substantially all assets of one, or subdividing an
474+organization, or merging organizations. If propagation of a covered
475+work results from an entity transaction, each party to that
476+transaction who receives a copy of the work also receives whatever
477+licenses to the work the party's predecessor in interest had or could
478+give under the previous paragraph, plus a right to possession of the
479+Corresponding Source of the work from the predecessor in interest, if
480+the predecessor has it or can get it with reasonable efforts.
481+
482+ You may not impose any further restrictions on the exercise of the
483+rights granted or affirmed under this License. For example, you may
484+not impose a license fee, royalty, or other charge for exercise of
485+rights granted under this License, and you may not initiate litigation
486+(including a cross-claim or counterclaim in a lawsuit) alleging that
487+any patent claim is infringed by making, using, selling, offering for
488+sale, or importing the Program or any portion of it.
489+
490+ 11. Patents.
491+
492+ A "contributor" is a copyright holder who authorizes use under this
493+License of the Program or a work on which the Program is based. The
494+work thus licensed is called the contributor's "contributor version".
495+
496+ A contributor's "essential patent claims" are all patent claims
497+owned or controlled by the contributor, whether already acquired or
498+hereafter acquired, that would be infringed by some manner, permitted
499+by this License, of making, using, or selling its contributor version,
500+but do not include claims that would be infringed only as a
501+consequence of further modification of the contributor version. For
502+purposes of this definition, "control" includes the right to grant
503+patent sublicenses in a manner consistent with the requirements of
504+this License.
505+
506+ Each contributor grants you a non-exclusive, worldwide, royalty-free
507+patent license under the contributor's essential patent claims, to
508+make, use, sell, offer for sale, import and otherwise run, modify and
509+propagate the contents of its contributor version.
510+
511+ In the following three paragraphs, a "patent license" is any express
512+agreement or commitment, however denominated, not to enforce a patent
513+(such as an express permission to practice a patent or covenant not to
514+sue for patent infringement). To "grant" such a patent license to a
515+party means to make such an agreement or commitment not to enforce a
516+patent against the party.
517+
518+ If you convey a covered work, knowingly relying on a patent license,
519+and the Corresponding Source of the work is not available for anyone
520+to copy, free of charge and under the terms of this License, through a
521+publicly available network server or other readily accessible means,
522+then you must either (1) cause the Corresponding Source to be so
523+available, or (2) arrange to deprive yourself of the benefit of the
524+patent license for this particular work, or (3) arrange, in a manner
525+consistent with the requirements of this License, to extend the patent
526+license to downstream recipients. "Knowingly relying" means you have
527+actual knowledge that, but for the patent license, your conveying the
528+covered work in a country, or your recipient's use of the covered work
529+in a country, would infringe one or more identifiable patents in that
530+country that you have reason to believe are valid.
531+
532+ If, pursuant to or in connection with a single transaction or
533+arrangement, you convey, or propagate by procuring conveyance of, a
534+covered work, and grant a patent license to some of the parties
535+receiving the covered work authorizing them to use, propagate, modify
536+or convey a specific copy of the covered work, then the patent license
537+you grant is automatically extended to all recipients of the covered
538+work and works based on it.
539+
540+ A patent license is "discriminatory" if it does not include within
541+the scope of its coverage, prohibits the exercise of, or is
542+conditioned on the non-exercise of one or more of the rights that are
543+specifically granted under this License. You may not convey a covered
544+work if you are a party to an arrangement with a third party that is
545+in the business of distributing software, under which you make payment
546+to the third party based on the extent of your activity of conveying
547+the work, and under which the third party grants, to any of the
548+parties who would receive the covered work from you, a discriminatory
549+patent license (a) in connection with copies of the covered work
550+conveyed by you (or copies made from those copies), or (b) primarily
551+for and in connection with specific products or compilations that
552+contain the covered work, unless you entered into that arrangement,
553+or that patent license was granted, prior to 28 March 2007.
554+
555+ Nothing in this License shall be construed as excluding or limiting
556+any implied license or other defenses to infringement that may
557+otherwise be available to you under applicable patent law.
558+
559+ 12. No Surrender of Others' Freedom.
560+
561+ If conditions are imposed on you (whether by court order, agreement or
562+otherwise) that contradict the conditions of this License, they do not
563+excuse you from the conditions of this License. If you cannot convey a
564+covered work so as to satisfy simultaneously your obligations under this
565+License and any other pertinent obligations, then as a consequence you may
566+not convey it at all. For example, if you agree to terms that obligate you
567+to collect a royalty for further conveying from those to whom you convey
568+the Program, the only way you could satisfy both those terms and this
569+License would be to refrain entirely from conveying the Program.
570+
571+ 13. Use with the GNU Affero General Public License.
572+
573+ Notwithstanding any other provision of this License, you have
574+permission to link or combine any covered work with a work licensed
575+under version 3 of the GNU Affero General Public License into a single
576+combined work, and to convey the resulting work. The terms of this
577+License will continue to apply to the part which is the covered work,
578+but the special requirements of the GNU Affero General Public License,
579+section 13, concerning interaction through a network will apply to the
580+combination as such.
581+
582+ 14. Revised Versions of this License.
583+
584+ The Free Software Foundation may publish revised and/or new versions of
585+the GNU General Public License from time to time. Such new versions will
586+be similar in spirit to the present version, but may differ in detail to
587+address new problems or concerns.
588+
589+ Each version is given a distinguishing version number. If the
590+Program specifies that a certain numbered version of the GNU General
591+Public License "or any later version" applies to it, you have the
592+option of following the terms and conditions either of that numbered
593+version or of any later version published by the Free Software
594+Foundation. If the Program does not specify a version number of the
595+GNU General Public License, you may choose any version ever published
596+by the Free Software Foundation.
597+
598+ If the Program specifies that a proxy can decide which future
599+versions of the GNU General Public License can be used, that proxy's
600+public statement of acceptance of a version permanently authorizes you
601+to choose that version for the Program.
602+
603+ Later license versions may give you additional or different
604+permissions. However, no additional obligations are imposed on any
605+author or copyright holder as a result of your choosing to follow a
606+later version.
607+
608+ 15. Disclaimer of Warranty.
609+
610+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
611+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
612+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
613+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
614+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
615+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
616+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
617+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
618+
619+ 16. Limitation of Liability.
620+
621+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
622+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
623+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
624+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
625+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
626+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
627+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
628+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
629+SUCH DAMAGES.
630+
631+ 17. Interpretation of Sections 15 and 16.
632+
633+ If the disclaimer of warranty and limitation of liability provided
634+above cannot be given local legal effect according to their terms,
635+reviewing courts shall apply local law that most closely approximates
636+an absolute waiver of all civil liability in connection with the
637+Program, unless a warranty or assumption of liability accompanies a
638+copy of the Program in return for a fee.
639+
640+ END OF TERMS AND CONDITIONS
641+
642+ How to Apply These Terms to Your New Programs
643+
644+ If you develop a new program, and you want it to be of the greatest
645+possible use to the public, the best way to achieve this is to make it
646+free software which everyone can redistribute and change under these terms.
647+
648+ To do so, attach the following notices to the program. It is safest
649+to attach them to the start of each source file to most effectively
650+state the exclusion of warranty; and each file should have at least
651+the "copyright" line and a pointer to where the full notice is found.
652+
653+ <one line to give the program's name and a brief idea of what it does.>
654+ Copyright (C) <year> <name of author>
655+
656+ This program is free software: you can redistribute it and/or modify
657+ it under the terms of the GNU General Public License as published by
658+ the Free Software Foundation, either version 3 of the License, or
659+ (at your option) any later version.
660+
661+ This program is distributed in the hope that it will be useful,
662+ but WITHOUT ANY WARRANTY; without even the implied warranty of
663+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
664+ GNU General Public License for more details.
665+
666+ You should have received a copy of the GNU General Public License
667+ along with this program. If not, see <http://www.gnu.org/licenses/>.
668+
669+Also add information on how to contact you by electronic and paper mail.
670+
671+ If the program does terminal interaction, make it output a short
672+notice like this when it starts in an interactive mode:
673+
674+ <program> Copyright (C) <year> <name of author>
675+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
676+ This is free software, and you are welcome to redistribute it
677+ under certain conditions; type `show c' for details.
678+
679+The hypothetical commands `show w' and `show c' should show the appropriate
680+parts of the General Public License. Of course, your program's commands
681+might be different; for a GUI interface, you would use an "about box".
682+
683+ You should also get your employer (if you work as a programmer) or school,
684+if any, to sign a "copyright disclaimer" for the program, if necessary.
685+For more information on this, and how to apply and follow the GNU GPL, see
686+<http://www.gnu.org/licenses/>.
687+
688+ The GNU General Public License does not permit incorporating your program
689+into proprietary programs. If your program is a subroutine library, you
690+may consider it more useful to permit linking proprietary applications with
691+the library. If this is what you want to do, use the GNU Lesser General
692+Public License instead of this License. But first, please read
693+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
694+
695+--------------------------------------------------------------------------------
696+
697+The following runtime libraries are licensed under the terms of the
698+GNU General Public License (v3 or later) with version 3.1 of the GCC
699+Runtime Library Exception (included in this file):
700+
701+ - libgcc (libgcc/, gcc/libgcc2.[ch], gcc/unwind*, gcc/gthr*,
702+ gcc/coretypes.h, gcc/crtstuff.c, gcc/defaults.h, gcc/dwarf2.h,
703+ gcc/emults.c, gcc/gbl-ctors.h, gcc/gcov-io.h, gcc/libgcov.c,
704+ gcc/tsystem.h, gcc/typeclass.h).
705+ - libdecnumber
706+ - libgomp
707+ - libssp
708+ - libstdc++-v3
709+ - libobjc
710+ - libmudflap
711+ - libgfortran
712+ - The libgnat-4.6 Ada support library and libgnatvsn library.
713+ - Various config files in gcc/config/ used in runtime libraries.
714+
715+--------------------------------------------------------------------------------
716+
717+In contrast, libgnatprj is licensed under the terms of the pure GNU
718+General Public License.
719+
720+--------------------------------------------------------------------------------
721+
722+The libgcj library is licensed under the terms of the GNU General
723+Public License, with a special exception:
724+
725+ Linking this library statically or dynamically with other modules
726+ is making a combined work based on this library. Thus, the terms
727+ and conditions of the GNU General Public License cover the whole
728+ combination.
729+
730+ As a special exception, the copyright holders of this library give
731+ you permission to link this library with independent modules to
732+ produce an executable, regardless of the license terms of these
733+ independent modules, and to copy and distribute the resulting
734+ executable under terms of your choice, provided that you also
735+ meet, for each linked independent module, the terms and conditions
736+ of the license of that module. An independent module is a module
737+ which is not derived from or based on this library. If you modify
738+ this library, you may extend this exception to your version of the
739+ library, but you are not obligated to do so. If you do not wish
740+ to do so, delete this exception statement from your version.
741+
742+--------------------------------------------------------------------------------
743+
744+The libffi library is licensed under the following terms:
745+
746+ libffi - Copyright (c) 1996-2003 Red Hat, Inc.
747+
748+ Permission is hereby granted, free of charge, to any person obtaining
749+ a copy of this software and associated documentation files (the
750+ ``Software''), to deal in the Software without restriction, including
751+ without limitation the rights to use, copy, modify, merge, publish,
752+ distribute, sublicense, and/or sell copies of the Software, and to
753+ permit persons to whom the Software is furnished to do so, subject to
754+ the following conditions:
755+
756+ The above copyright notice and this permission notice shall be included
757+ in all copies or substantial portions of the Software.
758+
759+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
760+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
761+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
762+ IN NO EVENT SHALL CYGNUS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR
763+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
764+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
765+ OTHER DEALINGS IN THE SOFTWARE.
766+
767+
768+--------------------------------------------------------------------------------
769+
770+The documentation is licensed under the GNU Free Documentation License (v1.2).
771+
772+
773+ GNU Free Documentation License
774+ Version 1.2, November 2002
775+
776+
777+ Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
778+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
779+ Everyone is permitted to copy and distribute verbatim copies
780+ of this license document, but changing it is not allowed.
781+
782+
783+0. PREAMBLE
784+
785+The purpose of this License is to make a manual, textbook, or other
786+functional and useful document "free" in the sense of freedom: to
787+assure everyone the effective freedom to copy and redistribute it,
788+with or without modifying it, either commercially or noncommercially.
789+Secondarily, this License preserves for the author and publisher a way
790+to get credit for their work, while not being considered responsible
791+for modifications made by others.
792+
793+This License is a kind of "copyleft", which means that derivative
794+works of the document must themselves be free in the same sense. It
795+complements the GNU General Public License, which is a copyleft
796+license designed for free software.
797+
798+We have designed this License in order to use it for manuals for free
799+software, because free software needs free documentation: a free
800+program should come with manuals providing the same freedoms that the
801+software does. But this License is not limited to software manuals;
802+it can be used for any textual work, regardless of subject matter or
803+whether it is published as a printed book. We recommend this License
804+principally for works whose purpose is instruction or reference.
805+
806+
807+1. APPLICABILITY AND DEFINITIONS
808+
809+This License applies to any manual or other work, in any medium, that
810+contains a notice placed by the copyright holder saying it can be
811+distributed under the terms of this License. Such a notice grants a
812+world-wide, royalty-free license, unlimited in duration, to use that
813+work under the conditions stated herein. The "Document", below,
814+refers to any such manual or work. Any member of the public is a
815+licensee, and is addressed as "you". You accept the license if you
816+copy, modify or distribute the work in a way requiring permission
817+under copyright law.
818+
819+A "Modified Version" of the Document means any work containing the
820+Document or a portion of it, either copied verbatim, or with
821+modifications and/or translated into another language.
822+
823+A "Secondary Section" is a named appendix or a front-matter section of
824+the Document that deals exclusively with the relationship of the
825+publishers or authors of the Document to the Document's overall subject
826+(or to related matters) and contains nothing that could fall directly
827+within that overall subject. (Thus, if the Document is in part a
828+textbook of mathematics, a Secondary Section may not explain any
829+mathematics.) The relationship could be a matter of historical
830+connection with the subject or with related matters, or of legal,
831+commercial, philosophical, ethical or political position regarding
832+them.
833+
834+The "Invariant Sections" are certain Secondary Sections whose titles
835+are designated, as being those of Invariant Sections, in the notice
836+that says that the Document is released under this License. If a
837+section does not fit the above definition of Secondary then it is not
838+allowed to be designated as Invariant. The Document may contain zero
839+Invariant Sections. If the Document does not identify any Invariant
840+Sections then there are none.
841+
842+The "Cover Texts" are certain short passages of text that are listed,
843+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
844+the Document is released under this License. A Front-Cover Text may
845+be at most 5 words, and a Back-Cover Text may be at most 25 words.
846+
847+A "Transparent" copy of the Document means a machine-readable copy,
848+represented in a format whose specification is available to the
849+general public, that is suitable for revising the document
850+straightforwardly with generic text editors or (for images composed of
851+pixels) generic paint programs or (for drawings) some widely available
852+drawing editor, and that is suitable for input to text formatters or
853+for automatic translation to a variety of formats suitable for input
854+to text formatters. A copy made in an otherwise Transparent file
855+format whose markup, or absence of markup, has been arranged to thwart
856+or discourage subsequent modification by readers is not Transparent.
857+An image format is not Transparent if used for any substantial amount
858+of text. A copy that is not "Transparent" is called "Opaque".
859+
860+Examples of suitable formats for Transparent copies include plain
861+ASCII without markup, Texinfo input format, LaTeX input format, SGML
862+or XML using a publicly available DTD, and standard-conforming simple
863+HTML, PostScript or PDF designed for human modification. Examples of
864+transparent image formats include PNG, XCF and JPG. Opaque formats
865+include proprietary formats that can be read and edited only by
866+proprietary word processors, SGML or XML for which the DTD and/or
867+processing tools are not generally available, and the
868+machine-generated HTML, PostScript or PDF produced by some word
869+processors for output purposes only.
870+
871+The "Title Page" means, for a printed book, the title page itself,
872+plus such following pages as are needed to hold, legibly, the material
873+this License requires to appear in the title page. For works in
874+formats which do not have any title page as such, "Title Page" means
875+the text near the most prominent appearance of the work's title,
876+preceding the beginning of the body of the text.
877+
878+A section "Entitled XYZ" means a named subunit of the Document whose
879+title either is precisely XYZ or contains XYZ in parentheses following
880+text that translates XYZ in another language. (Here XYZ stands for a
881+specific section name mentioned below, such as "Acknowledgements",
882+"Dedications", "Endorsements", or "History".) To "Preserve the Title"
883+of such a section when you modify the Document means that it remains a
884+section "Entitled XYZ" according to this definition.
885+
886+The Document may include Warranty Disclaimers next to the notice which
887+states that this License applies to the Document. These Warranty
888+Disclaimers are considered to be included by reference in this
889+License, but only as regards disclaiming warranties: any other
890+implication that these Warranty Disclaimers may have is void and has
891+no effect on the meaning of this License.
892+
893+
894+2. VERBATIM COPYING
895+
896+You may copy and distribute the Document in any medium, either
897+commercially or noncommercially, provided that this License, the
898+copyright notices, and the license notice saying this License applies
899+to the Document are reproduced in all copies, and that you add no other
900+conditions whatsoever to those of this License. You may not use
901+technical measures to obstruct or control the reading or further
902+copying of the copies you make or distribute. However, you may accept
903+compensation in exchange for copies. If you distribute a large enough
904+number of copies you must also follow the conditions in section 3.
905+
906+You may also lend copies, under the same conditions stated above, and
907+you may publicly display copies.
908+
909+
910+3. COPYING IN QUANTITY
911+
912+If you publish printed copies (or copies in media that commonly have
913+printed covers) of the Document, numbering more than 100, and the
914+Document's license notice requires Cover Texts, you must enclose the
915+copies in covers that carry, clearly and legibly, all these Cover
916+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
917+the back cover. Both covers must also clearly and legibly identify
918+you as the publisher of these copies. The front cover must present
919+the full title with all words of the title equally prominent and
920+visible. You may add other material on the covers in addition.
921+Copying with changes limited to the covers, as long as they preserve
922+the title of the Document and satisfy these conditions, can be treated
923+as verbatim copying in other respects.
924+
925+If the required texts for either cover are too voluminous to fit
926+legibly, you should put the first ones listed (as many as fit
927+reasonably) on the actual cover, and continue the rest onto adjacent
928+pages.
929+
930+If you publish or distribute Opaque copies of the Document numbering
931+more than 100, you must either include a machine-readable Transparent
932+copy along with each Opaque copy, or state in or with each Opaque copy
933+a computer-network location from which the general network-using
934+public has access to download using public-standard network protocols
935+a complete Transparent copy of the Document, free of added material.
936+If you use the latter option, you must take reasonably prudent steps,
937+when you begin distribution of Opaque copies in quantity, to ensure
938+that this Transparent copy will remain thus accessible at the stated
939+location until at least one year after the last time you distribute an
940+Opaque copy (directly or through your agents or retailers) of that
941+edition to the public.
942+
943+It is requested, but not required, that you contact the authors of the
944+Document well before redistributing any large number of copies, to give
945+them a chance to provide you with an updated version of the Document.
946+
947+
948+4. MODIFICATIONS
949+
950+You may copy and distribute a Modified Version of the Document under
951+the conditions of sections 2 and 3 above, provided that you release
952+the Modified Version under precisely this License, with the Modified
953+Version filling the role of the Document, thus licensing distribution
954+and modification of the Modified Version to whoever possesses a copy
955+of it. In addition, you must do these things in the Modified Version:
956+
957+A. Use in the Title Page (and on the covers, if any) a title distinct
958+ from that of the Document, and from those of previous versions
959+ (which should, if there were any, be listed in the History section
960+ of the Document). You may use the same title as a previous version
961+ if the original publisher of that version gives permission.
962+B. List on the Title Page, as authors, one or more persons or entities
963+ responsible for authorship of the modifications in the Modified
964+ Version, together with at least five of the principal authors of the
965+ Document (all of its principal authors, if it has fewer than five),
966+ unless they release you from this requirement.
967+C. State on the Title page the name of the publisher of the
968+ Modified Version, as the publisher.
969+D. Preserve all the copyright notices of the Document.
970+E. Add an appropriate copyright notice for your modifications
971+ adjacent to the other copyright notices.
972+F. Include, immediately after the copyright notices, a license notice
973+ giving the public permission to use the Modified Version under the
974+ terms of this License, in the form shown in the Addendum below.
975+G. Preserve in that license notice the full lists of Invariant Sections
976+ and required Cover Texts given in the Document's license notice.
977+H. Include an unaltered copy of this License.
978+I. Preserve the section Entitled "History", Preserve its Title, and add
979+ to it an item stating at least the title, year, new authors, and
980+ publisher of the Modified Version as given on the Title Page. If
981+ there is no section Entitled "History" in the Document, create one
982+ stating the title, year, authors, and publisher of the Document as
983+ given on its Title Page, then add an item describing the Modified
984+ Version as stated in the previous sentence.
985+J. Preserve the network location, if any, given in the Document for
986+ public access to a Transparent copy of the Document, and likewise
987+ the network locations given in the Document for previous versions
988+ it was based on. These may be placed in the "History" section.
989+ You may omit a network location for a work that was published at
990+ least four years before the Document itself, or if the original
991+ publisher of the version it refers to gives permission.
992+K. For any section Entitled "Acknowledgements" or "Dedications",
993+ Preserve the Title of the section, and preserve in the section all
994+ the substance and tone of each of the contributor acknowledgements
995+ and/or dedications given therein.
996+L. Preserve all the Invariant Sections of the Document,
997+ unaltered in their text and in their titles. Section numbers
998+ or the equivalent are not considered part of the section titles.
999+M. Delete any section Entitled "Endorsements". Such a section
1000+ may not be included in the Modified Version.
1001+N. Do not retitle any existing section to be Entitled "Endorsements"
1002+ or to conflict in title with any Invariant Section.
1003+O. Preserve any Warranty Disclaimers.
1004+
1005+If the Modified Version includes new front-matter sections or
1006+appendices that qualify as Secondary Sections and contain no material
1007+copied from the Document, you may at your option designate some or all
1008+of these sections as invariant. To do this, add their titles to the
1009+list of Invariant Sections in the Modified Version's license notice.
1010+These titles must be distinct from any other section titles.
1011+
1012+You may add a section Entitled "Endorsements", provided it contains
1013+nothing but endorsements of your Modified Version by various
1014+parties--for example, statements of peer review or that the text has
1015+been approved by an organization as the authoritative definition of a
1016+standard.
1017+
1018+You may add a passage of up to five words as a Front-Cover Text, and a
1019+passage of up to 25 words as a Back-Cover Text, to the end of the list
1020+of Cover Texts in the Modified Version. Only one passage of
1021+Front-Cover Text and one of Back-Cover Text may be added by (or
1022+through arrangements made by) any one entity. If the Document already
1023+includes a cover text for the same cover, previously added by you or
1024+by arrangement made by the same entity you are acting on behalf of,
1025+you may not add another; but you may replace the old one, on explicit
1026+permission from the previous publisher that added the old one.
1027+
1028+The author(s) and publisher(s) of the Document do not by this License
1029+give permission to use their names for publicity for or to assert or
1030+imply endorsement of any Modified Version.
1031+
1032+
1033+5. COMBINING DOCUMENTS
1034+
1035+You may combine the Document with other documents released under this
1036+License, under the terms defined in section 4 above for modified
1037+versions, provided that you include in the combination all of the
1038+Invariant Sections of all of the original documents, unmodified, and
1039+list them all as Invariant Sections of your combined work in its
1040+license notice, and that you preserve all their Warranty Disclaimers.
1041+
1042+The combined work need only contain one copy of this License, and
1043+multiple identical Invariant Sections may be replaced with a single
1044+copy. If there are multiple Invariant Sections with the same name but
1045+different contents, make the title of each such section unique by
1046+adding at the end of it, in parentheses, the name of the original
1047+author or publisher of that section if known, or else a unique number.
1048+Make the same adjustment to the section titles in the list of
1049+Invariant Sections in the license notice of the combined work.
1050+
1051+In the combination, you must combine any sections Entitled "History"
1052+in the various original documents, forming one section Entitled
1053+"History"; likewise combine any sections Entitled "Acknowledgements",
1054+and any sections Entitled "Dedications". You must delete all sections
1055+Entitled "Endorsements".
1056+
1057+
1058+6. COLLECTIONS OF DOCUMENTS
1059+
1060+You may make a collection consisting of the Document and other documents
1061+released under this License, and replace the individual copies of this
1062+License in the various documents with a single copy that is included in
1063+the collection, provided that you follow the rules of this License for
1064+verbatim copying of each of the documents in all other respects.
1065+
1066+You may extract a single document from such a collection, and distribute
1067+it individually under this License, provided you insert a copy of this
1068+License into the extracted document, and follow this License in all
1069+other respects regarding verbatim copying of that document.
1070+
1071+
1072+7. AGGREGATION WITH INDEPENDENT WORKS
1073+
1074+A compilation of the Document or its derivatives with other separate
1075+and independent documents or works, in or on a volume of a storage or
1076+distribution medium, is called an "aggregate" if the copyright
1077+resulting from the compilation is not used to limit the legal rights
1078+of the compilation's users beyond what the individual works permit.
1079+When the Document is included in an aggregate, this License does not
1080+apply to the other works in the aggregate which are not themselves
1081+derivative works of the Document.
1082+
1083+If the Cover Text requirement of section 3 is applicable to these
1084+copies of the Document, then if the Document is less than one half of
1085+the entire aggregate, the Document's Cover Texts may be placed on
1086+covers that bracket the Document within the aggregate, or the
1087+electronic equivalent of covers if the Document is in electronic form.
1088+Otherwise they must appear on printed covers that bracket the whole
1089+aggregate.
1090+
1091+
1092+8. TRANSLATION
1093+
1094+Translation is considered a kind of modification, so you may
1095+distribute translations of the Document under the terms of section 4.
1096+Replacing Invariant Sections with translations requires special
1097+permission from their copyright holders, but you may include
1098+translations of some or all Invariant Sections in addition to the
1099+original versions of these Invariant Sections. You may include a
1100+translation of this License, and all the license notices in the
1101+Document, and any Warranty Disclaimers, provided that you also include
1102+the original English version of this License and the original versions
1103+of those notices and disclaimers. In case of a disagreement between
1104+the translation and the original version of this License or a notice
1105+or disclaimer, the original version will prevail.
1106+
1107+If a section in the Document is Entitled "Acknowledgements",
1108+"Dedications", or "History", the requirement (section 4) to Preserve
1109+its Title (section 1) will typically require changing the actual
1110+title.
1111+
1112+
1113+9. TERMINATION
1114+
1115+You may not copy, modify, sublicense, or distribute the Document except
1116+as expressly provided for under this License. Any other attempt to
1117+copy, modify, sublicense or distribute the Document is void, and will
1118+automatically terminate your rights under this License. However,
1119+parties who have received copies, or rights, from you under this
1120+License will not have their licenses terminated so long as such
1121+parties remain in full compliance.
1122+
1123+
1124+10. FUTURE REVISIONS OF THIS LICENSE
1125+
1126+The Free Software Foundation may publish new, revised versions
1127+of the GNU Free Documentation License from time to time. Such new
1128+versions will be similar in spirit to the present version, but may
1129+differ in detail to address new problems or concerns. See
1130+http://www.gnu.org/copyleft/.
1131+
1132+Each version of the License is given a distinguishing version number.
1133+If the Document specifies that a particular numbered version of this
1134+License "or any later version" applies to it, you have the option of
1135+following the terms and conditions either of that specified version or
1136+of any later version that has been published (not as a draft) by the
1137+Free Software Foundation. If the Document does not specify a version
1138+number of this License, you may choose any version ever published (not
1139+as a draft) by the Free Software Foundation.
1140+
1141+
1142+ADDENDUM: How to use this License for your documents
1143+
1144+To use this License in a document you have written, include a copy of
1145+the License in the document and put the following copyright and
1146+license notices just after the title page:
1147+
1148+ Copyright (c) YEAR YOUR NAME.
1149+ Permission is granted to copy, distribute and/or modify this document
1150+ under the terms of the GNU Free Documentation License, Version 1.2
1151+ or any later version published by the Free Software Foundation;
1152+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
1153+ A copy of the license is included in the section entitled "GNU
1154+ Free Documentation License".
1155+
1156+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
1157+replace the "with...Texts." line with this:
1158+
1159+ with the Invariant Sections being LIST THEIR TITLES, with the
1160+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
1161+
1162+If you have Invariant Sections without Cover Texts, or some other
1163+combination of the three, merge those two alternatives to suit the
1164+situation.
1165+
1166+If your document contains nontrivial examples of program code, we
1167+recommend releasing these examples in parallel under your choice of
1168+free software license, such as the GNU General Public License,
1169+to permit their use in free software.
1170+
1171+--------------------------------------------------------------------------------
1172+
1173+GCC RUNTIME LIBRARY EXCEPTION
1174+
1175+Version 3.1, 31 March 2009
1176+
1177+Copyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/>
1178+
1179+Everyone is permitted to copy and distribute verbatim copies of this
1180+license document, but changing it is not allowed.
1181+
1182+This GCC Runtime Library Exception ("Exception") is an additional
1183+permission under section 7 of the GNU General Public License, version
1184+3 ("GPLv3"). It applies to a given file (the "Runtime Library") that
1185+bears a notice placed by the copyright holder of the file stating that
1186+the file is governed by GPLv3 along with this Exception.
1187+
1188+When you use GCC to compile a program, GCC may combine portions of
1189+certain GCC header files and runtime libraries with the compiled
1190+program. The purpose of this Exception is to allow compilation of
1191+non-GPL (including proprietary) programs to use, in this way, the
1192+header files and runtime libraries covered by this Exception.
1193+
1194+0. Definitions.
1195+
1196+A file is an "Independent Module" if it either requires the Runtime
1197+Library for execution after a Compilation Process, or makes use of an
1198+interface provided by the Runtime Library, but is not otherwise based
1199+on the Runtime Library.
1200+
1201+"GCC" means a version of the GNU Compiler Collection, with or without
1202+modifications, governed by version 3 (or a specified later version) of
1203+the GNU General Public License (GPL) with the option of using any
1204+subsequent versions published by the FSF.
1205+
1206+"GPL-compatible Software" is software whose conditions of propagation,
1207+modification and use would permit combination with GCC in accord with
1208+the license of GCC.
1209+
1210+"Target Code" refers to output from any compiler for a real or virtual
1211+target processor architecture, in executable form or suitable for
1212+input to an assembler, loader, linker and/or execution
1213+phase. Notwithstanding that, Target Code does not include data in any
1214+format that is used as a compiler intermediate representation, or used
1215+for producing a compiler intermediate representation.
1216+
1217+The "Compilation Process" transforms code entirely represented in
1218+non-intermediate languages designed for human-written code, and/or in
1219+Java Virtual Machine byte code, into Target Code. Thus, for example,
1220+use of source code generators and preprocessors need not be considered
1221+part of the Compilation Process, since the Compilation Process can be
1222+understood as starting with the output of the generators or
1223+preprocessors.
1224+
1225+A Compilation Process is "Eligible" if it is done using GCC, alone or
1226+with other GPL-compatible software, or if it is done without using any
1227+work based on GCC. For example, using non-GPL-compatible Software to
1228+optimize any GCC intermediate representations would not qualify as an
1229+Eligible Compilation Process.
1230+
1231+1. Grant of Additional Permission.
1232+
1233+You have permission to propagate a work of Target Code formed by
1234+combining the Runtime Library with Independent Modules, even if such
1235+propagation would otherwise violate the terms of GPLv3, provided that
1236+all Target Code was generated by Eligible Compilation Processes. You
1237+may then convey such a combination under terms of your choice,
1238+consistent with the licensing of the Independent Modules.
1239+
1240+2. No Weakening of GCC Copyleft.
1241+
1242+The availability of this Exception does not imply any general
1243+presumption that third-party software is unaffected by the copyleft
1244+requirements of the license of GCC.
1245+
1246+
1247+--------------------------------------------------------------------------------
1248+
1249+libquadmath/*.[hc]:
1250+
1251+ Copyright (C) 2010 Free Software Foundation, Inc.
1252+ Written by Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1253+ Written by Tobias Burnus <burnus@net-b.de>
1254+
1255+This file is part of the libiberty library.
1256+Libiberty is free software; you can redistribute it and/or
1257+modify it under the terms of the GNU Library General Public
1258+License as published by the Free Software Foundation; either
1259+version 2 of the License, or (at your option) any later version.
1260+
1261+Libiberty is distributed in the hope that it will be useful,
1262+but WITHOUT ANY WARRANTY; without even the implied warranty of
1263+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1264+Library General Public License for more details.
1265+
1266+--------------------------------------------------------------------------------
1267+
1268+libquadmath/gdtoa:
1269+
1270+The author of this software is David M. Gay.
1271+
1272+Copyright (C) 1998, 1999, 2000, 2001 by Lucent Technologies
1273+All Rights Reserved
1274+
1275+Permission to use, copy, modify, and distribute this software and
1276+its documentation for any purpose and without fee is hereby
1277+granted, provided that the above copyright notice appear in all
1278+copies and that both that the copyright notice and this
1279+permission notice and warranty disclaimer appear in supporting
1280+documentation, and that the name of Lucent or any of its entities
1281+not be used in advertising or publicity pertaining to
1282+distribution of the software without specific, written prior
1283+permission.
1284+
1285+LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
1286+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
1287+IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
1288+SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1289+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
1290+IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
1291+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
1292+THIS SOFTWARE.
1293+
1294+--------------------------------------------------------------------------------
1295+
1296+libquadmath/math:
1297+
1298+atanq.c, expm1q.c, j0q.c, j1q.c, log1pq.c, logq.c:
1299+ Copyright 2001 by Stephen L. Moshier <moshier@na-net.ornl.gov>
1300+
1301+ This library is free software; you can redistribute it and/or
1302+ modify it under the terms of the GNU Lesser General Public
1303+ License as published by the Free Software Foundation; either
1304+ version 2.1 of the License, or (at your option) any later version.
1305+
1306+ This library is distributed in the hope that it will be useful,
1307+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1308+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1309+ Lesser General Public License for more details.
1310+
1311+coshq.c, erfq.c, jnq.c, lgammaq.c, powq.c, roundq.c:
1312+ Changes for 128-bit __float128 are
1313+ Copyright (C) 2001 Stephen L. Moshier <moshier@na-net.ornl.gov>
1314+ and are incorporated herein by permission of the author. The author
1315+ reserves the right to distribute this material elsewhere under different
1316+ copying permissions. These modifications are distributed here under
1317+ the following terms:
1318+
1319+ This library is free software; you can redistribute it and/or
1320+ modify it under the terms of the GNU Lesser General Public
1321+ License as published by the Free Software Foundation; either
1322+ version 2.1 of the License, or (at your option) any later version.
1323+
1324+ This library is distributed in the hope that it will be useful,
1325+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1326+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1327+ Lesser General Public License for more details.
1328+
1329+ldexpq.c:
1330+ * Conversion to long double by Ulrich Drepper,
1331+ * Cygnus Support, drepper@cygnus.com.
1332+
1333+cosq_kernel.c, expq.c, sincos_table.c, sincosq.c, sincosq_kernel.c,
1334+sinq_kernel.c, truncq.c:
1335+ Copyright (C) 1997, 1999 Free Software Foundation, Inc.
1336+
1337+ The GNU C Library is free software; you can redistribute it and/or
1338+ modify it under the terms of the GNU Lesser General Public
1339+ License as published by the Free Software Foundation; either
1340+ version 2.1 of the License, or (at your option) any later version.
1341+
1342+ The GNU C Library is distributed in the hope that it will be useful,
1343+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1344+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1345+ Lesser General Public License for more details.
1346+
1347+isinfq.c:
1348+ * Written by J.T. Conklin <jtc@netbsd.org>.
1349+ * Change for long double by Jakub Jelinek <jj@ultra.linux.cz>
1350+ * Public domain.
1351+
1352+llroundq.c, lroundq.c, tgammaq.c:
1353+ Copyright (C) 1997, 1999, 2002, 2004 Free Software Foundation, Inc.
1354+ This file is part of the GNU C Library.
1355+ Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997 and
1356+ Jakub Jelinek <jj@ultra.linux.cz>, 1999.
1357+
1358+ The GNU C Library is free software; you can redistribute it and/or
1359+ modify it under the terms of the GNU Lesser General Public
1360+ License as published by the Free Software Foundation; either
1361+ version 2.1 of the License, or (at your option) any later version.
1362+
1363+ The GNU C Library is distributed in the hope that it will be useful,
1364+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1365+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1366+ Lesser General Public License for more details.
1367+
1368+log10q.c:
1369+ Cephes Math Library Release 2.2: January, 1991
1370+ Copyright 1984, 1991 by Stephen L. Moshier
1371+ Adapted for glibc November, 2001
1372+
1373+ This library is free software; you can redistribute it and/or
1374+ modify it under the terms of the GNU Lesser General Public
1375+ License as published by the Free Software Foundation; either
1376+ version 2.1 of the License, or (at your option) any later version.
1377+
1378+ This library is distributed in the hope that it will be useful,
1379+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1380+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1381+ Lesser General Public License for more details.
1382+
1383+remaining files:
1384+
1385+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
1386+ *
1387+ * Developed at SunPro, a Sun Microsystems, Inc. business.
1388+ * Permission to use, copy, modify, and distribute this
1389+ * software is freely granted, provided that this notice
1390+ * is preserved.
1391+
1392+--------------------------------------------------------------------------------
1393+
1394+libjava/classpath/resource/gnu/java/locale/:
1395+
1396+They are copyrighted and covered by the terms of use:
1397+http://www.unicode.org/copyright.html
1398+
1399+EXHIBIT 1
1400+UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
1401+
1402+ Unicode Data Files include all data files under the directories
1403+http://www.unicode.org/Public/ and http://www.unicode.org/reports/.
1404+Unicode Software includes any source code published in the Unicode Standard or
1405+under the directories http://www.unicode.org/Public/ and
1406+http://www.unicode.org/reports/.
1407+
1408+NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING,
1409+INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA FILES"),
1410+AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY,
1411+ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE,
1412+DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
1413+
1414+ COPYRIGHT AND PERMISSION NOTICE
1415+
1416+Copyrigh (c) 1991-2011 Unicode, Inc. All rights reserved.
1417+Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
1418+
1419+Permission is hereby granted, free of charge, to any person obtaining a copy
1420+of the Unicode data files and any associated documentation (the "Data Files")
1421+or Unicode software and any associated documentation (the "Software") to deal
1422+in the Data Files or Software without restriction, including without limitation
1423+the rights to use, copy, modify, merge, publish, distribute, and/or sell copies
1424+ of the Data Files or Software, and to permit persons to whom the Data Files
1425+or Software are furnished to do so, provided that (a) the above copyright notice(s)
1426+and this permission notice appear with all copies of the Data Files or Software,
1427+(b) both the above copyright notice(s) and this permission notice appear
1428+in associated documentation, and (c) there is clear notice in each modified
1429+Data File or in the Software as well as in the documentation associated with
1430+the Data File(s) or Software that the data or software has been modified.
1431+
1432+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1433+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1434+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
1435+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE
1436+ FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
1437+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
1438+CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
1439+WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE.
1440+
1441+Except as contained in this notice, the name of a copyright holder shall not be used
1442+ in advertising or otherwise to promote the sale, use or other dealings in these
1443+Data Files or Software without prior written authorization of the copyright holder.
1444+
1445+Unicode and the Unicode logo are trademarks of Unicode, Inc., and may be registered
1446+ in some jurisdictions. All other trademarks and registered trademarks mentioned
1447+herein are the property of their respective owners.
1448+
1449+--------------------------------------------------------------------------------
1450+
1451+gcc/go/gofrontend, libgo:
1452+
1453+Copyright (c) 2009 The Go Authors. All rights reserved.
1454+
1455+Redistribution and use in source and binary forms, with or without
1456+modification, are permitted provided that the following conditions are
1457+met:
1458+
1459+ * Redistributions of source code must retain the above copyright
1460+notice, this list of conditions and the following disclaimer.
1461+ * Redistributions in binary form must reproduce the above
1462+copyright notice, this list of conditions and the following disclaimer
1463+in the documentation and/or other materials provided with the
1464+distribution.
1465+ * Neither the name of Google Inc. nor the names of its
1466+contributors may be used to endorse or promote products derived from
1467+this software without specific prior written permission.
1468+
1469+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1470+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1471+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1472+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1473+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1474+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1475+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1476+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1477+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
1478+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1479+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1480+
diff -r 7c547e0194ea -r 4cf59be8dfbe specs/patches/gcc-01-libtool-rpath.diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/patches/gcc-01-libtool-rpath.diff Wed Jun 13 21:26:54 2012 +0900
@@ -0,0 +1,46 @@
1+--- gcc-4.2.3-orig/ltcf-c.sh 2005-11-18 22:53:08.000000000 +0000
2++++ gcc-4.2.3/ltcf-c.sh 2008-03-02 02:27:01.286515021 +0000
3+@@ -576,7 +576,9 @@
4+ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
5+ fi
6+ hardcode_libdir_flag_spec='-R$libdir'
7+- hardcode_shlibpath_var=no
8++ hardcode_shlibpath_var=yes
9++ hardcode_minus_L=yes
10++ hardcode_direct=yes
11+ case $host_os in
12+ solaris2.[0-5] | solaris2.[0-5].*) ;;
13+ *) # Supported since Solaris 2.6 (maybe 2.5.1?)
14+--- gcc-4.2.3-orig/ltcf-cxx.sh 2005-07-16 02:30:53.000000000 +0000
15++++ gcc-4.2.3/ltcf-cxx.sh 2008-03-02 02:29:45.391494091 +0000
16+@@ -618,7 +618,9 @@
17+ $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
18+
19+ hardcode_libdir_flag_spec='-R$libdir'
20+- hardcode_shlibpath_var=no
21++ hardcode_shlibpath_var=yes
22++ hardcode_minus_L=yes
23++ hardcode_direct=yes
24+ case $host_os in
25+ solaris2.[0-5] | solaris2.[0-5].*) ;;
26+ *)
27+@@ -682,6 +684,9 @@
28+
29+ hardcode_libdir_flag_spec='${wl}-R $wl$libdir'
30+ fi
31++ hardcode_shlibpath_var=yes
32++ hardcode_minus_L=yes
33++ hardcode_direct=yes
34+ ;;
35+ esac
36+ ;;
37+--- gcc-4.2.3-orig/ltmain.sh 2006-07-06 23:24:51.000000000 +0000
38++++ gcc-4.2.3/ltmain.sh 2008-03-02 05:12:36.295492229 +0000
39+@@ -3117,7 +3117,6 @@
40+ # Hardcode the library paths
41+ hardcode_libdirs=
42+ dep_rpath=
43+- rpath="$finalize_rpath"
44+ test "$mode" != relink && rpath="$compile_rpath$rpath"
45+ for libdir in $rpath; do
46+ if test -n "$hardcode_libdir_flag_spec"; then
diff -r 7c547e0194ea -r 4cf59be8dfbe specs/patches/gcc-02-handle_pragma_pack_push_pop.diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/patches/gcc-02-handle_pragma_pack_push_pop.diff Wed Jun 13 21:26:54 2012 +0900
@@ -0,0 +1,9 @@
1+--- gcc-4.2.3/gcc/config/sol2-10.h.orig 2009-01-23 22:52:36.811847756 +0100
2++++ gcc-4.2.3/gcc/config/sol2-10.h 2009-01-23 23:01:22.694640931 +0100
3+@@ -21,3 +21,6 @@
4+ /* Solaris 10 has the float and long double forms of math functions. */
5+ #undef TARGET_C99_FUNCTIONS
6+ #define TARGET_C99_FUNCTIONS 1
7++
8++/* Define this so we can compile MS code for use with WINE. */
9++#define HANDLE_PRAGMA_PACK_PUSH_POP
diff -r 7c547e0194ea -r 4cf59be8dfbe specs/patches/gcc-03-gnulib.diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/patches/gcc-03-gnulib.diff Wed Jun 13 21:26:54 2012 +0900
@@ -0,0 +1,135 @@
1+#THIS DOC IS EARLY DRAFT STATE AND MIGHT CONTAIN TYPOS, ERRORS, EAT YOUR CAT, ...#
2+
3+##TODO## read below, is /usr/ucblib on Solaris 10 (all versions) in use or not?
4+
5+This patch is needed to enable a multi-architecture directory
6+layout. Therefore you can read instead /64/ then /amd64/ or
7+/sparcv9/ which is needed if the share the same filesystem tree.
8+
9+If a binary or library is stored in the same filesystemtree,
10+then you can use isaexec to decide which binary to use.
11+
12+ isaexec looks up the architecture (i86, amd64, sparcv9, sparc....)
13+ and continues loading the right binary matching the archiecture.
14+ The linker code then would as well use libraries matching the
15+ chosen architecture (e.g. amd64) and search for libaries in those
16+ subdirectories.
17+
18+ example:
19+ call /sharednfspath/tools/bin/mybinary
20+ which is (hard)linked to /usr/lib/isaexec
21+
22+ the architecture is looked up, in this example amd64
23+ then isaexec loads this binary:
24+ /sharednfspath/tools/bin/amd64/mybinary
25+
26+
27+*hardcoded -R runpath removed now* START
28+An older release of this patch contained code that *hardcoded* the runpath
29+as -R %R/usr/ucblib:%R/usr/ccs/lib:%R/lib:%R/usr/lib:%R/usr/gnu/lib
30+The template for this patch is partly a historic patch from the Sun
31+gcc-3 compiler adapted for at that time for the gcc-4 and as well
32+including /usr/gnu/lib to find gcc's runtime libary which has
33+symlinks there which point to the compiler runtime libs in
34+/usr/gcc/<major.minor>/lib directory. The idea was to *find* the
35+runtime in any case and another different reason was to *find* all
36+sorts of libs stored e.g. in the directory /usr/gnu/lib which is
37+*not* searched by the "ld" linker by default.
38+But this hardcoding of those directories has a big downside, the
39+user looses the ability to build a binary or a library with the
40+search order for libraries via runpath in an order the *user* needs.
41+Example: /usr/q++/lib:/usr/lib to find a lib of the *same* filename
42+first in the q++ path and not hitting an incompatible file somewhere
43+else.
44+
45+Therefore, the "-R" was removed almost entirely (/usr/ucblib is left,
46+might go away some day if we don't need it any more on Oracle
47+Solaris 10 or later releases).
48+*hardcoded -R runpath removed now* END
49+
50+
51+*only for reference* START
52+****another patch, gcc-07-LINK_SPEC.diff **** START
53+Another patch takes care that the binaries and libraries compiled
54+with *this* gcc version are found in a predefined directory, totally
55+free of other libaries.
56+Currently this is e.g. /usr/gcc/4.6/lib/libgcc_s.so.1 and with
57+multilib enabled this might be
58+/usr/gcc/4.6/lib/gcc/i386-pc-solaris2.11/4.6.1/amd64/libgcc_s.so.1
59+(could become default in the future)
60+
61+Another directory is now predefined where runtime libs are searched.
62+A set of symbolic links to the runtime libs in /usr/gcc/lib/ is to
63+be placed there. Symlinks to the compiler binaries like gcc and g++
64+go into /usr/gcc/bin/<gcc|g++> . This was the System can be upgraded
65+to a much more fresh gcc version and use updated runtime libs but
66+still use old programs linked to the older version of the libs.
67+The need the interface of a more fresh runtime lib being compatile
68+to older binaries.
69+****another patch, gcc-07-LINK_SPEC.diff **** END
70+*only for reference* END
71+
72+
73+
74+
75+
76+--- gcc-4.5.2/gcc/config/sol2.h 2010-04-16 15:33:58.000000000 +0200
77++++ gcc-4.5.2/gcc/config/sol2.h 2011-03-04 20:41:27.986156059 +0100
78+@@ -156,12 +156,12 @@
79+ %{YP,*} \
80+ %{R*} \
81+ %{compat-bsd: \
82+- %{!YP,*:%{p|pg:-Y P,%R/usr/ucblib:%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/usr/lib} \
83+- %{!p:%{!pg:-Y P,%R/usr/ucblib:%R/usr/ccs/lib:%R/usr/lib}}} \
84+- -R %R/usr/ucblib} \
85++ %{!YP,*:%{p|pg:-Y P,%R/usr/ucblib:%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/lib:%R/usr/lib:%R/usr/gnu/lib} \
86++ %{!p:%{!pg:-Y P,%R/usr/ucblib:%R/usr/ccs/lib:%R/lib:%R/usr/lib:%R/usr/gnu/lib}}} \
87++ -R %R/usr/ucblib} \
88+ %{!compat-bsd: \
89+- %{!YP,*:%{p|pg:-Y P,%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/usr/lib} \
90+- %{!p:%{!pg:-Y P,%R/usr/ccs/lib:%R/usr/lib}}}}"
91++ %{!YP,*:%{p|pg:-Y P,%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/lib:%R/usr/lib:%R/usr/gnu/lib} \
92++ %{!p:%{!pg:-Y P,%R/usr/ccs/lib:%R/lib:%R/usr/lib:%R/usr/gnu/lib}}}}"
93+
94+ #undef LINK_ARCH32_SPEC
95+ #define LINK_ARCH32_SPEC LINK_ARCH32_SPEC_BASE
96+--- gcc-4.5.2/gcc/config/i386/sol2-10.h 2010-07-14 10:47:54.000000000 +0200
97++++ gcc-4.5.2/gcc/config/i386/sol2-10.h 2011-03-04 20:49:56.627091764 +0100
98+@@ -109,12 +109,12 @@
99+ %{YP,*} \
100+ %{R*} \
101+ %{compat-bsd: \
102+- %{!YP,*:%{p|pg:-Y P,/usr/ucblib/64:/usr/lib/libp/64:/lib/64:/usr/lib/64} \
103+- %{!p:%{!pg:-Y P,/usr/ucblib/64:/lib:/usr/lib/64}}} \
104+- -R /usr/ucblib/64} \
105++ %{!YP,*:%{p|pg:-Y P,/usr/ucblib/amd64:/usr/lib/libp/amd64:/lib/amd64:/usr/lib/amd64:/usr/gnu/lib/amd64} \
106++ %{!p:%{!pg:-Y P,/usr/ucblib/amd64:/lib/amd64:/usr/lib/amd64:/usr/gnu/lib/amd64 -R /usr/ucblib/amd64}}} \
107++ } \
108+ %{!compat-bsd: \
109+- %{!YP,*:%{p|pg:-Y P,/usr/lib/libp/64:/lib/64:/usr/lib/64} \
110+- %{!p:%{!pg:-Y P,/lib/64:/usr/lib/64}}}}"
111++ %{!YP,*:%{p|pg:-Y P,/usr/lib/libp/amd64:/lib/amd64:/usr/lib/amd64:/usr/gnu/lib/amd64} \
112++ %{!p:%{!pg:-Y P,/lib/amd64:/usr/lib/amd64:/usr/gnu/lib/amd64}}}}"
113+
114+ #undef LINK_ARCH64_SPEC
115+ #define LINK_ARCH64_SPEC LINK_ARCH64_SPEC_BASE
116+--- gcc-4.5.2/gcc/config/sparc/sol2-bi.h 2010-04-02 21:54:46.000000000 +0200
117++++ gcc-4.5.2/gcc/config/sparc/sol2-bi.h 2011-03-04 20:47:36.202790986 +0100
118+@@ -195,12 +195,12 @@
119+ %{YP,*} \
120+ %{R*} \
121+ %{compat-bsd: \
122+- %{!YP,*:%{p|pg:-Y P,%R/usr/ucblib/sparcv9:%R/usr/lib/libp/sparcv9:%R/usr/lib/sparcv9} \
123+- %{!p:%{!pg:-Y P,%R/usr/ucblib/sparcv9:%R/usr/lib/sparcv9}}} \
124+- -R %R/usr/ucblib/sparcv9} \
125++ %{!YP,*:%{p|pg:-Y P,%R/usr/ucblib/sparcv9:%R/usr/lib/libp/sparcv9:%R/lib/sparcv9:%R/usr/lib/sparcv9:%R/usr/gnu/lib/sparcv9} \
126++ %{!p:%{!pg:-Y P,%R/usr/ucblib/sparcv9:%R/lib/sparcv9:%R/usr/lib/sparcv9:%R/usr/gnu/lib/sparcv9 -R %R/usr/ucblib/sparcv9}}} \
127++ } \
128+ %{!compat-bsd: \
129+- %{!YP,*:%{p|pg:-Y P,%R/usr/lib/libp/sparcv9:%R/usr/lib/sparcv9} \
130+- %{!p:%{!pg:-Y P,%R/usr/lib/sparcv9}}}}"
131++ %{!YP,*:%{p|pg:-Y P,%R/usr/lib/libp/sparcv9:%R/lib/sparcv9:%R/usr/lib/sparcv9:%R/usr/gnu/lib/sparcv9} \
132++ %{!p:%{!pg:-Y P,%R/lib/sparcv9:%R/usr/lib/sparcv9:%R/usr/gnu/lib/sparcv9}}}}"
133+
134+ #define LINK_ARCH64_SPEC LINK_ARCH64_SPEC_BASE
135+
diff -r 7c547e0194ea -r 4cf59be8dfbe specs/patches/gcc-10-spawn.diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/specs/patches/gcc-10-spawn.diff Wed Jun 13 21:26:54 2012 +0900
@@ -0,0 +1,131 @@
1+--- gcc-4.6.2/fixincludes/fixincl.x 2010-11-09 11:26:09.000000000 +0100
2++++ gcc-4.6.2-patch/fixincludes/fixincl.x 2011-12-02 13:08:56.282070301 +0100
3+@@ -15,7 +15,7 @@
4+ * certain ANSI-incompatible system header files which are fixed to work
5+ * correctly with ANSI C and placed in a directory that GNU C will search.
6+ *
7+- * This file contains 210 fixup descriptions.
8++ * This file contains 211 fixup descriptions.
9+ *
10+ * See README for more information.
11+ *
12+@@ -6969,6 +6969,43 @@
13+
14+ /* * * * * * * * * * * * * * * * * * * * * * * * * *
15+ *
16++ * Description of Solaris_Posix_Spawn_Restrict fix
17++ */
18++tSCC zSolaris_Posix_Spawn_RestrictName[] =
19++ "solaris_posix_spawn_restrict";
20++
21++/*
22++ * File name selection pattern
23++ */
24++tSCC zSolaris_Posix_Spawn_RestrictList[] =
25++ "spawn.h\0";
26++/*
27++ * Machine/OS name selection pattern
28++ */
29++tSCC* apzSolaris_Posix_Spawn_RestrictMachs[] = {
30++ "*-*-solaris2*",
31++ (const char*)NULL };
32++
33++/*
34++ * content selection pattern - do fix if pattern found
35++ */
36++tSCC zSolaris_Posix_Spawn_RestrictSelect0[] =
37++ "(.*[ \t]+)([a-z]+)\\[_RESTRICT_KYWD\\](.*)";
38++
39++#define SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT 1
40++static tTestDesc aSolaris_Posix_Spawn_RestrictTests[] = {
41++ { TT_EGREP, zSolaris_Posix_Spawn_RestrictSelect0, (regex_t*)NULL }, };
42++
43++/*
44++ * Fix Command Arguments for Solaris_Posix_Spawn_Restrict
45++ */
46++static const char* apzSolaris_Posix_Spawn_RestrictPatch[] = {
47++ "format",
48++ "%1*_RESTRICT_KYWD %2%3",
49++ (char*)NULL };
50++
51++/* * * * * * * * * * * * * * * * * * * * * * * * * *
52++ *
53+ * Description of Solaris_Stdio_Tag fix
54+ */
55+ tSCC zSolaris_Stdio_TagName[] =
56+@@ -8552,9 +8589,9 @@
57+ *
58+ * List of all fixes
59+ */
60+-#define REGEX_COUNT 249
61++#define REGEX_COUNT 250
62+ #define MACH_LIST_SIZE_LIMIT 181
63+-#define FIX_COUNT 210
64++#define FIX_COUNT 211
65+
66+ /*
67+ * Enumerate the fixes
68+@@ -8731,6 +8768,7 @@
69+ SOLARIS_INT_LIMITS_2_FIXIDX,
70+ SOLARIS_INT_LIMITS_3_FIXIDX,
71+ SOLARIS_INT_TYPES_FIXIDX,
72++ SOLARIS_POSIX_SPAWN_RESTRICT_FIXIDX,
73+ SOLARIS_STDIO_TAG_FIXIDX,
74+ SOLARIS_SYS_VA_LIST_FIXIDX,
75+ STATSSWTCH_FIXIDX,
76+@@ -9628,6 +9666,11 @@
77+ SOLARIS_INT_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
78+ aSolaris_Int_TypesTests, apzSolaris_Int_TypesPatch, 0 },
79+
80++ { zSolaris_Posix_Spawn_RestrictName, zSolaris_Posix_Spawn_RestrictList,
81++ apzSolaris_Posix_Spawn_RestrictMachs,
82++ SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
83++ aSolaris_Posix_Spawn_RestrictTests, apzSolaris_Posix_Spawn_RestrictPatch, 0 },
84++
85+ { zSolaris_Stdio_TagName, zSolaris_Stdio_TagList,
86+ apzSolaris_Stdio_TagMachs,
87+ SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
88+--- gcc-4.6.2/fixincludes/inclhack.def 2010-11-09 11:26:09.000000000 +0100
89++++ gcc-4.6.2-patch/fixincludes/inclhack.def 2011-12-02 13:06:53.974190573 +0100
90+@@ -3693,6 +3693,23 @@
91+
92+
93+ /*
94++ * Solaris 10+ <spawn.h> uses char *const argv[_RESTRICT_KYWD] in the
95++ * posix_spawn declarations, which doesn't work with C++.
96++ */
97++fix = {
98++ hackname = solaris_posix_spawn_restrict;
99++ files = spawn.h;
100++ mach = '*-*-solaris2*';
101++ c_fix = format;
102++ c_fix_arg = "%1*_RESTRICT_KYWD %2%3";
103++ select = "(.*[ \t]+)([a-z]+)\\[_RESTRICT_KYWD\\](.*)";
104++ test_text =
105++ "char *const argv[_RESTRICT_KYWD],\n"
106++ "char *const envp[_RESTRICT_KYWD]);";
107++};
108++
109++
110++/*
111+ * Sun Solaris 8 has what appears to be some gross workaround for
112+ * some old version of their c++ compiler. G++ doesn't want it
113+ * either, but doesn't want to be tied to SunPRO version numbers.
114+--- gcc-4.6.2/fixincludes/spawn.h 1970-01-01 01:00:00.000000000 +0100
115++++ gcc-4.6.2-patch/fixincludes/spawn.h 2011-12-02 13:04:16.806543614 +0100
116+@@ -0,0 +1,15 @@
117++/* DO NOT EDIT THIS FILE.
118++
119++ It has been auto-edited by fixincludes from:
120++
121++ "fixinc/tests/inc/spawn.h"
122++
123++ This had to be done to correct non-standard usages in the
124++ original, manufacturer supplied header file. */
125++
126++
127++
128++#if defined( SOLARIS_POSIX_SPAWN_RESTRICT_CHECK )
129++char *const *_RESTRICT_KYWD argv,
130++char *const *_RESTRICT_KYWD envp);
131++#endif /* SOLARIS_POSIX_SPAWN_RESTRICT_CHECK */
Show on old repository browser