summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Pashev <igor.pashev@nexenta.com>2012-10-24 14:48:04 +0400
committerIgor Pashev <igor.pashev@nexenta.com>2012-10-24 14:48:04 +0400
commit98cb3b26f4043c9a83029c21855ff61b7601e611 (patch)
treee0e08eb9e6a168c65444dfc9751a522cb08b0ab3
downloadcibs-pkgs-98cb3b26f4043c9a83029c21855ff61b7601e611.tar.gz
Initial commit from cibs/examples
-rw-r--r--autoconf/Makefile25
-rw-r--r--autoconf/autoconf.p5m80
-rw-r--r--automake1.11/Makefile23
-rw-r--r--automake1.11/automake.p5m182
-rw-r--r--c-ares/Makefile45
-rw-r--r--c-ares/c-ares.license10
-rw-r--r--c-ares/c-ares.p5m93
-rw-r--r--findutils/Makefile26
-rw-r--r--findutils/gnu-findutils.p5m145
-rw-r--r--findutils/locate.p5m29
-rw-r--r--gawk/Makefile25
-rw-r--r--gawk/gawk.p5m80
-rw-r--r--gcc-4.4/Makefile48
-rw-r--r--gcc-4.4/cpp.p5m40
-rw-r--r--gcc-4.4/g++.p5m754
-rw-r--r--gcc-4.4/gcc-44-runtime.p5m36
-rw-r--r--gcc-4.4/gcc-44.p5m44
-rw-r--r--gcc-4.4/gcc.p5m169
-rw-r--r--gcc-4.4/gfortran.p5m78
-rw-r--r--gcc-4.4/illumos-gcc.p5m40
-rw-r--r--gcc-4.4/libgcc.p5m33
-rw-r--r--gcc-4.4/libgfortran.p5m35
-rw-r--r--gcc-4.4/libgomp.p5m33
-rw-r--r--gcc-4.4/libssp.p5m33
-rw-r--r--gcc-4.4/libstdc++.p5m35
-rw-r--r--gcc-4.4/patches/gcc-4.4.7.illumos.patch1165
-rw-r--r--gcc-defaults/Makefile5
-rw-r--r--gcc-defaults/cpp.p5m32
-rw-r--r--gcc-defaults/g++.p5m32
-rw-r--r--gcc-defaults/gcc.p5m32
-rw-r--r--gcc-defaults/gfortran.p5m32
-rw-r--r--gm4/Makefile26
-rw-r--r--gm4/gm4.p5m26
-rw-r--r--gmp/Makefile28
-rw-r--r--gmp/gmp.p5m30
-rw-r--r--gmp/gmpxx.p5m20
-rw-r--r--gperf/Makefile20
-rw-r--r--gperf/gperf.p5m18
-rw-r--r--grep/Makefile26
-rw-r--r--grep/gnu-grep.p5m158
-rw-r--r--libsigsegv/Makefile23
-rw-r--r--libsigsegv/libsigsegv.p5m19
-rw-r--r--libtool/Makefile22
-rw-r--r--libtool/libltdl.p5m57
-rw-r--r--libtool/libtool.p5m56
-rw-r--r--libtool/patches/bootstrap-no-go.patch12
-rw-r--r--libunistring/Makefile24
-rw-r--r--libunistring/libunistring.p5m87
-rw-r--r--mpfr/Makefile24
-rw-r--r--mpfr/mpfr.p5m26
-rw-r--r--openpgm/Makefile26
-rw-r--r--openpgm/libpgm.p5m68
-rw-r--r--openpgm/patches/000_ifr_netmask.patch15
-rw-r--r--openpgm/patches/010_ifa_flags.patch107
-rw-r--r--pcre/Makefile22
-rw-r--r--pcre/pcre.p5m109
-rw-r--r--pcre/pcrecpp.p5m21
-rw-r--r--symlinks/Makefile31
-rw-r--r--symlinks/patches/largefile.diff20
-rw-r--r--symlinks/patches/manpage.diff15
-rw-r--r--symlinks/symlinks.license21
-rw-r--r--symlinks/symlinks.p5m10
-rw-r--r--zeromq/Makefile32
-rw-r--r--zeromq/zeromq.p5m27
64 files changed, 4665 insertions, 0 deletions
diff --git a/autoconf/Makefile b/autoconf/Makefile
new file mode 100644
index 0000000..be67d4e
--- /dev/null
+++ b/autoconf/Makefile
@@ -0,0 +1,25 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/noarch.mk
+
+
+summary := GNU utilities for finding files
+license := GPLv3
+license-file := COPYINGv3
+
+build-depends += \
+ compress/xz
+
+configure-env += M4=/usr/gnu/bin/m4
+
+name := autoconf
+home := http://www.gnu.org/software/$(name)/
+version := 2.69
+archive := $(name)-$(version).tar.xz
+download := http://ftp.gnu.org/gnu/$(name)/$(archive)
+checksum := \
+ md5:50f97f4159805e374639a73e2636f22e \
+ sha1:e891c3193029775e83e0534ac0ee0c4c711f6d23 \
+ sha256:64ebcec9f8ac5b2487125a86a7760d2591ac9e1d3dbd59489633f9de62a57684 \
+ size:1214744
diff --git a/autoconf/autoconf.p5m b/autoconf/autoconf.p5m
new file mode 100644
index 0000000..0eddc29
--- /dev/null
+++ b/autoconf/autoconf.p5m
@@ -0,0 +1,80 @@
+set name=pkg.fmri value=pkg:/developer/build/$(name)@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+license $(license-file) license="$(license)"
+
+depend fmri=pkg:/developer/macro/gnu-m4@1.4.13 type=require
+
+dir path=usr
+dir path=usr/bin
+dir path=usr/share
+dir path=usr/share/man
+dir path=usr/share/man/man1
+dir path=usr/share/autoconf
+dir path=usr/share/autoconf/autoconf
+dir path=usr/share/autoconf/autoscan
+dir path=usr/share/autoconf/m4sugar
+dir path=usr/share/autoconf/autotest
+dir path=usr/share/autoconf/Autom4te
+dir path=usr/share/info
+file path=usr/bin/autoheader
+file path=usr/bin/autoconf
+file path=usr/bin/autoscan
+file path=usr/bin/autoreconf
+file path=usr/bin/ifnames
+file path=usr/bin/autom4te
+file path=usr/bin/autoupdate
+file path=usr/share/man/man1/ifnames.1
+file path=usr/share/man/man1/autoreconf.1
+file path=usr/share/man/man1/config.sub.1
+file path=usr/share/man/man1/autoconf.1
+file path=usr/share/man/man1/config.guess.1
+file path=usr/share/man/man1/autoscan.1
+file path=usr/share/man/man1/autom4te.1
+file path=usr/share/man/man1/autoheader.1
+file path=usr/share/man/man1/autoupdate.1
+file path=usr/share/autoconf/INSTALL
+file path=usr/share/autoconf/autoconf/c.m4
+file path=usr/share/autoconf/autoconf/status.m4
+file path=usr/share/autoconf/autoconf/lang.m4
+file path=usr/share/autoconf/autoconf/oldnames.m4
+file path=usr/share/autoconf/autoconf/autotest.m4
+file path=usr/share/autoconf/autoconf/specific.m4
+file path=usr/share/autoconf/autoconf/go.m4
+file path=usr/share/autoconf/autoconf/autoupdate.m4
+file path=usr/share/autoconf/autoconf/erlang.m4
+file path=usr/share/autoconf/autoconf/autoconf.m4f
+file path=usr/share/autoconf/autoconf/types.m4
+file path=usr/share/autoconf/autoconf/libs.m4
+file path=usr/share/autoconf/autoconf/general.m4
+file path=usr/share/autoconf/autoconf/autoscan.m4
+file path=usr/share/autoconf/autoconf/programs.m4
+file path=usr/share/autoconf/autoconf/fortran.m4
+file path=usr/share/autoconf/autoconf/autoconf.m4
+file path=usr/share/autoconf/autoconf/functions.m4
+file path=usr/share/autoconf/autoconf/autoheader.m4
+file path=usr/share/autoconf/autoconf/headers.m4
+file path=usr/share/autoconf/autoscan/autoscan.list
+file path=usr/share/autoconf/m4sugar/m4sh.m4
+file path=usr/share/autoconf/m4sugar/m4sh.m4f
+file path=usr/share/autoconf/m4sugar/m4sugar.m4f
+file path=usr/share/autoconf/m4sugar/m4sugar.m4
+file path=usr/share/autoconf/m4sugar/version.m4
+file path=usr/share/autoconf/m4sugar/foreach.m4
+file path=usr/share/autoconf/autotest/general.m4
+file path=usr/share/autoconf/autotest/specific.m4
+file path=usr/share/autoconf/autotest/autotest.m4
+file path=usr/share/autoconf/autotest/autotest.m4f
+file path=usr/share/autoconf/Autom4te/Request.pm
+file path=usr/share/autoconf/Autom4te/XFile.pm
+file path=usr/share/autoconf/Autom4te/C4che.pm
+file path=usr/share/autoconf/Autom4te/Configure_ac.pm
+file path=usr/share/autoconf/Autom4te/FileUtils.pm
+file path=usr/share/autoconf/Autom4te/Channels.pm
+file path=usr/share/autoconf/Autom4te/General.pm
+file path=usr/share/autoconf/Autom4te/ChannelDefs.pm
+file path=usr/share/autoconf/Autom4te/Getopt.pm
+file path=usr/share/autoconf/autom4te.cfg
+file path=usr/share/info/standards.info
+file path=usr/share/info/autoconf.info
diff --git a/automake1.11/Makefile b/automake1.11/Makefile
new file mode 100644
index 0000000..68f32c6
--- /dev/null
+++ b/automake1.11/Makefile
@@ -0,0 +1,23 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/noarch.mk
+
+
+summary := Tool for generating GNU Standards-compliant Makefiles
+license := GPL
+license-file := COPYING
+
+# build-depends +=
+# build-conflicts +=
+
+home := http://www.gnu.org/software/automake/
+name := automake
+version := 1.11.6
+archive := $(name)-$(version).tar.gz
+download := http://ftp.gnu.org/gnu/$(name)/$(archive)
+checksum := \
+ md5:0286dc30295b62985ca51919202ecfcc \
+ sha1:29d7832b148e2157e03ad0d3620fbb7f5a13bc21 \
+ sha256:53dbf1945401c43f4ce19c1971baecdbf8bc32e0f37fa3f49fe7b6992d0d2030 \
+ size:1637926
diff --git a/automake1.11/automake.p5m b/automake1.11/automake.p5m
new file mode 100644
index 0000000..9766816
--- /dev/null
+++ b/automake1.11/automake.p5m
@@ -0,0 +1,182 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/developer/build/$(name)@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+license $(license-file) license="$(license)"
+
+depend fmri=pkg:/developer/build/autoconf@2.62 type=require
+
+# This is default automake
+
+link path=usr/bin/aclocal target=aclocal-1.11
+link path=usr/bin/automake target=automake-1.11
+link path=usr/share/man/man1/automake target=automake-1.11
+link path=usr/share/man/man1/aclocal target=aclocal-1.11
+
+dir path=usr
+dir path=usr/bin
+dir path=usr/share
+dir path=usr/share/info
+dir path=usr/share/aclocal-1.11
+dir path=usr/share/automake-1.11
+dir path=usr/share/automake-1.11/am
+dir path=usr/share/automake-1.11/Automake
+dir path=usr/share/doc
+dir path=usr/share/doc/automake
+dir path=usr/share/man
+dir path=usr/share/man/man1
+
+file path=usr/bin/aclocal-1.11
+file path=usr/bin/automake-1.11
+file path=usr/share/info/automake.info-3
+file path=usr/share/info/automake.info-2
+file path=usr/share/info/automake.info
+file path=usr/share/info/automake.info-1
+file path=usr/share/aclocal-1.11/obsol-gt.m4
+file path=usr/share/aclocal-1.11/multi.m4
+file path=usr/share/aclocal-1.11/options.m4
+file path=usr/share/aclocal-1.11/strip.m4
+file path=usr/share/aclocal-1.11/regex.m4
+file path=usr/share/aclocal-1.11/lex.m4
+file path=usr/share/aclocal-1.11/depout.m4
+file path=usr/share/aclocal-1.11/minuso.m4
+file path=usr/share/aclocal-1.11/silent.m4
+file path=usr/share/aclocal-1.11/protos.m4
+file path=usr/share/aclocal-1.11/as.m4
+file path=usr/share/aclocal-1.11/cond.m4
+file path=usr/share/aclocal-1.11/mkdirp.m4
+file path=usr/share/aclocal-1.11/tar.m4
+file path=usr/share/aclocal-1.11/make.m4
+file path=usr/share/aclocal-1.11/vala.m4
+file path=usr/share/aclocal-1.11/runlog.m4
+file path=usr/share/aclocal-1.11/cond-if.m4
+file path=usr/share/aclocal-1.11/sanity.m4
+file path=usr/share/aclocal-1.11/install-sh.m4
+file path=usr/share/aclocal-1.11/init.m4
+file path=usr/share/aclocal-1.11/gcj.m4
+file path=usr/share/aclocal-1.11/maintainer.m4
+file path=usr/share/aclocal-1.11/header.m4
+file path=usr/share/aclocal-1.11/lead-dot.m4
+file path=usr/share/aclocal-1.11/substnot.m4
+file path=usr/share/aclocal-1.11/lispdir.m4
+file path=usr/share/aclocal-1.11/upc.m4
+file path=usr/share/aclocal-1.11/obsol-lt.m4
+file path=usr/share/aclocal-1.11/dmalloc.m4
+file path=usr/share/aclocal-1.11/auxdir.m4
+file path=usr/share/aclocal-1.11/python.m4
+file path=usr/share/aclocal-1.11/ccstdc.m4
+file path=usr/share/aclocal-1.11/missing.m4
+file path=usr/share/aclocal-1.11/obsolete.m4
+file path=usr/share/aclocal-1.11/ar-lib.m4
+file path=usr/share/aclocal-1.11/depend.m4
+file path=usr/share/aclocal-1.11/amversion.m4
+file path=usr/share/automake-1.11/ansi2knr.1
+file path=usr/share/automake-1.11/texinfo.tex
+file path=usr/share/automake-1.11/mkinstalldirs
+file path=usr/share/automake-1.11/acinstall
+file path=usr/share/automake-1.11/ar-lib
+file path=usr/share/automake-1.11/config.sub
+file path=usr/share/automake-1.11/am/ltlibrary.am
+file path=usr/share/automake-1.11/am/remake-hdr.am
+file path=usr/share/automake-1.11/am/header.am
+file path=usr/share/automake-1.11/am/libtool.am
+file path=usr/share/automake-1.11/am/data.am
+file path=usr/share/automake-1.11/am/texi-vers.am
+file path=usr/share/automake-1.11/am/check2.am
+file path=usr/share/automake-1.11/am/clean.am
+file path=usr/share/automake-1.11/am/libs.am
+file path=usr/share/automake-1.11/am/vala.am
+file path=usr/share/automake-1.11/am/yacc.am
+file path=usr/share/automake-1.11/am/library.am
+file path=usr/share/automake-1.11/am/multilib.am
+file path=usr/share/automake-1.11/am/mans-vars.am
+file path=usr/share/automake-1.11/am/python.am
+file path=usr/share/automake-1.11/am/install.am
+file path=usr/share/automake-1.11/am/dejagnu.am
+file path=usr/share/automake-1.11/am/check-html.am
+file path=usr/share/automake-1.11/am/check.am
+file path=usr/share/automake-1.11/am/texinfos.am
+file path=usr/share/automake-1.11/am/lex.am
+file path=usr/share/automake-1.11/am/distdir.am
+file path=usr/share/automake-1.11/am/depend.am
+file path=usr/share/automake-1.11/am/footer.am
+file path=usr/share/automake-1.11/am/configure.am
+file path=usr/share/automake-1.11/am/ltlib.am
+file path=usr/share/automake-1.11/am/mans.am
+file path=usr/share/automake-1.11/am/depend2.am
+file path=usr/share/automake-1.11/am/clean-hdr.am
+file path=usr/share/automake-1.11/am/scripts.am
+file path=usr/share/automake-1.11/am/subdirs.am
+file path=usr/share/automake-1.11/am/compile.am
+file path=usr/share/automake-1.11/am/tags.am
+file path=usr/share/automake-1.11/am/progs.am
+file path=usr/share/automake-1.11/am/lisp.am
+file path=usr/share/automake-1.11/am/texibuild.am
+file path=usr/share/automake-1.11/am/java.am
+file path=usr/share/automake-1.11/am/header-vars.am
+file path=usr/share/automake-1.11/am/inst-vars.am
+file path=usr/share/automake-1.11/am/ansi2knr.am
+file path=usr/share/automake-1.11/am/program.am
+file path=usr/share/automake-1.11/am/lang-compile.am
+file path=usr/share/automake-1.11/INSTALL
+file path=usr/share/automake-1.11/elisp-comp
+file path=usr/share/automake-1.11/mdate-sh
+file path=usr/share/automake-1.11/ylwrap
+file path=usr/share/automake-1.11/install-sh
+file path=usr/share/automake-1.11/missing
+file path=usr/share/automake-1.11/depcomp
+file path=usr/share/automake-1.11/config-ml.in
+file path=usr/share/automake-1.11/symlink-tree
+file path=usr/share/automake-1.11/compile
+file path=usr/share/automake-1.11/Automake/Rule.pm
+file path=usr/share/automake-1.11/Automake/Struct.pm
+file path=usr/share/automake-1.11/Automake/Location.pm
+file path=usr/share/automake-1.11/Automake/ChannelDefs.pm
+file path=usr/share/automake-1.11/Automake/Config.pm
+file path=usr/share/automake-1.11/Automake/XFile.pm
+file path=usr/share/automake-1.11/Automake/General.pm
+file path=usr/share/automake-1.11/Automake/Getopt.pm
+file path=usr/share/automake-1.11/Automake/DisjConditions.pm
+file path=usr/share/automake-1.11/Automake/Configure_ac.pm
+file path=usr/share/automake-1.11/Automake/Version.pm
+file path=usr/share/automake-1.11/Automake/ItemDef.pm
+file path=usr/share/automake-1.11/Automake/RuleDef.pm
+file path=usr/share/automake-1.11/Automake/Options.pm
+file path=usr/share/automake-1.11/Automake/Wrap.pm
+file path=usr/share/automake-1.11/Automake/VarDef.pm
+file path=usr/share/automake-1.11/Automake/Variable.pm
+file path=usr/share/automake-1.11/Automake/Channels.pm
+file path=usr/share/automake-1.11/Automake/FileUtils.pm
+file path=usr/share/automake-1.11/Automake/Item.pm
+file path=usr/share/automake-1.11/Automake/Condition.pm
+file path=usr/share/automake-1.11/py-compile
+file path=usr/share/automake-1.11/ansi2knr.c
+file path=usr/share/automake-1.11/config.guess
+file path=usr/share/automake-1.11/COPYING
+file path=usr/share/doc/automake/amhello-1.0.tar.gz
+file path=usr/share/man/man1/automake-1.11.1
+file path=usr/share/man/man1/aclocal-1.11.1
diff --git a/c-ares/Makefile b/c-ares/Makefile
new file mode 100644
index 0000000..66dfa3c
--- /dev/null
+++ b/c-ares/Makefile
@@ -0,0 +1,45 @@
+
+# We are going to package for IPS ;-)
+include /usr/share/cibs/rules/ips.mk
+
+# We are using tarball(s)
+include /usr/share/cibs/rules/archive.mk
+
+# We are using GNU configure
+include /usr/share/cibs/rules/autotools.mk
+
+# We will build 32-bit version
+include /usr/share/cibs/rules/32.mk
+
+# ... and 64-bit
+include /usr/share/cibs/rules/64.mk
+
+
+summary := C library that performs DNS requests and name resolves asynchronously
+license := MIT
+
+# build-depends +=
+# build-conflicts +=
+
+home := http://c-ares.haxx.se
+name := c-ares
+version := 1.9.1
+archive := $(name)-$(version).tar.gz
+download := $(home)/download/$(archive)
+checksum := \
+ sha1:fe41e47f300bfd587b7f552a141ad3bf85437b0f \
+ sha256:023f28001f2f839645c8700187391a011198950c73ddd91510c7549d87373936 \
+ md5:389db4917a3b58c4ce4ebfe961fd84c4 \
+ size:782945
+
+# archives := more.zip tarballs.tar.bz2
+# download_more.zip := ftp://...
+# download_tarballs.tar.bz2 := https://...
+# checksum_more.zip := ...
+# checksum_tarballs.tar.bz2 := ...
+#
+# patch::
+# autoreconf -vi
+
+
+
diff --git a/c-ares/c-ares.license b/c-ares/c-ares.license
new file mode 100644
index 0000000..f0a205f
--- /dev/null
+++ b/c-ares/c-ares.license
@@ -0,0 +1,10 @@
+Copyright 1998 by the Massachusetts Institute of Technology.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted, provided that
+the above copyright notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting documentation, and that
+the name of M.I.T. not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior permission.
+M.I.T. makes no representations about the suitability of this software for any
+purpose. It is provided "as is" without express or implied warranty.
diff --git a/c-ares/c-ares.p5m b/c-ares/c-ares.p5m
new file mode 100644
index 0000000..bc0efb9
--- /dev/null
+++ b/c-ares/c-ares.p5m
@@ -0,0 +1,93 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/library/c-ares@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+license c-ares.license license="$(license)"
+
+
+dir path=usr
+dir path=usr/lib
+dir path=usr/lib/$(MACH64)
+dir path=usr/lib/$(MACH64)/pkgconfig
+dir path=usr/lib/pkgconfig
+dir path=usr/share
+dir path=usr/share/man
+dir path=usr/share/man/man3
+dir path=usr/include
+file path=usr/lib/$(MACH64)/libcares.so.2.0.0
+file path=usr/lib/$(MACH64)/pkgconfig/libcares.pc
+file path=usr/lib/pkgconfig/libcares.pc
+file path=usr/lib/libcares.so.2.0.0
+file path=usr/share/man/man3/ares_parse_soa_reply.3
+file path=usr/share/man/man3/ares_timeout.3
+file path=usr/share/man/man3/ares_parse_ptr_reply.3
+file path=usr/share/man/man3/ares_query.3
+file path=usr/share/man/man3/ares_free_hostent.3
+file path=usr/share/man/man3/ares_free_data.3
+file path=usr/share/man/man3/ares_gethostbyname.3
+file path=usr/share/man/man3/ares_parse_mx_reply.3
+file path=usr/share/man/man3/ares_save_options.3
+file path=usr/share/man/man3/ares_expand_string.3
+file path=usr/share/man/man3/ares_get_servers.3
+file path=usr/share/man/man3/ares_parse_txt_reply.3
+file path=usr/share/man/man3/ares_library_cleanup.3
+file path=usr/share/man/man3/ares_parse_srv_reply.3
+file path=usr/share/man/man3/ares_version.3
+file path=usr/share/man/man3/ares_init_options.3
+file path=usr/share/man/man3/ares_init.3
+file path=usr/share/man/man3/ares_process.3
+file path=usr/share/man/man3/ares_cancel.3
+file path=usr/share/man/man3/ares_fds.3
+file path=usr/share/man/man3/ares_destroy.3
+file path=usr/share/man/man3/ares_parse_ns_reply.3
+file path=usr/share/man/man3/ares_parse_aaaa_reply.3
+file path=usr/share/man/man3/ares_parse_naptr_reply.3
+file path=usr/share/man/man3/ares_gethostbyaddr.3
+file path=usr/share/man/man3/ares_strerror.3
+file path=usr/share/man/man3/ares_gethostbyname_file.3
+file path=usr/share/man/man3/ares_free_string.3
+file path=usr/share/man/man3/ares_search.3
+file path=usr/share/man/man3/ares_parse_a_reply.3
+file path=usr/share/man/man3/ares_library_init.3
+file path=usr/share/man/man3/ares_set_socket_callback.3
+file path=usr/share/man/man3/ares_mkquery.3
+file path=usr/share/man/man3/ares_set_servers.3
+file path=usr/share/man/man3/ares_getnameinfo.3
+file path=usr/share/man/man3/ares_expand_name.3
+file path=usr/share/man/man3/ares_dup.3
+file path=usr/share/man/man3/ares_destroy_options.3
+file path=usr/share/man/man3/ares_getsock.3
+file path=usr/share/man/man3/ares_send.3
+file path=usr/include/ares_build.h
+file path=usr/include/ares_rules.h
+file path=usr/include/ares_dns.h
+file path=usr/include/ares_version.h
+file path=usr/include/ares.h
+link path=usr/lib/libcares.so target=libcares.so.2.0.0
+link path=usr/lib/$(MACH64)/libcares.so target=libcares.so.2.0.0
+link path=usr/lib/$(MACH64)/libcares.so.2 target=libcares.so.2.0.0
+link path=usr/lib/libcares.so.2 target=libcares.so.2.0.0
diff --git a/findutils/Makefile b/findutils/Makefile
new file mode 100644
index 0000000..a9ec520
--- /dev/null
+++ b/findutils/Makefile
@@ -0,0 +1,26 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/32.mk
+
+
+summary := GNU utilities for finding files
+license := GPLv3
+license-file := COPYING
+
+configure-options += --localstatedir=/var/cache/glocate
+
+build-depends += \
+
+prefix := /usr/gnu
+
+name := findutils
+home := http://www.gnu.org/software/$(name)/
+version := 4.4.2
+archive := $(name)-$(version).tar.gz
+download := http://ftp.gnu.org/gnu/$(name)/$(archive)
+checksum := \
+ md5:351cc4adb07d54877fa15f75fb77d39f \
+ sha1:e8dd88fa2cc58abffd0bfc1eddab9020231bb024 \
+ sha256:434f32d171cbc0a5e72cfc5372c6fc4cb0e681f8dce566a0de5b6fccd702b62a \
+ size:2149838
diff --git a/findutils/gnu-findutils.p5m b/findutils/gnu-findutils.p5m
new file mode 100644
index 0000000..e4e6c32
--- /dev/null
+++ b/findutils/gnu-findutils.p5m
@@ -0,0 +1,145 @@
+set name=pkg.fmri value=pkg:/file/gnu-$(name)@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+license $(license-file) license="$(license)"
+
+<transform file path=usr/gnu/bin/(.+) -> \
+emit link path=usr/bin/g%<1> target=../gnu/bin/%<1> >
+
+<transform file path=usr/gnu/share/man/man1/(.+) -> \
+emit link path=usr/share/man/man1/g%<1> target=../../../gnu/share/man/man1/%<1> >
+
+
+dir path=usr
+dir path=usr/gnu
+dir path=usr/gnu/bin
+dir path=usr/gnu/share
+dir path=usr/gnu/share/locale
+dir path=usr/gnu/share/locale/be
+dir path=usr/gnu/share/locale/be/LC_MESSAGES
+dir path=usr/gnu/share/locale/bg
+dir path=usr/gnu/share/locale/bg/LC_MESSAGES
+dir path=usr/gnu/share/locale/ca
+dir path=usr/gnu/share/locale/ca/LC_MESSAGES
+dir path=usr/gnu/share/locale/cs
+dir path=usr/gnu/share/locale/cs/LC_MESSAGES
+dir path=usr/gnu/share/locale/da
+dir path=usr/gnu/share/locale/da/LC_MESSAGES
+dir path=usr/gnu/share/locale/de
+dir path=usr/gnu/share/locale/de/LC_MESSAGES
+dir path=usr/gnu/share/locale/el
+dir path=usr/gnu/share/locale/el/LC_MESSAGES
+dir path=usr/gnu/share/locale/eo
+dir path=usr/gnu/share/locale/eo/LC_MESSAGES
+dir path=usr/gnu/share/locale/es
+dir path=usr/gnu/share/locale/es/LC_MESSAGES
+dir path=usr/gnu/share/locale/et
+dir path=usr/gnu/share/locale/et/LC_MESSAGES
+dir path=usr/gnu/share/locale/fi
+dir path=usr/gnu/share/locale/fi/LC_MESSAGES
+dir path=usr/gnu/share/locale/fr
+dir path=usr/gnu/share/locale/fr/LC_MESSAGES
+dir path=usr/gnu/share/locale/ga
+dir path=usr/gnu/share/locale/ga/LC_MESSAGES
+dir path=usr/gnu/share/locale/gl
+dir path=usr/gnu/share/locale/gl/LC_MESSAGES
+dir path=usr/gnu/share/locale/hr
+dir path=usr/gnu/share/locale/hr/LC_MESSAGES
+dir path=usr/gnu/share/locale/hu
+dir path=usr/gnu/share/locale/hu/LC_MESSAGES
+dir path=usr/gnu/share/locale/id
+dir path=usr/gnu/share/locale/id/LC_MESSAGES
+dir path=usr/gnu/share/locale/it
+dir path=usr/gnu/share/locale/it/LC_MESSAGES
+dir path=usr/gnu/share/locale/ja
+dir path=usr/gnu/share/locale/ja/LC_MESSAGES
+dir path=usr/gnu/share/locale/ko
+dir path=usr/gnu/share/locale/ko/LC_MESSAGES
+dir path=usr/gnu/share/locale/lg
+dir path=usr/gnu/share/locale/lg/LC_MESSAGES
+dir path=usr/gnu/share/locale/lt
+dir path=usr/gnu/share/locale/lt/LC_MESSAGES
+dir path=usr/gnu/share/locale/ms
+dir path=usr/gnu/share/locale/ms/LC_MESSAGES
+dir path=usr/gnu/share/locale/nl
+dir path=usr/gnu/share/locale/nl/LC_MESSAGES
+dir path=usr/gnu/share/locale/pl
+dir path=usr/gnu/share/locale/pl/LC_MESSAGES
+dir path=usr/gnu/share/locale/pt
+dir path=usr/gnu/share/locale/pt_BR
+dir path=usr/gnu/share/locale/pt_BR/LC_MESSAGES
+dir path=usr/gnu/share/locale/pt/LC_MESSAGES
+dir path=usr/gnu/share/locale/ro
+dir path=usr/gnu/share/locale/ro/LC_MESSAGES
+dir path=usr/gnu/share/locale/ru
+dir path=usr/gnu/share/locale/ru/LC_MESSAGES
+dir path=usr/gnu/share/locale/rw
+dir path=usr/gnu/share/locale/rw/LC_MESSAGES
+dir path=usr/gnu/share/locale/sk
+dir path=usr/gnu/share/locale/sk/LC_MESSAGES
+dir path=usr/gnu/share/locale/sl
+dir path=usr/gnu/share/locale/sl/LC_MESSAGES
+dir path=usr/gnu/share/locale/sr
+dir path=usr/gnu/share/locale/sr/LC_MESSAGES
+dir path=usr/gnu/share/locale/sv
+dir path=usr/gnu/share/locale/sv/LC_MESSAGES
+dir path=usr/gnu/share/locale/tr
+dir path=usr/gnu/share/locale/tr/LC_MESSAGES
+dir path=usr/gnu/share/locale/uk
+dir path=usr/gnu/share/locale/uk/LC_MESSAGES
+dir path=usr/gnu/share/locale/vi
+dir path=usr/gnu/share/locale/vi/LC_MESSAGES
+dir path=usr/gnu/share/locale/zh_CN
+dir path=usr/gnu/share/locale/zh_CN/LC_MESSAGES
+dir path=usr/gnu/share/locale/zh_TW
+dir path=usr/gnu/share/locale/zh_TW/LC_MESSAGES
+dir path=usr/gnu/share/man
+dir path=usr/gnu/share/man/man1
+dir path=usr/share
+dir path=usr/share/info
+file path=usr/gnu/bin/find
+file path=usr/gnu/bin/xargs
+file path=usr/gnu/share/locale/be/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/bg/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/ca/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/cs/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/da/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/de/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/el/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/eo/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/es/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/et/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/fi/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/fr/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/ga/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/gl/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/hr/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/hu/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/id/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/it/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/ja/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/ko/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/lg/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/lt/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/ms/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/nl/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/pl/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/pt_BR/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/pt/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/ro/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/ru/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/rw/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/sk/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/sl/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/sr/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/sv/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/tr/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/uk/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/vi/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/zh_CN/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/locale/zh_TW/LC_MESSAGES/findutils.mo
+file path=usr/gnu/share/man/man1/find.1
+file path=usr/gnu/share/man/man1/xargs.1
+file path=usr/share/info/find-maint.info
+file path=usr/share/info/find.info
diff --git a/findutils/locate.p5m b/findutils/locate.p5m
new file mode 100644
index 0000000..e798007
--- /dev/null
+++ b/findutils/locate.p5m
@@ -0,0 +1,29 @@
+set name=pkg.fmri value=pkg:/file/gnu-$(name)/locate@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+license $(license-file) license="$(license)"
+
+depend fmri=pkg:/file/gnu-$(name)@4.4 type=require
+
+# TODO: mediators for /usr/bin/{locate,updatedb}
+
+dir path=usr
+dir path=usr/gnu
+dir path=usr/gnu/bin
+dir path=usr/gnu/libexec
+dir path=usr/gnu/share
+dir path=usr/gnu/share/man
+dir path=usr/gnu/share/man/man1
+dir path=usr/gnu/share/man/man5
+dir path=var
+dir path=var/cache/
+dir path=var/cache/glocate
+file path=usr/gnu/bin/locate
+file path=usr/gnu/bin/updatedb
+file path=usr/gnu/libexec/bigram
+file path=usr/gnu/libexec/code
+file path=usr/gnu/libexec/frcode
+file path=usr/gnu/share/man/man1/locate.1
+file path=usr/gnu/share/man/man1/updatedb.1
+file path=usr/gnu/share/man/man5/locatedb.5
diff --git a/gawk/Makefile b/gawk/Makefile
new file mode 100644
index 0000000..6c0f66e
--- /dev/null
+++ b/gawk/Makefile
@@ -0,0 +1,25 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/32.mk
+
+summary := GNU implementation of the traditional Unix macro processor
+license := GPL
+license-file := COPYING
+
+build-depends += \
+ pkg:/library/libsigsegv \
+ pkg:/library/readline \
+ pkg:/compress/xz
+
+
+name := gawk
+home := http://www.gnu.org/software/$(name)/
+version := 4.0.1
+archive := $(name)-$(version).tar.xz
+download := http://ftp.gnu.org/gnu/$(name)/$(archive)
+checksum := \
+ md5:a601b032c39cd982f34272664f8afa49 \
+ sha1:9be956d124e0c0794836055846aea78d2dc547ad \
+ sha256:ae0cb9a0ac80686df316fcd126d0da7d1fb6a0acfe043320511c1f212f2ecb47 \
+ size:1612448
diff --git a/gawk/gawk.p5m b/gawk/gawk.p5m
new file mode 100644
index 0000000..a9939c2
--- /dev/null
+++ b/gawk/gawk.p5m
@@ -0,0 +1,80 @@
+set name=pkg.fmri value=pkg:/text/$(name)@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+
+license $(license-file) license=$(license)
+
+dir path=usr
+dir path=usr/bin
+dir path=usr/libexec
+dir path=usr/libexec/awk
+dir path=usr/share
+dir path=usr/share/awk
+dir path=usr/share/info
+dir path=usr/share/locale
+dir path=usr/share/locale/da
+dir path=usr/share/locale/da/LC_MESSAGES
+dir path=usr/share/locale/de
+dir path=usr/share/locale/de/LC_MESSAGES
+dir path=usr/share/locale/es
+dir path=usr/share/locale/es/LC_MESSAGES
+dir path=usr/share/locale/fi
+dir path=usr/share/locale/fi/LC_MESSAGES
+dir path=usr/share/locale/fr
+dir path=usr/share/locale/fr/LC_MESSAGES
+dir path=usr/share/locale/it
+dir path=usr/share/locale/it/LC_MESSAGES
+dir path=usr/share/locale/ja
+dir path=usr/share/locale/ja/LC_MESSAGES
+dir path=usr/share/locale/nl
+dir path=usr/share/locale/nl/LC_MESSAGES
+dir path=usr/share/locale/pl
+dir path=usr/share/locale/pl/LC_MESSAGES
+dir path=usr/share/locale/sv
+dir path=usr/share/locale/sv/LC_MESSAGES
+dir path=usr/share/man
+dir path=usr/share/man/man1
+file path=usr/bin/dgawk
+file path=usr/bin/gawk-$(version)
+file path=usr/bin/igawk
+file path=usr/bin/pgawk-$(version)
+file path=usr/libexec/awk/grcat
+file path=usr/libexec/awk/pwcat
+file path=usr/share/awk/assert.awk
+file path=usr/share/awk/bits2str.awk
+file path=usr/share/awk/cliff_rand.awk
+file path=usr/share/awk/ctime.awk
+file path=usr/share/awk/ftrans.awk
+file path=usr/share/awk/getopt.awk
+file path=usr/share/awk/gettime.awk
+file path=usr/share/awk/group.awk
+file path=usr/share/awk/join.awk
+file path=usr/share/awk/libintl.awk
+file path=usr/share/awk/noassign.awk
+file path=usr/share/awk/ord.awk
+file path=usr/share/awk/passwd.awk
+file path=usr/share/awk/quicksort.awk
+file path=usr/share/awk/readable.awk
+file path=usr/share/awk/rewind.awk
+file path=usr/share/awk/round.awk
+file path=usr/share/awk/strtonum.awk
+file path=usr/share/awk/walkarray.awk
+file path=usr/share/awk/zerofile.awk
+file path=usr/share/info/gawk.info
+file path=usr/share/info/gawkinet.info
+file path=usr/share/locale/da/LC_MESSAGES/gawk.mo
+file path=usr/share/locale/de/LC_MESSAGES/gawk.mo
+file path=usr/share/locale/es/LC_MESSAGES/gawk.mo
+file path=usr/share/locale/fi/LC_MESSAGES/gawk.mo
+file path=usr/share/locale/fr/LC_MESSAGES/gawk.mo
+file path=usr/share/locale/it/LC_MESSAGES/gawk.mo
+file path=usr/share/locale/ja/LC_MESSAGES/gawk.mo
+file path=usr/share/locale/nl/LC_MESSAGES/gawk.mo
+file path=usr/share/locale/pl/LC_MESSAGES/gawk.mo
+file path=usr/share/locale/sv/LC_MESSAGES/gawk.mo
+file path=usr/share/man/man1/gawk.1
+file path=usr/share/man/man1/igawk.1
+file path=usr/share/man/man1/pgawk.1
+link path=usr/bin/gawk target=gawk-$(version)
+link path=usr/bin/pgawk target=pgawk-$(version)
diff --git a/gcc-4.4/Makefile b/gcc-4.4/Makefile
new file mode 100644
index 0000000..44fa77f
--- /dev/null
+++ b/gcc-4.4/Makefile
@@ -0,0 +1,48 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/patch.mk
+include /usr/share/cibs/rules/32.mk
+
+# Clean all flags cause we are building very specific stuff
+CFLAGS := -O2
+CXXFLAGS := $(CFLAGS)
+LDFLAGS :=
+
+
+build-depends += \
+ library/gmp \
+ library/mpfr \
+ developer/gnu-binutils \
+ developer/macro/gnu-m4 \
+ text/gawk \
+ developer/parser/bison \
+ developer/gperf \
+ developer/build/autogen \
+
+
+
+configure-options += \
+--enable-languages='c,c++,fortran' \
+--enable-shared \
+--enable-ssp \
+--enable-static \
+--enable-threads=posix \
+--enable-tls \
+--program-suffix=-4.4 \
+--with-as=/usr/gnu/bin/as \
+--with-gnu-as \
+--with-ld=/usr/bin/ld \
+--without-gnu-ld \
+
+
+home := http://gcc.gnu.org
+name := gcc
+version := 4.4.7
+archive := $(name)-$(version).tar.bz2
+download := http://gcc.parentingamerica.com/releases/$(name)-$(version)/$(archive)
+checksum := \
+ md5:295709feb4441b04e87dea3f1bab4281 \
+ sha1:a6c834b0c2f58583da1d093de7a81a20ede9af75 \
+ sha256:5ff75116b8f763fa0fb5621af80fc6fb3ea0f1b1a57520874982f03f26cd607f \
+ size:63179340
diff --git a/gcc-4.4/cpp.p5m b/gcc-4.4/cpp.p5m
new file mode 100644
index 0000000..dbd6c32
--- /dev/null
+++ b/gcc-4.4/cpp.p5m
@@ -0,0 +1,40 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/developer/gcc/cpp-4.4@$(ips-version)
+set name=pkg.summary value="GNU C preprocessor"
+set name=info.source-url value=$(download)
+set name=info.upstream-url value=$(home)
+
+license COPYING3 license=GPLv3
+
+dir path=usr
+dir path=usr/bin
+dir path=usr/share/
+dir path=usr/share/man
+dir path=usr/share/man/man1
+file path=usr/bin/cpp-4.4
+file path=usr/libexec/gcc/i386-pc-solaris2.11/4.4.7/cc1 mode=0555
+file path=usr/share/man/man1/cpp-4.4.1
+
diff --git a/gcc-4.4/g++.p5m b/gcc-4.4/g++.p5m
new file mode 100644
index 0000000..b879eb5
--- /dev/null
+++ b/gcc-4.4/g++.p5m
@@ -0,0 +1,754 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/developer/gcc/g++-4.4@$(ips-version)
+set name=pkg.summary value="GNU C++ compiler"
+set name=info.source-url value=$(download)
+set name=info.upstream-url value=$(home)
+
+license COPYING3 license=GPLv3
+
+depend fmri=pkg:/developer/gcc/gcc-4.4@$(ips-version) type=require
+depend fmri=pkg:/library/gcc/libstdc++@$(ips-version) type=require
+
+
+dir path=usr
+dir path=usr/bin
+dir path=usr/lib
+dir path=usr/lib/gcc
+dir path=usr/lib/gcc/i386-pc-solaris2.11
+dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7
+dir path=usr/share/
+dir path=usr/share/man
+dir path=usr/share/man/man1
+file path=usr/bin/i386-pc-solaris2.11-g++-4.4
+file path=usr/libexec/gcc/i386-pc-solaris2.11/4.4.7/cc1plus mode=055
+file path=usr/share/man/man1/g++-4.4.1
+link path=usr/bin/g++-4.4 target=i386-pc-solaris2.11-g++-4.4
+
+# libstdc++.so.6 is in a separate package:
+link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libstdc++.so \
+ target=/usr/lib/libstdc++.so.6
+link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libstdc++.so \
+ target=/usr/lib/amd64/libstdc++.so.6
+
+dir path=usr/include/c++/4.4.7
+dir path=usr/include/c++/4.4.7/tr1
+dir path=usr/include/c++/4.4.7/tr1_impl
+dir path=usr/include/c++/4.4.7/ext
+dir path=usr/include/c++/4.4.7/ext/pb_ds
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/eq_fn
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/basic_tree_policy
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator
+dir path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_
+dir path=usr/include/c++/4.4.7/parallel
+dir path=usr/include/c++/4.4.7/debug
+dir path=usr/include/c++/4.4.7/backward
+dir path=usr/include/c++/4.4.7/bits
+dir path=usr/include/c++/4.4.7/i386-pc-solaris2.11
+dir path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64
+dir path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits
+dir path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits
+file path=usr/include/c++/4.4.7/cstddef
+file path=usr/include/c++/4.4.7/tr1/utility
+file path=usr/include/c++/4.4.7/tr1/cmath
+file path=usr/include/c++/4.4.7/tr1/hashtable.h
+file path=usr/include/c++/4.4.7/tr1/wchar.h
+file path=usr/include/c++/4.4.7/tr1/stdarg.h
+file path=usr/include/c++/4.4.7/tr1/modified_bessel_func.tcc
+file path=usr/include/c++/4.4.7/tr1/ctype.h
+file path=usr/include/c++/4.4.7/tr1/climits
+file path=usr/include/c++/4.4.7/tr1/poly_hermite.tcc
+file path=usr/include/c++/4.4.7/tr1/exp_integral.tcc
+file path=usr/include/c++/4.4.7/tr1/stdint.h
+file path=usr/include/c++/4.4.7/tr1/unordered_map
+file path=usr/include/c++/4.4.7/tr1/cstdbool
+file path=usr/include/c++/4.4.7/tr1/cstdarg
+file path=usr/include/c++/4.4.7/tr1/shared_ptr.h
+file path=usr/include/c++/4.4.7/tr1/bessel_function.tcc
+file path=usr/include/c++/4.4.7/tr1/complex.h
+file path=usr/include/c++/4.4.7/tr1/stdio.h
+file path=usr/include/c++/4.4.7/tr1/hypergeometric.tcc
+file path=usr/include/c++/4.4.7/tr1/cwctype
+file path=usr/include/c++/4.4.7/tr1/memory
+file path=usr/include/c++/4.4.7/tr1/limits.h
+file path=usr/include/c++/4.4.7/tr1/beta_function.tcc
+file path=usr/include/c++/4.4.7/tr1/functional_hash.h
+file path=usr/include/c++/4.4.7/tr1/cctype
+file path=usr/include/c++/4.4.7/tr1/math.h
+file path=usr/include/c++/4.4.7/tr1/stdlib.h
+file path=usr/include/c++/4.4.7/tr1/cfloat
+file path=usr/include/c++/4.4.7/tr1/ctime
+file path=usr/include/c++/4.4.7/tr1/ccomplex
+file path=usr/include/c++/4.4.7/tr1/regex
+file path=usr/include/c++/4.4.7/tr1/array
+file path=usr/include/c++/4.4.7/tr1/cfenv
+file path=usr/include/c++/4.4.7/tr1/inttypes.h
+file path=usr/include/c++/4.4.7/tr1/functional
+file path=usr/include/c++/4.4.7/tr1/fenv.h
+file path=usr/include/c++/4.4.7/tr1/float.h
+file path=usr/include/c++/4.4.7/tr1/stdbool.h
+file path=usr/include/c++/4.4.7/tr1/tgmath.h
+file path=usr/include/c++/4.4.7/tr1/complex
+file path=usr/include/c++/4.4.7/tr1/unordered_set
+file path=usr/include/c++/4.4.7/tr1/cstdio
+file path=usr/include/c++/4.4.7/tr1/type_traits
+file path=usr/include/c++/4.4.7/tr1/poly_laguerre.tcc
+file path=usr/include/c++/4.4.7/tr1/gamma.tcc
+file path=usr/include/c++/4.4.7/tr1/ctgmath
+file path=usr/include/c++/4.4.7/tr1/cstdlib
+file path=usr/include/c++/4.4.7/tr1/random
+file path=usr/include/c++/4.4.7/tr1/riemann_zeta.tcc
+file path=usr/include/c++/4.4.7/tr1/cinttypes
+file path=usr/include/c++/4.4.7/tr1/special_function_util.h
+file path=usr/include/c++/4.4.7/tr1/ell_integral.tcc
+file path=usr/include/c++/4.4.7/tr1/tuple
+file path=usr/include/c++/4.4.7/tr1/cstdint
+file path=usr/include/c++/4.4.7/tr1/legendre_function.tcc
+file path=usr/include/c++/4.4.7/tr1/cwchar
+file path=usr/include/c++/4.4.7/tr1/wctype.h
+file path=usr/include/c++/4.4.7/numeric
+file path=usr/include/c++/4.4.7/cstdio
+file path=usr/include/c++/4.4.7/tr1_impl/regex
+file path=usr/include/c++/4.4.7/tr1_impl/cfenv
+file path=usr/include/c++/4.4.7/tr1_impl/cwctype
+file path=usr/include/c++/4.4.7/tr1_impl/array
+file path=usr/include/c++/4.4.7/tr1_impl/hashtable_policy.h
+file path=usr/include/c++/4.4.7/tr1_impl/unordered_map
+file path=usr/include/c++/4.4.7/tr1_impl/type_traits
+file path=usr/include/c++/4.4.7/tr1_impl/functional
+file path=usr/include/c++/4.4.7/tr1_impl/cctype
+file path=usr/include/c++/4.4.7/tr1_impl/utility
+file path=usr/include/c++/4.4.7/tr1_impl/hashtable
+file path=usr/include/c++/4.4.7/tr1_impl/functional_hash.h
+file path=usr/include/c++/4.4.7/tr1_impl/cmath
+file path=usr/include/c++/4.4.7/tr1_impl/cstdint
+file path=usr/include/c++/4.4.7/tr1_impl/boost_sp_counted_base.h
+file path=usr/include/c++/4.4.7/tr1_impl/cstdlib
+file path=usr/include/c++/4.4.7/tr1_impl/unordered_set
+file path=usr/include/c++/4.4.7/tr1_impl/random.tcc
+file path=usr/include/c++/4.4.7/tr1_impl/cstdio
+file path=usr/include/c++/4.4.7/tr1_impl/complex
+file path=usr/include/c++/4.4.7/tr1_impl/cinttypes
+file path=usr/include/c++/4.4.7/tr1_impl/random
+file path=usr/include/c++/4.4.7/tr1_impl/cwchar
+file path=usr/include/c++/4.4.7/ext/hash_set
+file path=usr/include/c++/4.4.7/ext/rope
+file path=usr/include/c++/4.4.7/ext/array_allocator.h
+file path=usr/include/c++/4.4.7/ext/string_conversions.h
+file path=usr/include/c++/4.4.7/ext/malloc_allocator.h
+file path=usr/include/c++/4.4.7/ext/new_allocator.h
+file path=usr/include/c++/4.4.7/ext/algorithm
+file path=usr/include/c++/4.4.7/ext/mt_allocator.h
+file path=usr/include/c++/4.4.7/ext/slist
+file path=usr/include/c++/4.4.7/ext/iterator
+file path=usr/include/c++/4.4.7/ext/stdio_filebuf.h
+file path=usr/include/c++/4.4.7/ext/vstring.h
+file path=usr/include/c++/4.4.7/ext/type_traits.h
+file path=usr/include/c++/4.4.7/ext/typelist.h
+file path=usr/include/c++/4.4.7/ext/cast.h
+file path=usr/include/c++/4.4.7/ext/enc_filebuf.h
+file path=usr/include/c++/4.4.7/ext/extptr_allocator.h
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/traits.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/basic_types.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/const_point_iterator.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/const_iterator.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/entry_pred.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/resize_policy.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/container_base_dispatch.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/eq_fn/eq_by_less.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/node_iterators.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/node_base.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/point_iterators.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/child_iterator.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/leaf.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/head.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/internal_node.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/traits.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy/counter_lu_policy_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy/mtf_lu_policy_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy/counter_lu_metadata.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/lu_map_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/standard_policies.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/traits.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/splay_tree_/node.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/priority_queue_base_dispatch.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/node.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rb_tree_map_/traits.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/tree_trace_base.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/debug_map_base.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/basic_tree_policy/traits.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/types_traits.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/traits.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/sample_trie_e_access_traits.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/string_trie_e_access_traits_imp.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/cond_dealtor.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator/const_point_iterator.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator/iterator.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/type_utils.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/trie_policy.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/assoc_container.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/tag_and_trait.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/hash_policy.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/priority_queue.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/tree_policy.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/list_update_policy.hpp
+file path=usr/include/c++/4.4.7/ext/pb_ds/exception.hpp
+file path=usr/include/c++/4.4.7/ext/bitmap_allocator.h
+file path=usr/include/c++/4.4.7/ext/concurrence.h
+file path=usr/include/c++/4.4.7/ext/hash_map
+file path=usr/include/c++/4.4.7/ext/vstring_fwd.h
+file path=usr/include/c++/4.4.7/ext/stdio_sync_filebuf.h
+file path=usr/include/c++/4.4.7/ext/rb_tree
+file path=usr/include/c++/4.4.7/ext/vstring.tcc
+file path=usr/include/c++/4.4.7/ext/vstring_util.h
+file path=usr/include/c++/4.4.7/ext/atomicity.h
+file path=usr/include/c++/4.4.7/ext/pointer.h
+file path=usr/include/c++/4.4.7/ext/numeric_traits.h
+file path=usr/include/c++/4.4.7/ext/memory
+file path=usr/include/c++/4.4.7/ext/codecvt_specializations.h
+file path=usr/include/c++/4.4.7/ext/functional
+file path=usr/include/c++/4.4.7/ext/rc_string_base.h
+file path=usr/include/c++/4.4.7/ext/throw_allocator.h
+file path=usr/include/c++/4.4.7/ext/debug_allocator.h
+file path=usr/include/c++/4.4.7/ext/ropeimpl.h
+file path=usr/include/c++/4.4.7/ext/sso_string_base.h
+file path=usr/include/c++/4.4.7/ext/numeric
+file path=usr/include/c++/4.4.7/ext/pod_char_traits.h
+file path=usr/include/c++/4.4.7/ext/pool_allocator.h
+file path=usr/include/c++/4.4.7/climits
+file path=usr/include/c++/4.4.7/exception_defines.h
+file path=usr/include/c++/4.4.7/stdatomic.h
+file path=usr/include/c++/4.4.7/list
+file path=usr/include/c++/4.4.7/algorithm
+file path=usr/include/c++/4.4.7/thread
+file path=usr/include/c++/4.4.7/deque
+file path=usr/include/c++/4.4.7/c++0x_warning.h
+file path=usr/include/c++/4.4.7/utility
+file path=usr/include/c++/4.4.7/cassert
+file path=usr/include/c++/4.4.7/parallel/compiletime_settings.h
+file path=usr/include/c++/4.4.7/parallel/search.h
+file path=usr/include/c++/4.4.7/parallel/numericfwd.h
+file path=usr/include/c++/4.4.7/parallel/queue.h
+file path=usr/include/c++/4.4.7/parallel/iterator.h
+file path=usr/include/c++/4.4.7/parallel/workstealing.h
+file path=usr/include/c++/4.4.7/parallel/merge.h
+file path=usr/include/c++/4.4.7/parallel/features.h
+file path=usr/include/c++/4.4.7/parallel/list_partition.h
+file path=usr/include/c++/4.4.7/parallel/partition.h
+file path=usr/include/c++/4.4.7/parallel/multiseq_selection.h
+file path=usr/include/c++/4.4.7/parallel/algo.h
+file path=usr/include/c++/4.4.7/parallel/balanced_quicksort.h
+file path=usr/include/c++/4.4.7/parallel/losertree.h
+file path=usr/include/c++/4.4.7/parallel/omp_loop.h
+file path=usr/include/c++/4.4.7/parallel/for_each_selectors.h
+file path=usr/include/c++/4.4.7/parallel/random_shuffle.h
+file path=usr/include/c++/4.4.7/parallel/par_loop.h
+file path=usr/include/c++/4.4.7/parallel/equally_split.h
+file path=usr/include/c++/4.4.7/parallel/base.h
+file path=usr/include/c++/4.4.7/parallel/compatibility.h
+file path=usr/include/c++/4.4.7/parallel/multiway_mergesort.h
+file path=usr/include/c++/4.4.7/parallel/unique_copy.h
+file path=usr/include/c++/4.4.7/parallel/algorithm
+file path=usr/include/c++/4.4.7/parallel/sort.h
+file path=usr/include/c++/4.4.7/parallel/quicksort.h
+file path=usr/include/c++/4.4.7/parallel/algorithmfwd.h
+file path=usr/include/c++/4.4.7/parallel/random_number.h
+file path=usr/include/c++/4.4.7/parallel/types.h
+file path=usr/include/c++/4.4.7/parallel/find_selectors.h
+file path=usr/include/c++/4.4.7/parallel/omp_loop_static.h
+file path=usr/include/c++/4.4.7/parallel/tags.h
+file path=usr/include/c++/4.4.7/parallel/partial_sum.h
+file path=usr/include/c++/4.4.7/parallel/algobase.h
+file path=usr/include/c++/4.4.7/parallel/set_operations.h
+file path=usr/include/c++/4.4.7/parallel/settings.h
+file path=usr/include/c++/4.4.7/parallel/for_each.h
+file path=usr/include/c++/4.4.7/parallel/numeric
+file path=usr/include/c++/4.4.7/parallel/multiway_merge.h
+file path=usr/include/c++/4.4.7/parallel/checkers.h
+file path=usr/include/c++/4.4.7/parallel/parallel.h
+file path=usr/include/c++/4.4.7/parallel/basic_iterator.h
+file path=usr/include/c++/4.4.7/parallel/find.h
+file path=usr/include/c++/4.4.7/random
+file path=usr/include/c++/4.4.7/cwchar
+file path=usr/include/c++/4.4.7/cxxabi-forced.h
+file path=usr/include/c++/4.4.7/vector
+file path=usr/include/c++/4.4.7/iostream
+file path=usr/include/c++/4.4.7/stack
+file path=usr/include/c++/4.4.7/iosfwd
+file path=usr/include/c++/4.4.7/debug/map
+file path=usr/include/c++/4.4.7/debug/multimap.h
+file path=usr/include/c++/4.4.7/debug/multiset.h
+file path=usr/include/c++/4.4.7/debug/list
+file path=usr/include/c++/4.4.7/debug/unordered_set
+file path=usr/include/c++/4.4.7/debug/functions.h
+file path=usr/include/c++/4.4.7/debug/macros.h
+file path=usr/include/c++/4.4.7/debug/set
+file path=usr/include/c++/4.4.7/debug/string
+file path=usr/include/c++/4.4.7/debug/set.h
+file path=usr/include/c++/4.4.7/debug/safe_iterator.tcc
+file path=usr/include/c++/4.4.7/debug/safe_sequence.h
+file path=usr/include/c++/4.4.7/debug/bitset
+file path=usr/include/c++/4.4.7/debug/formatter.h
+file path=usr/include/c++/4.4.7/debug/map.h
+file path=usr/include/c++/4.4.7/debug/safe_iterator.h
+file path=usr/include/c++/4.4.7/debug/vector
+file path=usr/include/c++/4.4.7/debug/deque
+file path=usr/include/c++/4.4.7/debug/unordered_map
+file path=usr/include/c++/4.4.7/debug/debug.h
+file path=usr/include/c++/4.4.7/debug/safe_base.h
+file path=usr/include/c++/4.4.7/clocale
+file path=usr/include/c++/4.4.7/valarray
+file path=usr/include/c++/4.4.7/ostream
+file path=usr/include/c++/4.4.7/cfloat
+file path=usr/include/c++/4.4.7/chrono
+file path=usr/include/c++/4.4.7/iomanip
+file path=usr/include/c++/4.4.7/queue
+file path=usr/include/c++/4.4.7/unordered_map
+file path=usr/include/c++/4.4.7/ccomplex
+file path=usr/include/c++/4.4.7/bitset
+file path=usr/include/c++/4.4.7/condition_variable
+file path=usr/include/c++/4.4.7/tgmath.h
+file path=usr/include/c++/4.4.7/cinttypes
+file path=usr/include/c++/4.4.7/cstdarg
+file path=usr/include/c++/4.4.7/type_traits
+file path=usr/include/c++/4.4.7/string
+file path=usr/include/c++/4.4.7/streambuf
+file path=usr/include/c++/4.4.7/cmath
+file path=usr/include/c++/4.4.7/forward_list
+file path=usr/include/c++/4.4.7/map
+file path=usr/include/c++/4.4.7/fenv.h
+file path=usr/include/c++/4.4.7/cwctype
+file path=usr/include/c++/4.4.7/stdexcept
+file path=usr/include/c++/4.4.7/istream
+file path=usr/include/c++/4.4.7/functional
+file path=usr/include/c++/4.4.7/ratio
+file path=usr/include/c++/4.4.7/limits
+file path=usr/include/c++/4.4.7/cxxabi.h
+file path=usr/include/c++/4.4.7/tuple
+file path=usr/include/c++/4.4.7/cstdbool
+file path=usr/include/c++/4.4.7/complex
+file path=usr/include/c++/4.4.7/exception_ptr.h
+file path=usr/include/c++/4.4.7/memory
+file path=usr/include/c++/4.4.7/csetjmp
+file path=usr/include/c++/4.4.7/csignal
+file path=usr/include/c++/4.4.7/backward/binders.h
+file path=usr/include/c++/4.4.7/backward/hash_fun.h
+file path=usr/include/c++/4.4.7/backward/strstream
+file path=usr/include/c++/4.4.7/backward/hash_set
+file path=usr/include/c++/4.4.7/backward/hashtable.h
+file path=usr/include/c++/4.4.7/backward/backward_warning.h
+file path=usr/include/c++/4.4.7/backward/auto_ptr.h
+file path=usr/include/c++/4.4.7/backward/hash_map
+file path=usr/include/c++/4.4.7/ios
+file path=usr/include/c++/4.4.7/cctype
+file path=usr/include/c++/4.4.7/bits/stl_iterator.h
+file path=usr/include/c++/4.4.7/bits/atomic_2.h
+file path=usr/include/c++/4.4.7/bits/cpp_type_traits.h
+file path=usr/include/c++/4.4.7/bits/postypes.h
+file path=usr/include/c++/4.4.7/bits/streambuf.tcc
+file path=usr/include/c++/4.4.7/bits/istream.tcc
+file path=usr/include/c++/4.4.7/bits/stl_list.h
+file path=usr/include/c++/4.4.7/bits/valarray_after.h
+file path=usr/include/c++/4.4.7/bits/locale_facets_nonio.tcc
+file path=usr/include/c++/4.4.7/bits/indirect_array.h
+file path=usr/include/c++/4.4.7/bits/algorithmfwd.h
+file path=usr/include/c++/4.4.7/bits/stl_raw_storage_iter.h
+file path=usr/include/c++/4.4.7/bits/ostream.tcc
+file path=usr/include/c++/4.4.7/bits/stl_heap.h
+file path=usr/include/c++/4.4.7/bits/stl_iterator_base_funcs.h
+file path=usr/include/c++/4.4.7/bits/basic_ios.h
+file path=usr/include/c++/4.4.7/bits/basic_string.tcc
+file path=usr/include/c++/4.4.7/bits/stl_iterator_base_types.h
+file path=usr/include/c++/4.4.7/bits/stl_pair.h
+file path=usr/include/c++/4.4.7/bits/slice_array.h
+file path=usr/include/c++/4.4.7/bits/stl_algo.h
+file path=usr/include/c++/4.4.7/bits/stl_numeric.h
+file path=usr/include/c++/4.4.7/bits/stl_multiset.h
+file path=usr/include/c++/4.4.7/bits/stl_queue.h
+file path=usr/include/c++/4.4.7/bits/move.h
+file path=usr/include/c++/4.4.7/bits/valarray_array.h
+file path=usr/include/c++/4.4.7/bits/stl_multimap.h
+file path=usr/include/c++/4.4.7/bits/locale_facets.tcc
+file path=usr/include/c++/4.4.7/bits/unique_ptr.h
+file path=usr/include/c++/4.4.7/bits/concept_check.h
+file path=usr/include/c++/4.4.7/bits/fstream.tcc
+file path=usr/include/c++/4.4.7/bits/stl_bvector.h
+file path=usr/include/c++/4.4.7/bits/basic_ios.tcc
+file path=usr/include/c++/4.4.7/bits/valarray_array.tcc
+file path=usr/include/c++/4.4.7/bits/stl_deque.h
+file path=usr/include/c++/4.4.7/bits/stl_stack.h
+file path=usr/include/c++/4.4.7/bits/atomic_0.h
+file path=usr/include/c++/4.4.7/bits/boost_concept_check.h
+file path=usr/include/c++/4.4.7/bits/locale_facets.h
+file path=usr/include/c++/4.4.7/bits/stl_uninitialized.h
+file path=usr/include/c++/4.4.7/bits/shared_ptr.h
+file path=usr/include/c++/4.4.7/bits/mask_array.h
+file path=usr/include/c++/4.4.7/bits/vector.tcc
+file path=usr/include/c++/4.4.7/bits/stl_construct.h
+file path=usr/include/c++/4.4.7/bits/allocator.h
+file path=usr/include/c++/4.4.7/bits/stl_tree.h
+file path=usr/include/c++/4.4.7/bits/functional_hash.h
+file path=usr/include/c++/4.4.7/bits/stream_iterator.h
+file path=usr/include/c++/4.4.7/bits/stl_set.h
+file path=usr/include/c++/4.4.7/bits/locale_classes.h
+file path=usr/include/c++/4.4.7/bits/stl_function.h
+file path=usr/include/c++/4.4.7/bits/codecvt.h
+file path=usr/include/c++/4.4.7/bits/ios_base.h
+file path=usr/include/c++/4.4.7/bits/hashtable.h
+file path=usr/include/c++/4.4.7/bits/stl_map.h
+file path=usr/include/c++/4.4.7/bits/streambuf_iterator.h
+file path=usr/include/c++/4.4.7/bits/valarray_before.h
+file path=usr/include/c++/4.4.7/bits/forward_list.tcc
+file path=usr/include/c++/4.4.7/bits/char_traits.h
+file path=usr/include/c++/4.4.7/bits/stl_algobase.h
+file path=usr/include/c++/4.4.7/bits/functexcept.h
+file path=usr/include/c++/4.4.7/bits/cmath.tcc
+file path=usr/include/c++/4.4.7/bits/localefwd.h
+file path=usr/include/c++/4.4.7/bits/gslice.h
+file path=usr/include/c++/4.4.7/bits/stl_vector.h
+file path=usr/include/c++/4.4.7/bits/stl_relops.h
+file path=usr/include/c++/4.4.7/bits/atomicfwd_c.h
+file path=usr/include/c++/4.4.7/bits/stl_tempbuf.h
+file path=usr/include/c++/4.4.7/bits/gslice_array.h
+file path=usr/include/c++/4.4.7/bits/atomicfwd_cxx.h
+file path=usr/include/c++/4.4.7/bits/stringfwd.h
+file path=usr/include/c++/4.4.7/bits/locale_facets_nonio.h
+file path=usr/include/c++/4.4.7/bits/ostream_insert.h
+file path=usr/include/c++/4.4.7/bits/list.tcc
+file path=usr/include/c++/4.4.7/bits/basic_string.h
+file path=usr/include/c++/4.4.7/bits/sstream.tcc
+file path=usr/include/c++/4.4.7/bits/deque.tcc
+file path=usr/include/c++/4.4.7/bits/locale_classes.tcc
+file path=usr/include/c++/4.4.7/bits/forward_list.h
+file path=usr/include/c++/4.4.7/ctgmath
+file path=usr/include/c++/4.4.7/ciso646
+file path=usr/include/c++/4.4.7/locale
+file path=usr/include/c++/4.4.7/mutex
+file path=usr/include/c++/4.4.7/new
+file path=usr/include/c++/4.4.7/cstdlib
+file path=usr/include/c++/4.4.7/cstdint
+file path=usr/include/c++/4.4.7/cstdatomic
+file path=usr/include/c++/4.4.7/sstream
+file path=usr/include/c++/4.4.7/unordered_set
+file path=usr/include/c++/4.4.7/array
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/stdtr1c++.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/time_members.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/atomic_word.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/gthr.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/cpu_defines.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/extc++.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/c++allocator.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/basic_file.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/gthr-tpf.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/c++locale.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/gthr-single.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/messages_members.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/ctype_base.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/c++config.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/c++io.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/error_constants.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/gthr-posix.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/os_defines.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/gthr-default.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/cxxabi_tweaks.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/ctype_inline.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/stdc++.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/amd64/bits/ctype_noninline.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/ctype_base.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/time_members.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/cpu_defines.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/c++allocator.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/extc++.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/c++io.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/atomic_word.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/error_constants.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/c++config.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/messages_members.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/gthr-tpf.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/c++locale.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/cxxabi_tweaks.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/stdtr1c++.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/basic_file.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/gthr-single.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/gthr-default.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/stdc++.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/gthr.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/ctype_noninline.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/ctype_inline.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/os_defines.h
+file path=usr/include/c++/4.4.7/i386-pc-solaris2.11/bits/gthr-posix.h
+file path=usr/include/c++/4.4.7/complex.h
+file path=usr/include/c++/4.4.7/exception
+file path=usr/include/c++/4.4.7/iterator
+file path=usr/include/c++/4.4.7/initializer_list
+file path=usr/include/c++/4.4.7/cerrno
+file path=usr/include/c++/4.4.7/cfenv
+file path=usr/include/c++/4.4.7/fstream
+file path=usr/include/c++/4.4.7/regex
+file path=usr/include/c++/4.4.7/cstring
+file path=usr/include/c++/4.4.7/system_error
+file path=usr/include/c++/4.4.7/typeinfo
+file path=usr/include/c++/4.4.7/ctime
+file path=usr/include/c++/4.4.7/set
diff --git a/gcc-4.4/gcc-44-runtime.p5m b/gcc-4.4/gcc-44-runtime.p5m
new file mode 100644
index 0000000..3a26446
--- /dev/null
+++ b/gcc-4.4/gcc-44-runtime.p5m
@@ -0,0 +1,36 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/system/library/gcc-44-runtime@$(ips-version)
+set name=pkg.summary value="GCC runtime libraries (transitional package)"
+set name=info.source-url value=$(download)
+set name=info.upstream-url value=$(home)
+
+
+depend fmri=pkg:/library/gcc/libgcc type=require
+depend fmri=pkg:/library/gcc/libgfortran type=require
+depend fmri=pkg:/library/gcc/libgomp type=require
+depend fmri=pkg:/library/gcc/libssp type=require
+depend fmri=pkg:/library/gcc/libstdc++ type=require
+
diff --git a/gcc-4.4/gcc-44.p5m b/gcc-4.4/gcc-44.p5m
new file mode 100644
index 0000000..4cbd9f3
--- /dev/null
+++ b/gcc-4.4/gcc-44.p5m
@@ -0,0 +1,44 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/developer/gcc-44@$(ips-version)
+set name=pkg.summary value="GNU Compiler Collection (transitional package)"
+set name=info.source-url value=$(download)
+set name=info.upstream-url value=$(home)
+
+
+depend fmri=pkg:/developer/gcc/gcc-4.4 type=require
+depend fmri=pkg:/developer/gcc/g++-4.4 type=require
+depend fmri=pkg:/developer/gcc/gfortran-4.4 type=require
+
+dir path=usr
+dir path=usr/gcc
+dir path=usr/gcc/4.4
+dir path=usr/gcc/4.4/bin
+
+link path=usr/gcc/4.4/bin/gcc target=/usr/bin/gcc-4.4
+link path=usr/gcc/4.4/bin/g++ target=/usr/bin/g++-4.4
+link path=usr/gcc/4.4/bin/cpp target=/usr/bin/cpp-4.4
+link path=usr/gcc/4.4/bin/gfortran target=/usr/bin/gfortran-4.4
+
diff --git a/gcc-4.4/gcc.p5m b/gcc-4.4/gcc.p5m
new file mode 100644
index 0000000..29e09d3
--- /dev/null
+++ b/gcc-4.4/gcc.p5m
@@ -0,0 +1,169 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/developer/gcc/gcc-4.4@$(ips-version)
+set name=pkg.summary value="GNU C compiler"
+set name=info.source-url value=$(download)
+set name=info.upstream-url value=$(home)
+
+license COPYING3 license=GPLv3
+
+depend fmri=pkg:/developer/gcc/cpp-4.4@$(ips-version) type=require
+depend fmri=pkg:/developer/gnu-binutils type=require
+depend fmri=pkg:/developer/linker type=require
+
+depend fmri=pkg:/library/gcc/libssp@$(ips-version) type=require
+depend fmri=pkg:/library/gcc/libgomp@$(ips-version) type=require
+depend fmri=pkg:/library/gcc/libgcc@$(ips-version) type=require
+
+
+dir path=usr
+dir path=usr/bin
+dir path=usr/share/
+dir path=usr/share/man
+dir path=usr/share/man/man1
+
+file path=usr/bin/gcov-4.4
+file path=usr/bin/i386-pc-solaris2.11-gcc-4.4
+file path=usr/share/man/man1/gcc-4.4.1
+file path=usr/share/man/man1/gcov-4.4.1
+link path=usr/bin/gcc-4.4 target=i386-pc-solaris2.11-gcc-4.4
+
+
+dir path=usr/lib
+dir path=usr/lib/gcc
+dir path=usr/lib/gcc/i386-pc-solaris2.11
+dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7
+
+
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgcc.a
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgcc_eh.a
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgcov.a
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgcc.a
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgcc_eh.a
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgcov.a
+
+
+# Move static libraries out of the way:
+file usr/lib/libssp.a \
+ path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libssp.a
+file usr/lib/amd64/libssp.a \
+ path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libssp.a
+
+file usr/lib/libssp_nonshared.a \
+ path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libssp_nonshared.a
+file usr/lib/amd64/libssp_nonshared.a \
+ path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libssp_nonshared.a
+
+file usr/lib/libgomp.a \
+ path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgomp.a
+file usr/lib/amd64/libgomp.a \
+ path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgomp.a
+file usr/lib/libgomp.spec \
+ path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgomp.spec
+file usr/lib/amd64/libgomp.spec \
+ path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgomp.spec
+
+
+
+# libgcc_s.so.1 is in a separate package:
+link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgcc_s.so \
+ target=/lib/libgcc_s.so.1
+link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgcc_s.so \
+ target=/lib/amd64/libgcc_s.so.1
+
+# Same for libgomp:
+link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgomp.so \
+ target=/lib/libgomp.so.1
+link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgomp.so \
+ target=/lib/amd64/libgomp.so.1
+
+# Same for libssp:
+link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libssp.so \
+ target=/lib/libssp.so.0
+link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libssp.so \
+ target=/lib/amd64/libssp.so.0
+
+
+
+file path=usr/libexec/gcc/i386-pc-solaris2.11/4.4.7/collect2 mode=0555
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/crtbegin.o
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/crtend.o
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/crtbegin.o
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/crtend.o
+
+
+# Fixed includes:
+dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed
+dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/arpa
+dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/iso
+dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/sys
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/README
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/arpa/nameser_compat.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/complex.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/iso/math_c99.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/limits.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/math.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/string.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/sys/feature_tests.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/sys/varargs.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/syslimits.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include-fixed/wchar.h
+
+
+dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include
+dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/ssp
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/x86intrin.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/cpuid.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/iso646.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/avxintrin.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/xmmintrin.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/tgmath.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/stddef.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/omp.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/mm_malloc.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/tmmintrin.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/wmmintrin.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/stdfix.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/cross-stdarg.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/pmmintrin.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/smmintrin.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/stdbool.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/varargs.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/nmmintrin.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/immintrin.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/float.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/mmintrin.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/mm3dnow.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/emmintrin.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/unwind.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/stdarg.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/bmmintrin.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/mmintrin-common.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/ssp/stdio.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/ssp/ssp.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/ssp/unistd.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/ssp/string.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/include/ammintrin.h
+
diff --git a/gcc-4.4/gfortran.p5m b/gcc-4.4/gfortran.p5m
new file mode 100644
index 0000000..84397b6
--- /dev/null
+++ b/gcc-4.4/gfortran.p5m
@@ -0,0 +1,78 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/developer/gcc/gfortran-4.4@$(ips-version)
+set name=pkg.summary value="GNU Fortran 95 compiler"
+set name=info.source-url value=$(download)
+set name=info.upstream-url value=$(home)
+
+license COPYING3 license=GPLv3
+
+depend fmri=pkg:/developer/gcc/gcc-4.4@$(ips-version) type=require
+depend fmri=pkg:/library/gcc/libgfortran@$(ips-version) type=require
+
+
+dir path=usr
+dir path=usr/bin
+dir path=usr/share/
+dir path=usr/share/man
+dir path=usr/share/man/man1
+
+file path=usr/bin/i386-pc-solaris2.11-gfortran-4.4
+file path=usr/share/man/man1/gfortran-4.4.1
+link path=usr/bin/gfortran-4.4 target=i386-pc-solaris2.11-gfortran-4.4
+
+
+dir path=usr/lib
+dir path=usr/lib/gcc
+dir path=usr/lib/gcc/i386-pc-solaris2.11
+dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7
+
+
+file path=usr/libexec/gcc/i386-pc-solaris2.11/4.4.7/f951 mode=0555
+
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgfortranbegin.a
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgfortranbegin.a
+
+
+# Move static libraries out of the way:
+file usr/lib/libgfortran.a \
+ path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgfortran.a
+file usr/lib/amd64/libgfortran.a \
+ path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgfortran.a
+
+
+# libgfortran.so.3 is in a separate package:
+link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/libgfortran.so \
+ target=/usr/lib/libgfortran.so.3
+link path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/amd64/libgfortran.so \
+ target=/usr/lib/amd64/libgfortran.so.3
+
+
+dir path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/finclude
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/finclude/omp_lib.h
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/finclude/omp_lib.f90
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/finclude/omp_lib.mod
+file path=usr/lib/gcc/i386-pc-solaris2.11/4.4.7/finclude/omp_lib_kinds.mod
+
diff --git a/gcc-4.4/illumos-gcc.p5m b/gcc-4.4/illumos-gcc.p5m
new file mode 100644
index 0000000..f77e71e
--- /dev/null
+++ b/gcc-4.4/illumos-gcc.p5m
@@ -0,0 +1,40 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+set name=pkg.fmri value=pkg:/developer/illumos-gcc@$(ips-version)
+set name=pkg.summary value="GCC compilers patched for illumos"
+set name=info.source-url value=$(download)
+set name=info.upstream-url value=$(home)
+
+depend fmri=pkg:/developer/gcc/gcc-4.4 type=require
+depend fmri=pkg:/developer/gcc/g++-4.4 type=require
+
+dir path=opt
+dir path=opt/gcc
+dir path=opt/gcc/4.4.4
+dir path=opt/gcc/4.4.4/bin
+
+link path=opt/gcc/4.4.4/bin/gcc target=/usr/bin/gcc-4.4
+link path=opt/gcc/4.4.4/bin/g++ target=/usr/bin/g++-4.4
+link path=opt/gcc/4.4.4/bin/cpp target=/usr/bin/cpp-4.4
+
diff --git a/gcc-4.4/libgcc.p5m b/gcc-4.4/libgcc.p5m
new file mode 100644
index 0000000..f171864
--- /dev/null
+++ b/gcc-4.4/libgcc.p5m
@@ -0,0 +1,33 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+set name=pkg.fmri value=pkg:/library/gcc/libgcc@$(ips-version)
+set name=pkg.summary value="GCC support library"
+set name=info.source-url value=$(download)
+set name=info.upstream-url value=$(home)
+
+license COPYING.RUNTIME license="GCC runtime"
+
+file usr/lib/$(MACH64)/libgcc_s.so.1 path=/lib/$(MACH64)/libgcc_s.so.1
+file usr/lib/libgcc_s.so.1 path=/lib/libgcc_s.so.1
+
diff --git a/gcc-4.4/libgfortran.p5m b/gcc-4.4/libgfortran.p5m
new file mode 100644
index 0000000..f37eecb
--- /dev/null
+++ b/gcc-4.4/libgfortran.p5m
@@ -0,0 +1,35 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+set name=pkg.fmri value=pkg:/library/gcc/libgfortran@$(ips-version)
+set name=pkg.summary value="Runtime library for GNU Fortran applications"
+set name=info.source-url value=$(download)
+set name=info.upstream-url value=$(home)
+
+license COPYING.RUNTIME license="GCC runtime"
+
+file usr/lib/$(MACH64)/libgfortran.so.3.0.0 path=usr/lib/$(MACH64)/libgfortran.so.3 \
+ original_name=pkg:/developer/gcc/gcc-libgfortran
+file usr/lib/libgfortran.so.3.0.0 path=usr/lib/libgfortran.so.3 \
+ original_name=pkg:/developer/gcc/gcc-libgfortran
+
diff --git a/gcc-4.4/libgomp.p5m b/gcc-4.4/libgomp.p5m
new file mode 100644
index 0000000..d2b95c0
--- /dev/null
+++ b/gcc-4.4/libgomp.p5m
@@ -0,0 +1,33 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+set name=pkg.fmri value=pkg:/library/gcc/libgomp@$(ips-version)
+set name=pkg.summary value="GCC OpenMP (GOMP) support library"
+set name=info.source-url value=$(download)
+set name=info.upstream-url value=$(home)
+
+license COPYING.RUNTIME license="GCC runtime"
+
+file usr/lib/$(MACH64)/libgomp.so.1.0.0 path=usr/lib/$(MACH64)/libgomp.1
+file usr/lib/libgomp.so.1.0.0 path=usr//lib/libgomp.1
+
diff --git a/gcc-4.4/libssp.p5m b/gcc-4.4/libssp.p5m
new file mode 100644
index 0000000..74f9b66
--- /dev/null
+++ b/gcc-4.4/libssp.p5m
@@ -0,0 +1,33 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+set name=pkg.fmri value=pkg:/library/gcc/libssp@$(ips-version)
+set name=pkg.summary value="GCC stack smashing protection library"
+set name=info.source-url value=$(download)
+set name=info.upstream-url value=$(home)
+
+license COPYING.RUNTIME license="GCC runtime"
+
+file usr/lib/$(MACH64)/libssp.so.0.0.0 path=/lib/$(MACH64)/libssp.so.0
+file usr/lib/libssp.so.0.0.0 path=/lib/libssp.so.0
+
diff --git a/gcc-4.4/libstdc++.p5m b/gcc-4.4/libstdc++.p5m
new file mode 100644
index 0000000..477674e
--- /dev/null
+++ b/gcc-4.4/libstdc++.p5m
@@ -0,0 +1,35 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+set name=pkg.fmri value=pkg:/library/gcc/libstdc++@$(ips-version)
+set name=pkg.summary value="GNU Standard C++ Library"
+set name=info.source-url value=$(download)
+set name=info.upstream-url value=$(home)
+
+license COPYING.RUNTIME license="GCC runtime"
+
+file usr/lib/$(MACH64)/libstdc++.so.6.0.13 path=usr/lib/$(MACH64)/libstdc++.so.6 \
+ original_name=pkg:/developer/gcc/gcc-libstdc
+file usr/lib/libstdc++.so.6.0.13 path=usr/lib/libstdc++.so.6 \
+ original_name=pkg:/developer/gcc/gcc-libstdc
+
diff --git a/gcc-4.4/patches/gcc-4.4.7.illumos.patch b/gcc-4.4/patches/gcc-4.4.7.illumos.patch
new file mode 100644
index 0000000..e17b58f
--- /dev/null
+++ b/gcc-4.4/patches/gcc-4.4.7.illumos.patch
@@ -0,0 +1,1165 @@
+diff -dubr gcc-4.4.7/fixincludes/fixincl.x gcc-4.4.7.illumos/fixincludes/fixincl.x
+--- gcc-4.4.7/fixincludes/fixincl.x 2010-12-13 21:22:09.000000000 +0300
++++ gcc-4.4.7.illumos/fixincludes/fixincl.x 2012-09-27 21:10:47.000000000 +0400
+@@ -6420,10 +6420,22 @@
+ */
+ tSCC zSun_Auth_ProtoBypass0[] =
+ "__cplusplus";
++tSCC zSun_Auth_ProtoBypass1[] =
++ "pragma ident.*auth.*(1.4[3-9]|1.[5-9][0-9]).*SMI";
++tSCC zSun_Auth_ProtoBypass2[] =
++ "pragma ident.*clnt.*1.[6-9][0-9].*SMI";
++tSCC zSun_Auth_ProtoBypass3[] =
++ "pragma ident.*svc.*(1.69|1.[7-9][0-9]).*SMI";
++tSCC zSun_Auth_ProtoBypass4[] =
++ "pragma ident.*xdr.*(1.4[5-9]|1.[5-9][0-9]).*SMI";
+
+-#define SUN_AUTH_PROTO_TEST_CT 2
++#define SUN_AUTH_PROTO_TEST_CT 6
+ static tTestDesc aSun_Auth_ProtoTests[] = {
+ { TT_NEGREP, zSun_Auth_ProtoBypass0, (regex_t*)NULL },
++ { TT_NEGREP, zSun_Auth_ProtoBypass1, (regex_t*)NULL },
++ { TT_NEGREP, zSun_Auth_ProtoBypass2, (regex_t*)NULL },
++ { TT_NEGREP, zSun_Auth_ProtoBypass3, (regex_t*)NULL },
++ { TT_NEGREP, zSun_Auth_ProtoBypass4, (regex_t*)NULL },
+ { TT_EGREP, zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
+
+ /*
+Только в gcc-4.4.7.illumos/fixincludes: fixincl.x.orig
+diff -dubr gcc-4.4.7/fixincludes/inclhack.def gcc-4.4.7.illumos/fixincludes/inclhack.def
+--- gcc-4.4.7/fixincludes/inclhack.def 2010-12-13 21:22:09.000000000 +0300
++++ gcc-4.4.7.illumos/fixincludes/inclhack.def 2012-09-27 21:10:47.000000000 +0400
+@@ -3459,6 +3459,21 @@
+ */
+ select = '\(\*[a-z][a-z_]*\)\(\)';
+
++ /* Solaris 2.8 and above (and perhaps earlier versions) do not
++ need these fixes. The unprototyped declarations in these files
++ are only visible if __STDC__ is not defined. This test looks
++ for a #pragma ident directives with particular versions, since
++ we know those versions are OK. (Earlier versions may also be
++ OK, but we do not know that.) */
++ /* For rpc/auth.h, 1.43 or better is OK. */
++ bypass = "pragma ident.*auth.*(1\.4[3-9]|1\.[5-9][0-9]).*SMI";
++ /* For rpc/clnt.h, 1.60 or better is OK. */
++ bypass = "pragma ident.*clnt.*1\.[6-9][0-9].*SMI";
++ /* For rpc/svc.h, 1.69 or better is OK. */
++ bypass = "pragma ident.*svc.*(1\.69|1\.[7-9][0-9]).*SMI";
++ /* For rpc/xdr.h, 1.45 or better is OK. */
++ bypass = "pragma ident.*xdr.*(1\.4[5-9]|1\.[5-9][0-9]).*SMI";
++
+ c_fix = format;
+ c_fix_arg = "#ifdef __cplusplus\n%1(...);%2\n"
+ "#else\n%1();%2\n#endif";
+Только в gcc-4.4.7.illumos/fixincludes: inclhack.def.orig
+Только в gcc-4.4.7.illumos/gcc: ChangeLog.orig
+diff -dubr gcc-4.4.7/gcc/config/i386/i386.c gcc-4.4.7.illumos/gcc/config/i386/i386.c
+--- gcc-4.4.7/gcc/config/i386/i386.c 2012-02-22 23:47:42.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/config/i386/i386.c 2012-09-27 21:10:47.000000000 +0400
+@@ -1654,10 +1654,14 @@
+
+ saved frame pointer if frame_pointer_needed
+ <- HARD_FRAME_POINTER
+- [saved regs]
++ [-msave-args]
+
+ [padding0]
+
++ [saved regs]
++
++ [padding05]
++
+ [saved SSE regs]
+
+ [padding1] \
+@@ -1670,8 +1674,10 @@
+ */
+ struct ix86_frame
+ {
++ int nmsave_args;
+ int padding0;
+ int nsseregs;
++ int padding05;
+ int nregs;
+ int padding1;
+ int va_arg_size;
+@@ -1762,6 +1768,8 @@
+ /* Fence to use after loop using movnt. */
+ tree x86_mfence;
+
++static int ix86_nsaved_args (void);
++
+ /* Register class used for passing given 64bit part of the argument.
+ These represent classes as documented by the PS ABI, with the exception
+ of SSESF, SSEDF classes, that are basically SSE class, just gcc will
+@@ -1819,6 +1827,8 @@
+ static bool ix86_can_inline_p (tree, tree);
+ static void ix86_set_current_function (tree);
+
++static void pro_epilogue_adjust_stack (rtx, rtx, rtx, int);
++
+
+ /* The svr4 ABI for the i386 says that records and unions are returned
+ in memory. */
+@@ -2869,6 +2879,7 @@
+ error ("CPU you selected does not support x86-64 "
+ "instruction set");
+ }
++
+ /* Intel CPUs have always interpreted SSE prefetch instructions as
+ NOPs; so, we can enable SSE prefetch instructions even when
+ -mtune (rather than -march) points us to a processor that has them.
+@@ -3072,6 +3083,9 @@
+ if (TARGET_SSE4_2 || TARGET_ABM)
+ ix86_isa_flags |= OPTION_MASK_ISA_POPCNT & ~ix86_isa_flags_explicit;
+
++ if (!TARGET_64BIT && TARGET_SAVE_ARGS)
++ error ("-msave-args makes no sense in the 32-bit mode");
++
+ /* Validate -mpreferred-stack-boundary= value or default it to
+ PREFERRED_STACK_BOUNDARY_DEFAULT. */
+ ix86_preferred_stack_boundary = PREFERRED_STACK_BOUNDARY_DEFAULT;
+@@ -7375,8 +7389,8 @@
+ return 0;
+
+ ix86_compute_frame_layout (&frame);
+- return frame.to_allocate == 0 && frame.padding0 == 0
+- && (frame.nregs + frame.nsseregs) == 0;
++ return frame.to_allocate == 0 && frame.padding05 == 0 &&
++ frame.nmsave_args == 0 && (frame.nregs + frame.nsseregs) == 0;
+ }
+
+ /* Value should be nonzero if functions must have frame pointers.
+@@ -7396,6 +7410,9 @@
+ if (SUBTARGET_FRAME_POINTER_REQUIRED)
+ return 1;
+
++ if (TARGET_SAVE_ARGS)
++ return 1;
++
+ /* In override_options, TARGET_OMIT_LEAF_FRAME_POINTER turns off
+ the frame pointer by default. Turn it back on now if we've not
+ got a leaf function. */
+@@ -7761,6 +7778,7 @@
+
+ frame->nregs = ix86_nsaved_regs ();
+ frame->nsseregs = ix86_nsaved_sseregs ();
++ frame->nmsave_args = ix86_nsaved_args ();
+ total_size = size;
+
+ stack_alignment_needed = crtl->stack_alignment_needed / BITS_PER_UNIT;
+@@ -7816,6 +7834,11 @@
+ else
+ frame->save_regs_using_mov = false;
+
++ if (TARGET_SAVE_ARGS)
++ {
++ cfun->machine->use_fast_prologue_epilogue = true;
++ frame->save_regs_using_mov = true;
++ }
+
+ /* Skip return address and saved base pointer. */
+ offset = frame_pointer_needed ? UNITS_PER_WORD * 2 : UNITS_PER_WORD;
+@@ -7827,17 +7850,27 @@
+ if (stack_realign_fp)
+ offset = (offset + stack_alignment_needed -1) & -stack_alignment_needed;
+
++ /* Argument save area */
++ if (TARGET_SAVE_ARGS)
++ {
++ offset += frame->nmsave_args * UNITS_PER_WORD;
++ frame->padding0 = (frame->nmsave_args % 2) * UNITS_PER_WORD;
++ offset += frame->padding0;
++ }
++ else
++ frame->padding0 = 0;
++
+ /* Register save area */
+ offset += frame->nregs * UNITS_PER_WORD;
+
+ /* Align SSE reg save area. */
+ if (frame->nsseregs)
+- frame->padding0 = ((offset + 16 - 1) & -16) - offset;
++ frame->padding05 = ((offset + 16 - 1) & -16) - offset;
+ else
+- frame->padding0 = 0;
++ frame->padding05 = 0;
+
+ /* SSE register save area. */
+- offset += frame->padding0 + frame->nsseregs * 16;
++ offset += frame->padding05 + frame->nsseregs * 16;
+
+ /* Va-arg area */
+ frame->va_arg_size = ix86_varargs_gpr_size + ix86_varargs_fpr_size;
+@@ -7888,8 +7921,10 @@
+ (size + frame->padding1 + frame->padding2
+ + frame->outgoing_arguments_size + frame->va_arg_size);
+
+- if ((!frame->to_allocate && frame->nregs <= 1)
+- || (TARGET_64BIT && frame->to_allocate >= (HOST_WIDE_INT) 0x80000000))
++ if (!TARGET_SAVE_ARGS
++ && ((!frame->to_allocate && frame->nregs <= 1)
++ || (TARGET_64BIT
++ && frame->to_allocate >= (HOST_WIDE_INT) 0x80000000)))
+ frame->save_regs_using_mov = false;
+
+ if (!TARGET_64BIT_MS_ABI && TARGET_RED_ZONE
+@@ -7899,7 +7934,11 @@
+ {
+ frame->red_zone_size = frame->to_allocate;
+ if (frame->save_regs_using_mov)
+- frame->red_zone_size += frame->nregs * UNITS_PER_WORD;
++ {
++ frame->red_zone_size
++ += (frame->nregs + frame->nmsave_args) * UNITS_PER_WORD;
++ frame->red_zone_size += frame->padding0;
++ }
+ if (frame->red_zone_size > RED_ZONE_SIZE - RED_ZONE_RESERVE)
+ frame->red_zone_size = RED_ZONE_SIZE - RED_ZONE_RESERVE;
+ }
+@@ -7912,7 +7951,9 @@
+ fprintf (stderr, "size: %ld\n", (long)size);
+ fprintf (stderr, "nregs: %ld\n", (long)frame->nregs);
+ fprintf (stderr, "nsseregs: %ld\n", (long)frame->nsseregs);
++ fprintf (stderr, "nmsave_args: %ld\n", (long)frame->nmsave_args);
+ fprintf (stderr, "padding0: %ld\n", (long)frame->padding0);
++ fprintf (stderr, "padding05: %ld\n", (long)frame->padding05);
+ fprintf (stderr, "alignment1: %ld\n", (long)stack_alignment_needed);
+ fprintf (stderr, "padding1: %ld\n", (long)frame->padding1);
+ fprintf (stderr, "va_arg: %ld\n", (long)frame->va_arg_size);
+@@ -7929,6 +7970,7 @@
+ #endif
+ }
+
++
+ /* Emit code to save registers in the prologue. */
+
+ static void
+@@ -7937,6 +7979,22 @@
+ unsigned int regno;
+ rtx insn;
+
++ if (TARGET_SAVE_ARGS)
++ {
++ int i;
++ int nsaved = ix86_nsaved_args ();
++ int start = cfun->returns_struct;
++ for (i = start; i < start + nsaved; i++)
++ {
++ regno = x86_64_int_parameter_registers[i];
++ insn = emit_insn (gen_push (gen_rtx_REG (Pmode, regno)));
++ RTX_FRAME_RELATED_P (insn) = 1;
++ }
++ if (nsaved % 2 != 0)
++ pro_epilogue_adjust_stack (stack_pointer_rtx, stack_pointer_rtx,
++ GEN_INT (-UNITS_PER_WORD), -1);
++ }
++
+ for (regno = FIRST_PSEUDO_REGISTER - 1; regno-- > 0; )
+ if (!SSE_REGNO_P (regno) && ix86_save_reg (regno, true))
+ {
+@@ -7962,6 +8020,24 @@
+ RTX_FRAME_RELATED_P (insn) = 1;
+ offset += UNITS_PER_WORD;
+ }
++
++ if (TARGET_SAVE_ARGS)
++ {
++ int i;
++ int nsaved = ix86_nsaved_args ();
++ int start = cfun->returns_struct;
++ if (nsaved % 2 != 0)
++ offset += UNITS_PER_WORD;
++ for (i = start + nsaved - 1; i >= start; i--)
++ {
++ regno = x86_64_int_parameter_registers[i];
++ insn = emit_move_insn (adjust_address (gen_rtx_MEM (Pmode, pointer),
++ Pmode, offset),
++ gen_rtx_REG (Pmode, regno));
++ RTX_FRAME_RELATED_P (insn) = 1;
++ offset += UNITS_PER_WORD;
++ }
++ }
+ }
+
+ /* Emit code to save registers using MOV insns. First register
+@@ -8288,12 +8364,13 @@
+ RTX_FRAME_RELATED_P (insn) = 1;
+ }
+
+- allocate = frame.to_allocate + frame.nsseregs * 16 + frame.padding0;
++ allocate = frame.to_allocate + frame.nsseregs * 16 + frame.padding05;
+
+ if (!frame.save_regs_using_mov)
+ ix86_emit_save_regs ();
+ else
+- allocate += frame.nregs * UNITS_PER_WORD;
++ allocate += (frame.nregs + frame.nmsave_args) * UNITS_PER_WORD
++ + frame.padding0;
+
+ /* When using red zone we may start register saving before allocating
+ the stack frame saving one cycle of the prologue. However I will
+@@ -8306,7 +8383,8 @@
+ && !crtl->stack_realign_needed)
+ ? hard_frame_pointer_rtx
+ : stack_pointer_rtx,
+- -frame.nregs * UNITS_PER_WORD);
++ -(frame.nregs + frame.nmsave_args)
++ * UNITS_PER_WORD - frame.padding0);
+
+ if (allocate == 0)
+ ;
+@@ -8360,16 +8438,20 @@
+ && !(!TARGET_64BIT_MS_ABI && TARGET_RED_ZONE
+ && (! TARGET_STACK_PROBE || allocate < CHECK_STACK_LIMIT)))
+ {
+- if (!frame_pointer_needed
+- || !(frame.to_allocate + frame.padding0)
+- || crtl->stack_realign_needed)
++ if (!TARGET_SAVE_ARGS &&
++ (!frame_pointer_needed
++ || !(frame.to_allocate + frame.padding05)
++ || crtl->stack_realign_needed))
+ ix86_emit_save_regs_using_mov (stack_pointer_rtx,
+ frame.to_allocate
+- + frame.nsseregs * 16 + frame.padding0);
++ + frame.nsseregs * 16 + frame.padding05);
+ else
++ /* XXX: Does this need help for SSE? */
+ ix86_emit_save_regs_using_mov (hard_frame_pointer_rtx,
+- -frame.nregs * UNITS_PER_WORD);
++ -(frame.nregs + frame.nmsave_args)
++ * UNITS_PER_WORD - frame.padding0);
+ }
++ /* XXX: Does these need help for save-args? */
+ if (!frame_pointer_needed
+ || !(frame.to_allocate + frame.padding0)
+ || crtl->stack_realign_needed)
+@@ -8379,7 +8461,7 @@
+ ix86_emit_save_sse_regs_using_mov (hard_frame_pointer_rtx,
+ - frame.nregs * UNITS_PER_WORD
+ - frame.nsseregs * 16
+- - frame.padding0);
++ - frame.padding05);
+
+ pic_reg_used = false;
+ if (pic_offset_table_rtx
+@@ -8538,11 +8620,11 @@
+ must be taken for the normal return case of a function using
+ eh_return: the eax and edx registers are marked as saved, but not
+ restored along this path. */
+- offset = frame.nregs;
++ offset = frame.nregs + frame.nmsave_args;
+ if (crtl->calls_eh_return && style != 2)
+ offset -= 2;
+ offset *= -UNITS_PER_WORD;
+- offset -= frame.nsseregs * 16 + frame.padding0;
++ offset -= frame.nsseregs * 16 + frame.padding05 + frame.padding0;
+
+ /* If we're only restoring one register and sp is not valid then
+ using a move instruction to restore the register since it's
+@@ -8584,7 +8666,7 @@
+ ix86_emit_restore_regs_using_mov (stack_pointer_rtx,
+ frame.to_allocate
+ + frame.nsseregs * 16
+- + frame.padding0, style == 2);
++ + frame.padding05, style == 2);
+ }
+ else
+ {
+@@ -8593,7 +8675,7 @@
+ ix86_emit_restore_regs_using_mov (hard_frame_pointer_rtx,
+ offset
+ + frame.nsseregs * 16
+- + frame.padding0, style == 2);
++ + frame.padding05, style == 2);
+ }
+
+ /* eh_return epilogues need %ecx added to the stack pointer. */
+@@ -8620,18 +8702,20 @@
+ {
+ tmp = gen_rtx_PLUS (Pmode, stack_pointer_rtx, sa);
+ tmp = plus_constant (tmp, (frame.to_allocate
+- + frame.nregs * UNITS_PER_WORD
++ + (frame.nregs + frame.nmsave_args)
++ * UNITS_PER_WORD
+ + frame.nsseregs * 16
+- + frame.padding0));
++ + frame.padding05 + frame.padding0));
+ emit_insn (gen_rtx_SET (VOIDmode, stack_pointer_rtx, tmp));
+ }
+ }
+ else if (!frame_pointer_needed)
+ pro_epilogue_adjust_stack (stack_pointer_rtx, stack_pointer_rtx,
+ GEN_INT (frame.to_allocate
+- + frame.nregs * UNITS_PER_WORD
++ + (frame.nregs + frame.nmsave_args)
++ * UNITS_PER_WORD
+ + frame.nsseregs * 16
+- + frame.padding0),
++ + frame.padding05 + frame.padding0),
+ style);
+ /* If not an i386, mov & pop is faster than "leave". */
+ else if (TARGET_USE_LEAVE || optimize_function_for_size_p (cfun)
+@@ -8676,12 +8760,17 @@
+ pro_epilogue_adjust_stack (stack_pointer_rtx, stack_pointer_rtx,
+ GEN_INT (frame.to_allocate
+ + frame.nsseregs * 16
+- + frame.padding0), style);
++ + frame.padding05), style);
+ }
+
+ for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++)
+ if (!SSE_REGNO_P (regno) && ix86_save_reg (regno, false))
+ emit_insn ((*ix86_gen_pop1) (gen_rtx_REG (Pmode, regno)));
++
++ /* XXX: Needs adjustment for SSE regs? */
++ pro_epilogue_adjust_stack (stack_pointer_rtx, stack_pointer_rtx,
++ GEN_INT (frame.nmsave_args * UNITS_PER_WORD
++ + frame.padding0), style);
+ if (frame_pointer_needed)
+ {
+ /* Leave results in shorter dependency chains on CPUs that are
+@@ -9110,10 +9199,21 @@
+ return CONSTANT_P (x) && legitimate_address_p (Pmode, x, 1);
+ }
+
++/* Return number of arguments to be saved on the stack with
++ -msave-args. */
++
++static int
++ix86_nsaved_args (void)
++{
++ if (TARGET_SAVE_ARGS)
++ return crtl->args.info.regno - cfun->returns_struct;
++ else
++ return 0;
++}
++
+ /* Nonzero if the constant value X is a legitimate general operand
+ when generating PIC code. It is given that flag_pic is on and
+ that X satisfies CONSTANT_P or is a CONST_DOUBLE. */
+-
+ bool
+ legitimate_pic_operand_p (rtx x)
+ {
+Только в gcc-4.4.7.illumos/gcc/config/i386: i386.c.orig
+diff -dubr gcc-4.4.7/gcc/config/i386/i386.opt gcc-4.4.7.illumos/gcc/config/i386/i386.opt
+--- gcc-4.4.7/gcc/config/i386/i386.opt 2009-02-20 18:20:38.000000000 +0300
++++ gcc-4.4.7.illumos/gcc/config/i386/i386.opt 2012-09-27 21:10:47.000000000 +0400
+@@ -224,6 +224,10 @@
+ Target Report Mask(TLS_DIRECT_SEG_REFS)
+ Use direct references against %gs when accessing tls data
+
++msave-args
++Target Report Mask(SAVE_ARGS)
++Save integer arguments on the stack at function entry
++
+ mtune=
+ Target RejectNegative Joined Var(ix86_tune_string)
+ Schedule code for given CPU
+diff -dubr gcc-4.4.7/gcc/config/i386/sol2-10.h gcc-4.4.7.illumos/gcc/config/i386/sol2-10.h
+--- gcc-4.4.7/gcc/config/i386/sol2-10.h 2010-07-15 14:08:56.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/config/i386/sol2-10.h 2012-09-27 21:10:47.000000000 +0400
+@@ -94,7 +94,7 @@
+ %{R*} \
+ %{compat-bsd: \
+ %{!YP,*:%{p|pg:-Y P,/usr/ucblib/64:/usr/lib/libp/64:/lib/64:/usr/lib/64} \
+- %{!p:%{!pg:-Y P,/usr/ucblib/64:/lib:/usr/lib/64}}} \
++ %{!p:%{!pg:-Y P,/usr/ucblib/64:/lib/64:/usr/lib/64}}} \
+ -R /usr/ucblib/64} \
+ %{!compat-bsd: \
+ %{!YP,*:%{p|pg:-Y P,/usr/lib/libp/64:/lib/64:/usr/lib/64} \
+diff -dubr gcc-4.4.7/gcc/config/sol2-c.c gcc-4.4.7.illumos/gcc/config/sol2-c.c
+--- gcc-4.4.7/gcc/config/sol2-c.c 2007-09-18 02:07:46.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/config/sol2-c.c 2012-09-27 21:10:47.000000000 +0400
+@@ -114,8 +114,9 @@
+ {
+ tree decl = identifier_global_value (t);
+ if (decl && DECL_P (decl))
+- warning (0, "%<#pragma align%> must appear before the declaration of "
+- "%D, ignoring", decl);
++ decl_attributes (&decl, build_tree_list (get_identifier ("aligned"),
++ build_tree_list (NULL, x)),
++ 0);
+ else
+ solaris_pending_aligns = tree_cons (t, build_tree_list (NULL, x),
+ solaris_pending_aligns);
+diff -dubr gcc-4.4.7/gcc/config/sol2.h gcc-4.4.7.illumos/gcc/config/sol2.h
+--- gcc-4.4.7/gcc/config/sol2.h 2010-06-02 21:51:29.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/config/sol2.h 2012-09-27 21:10:47.000000000 +0400
+@@ -123,12 +123,12 @@
+ %{YP,*} \
+ %{R*} \
+ %{compat-bsd: \
+- %{!YP,*:%{p|pg:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
+- %{!p:%{!pg:-Y P,/usr/ucblib:/usr/ccs/lib:/usr/lib}}} \
++ %{!YP,*:%{p|pg:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/lib:/usr/lib} \
++ %{!p:%{!pg:-Y P,/usr/ucblib:/usr/ccs/lib:/lib:/usr/lib}}} \
+ -R /usr/ucblib} \
+ %{!compat-bsd: \
+- %{!YP,*:%{p|pg:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
+- %{!p:%{!pg:-Y P,/usr/ccs/lib:/usr/lib}}}}"
++ %{!YP,*:%{p|pg:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/lib:/usr/lib} \
++ %{!p:%{!pg:-Y P,/usr/ccs/lib:/lib:/usr/lib}}}}"
+
+ #undef LINK_ARCH32_SPEC
+ #define LINK_ARCH32_SPEC LINK_ARCH32_SPEC_BASE
+diff -dubr gcc-4.4.7/gcc/config/sparc/sol2-bi.h gcc-4.4.7.illumos/gcc/config/sparc/sol2-bi.h
+--- gcc-4.4.7/gcc/config/sparc/sol2-bi.h 2007-10-19 08:29:38.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/config/sparc/sol2-bi.h 2012-09-27 21:10:47.000000000 +0400
+@@ -172,12 +172,12 @@
+ %{YP,*} \
+ %{R*} \
+ %{compat-bsd: \
+- %{!YP,*:%{p|pg:-Y P,/usr/ucblib/sparcv9:/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \
+- %{!p:%{!pg:-Y P,/usr/ucblib/sparcv9:/usr/lib/sparcv9}}} \
++ %{!YP,*:%{p|pg:-Y P,/usr/ucblib/64:/usr/lib/libp/64:/lib/64:/usr/lib/64} \
++ %{!p:%{!pg:-Y P,/usr/ucblib/64:/lib/64:/usr/lib/64}}} \
+ -R /usr/ucblib/sparcv9} \
+ %{!compat-bsd: \
+- %{!YP,*:%{p|pg:-Y P,/usr/lib/libp/sparcv9:/usr/lib/sparcv9} \
+- %{!p:%{!pg:-Y P,/usr/lib/sparcv9}}}}"
++ %{!YP,*:%{p|pg:-Y P,/usr/lib/libp/64:/lib/64:/usr/lib/64} \
++ %{!p:%{!pg:-Y P,/lib/64:/usr/lib/64}}}}"
+
+ #define LINK_ARCH64_SPEC LINK_ARCH64_SPEC_BASE
+
+diff -dubr gcc-4.4.7/gcc/config/sparc/sparc.c gcc-4.4.7.illumos/gcc/config/sparc/sparc.c
+--- gcc-4.4.7/gcc/config/sparc/sparc.c 2011-06-06 03:20:56.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/config/sparc/sparc.c 2012-09-27 21:10:47.000000000 +0400
+@@ -2984,6 +2984,9 @@
+ if (TARGET_ARCH32 && !optimize
+ && (mode == DFmode || mode == DImode))
+ return 0;
++ if (TARGET_ARCH32 && TARGET_NO_INTEGER_LDD_STD
++ && mode == DImode)
++ return 0;
+ }
+ else if (USE_AS_OFFSETABLE_LO10
+ && GET_CODE (rs1) == LO_SUM
+@@ -6574,7 +6577,8 @@
+
+ /* If we have legitimate args for ldd/std, we do not want
+ the split to happen. */
+- if ((REGNO (reg) % 2) == 0
++ if (!TARGET_NO_INTEGER_LDD_STD
++ && (REGNO (reg) % 2) == 0
+ && mem_min_alignment (mem, 8))
+ return 0;
+
+Только в gcc-4.4.7.illumos/gcc/config/sparc: sparc.c.orig
+diff -dubr gcc-4.4.7/gcc/config/sparc/sparc.h gcc-4.4.7.illumos/gcc/config/sparc/sparc.h
+--- gcc-4.4.7/gcc/config/sparc/sparc.h 2011-05-22 02:05:52.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/config/sparc/sparc.h 2012-09-27 21:10:47.000000000 +0400
+@@ -2402,3 +2402,5 @@
+
+ /* We use gcc _mcount for profiling. */
+ #define NO_PROFILE_COUNTERS 0
++
++#define ASSUME_32BIT_CALLERS sparc_assume_32bit_callers
+diff -dubr gcc-4.4.7/gcc/config/sparc/sparc.md gcc-4.4.7.illumos/gcc/config/sparc/sparc.md
+--- gcc-4.4.7/gcc/config/sparc/sparc.md 2011-06-09 23:51:17.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/config/sparc/sparc.md 2012-09-27 21:10:47.000000000 +0400
+@@ -1959,7 +1959,7 @@
+ "=o,T,U,o,r,r,r,?T,?f,?f,?o,?f")
+ (match_operand:DI 1 "input_operand"
+ " J,U,T,r,o,i,r, f, T, o, f, f"))]
+- "! TARGET_V9
++ "! TARGET_V9 && ! TARGET_NO_INTEGER_LDD_STD
+ && (register_operand (operands[0], DImode)
+ || register_or_zero_operand (operands[1], DImode))"
+ "@
+@@ -1978,12 +1978,36 @@
+ [(set_attr "type" "store,store,load,*,*,*,*,fpstore,fpload,*,*,*")
+ (set_attr "length" "2,*,*,2,2,2,2,*,*,2,2,2")])
+
++(define_insn "*movdi_insn_sp32_nolddstd"
++ [(set (match_operand:DI 0 "nonimmediate_operand"
++ "=o,T,U,o,r,r,r,?T,?f,?f,?o,?f")
++ (match_operand:DI 1 "input_operand"
++ " J,U,T,r,o,i,r, f, T, o, f, f"))]
++ "! TARGET_V9 && TARGET_NO_INTEGER_LDD_STD
++ && (register_operand (operands[0], DImode)
++ || register_or_zero_operand (operands[1], DImode))"
++ "@
++ #
++ #
++ #
++ #
++ #
++ #
++ #
++ std\t%1, %0
++ ldd\t%1, %0
++ #
++ #
++ #"
++ [(set_attr "type" "store,store,load,*,*,*,*,fpstore,fpload,*,*,*")
++ (set_attr "length" "2,2,2,2,2,2,2,*,*,2,2,2")])
++
+ (define_insn "*movdi_insn_sp32_v9"
+ [(set (match_operand:DI 0 "nonimmediate_operand"
+ "=T,o,T,U,o,r,r,r,?T,?f,?f,?o,?e,?e,?W")
+ (match_operand:DI 1 "input_operand"
+ " J,J,U,T,r,o,i,r, f, T, o, f, e, W, e"))]
+- "! TARGET_ARCH64
++ "! TARGET_ARCH64 && ! TARGET_NO_INTEGER_LDD_STD
+ && TARGET_V9
+ && (register_operand (operands[0], DImode)
+ || register_or_zero_operand (operands[1], DImode))"
+@@ -2007,6 +2031,35 @@
+ (set_attr "length" "*,2,*,*,2,2,2,2,*,*,2,2,*,*,*")
+ (set_attr "fptype" "*,*,*,*,*,*,*,*,*,*,*,*,double,*,*")])
+
++
++(define_insn "*movdi_insn_sp32_v9_nolddstd"
++ [(set (match_operand:DI 0 "nonimmediate_operand"
++ "=T,o,T,U,o,r,r,r,?T,?f,?f,?o,?e,?e,?W")
++ (match_operand:DI 1 "input_operand"
++ " J,J,U,T,r,o,i,r, f, T, o, f, e, W, e"))]
++ "! TARGET_ARCH64 && TARGET_V9 && TARGET_NO_INTEGER_LDD_STD
++ && (register_operand (operands[0], DImode)
++ || register_or_zero_operand (operands[1], DImode))"
++ "@
++ stx\t%%g0, %0
++ #
++ #
++ #
++ #
++ #
++ #
++ #
++ std\t%1, %0
++ ldd\t%1, %0
++ #
++ #
++ fmovd\\t%1, %0
++ ldd\\t%1, %0
++ std\\t%1, %0"
++ [(set_attr "type" "store,store,store,load,*,*,*,*,fpstore,fpload,*,*,fpmove,fpload,fpstore")
++ (set_attr "length" "*,2,2,2,2,2,2,2,*,*,2,2,*,*,*")
++ (set_attr "fptype" "*,*,*,*,*,*,*,*,*,*,*,*,double,*,*")])
++
+ (define_insn "*movdi_insn_sp64"
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=r,r,r,m,?e,?e,?W,b")
+ (match_operand:DI 1 "input_operand" "rI,N,m,rJ,e,W,e,J"))]
+@@ -7201,7 +7254,7 @@
+ (const_int 0))
+ (set (match_operand:SI 1 "memory_operand" "")
+ (const_int 0))]
+- "TARGET_V9
++ "TARGET_V9 && ! TARGET_NO_INTEGER_LDD_STD
+ && mems_ok_for_ldd_peep (operands[0], operands[1], NULL_RTX)"
+ [(set (match_dup 0)
+ (const_int 0))]
+@@ -7212,7 +7265,7 @@
+ (const_int 0))
+ (set (match_operand:SI 1 "memory_operand" "")
+ (const_int 0))]
+- "TARGET_V9
++ "TARGET_V9 && ! TARGET_NO_INTEGER_LDD_STD
+ && mems_ok_for_ldd_peep (operands[1], operands[0], NULL_RTX)"
+ [(set (match_dup 1)
+ (const_int 0))]
+@@ -7223,7 +7276,8 @@
+ (match_operand:SI 1 "memory_operand" ""))
+ (set (match_operand:SI 2 "register_operand" "")
+ (match_operand:SI 3 "memory_operand" ""))]
+- "registers_ok_for_ldd_peep (operands[0], operands[2])
++ "! TARGET_NO_INTEGER_LDD_STD
++ && registers_ok_for_ldd_peep (operands[0], operands[2])
+ && mems_ok_for_ldd_peep (operands[1], operands[3], operands[0])"
+ [(set (match_dup 0)
+ (match_dup 1))]
+@@ -7235,7 +7289,8 @@
+ (match_operand:SI 1 "register_operand" ""))
+ (set (match_operand:SI 2 "memory_operand" "")
+ (match_operand:SI 3 "register_operand" ""))]
+- "registers_ok_for_ldd_peep (operands[1], operands[3])
++ "! TARGET_NO_INTEGER_LDD_STD
++ && registers_ok_for_ldd_peep (operands[1], operands[3])
+ && mems_ok_for_ldd_peep (operands[0], operands[2], NULL_RTX)"
+ [(set (match_dup 0)
+ (match_dup 1))]
+@@ -7247,7 +7302,8 @@
+ (match_operand:SF 1 "memory_operand" ""))
+ (set (match_operand:SF 2 "register_operand" "")
+ (match_operand:SF 3 "memory_operand" ""))]
+- "registers_ok_for_ldd_peep (operands[0], operands[2])
++ "! TARGET_NO_INTEGER_LDD_STD
++ && registers_ok_for_ldd_peep (operands[0], operands[2])
+ && mems_ok_for_ldd_peep (operands[1], operands[3], operands[0])"
+ [(set (match_dup 0)
+ (match_dup 1))]
+@@ -7259,7 +7315,8 @@
+ (match_operand:SF 1 "register_operand" ""))
+ (set (match_operand:SF 2 "memory_operand" "")
+ (match_operand:SF 3 "register_operand" ""))]
+- "registers_ok_for_ldd_peep (operands[1], operands[3])
++ "! TARGET_NO_INTEGER_LDD_STD
++ && registers_ok_for_ldd_peep (operands[1], operands[3])
+ && mems_ok_for_ldd_peep (operands[0], operands[2], NULL_RTX)"
+ [(set (match_dup 0)
+ (match_dup 1))]
+@@ -7271,7 +7328,8 @@
+ (match_operand:SI 1 "memory_operand" ""))
+ (set (match_operand:SI 2 "register_operand" "")
+ (match_operand:SI 3 "memory_operand" ""))]
+- "registers_ok_for_ldd_peep (operands[2], operands[0])
++ "! TARGET_NO_INTEGER_LDD_STD
++ && registers_ok_for_ldd_peep (operands[2], operands[0])
+ && mems_ok_for_ldd_peep (operands[3], operands[1], operands[0])"
+ [(set (match_dup 2)
+ (match_dup 3))]
+@@ -7283,7 +7341,8 @@
+ (match_operand:SI 1 "register_operand" ""))
+ (set (match_operand:SI 2 "memory_operand" "")
+ (match_operand:SI 3 "register_operand" ""))]
+- "registers_ok_for_ldd_peep (operands[3], operands[1])
++ "! TARGET_NO_INTEGER_LDD_STD
++ && registers_ok_for_ldd_peep (operands[3], operands[1])
+ && mems_ok_for_ldd_peep (operands[2], operands[0], NULL_RTX)"
+ [(set (match_dup 2)
+ (match_dup 3))]
+@@ -7296,7 +7355,8 @@
+ (match_operand:SF 1 "memory_operand" ""))
+ (set (match_operand:SF 2 "register_operand" "")
+ (match_operand:SF 3 "memory_operand" ""))]
+- "registers_ok_for_ldd_peep (operands[2], operands[0])
++ "! TARGET_NO_INTEGER_LDD_STD
++ && registers_ok_for_ldd_peep (operands[2], operands[0])
+ && mems_ok_for_ldd_peep (operands[3], operands[1], operands[0])"
+ [(set (match_dup 2)
+ (match_dup 3))]
+@@ -7308,7 +7368,8 @@
+ (match_operand:SF 1 "register_operand" ""))
+ (set (match_operand:SF 2 "memory_operand" "")
+ (match_operand:SF 3 "register_operand" ""))]
+- "registers_ok_for_ldd_peep (operands[3], operands[1])
++ "! TARGET_NO_INTEGER_LDD_STD
++ && registers_ok_for_ldd_peep (operands[3], operands[1])
+ && mems_ok_for_ldd_peep (operands[2], operands[0], NULL_RTX)"
+ [(set (match_dup 2)
+ (match_dup 3))]
+Только в gcc-4.4.7.illumos/gcc/config/sparc: sparc.md.orig
+diff -dubr gcc-4.4.7/gcc/config/sparc/sparc.opt gcc-4.4.7.illumos/gcc/config/sparc/sparc.opt
+--- gcc-4.4.7/gcc/config/sparc/sparc.opt 2007-08-02 14:49:31.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/config/sparc/sparc.opt 2012-09-27 21:10:47.000000000 +0400
+@@ -38,6 +38,10 @@
+ Target Report
+ Pass -assert pure-text to linker
+
++mno-integer-ldd-std
++Target Report RejectNegative Mask(NO_INTEGER_LDD_STD)
++Utilize integer ldd and std
++
+ mapp-regs
+ Target Report Mask(APP_REGS)
+ Use ABI reserved registers
+@@ -102,6 +106,10 @@
+ Target Report RejectNegative Var(sparc_std_struct_return)
+ Enable strict 32-bit psABI struct return checking.
+
++massume-32bit-callers
++Target Report Var(sparc_assume_32bit_callers)
++Allow 64bit sparcv9 code to function with 32bit sparcv7 direct callers.
++
+ Mask(LITTLE_ENDIAN)
+ ;; Generate code for little-endian
+
+diff -dubr gcc-4.4.7/gcc/config.gcc gcc-4.4.7.illumos/gcc/config.gcc
+--- gcc-4.4.7/gcc/config.gcc 2011-02-19 00:39:51.000000000 +0300
++++ gcc-4.4.7.illumos/gcc/config.gcc 2012-09-27 21:10:47.000000000 +0400
+@@ -1237,6 +1237,8 @@
+ "":*:yes | yes:*:yes )
+ thread_file=solaris
+ ;;
++ *)
++ extra_parts="gmon.o crtbegin.o crtend.o"
+ esac
+ ;;
+ i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
+Только в gcc-4.4.7.illumos/gcc: config.gcc.orig
+diff -dubr gcc-4.4.7/gcc/cp/g++spec.c gcc-4.4.7.illumos/gcc/cp/g++spec.c
+--- gcc-4.4.7/gcc/cp/g++spec.c 2009-02-20 18:20:38.000000000 +0300
++++ gcc-4.4.7.illumos/gcc/cp/g++spec.c 2012-09-27 21:10:52.000000000 +0400
+@@ -260,7 +260,7 @@
+ #endif
+
+ /* Make sure to have room for the trailing NULL argument. */
+- num_args = argc + added + need_math + shared_libgcc + (library > 0) + 1;
++ num_args = argc + added + need_math + shared_libgcc + 2 * (library > 0) + 1;
+ arglist = XNEWVEC (const char *, num_args);
+
+ i = 0;
+diff -dubr gcc-4.4.7/gcc/cp/Make-lang.in gcc-4.4.7.illumos/gcc/cp/Make-lang.in
+--- gcc-4.4.7/gcc/cp/Make-lang.in 2009-09-09 12:46:32.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/cp/Make-lang.in 2012-09-27 21:10:52.000000000 +0400
+@@ -55,7 +55,7 @@
+ g++spec.o: $(srcdir)/cp/g++spec.c $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) $(CONFIG_H)
+ (SHLIB_LINK='$(SHLIB_LINK)'; \
+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(DRIVER_DEFINES) \
+- $(INCLUDES) $(srcdir)/cp/g++spec.c)
++ -DLIBDIR=\"$(libdir)\" $(INCLUDES) $(srcdir)/cp/g++spec.c)
+
+ # Create the compiler driver for g++.
+ GXX_OBJS = $(GCC_OBJS) g++spec.o intl.o prefix.o version.o
+diff -dubr gcc-4.4.7/gcc/doc/cpp.texi gcc-4.4.7.illumos/gcc/doc/cpp.texi
+--- gcc-4.4.7/gcc/doc/cpp.texi 2008-08-05 21:24:37.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/doc/cpp.texi 2012-09-27 21:10:52.000000000 +0400
+@@ -3508,8 +3508,6 @@
+ official GNU extensions either. What historical information we have
+ been able to find, suggests they originated with System V@.
+
+-Both @samp{#ident} and @samp{#sccs} are deprecated extensions.
+-
+ @cindex null directive
+ The @dfn{null directive} consists of a @samp{#} followed by a newline,
+ with only whitespace (including comments) in between. A null directive
+diff -dubr gcc-4.4.7/gcc/doc/invoke.texi gcc-4.4.7.illumos/gcc/doc/invoke.texi
+--- gcc-4.4.7/gcc/doc/invoke.texi 2011-03-24 01:02:12.000000000 +0300
++++ gcc-4.4.7.illumos/gcc/doc/invoke.texi 2012-09-27 21:10:52.000000000 +0400
+@@ -793,7 +793,8 @@
+ -mfaster-structs -mno-faster-structs @gol
+ -mfpu -mno-fpu -mhard-float -msoft-float @gol
+ -mhard-quad-float -msoft-quad-float @gol
+--mimpure-text -mno-impure-text -mlittle-endian @gol
++-mimpure-text -mno-impure-text @gol
++-mno-integer-ldd-std -mlittle-endian @gol
+ -mstack-bias -mno-stack-bias @gol
+ -munaligned-doubles -mno-unaligned-doubles @gol
+ -mv8plus -mno-v8plus -mvis -mno-vis
+@@ -11549,6 +11550,10 @@
+ @opindex mcmodel=large
+ Generate code for the large model: This model makes no assumptions
+ about addresses and sizes of sections.
++
++@item -msave-args
++@opindex msave-args
++Save integer arguments on the stack at function entry.
+ @end table
+
+ @node i386 and x86-64 Windows Options
+@@ -15178,6 +15183,23 @@
+ @opindex mno-vis
+ With @option{-mvis}, GCC generates code that takes advantage of the UltraSPARC
+ Visual Instruction Set extensions. The default is @option{-mno-vis}.
++
++@item -mno-integer-ldd-std
++@opindex mno-integer-ldd-std
++With @option{-mno-integer-ldd-std}, GCC does not use the @code{ldd}
++and @code{std} instructions for integer operands in 32-bit mode. This
++is for use with legacy code using 64-bit quantities which are not
++64-bit aligned.
++
++@item -massume-32bit-callers
++@opindex massume-32bit-callers
++With @option{-massume-32bit-callers}, The type promotion of function
++arguments is altered such that integer arguments smaller than the word
++size are extended in the callee rather than the caller. This is
++necessary for system calls from 32bit processes to 64bit kernels in
++certain systems. This option should not be used in any situation
++other than compiling the kernels of such systems, and has not been
++tested outside of that scenario.
+ @end table
+
+ These @samp{-m} options are supported in addition to the above
+Только в gcc-4.4.7.illumos/gcc/doc: invoke.texi.orig
+diff -dubr gcc-4.4.7/gcc/dwarf2.h gcc-4.4.7.illumos/gcc/dwarf2.h
+--- gcc-4.4.7/gcc/dwarf2.h 2009-04-10 03:23:07.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/dwarf2.h 2012-09-27 21:10:52.000000000 +0400
+@@ -377,6 +377,8 @@
+ DW_AT_GNU_vector = 0x2107,
+ /* VMS extensions. */
+ DW_AT_VMS_rtnbeg_pd_address = 0x2201,
++ /* Sun extension. */
++ DW_AT_SUN_amd64_parmdump = 0x2224,
+ /* UPC extension. */
+ DW_AT_upc_threads_scaled = 0x3210,
+ /* PGI (STMicroelectronics) extensions. */
+diff -dubr gcc-4.4.7/gcc/dwarf2out.c gcc-4.4.7.illumos/gcc/dwarf2out.c
+--- gcc-4.4.7/gcc/dwarf2out.c 2011-04-08 01:27:59.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/dwarf2out.c 2012-09-27 21:10:53.000000000 +0400
+@@ -9362,10 +9362,6 @@
+
+ base_type_result = new_die (DW_TAG_base_type, comp_unit_die, type);
+
+- /* This probably indicates a bug. */
+- if (! TYPE_NAME (type))
+- add_name_attribute (base_type_result, "__unknown__");
+-
+ add_AT_unsigned (base_type_result, DW_AT_byte_size,
+ int_size_in_bytes (type));
+ add_AT_unsigned (base_type_result, DW_AT_encoding, encoding);
+@@ -9541,6 +9537,21 @@
+ ((is_const_type ? TYPE_QUAL_CONST : 0)
+ | (is_volatile_type ? TYPE_QUAL_VOLATILE : 0)));
+
++ if (qualified_type == sizetype
++ && TYPE_NAME (qualified_type)
++ && TREE_CODE (TYPE_NAME (qualified_type)) == TYPE_DECL)
++ {
++#ifdef ENABLE_CHECKING
++ gcc_assert (TREE_CODE (TREE_TYPE (TYPE_NAME (qualified_type)))
++ == INTEGER_TYPE
++ && TYPE_PRECISION (TREE_TYPE (TYPE_NAME (qualified_type)))
++ == TYPE_PRECISION (qualified_type)
++ && TYPE_UNSIGNED (TREE_TYPE (TYPE_NAME (qualified_type)))
++ == TYPE_UNSIGNED (qualified_type));
++#endif
++ qualified_type = TREE_TYPE (TYPE_NAME (qualified_type));
++ }
++
+ /* If we do, then we can just use its DIE, if it exists. */
+ if (qualified_type)
+ {
+@@ -9638,6 +9649,9 @@
+ name = DECL_NAME (name);
+ add_name_attribute (mod_type_die, IDENTIFIER_POINTER (name));
+ }
++ /* This probably indicates a bug. */
++ else if (mod_type_die->die_tag == DW_TAG_base_type)
++ add_name_attribute (mod_type_die, "__unknown__");
+
+ if (qualified_type)
+ equate_type_number_to_die (qualified_type, mod_type_die);
+@@ -13941,6 +13955,10 @@
+ /* Add the calling convention attribute if requested. */
+ add_calling_convention_attribute (subr_die, decl);
+
++#ifdef TARGET_SAVE_ARGS
++ if (TARGET_SAVE_ARGS)
++ add_AT_flag (subr_die, DW_AT_SUN_amd64_parmdump, 1);
++#endif
+ }
+
+ /* Returns a hash value for X (which really is a die_struct). */
+@@ -15525,9 +15543,6 @@
+
+ if (TREE_CODE (decl) == TYPE_DECL || TREE_CODE (decl) == CONST_DECL)
+ {
+- if (is_base_type (TREE_TYPE (decl)))
+- at_import_die = base_type_die (TREE_TYPE (decl));
+- else
+ at_import_die = force_type_die (TREE_TYPE (decl));
+ /* For namespace N { typedef void T; } using N::T; base_type_die
+ returns NULL, but DW_TAG_imported_declaration requires
+diff -dubr gcc-4.4.7/gcc/expr.c gcc-4.4.7.illumos/gcc/expr.c
+--- gcc-4.4.7/gcc/expr.c 2011-07-21 13:39:16.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/expr.c 2012-09-27 21:10:53.000000000 +0400
+@@ -79,6 +79,10 @@
+ #endif
+ #endif
+
++#ifndef ASSUME_32BIT_CALLERS
++#define ASSUME_32BIT_CALLERS 0
++#endif
++
+
+ /* If this is nonzero, we do not bother generating VOLATILE
+ around volatile memory references, and we are willing to
+@@ -7361,7 +7365,8 @@
+ same mode we got when the variable was declared. */
+ pmode = promote_mode (type, DECL_MODE (exp), &unsignedp,
+ (TREE_CODE (exp) == RESULT_DECL
+- || TREE_CODE (exp) == PARM_DECL) ? 1 : 0);
++ || (!ASSUME_32BIT_CALLERS &&
++ TREE_CODE (exp) == PARM_DECL)) ? 1 : 0);
+ gcc_assert (GET_MODE (decl_rtl) == pmode);
+
+ temp = gen_lowpart_SUBREG (mode, decl_rtl);
+Только в gcc-4.4.7.illumos/gcc: expr.c.orig
+diff -dubr gcc-4.4.7/gcc/function.c gcc-4.4.7.illumos/gcc/function.c
+--- gcc-4.4.7/gcc/function.c 2010-08-17 00:24:54.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/function.c 2012-09-27 21:10:53.000000000 +0400
+@@ -83,6 +83,10 @@
+ #define NAME__MAIN "__main"
+ #endif
+
++#ifndef ASSUME_32BIT_CALLERS
++#define ASSUME_32BIT_CALLERS 0
++#endif
++
+ /* Round a value to the lowest integer less than it that is a multiple of
+ the required alignment. Avoid using division in case the value is
+ negative. Assume the alignment is a power of two. */
+@@ -2789,7 +2793,8 @@
+ /* This is not really promoting for a call. However we need to be
+ consistent with assign_parm_find_data_types and expand_expr_real_1. */
+ promoted_nominal_mode
+- = promote_mode (data->nominal_type, data->nominal_mode, &unsignedp, 1);
++ = promote_mode (data->nominal_type, data->nominal_mode, &unsignedp,
++ ASSUME_32BIT_CALLERS ? 0 : 1);
+
+ parmreg = gen_reg_rtx (promoted_nominal_mode);
+
+Только в gcc-4.4.7.illumos/gcc: function.c.orig
+diff -dubr gcc-4.4.7/gcc/Makefile.in gcc-4.4.7.illumos/gcc/Makefile.in
+--- gcc-4.4.7/gcc/Makefile.in 2010-09-07 15:07:31.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/Makefile.in 2012-09-27 21:10:53.000000000 +0400
+@@ -4725,7 +4725,7 @@
+ # script does that.
+ .po.gmo:
+ $(mkinstalldirs) po
+- $(GMSGFMT) --statistics -o $@ $<
++ $(GMSGFMT) -o $@ $<
+
+ # The new .po has to be gone over by hand, so we deposit it into
+ # build/po with a different extension.
+Только в gcc-4.4.7.illumos/gcc/testsuite: ChangeLog.orig
+diff -dubr gcc-4.4.7/gcc/testsuite/gcc.dg/pragma-align-2.c gcc-4.4.7.illumos/gcc/testsuite/gcc.dg/pragma-align-2.c
+--- gcc-4.4.7/gcc/testsuite/gcc.dg/pragma-align-2.c 2008-09-23 13:42:50.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/testsuite/gcc.dg/pragma-align-2.c 2012-09-27 21:10:53.000000000 +0400
+@@ -25,9 +25,9 @@
+ #pragma align bad_align /* { dg-warning "malformed" } */
+ #pragma align 1(bad_align /* { dg-warning "malformed" } */
+
+-int x, x1, x2, x4, x8, y8, z8, x16, x32, x64, x128, y128, z128;
++int x1, x2, x4, x8, y8, z8, x16, y16, x32, x64, x128, y128, z128;
+
+-#pragma align 16(x) /* { dg-warning "must appear before" } */
++#pragma align 16(y16)
+
+ int
+ main ()
+@@ -47,6 +47,9 @@
+ if (__alignof__ (x16) < 16)
+ abort ();
+
++ if (__alignof__ (y16) < 16)
++ abort ();
++
+ if (__alignof__ (x32) < 32)
+ abort ();
+
+diff -dubr gcc-4.4.7/gcc/testsuite/lib/gcc-dg.exp gcc-4.4.7.illumos/gcc/testsuite/lib/gcc-dg.exp
+--- gcc-4.4.7/gcc/testsuite/lib/gcc-dg.exp 2009-04-22 15:35:25.000000000 +0400
++++ gcc-4.4.7.illumos/gcc/testsuite/lib/gcc-dg.exp 2012-09-27 21:11:00.000000000 +0400
+@@ -343,6 +343,37 @@
+ }
+ }
+
++# ARGS is a list. The 0th element is the line number at which the
++# dg-forbid-option directive appeared in the source file. The 1st
++# element is a regular expression. If the regular expression matches
++# the command-line options implied by the current multilib, then the
++# test will be treated as unsupported. The 2nd element of the list,
++# if present, is a target selector conditionalizing this directive;
++# if the target selector does not match the current target, this
++# dg-forbid-option directive is ignored.
++
++proc dg-forbid-option { args } {
++ set target_name [target_info name]
++ set pattern [lindex $args 1]
++
++ if {[llength $args] > 2} {
++ set selector [lindex $args 2]
++ if { [dg-process-target $selector] == "N" } {
++ return
++ }
++ }
++
++ # Check to see if the option occurs in the multilib options
++ # for this target.
++ if {[board_info $target_name exists multilib_flags]} {
++ set multilib_flags [board_info $target_name multilib_flags]
++ if { [regexp -- ${pattern} $multilib_flags] } {
++ upvar dg-do-what dg-do-what
++ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
++ }
++ }
++}
++
+ # Prune any messages matching ARGS[1] (a regexp) from test output.
+ proc dg-prune-output { args } {
+ global additional_prunes
+diff -dubr gcc-4.4.7/gcc/varasm.c gcc-4.4.7.illumos/gcc/varasm.c
+--- gcc-4.4.7/gcc/varasm.c 2010-01-20 14:27:49.000000000 +0300
++++ gcc-4.4.7.illumos/gcc/varasm.c 2012-09-27 21:11:00.000000000 +0400
+@@ -5484,6 +5484,9 @@
+ #endif
+ }
+
++ if (TREE_ASM_WRITTEN (decl))
++ return;
++
+ /* We must force creation of DECL_RTL for debug info generation, even though
+ we don't use it here. */
+ make_decl_rtl (decl);
+diff -dubr gcc-4.4.7/intl/configure gcc-4.4.7.illumos/intl/configure
+--- gcc-4.4.7/intl/configure 2010-10-02 15:40:32.000000000 +0400
++++ gcc-4.4.7.illumos/intl/configure 2012-09-27 21:11:00.000000000 +0400
+@@ -1557,8 +1557,8 @@
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+- if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
+- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++ if $ac_dir/$ac_word /dev/null >/dev/null 2>&1 &&
++ (if $ac_dir/$ac_word /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+@@ -1761,8 +1761,8 @@
+
+
+ if test "$GMSGFMT" != ":"; then
+- if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
+- (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
++ if $GMSGFMT /dev/null >/dev/null 2>&1 &&
++ (if $GMSGFMT /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ : ;
+ else
+ GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
+Только в gcc-4.4.7.illumos/libcpp: ChangeLog.orig
+diff -dubr gcc-4.4.7/libcpp/directives.c gcc-4.4.7.illumos/libcpp/directives.c
+--- gcc-4.4.7/libcpp/directives.c 2011-01-05 02:18:52.000000000 +0300
++++ gcc-4.4.7.illumos/libcpp/directives.c 2012-09-27 21:11:00.000000000 +0400
+@@ -152,11 +152,11 @@
+ D(pragma, T_PRAGMA, STDC89, IN_I) /* 195 */ \
+ D(warning, T_WARNING, EXTENSION, 0) /* 22 */ \
+ D(include_next, T_INCLUDE_NEXT, EXTENSION, INCL | EXPAND) /* 19 */ \
+-D(ident, T_IDENT, EXTENSION, IN_I | DEPRECATED) /* 11 */ \
++D(ident, T_IDENT, EXTENSION, IN_I) /* 11 */ \
+ D(import, T_IMPORT, EXTENSION, INCL | EXPAND) /* 0 ObjC */ \
+ D(assert, T_ASSERT, EXTENSION, DEPRECATED) /* 0 SVR4 */ \
+ D(unassert, T_UNASSERT, EXTENSION, DEPRECATED) /* 0 SVR4 */ \
+-D(sccs, T_SCCS, EXTENSION, IN_I | DEPRECATED) /* 0 SVR4? */
++D(sccs, T_SCCS, EXTENSION, IN_I) /* 0 SVR4? */
+
+ /* #sccs is synonymous with #ident. */
+ #define do_sccs do_ident
+diff -dubr gcc-4.4.7/libstdc++-v3/acinclude.m4 gcc-4.4.7.illumos/libstdc++-v3/acinclude.m4
+--- gcc-4.4.7/libstdc++-v3/acinclude.m4 2009-05-06 13:00:57.000000000 +0400
++++ gcc-4.4.7.illumos/libstdc++-v3/acinclude.m4 2012-09-27 21:11:00.000000000 +0400
+@@ -2444,7 +2444,11 @@
+ old_CXXFLAGS="$CXXFLAGS"
+
+ # Compile unoptimized.
+- CXXFLAGS='-O0 -S'
++ # XXX: On sparc, use the lowest practical CPU level # to avoid false positives
++ case $host in
++ sparc*-*solaris*) CXXFLAGGS='-O0 -S -mcpu=v8';;
++ *) CXXFLAGS='-O0 -S';;
++ esac
+
+ # Fake what AC_TRY_COMPILE does, without linking as this is
+ # unnecessary for a builtins test.
+diff -dubr gcc-4.4.7/libstdc++-v3/configure gcc-4.4.7.illumos/libstdc++-v3/configure
+--- gcc-4.4.7/libstdc++-v3/configure 2009-08-26 23:04:11.000000000 +0400
++++ gcc-4.4.7.illumos/libstdc++-v3/configure 2012-09-27 21:11:00.000000000 +0400
+@@ -14758,7 +14758,11 @@
+ old_CXXFLAGS="$CXXFLAGS"
+
+ # Compile unoptimized.
+- CXXFLAGS='-O0 -S'
++ # XXX: On sparc, use the lowest practical CPU level # to avoid false positives
++ case $host in
++ sparc*-*solaris*) CXXFLAGS='-O0 -S -mcpu=v8';;
++ *) CXXFLAGS='-O0 -S';;
++ esac
+
+ # Fake what AC_TRY_COMPILE does, without linking as this is
+ # unnecessary for a builtins test.
+Только в gcc-4.4.7.illumos/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char: 12.cc.orig
diff --git a/gcc-defaults/Makefile b/gcc-defaults/Makefile
new file mode 100644
index 0000000..9e87543
--- /dev/null
+++ b/gcc-defaults/Makefile
@@ -0,0 +1,5 @@
+include /usr/share/cibs/rules/ips.mk
+
+default-version := 4.4
+version := $(default-version)
+
diff --git a/gcc-defaults/cpp.p5m b/gcc-defaults/cpp.p5m
new file mode 100644
index 0000000..96df610
--- /dev/null
+++ b/gcc-defaults/cpp.p5m
@@ -0,0 +1,32 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/developer/gcc/cpp@$(ips-version)
+set name=pkg.summary value="GNU C preprocessor, default version"
+
+depend fmri=pkg:/developer/gcc/cpp-$(default-version) type=require
+
+link path=usr/bin/cpp target=cpp-$(default-version)
+link path=usr/share/man/man1/cpp.1 target=cpp-$(default-version).1
+
diff --git a/gcc-defaults/g++.p5m b/gcc-defaults/g++.p5m
new file mode 100644
index 0000000..255a0c3
--- /dev/null
+++ b/gcc-defaults/g++.p5m
@@ -0,0 +1,32 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/developer/gcc/g++@$(ips-version)
+set name=pkg.summary value="GNU C++ compiler, default version"
+
+depend fmri=pkg:/developer/gcc/g++-$(default-version) type=require
+
+link path=usr/bin/g++ target=g++-$(default-version)
+link path=usr/share/man/man1/g++.1 target=g++-$(default-version).1
+
diff --git a/gcc-defaults/gcc.p5m b/gcc-defaults/gcc.p5m
new file mode 100644
index 0000000..6e860eb
--- /dev/null
+++ b/gcc-defaults/gcc.p5m
@@ -0,0 +1,32 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/developer/gcc/gcc@$(ips-version)
+set name=pkg.summary value="GNU C compiler, default version"
+
+depend fmri=pkg:/developer/gcc/gcc-$(default-version) type=require
+
+link path=usr/bin/gcc target=gcc-$(default-version)
+link path=usr/share/man/man1/gcc.1 target=gcc-$(default-version).1
+
diff --git a/gcc-defaults/gfortran.p5m b/gcc-defaults/gfortran.p5m
new file mode 100644
index 0000000..a690ec2
--- /dev/null
+++ b/gcc-defaults/gfortran.p5m
@@ -0,0 +1,32 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/developer/gfortran/gfortran@$(ips-version)
+set name=pkg.summary value="GNU Frotran 95 compiler, default version"
+
+depend fmri=pkg:/developer/gcc/gfortran-$(default-version) type=require
+
+link path=usr/bin/gfortran target=gfortran-$(default-version)
+link path=usr/share/man/man1/gfortran.1 target=gfortran-$(default-version).1
+
diff --git a/gm4/Makefile b/gm4/Makefile
new file mode 100644
index 0000000..393aa1c
--- /dev/null
+++ b/gm4/Makefile
@@ -0,0 +1,26 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+#include /usr/share/cibs/rules/autoreconf.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/32.mk
+
+summary := GNU implementation of the traditional Unix macro processor
+license := GPL
+license-file := COPYING
+
+prefix := /usr/gnu
+
+build-depends += \
+ pkg:/library/libsigsegv
+
+
+home := http://www.gnu.org/software/m4/
+name := m4
+version := 1.4.16
+archive := $(name)-$(version).tar.bz2
+download := http://ftp.gnu.org/gnu/$(name)/$(archive)
+checksum := \
+ md5:8a7cef47fecab6272eb86a6be6363b2f \
+ sha1:0390c77780ab4cd65b07fe4e2d23e4e39769f967 \
+ sha256:42500c1fddd90bcb161e6b58de931d769929c495c124112d67428a23543db90c \
+ size:1258362
diff --git a/gm4/gm4.p5m b/gm4/gm4.p5m
new file mode 100644
index 0000000..72eb682
--- /dev/null
+++ b/gm4/gm4.p5m
@@ -0,0 +1,26 @@
+set name=pkg.fmri value=pkg:/developer/macro/gnu-$(name)@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+
+license $(license-file) license=$(license)
+
+<transform file path=usr/gnu/bin/(.+) -> \
+emit link path=usr/bin/g%<1> target=../gnu/bin/%<1> >
+
+<transform file path=usr/gnu/share/man/man1/(.+) -> \
+emit link path=usr/share/man/man1/g%<1> target=../../../gnu/share/man/man1/%<1>>
+
+
+dir path=usr
+dir path=usr/gnu
+dir path=usr/gnu/bin
+dir path=usr/gnu/share
+dir path=usr/gnu/share/man
+dir path=usr/gnu/share/man/man1
+dir path=usr/share/info
+file path=usr/gnu/bin/m4
+file path=usr/gnu/share/man/man1/m4.1
+file path=usr/share/info/m4.info
+file path=usr/share/info/m4.info-1
+file path=usr/share/info/m4.info-2
diff --git a/gmp/Makefile b/gmp/Makefile
new file mode 100644
index 0000000..eec700f
--- /dev/null
+++ b/gmp/Makefile
@@ -0,0 +1,28 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/32.mk
+include /usr/share/cibs/rules/64.mk
+
+summary := GNU library for arbitrary precision arithmetic
+license := LGPLv3
+license-file := COPYING.LIB
+
+build-depends += \
+ pkg:/developer/macro/gnu-m4
+
+configure-options += --enable-cxx
+
+# http://gmplib.org/manual/ABI-and-ISA.html
+configure-options.32 += ABI=32
+
+name := gmp
+home := http://www.gnu.org/software/$(name)/
+version := 5.0.5
+archive := $(name)-$(version).tar.bz2
+download := http://ftp.gnu.org/gnu/$(name)/$(archive)
+checksum := \
+ md5:041487d25e9c230b0c42b106361055fe \
+ sha1:12a662456033e21aed3e318aef4177f4000afe3b \
+ sha256:1f588aaccc41bb9aed946f9fe38521c26d8b290d003c5df807f65690f2aadec9 \
+ size:2052144
diff --git a/gmp/gmp.p5m b/gmp/gmp.p5m
new file mode 100644
index 0000000..4b4c139
--- /dev/null
+++ b/gmp/gmp.p5m
@@ -0,0 +1,30 @@
+set name=pkg.fmri value=pkg:/library/gmp@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+
+license $(license-file) license=$(license)
+
+dir path=usr
+dir path=usr/include
+dir path=usr/lib
+dir path=usr/lib/$(MACH64)
+dir path=usr/share
+dir path=usr/share/info
+file path=usr/include/gmp.h
+file path=usr/lib/$(MACH64)/libgmp.so.10.0.5
+file path=usr/lib/libgmp.so.10.0.5
+file path=usr/share/info/gmp.info
+file path=usr/share/info/gmp.info-1
+file path=usr/share/info/gmp.info-2
+link path=usr/lib/$(MACH64)/libgmp.so target=libgmp.so.10.0.5
+link path=usr/lib/$(MACH64)/libgmp.so.10 target=libgmp.so.10.0.5
+link path=usr/lib/libgmp.so target=libgmp.so.10.0.5
+link path=usr/lib/libgmp.so.10 target=libgmp.so.10.0.5
+
+# GMP 5.0 is upwardly source and binary compatible with 4.x,
+# and 3.x versions, except for applications that use
+# the semi-documented mpn_bdivmod function.
+link path=usr/lib/$(MACH64)/libgmp.so.3 target=libgmp.so.10
+link path=usr/lib/libgmp.so.3 target=libgmp.so.10
+
diff --git a/gmp/gmpxx.p5m b/gmp/gmpxx.p5m
new file mode 100644
index 0000000..d93a82b
--- /dev/null
+++ b/gmp/gmpxx.p5m
@@ -0,0 +1,20 @@
+set name=pkg.fmri value=pkg:/library/gmpxx@$(ips-version)
+set name=pkg.summary value="$(summary), C++ library"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+
+license $(license-file) license=$(license)
+
+depend fmri=pkg:/library/gmp@$(ips-version) type=incorporate
+
+dir path=usr
+dir path=usr/include
+dir path=usr/lib
+dir path=usr/lib/$(MACH64)
+file path=usr/include/gmpxx.h
+file path=usr/lib/$(MACH64)/libgmpxx.so.4.2.5
+file path=usr/lib/libgmpxx.so.4.2.5
+link path=usr/lib/$(MACH64)/libgmpxx.so target=libgmpxx.so.4.2.5
+link path=usr/lib/$(MACH64)/libgmpxx.so.4 target=libgmpxx.so.4.2.5
+link path=usr/lib/libgmpxx.so target=libgmpxx.so.4.2.5
+link path=usr/lib/libgmpxx.so.4 target=libgmpxx.so.4.2.5
diff --git a/gperf/Makefile b/gperf/Makefile
new file mode 100644
index 0000000..6d3ca23
--- /dev/null
+++ b/gperf/Makefile
@@ -0,0 +1,20 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/32.mk
+
+summary := GNU implementation of the traditional Unix macro processor
+license := GPL
+license-file := COPYING
+
+
+name := gperf
+home := http://www.gnu.org/software/$(name)/
+version := 3.0.4
+archive := $(name)-$(version).tar.gz
+download := http://ftp.gnu.org/gnu/$(name)/$(archive)
+checksum := \
+ md5:c1f1db32fb6598d6a93e6e88796a8632 \
+ sha1:e32d4aff8f0c730c9a56554377b2c6d82d0951b8 \
+ sha256:767112a204407e62dbc3106647cf839ed544f3cf5d0f0523aaa2508623aad63e \
+ size:983500
diff --git a/gperf/gperf.p5m b/gperf/gperf.p5m
new file mode 100644
index 0000000..3918850
--- /dev/null
+++ b/gperf/gperf.p5m
@@ -0,0 +1,18 @@
+set name=pkg.fmri value=pkg:/developer/$(name)@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+
+license $(license-file) license=$(license)
+
+dir path=usr
+dir path=usr/bin
+dir path=usr/share
+dir path=usr/share/man
+dir path=usr/share/man/man1
+dir path=usr/share/doc
+dir path=usr/share/info
+file path=usr/bin/gperf
+file path=usr/share/man/man1/gperf.1
+file path=usr/share/doc/gperf.html
+file path=usr/share/info/gperf.info
diff --git a/grep/Makefile b/grep/Makefile
new file mode 100644
index 0000000..ddc9201
--- /dev/null
+++ b/grep/Makefile
@@ -0,0 +1,26 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/32.mk
+
+
+summary := GNU grep, egrep and fgrep
+license := GPLv3
+license-file := COPYING
+
+build-depends += \
+ library/pcre \
+ compress/xz
+
+prefix := /usr/gnu
+
+name := grep
+home := http://www.gnu.org/software/$(name)/
+version := 2.14
+archive := $(name)-$(version).tar.xz
+download := http://ftp.gnu.org/gnu/$(name)/$(archive)
+checksum := \
+ md5:d4a3f03849d1e17ce56ab76aa5a24cab \
+ sha1:fb6ea404a0ef915334ca6212c7b517432ffe193e \
+ sha256:e70e801d4fbb16e761654a58ae48bf5020621c95c8e35bd864742577685872e1 \
+ size:1195640
diff --git a/grep/gnu-grep.p5m b/grep/gnu-grep.p5m
new file mode 100644
index 0000000..86f02f9
--- /dev/null
+++ b/grep/gnu-grep.p5m
@@ -0,0 +1,158 @@
+set name=pkg.fmri value=pkg:/text/gnu-$(name)@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+license $(license-file) license="$(license)"
+
+<transform file path=usr/gnu/bin/(.+) -> \
+emit link path=usr/bin/g%<1> target=../gnu/bin/%<1> >
+
+<transform file path=usr/gnu/share/man/man1/(.+) -> \
+emit link path=usr/share/man/man1/g%<1> target=../../../gnu/share/man/man1/%<1> >
+
+
+dir path=usr
+dir path=usr/gnu
+dir path=usr/gnu/bin
+dir path=usr/gnu/share
+dir path=usr/gnu/share/locale
+dir path=usr/gnu/share/locale/af
+dir path=usr/gnu/share/locale/af/LC_MESSAGES
+dir path=usr/gnu/share/locale/be
+dir path=usr/gnu/share/locale/be/LC_MESSAGES
+dir path=usr/gnu/share/locale/bg
+dir path=usr/gnu/share/locale/bg/LC_MESSAGES
+dir path=usr/gnu/share/locale/ca
+dir path=usr/gnu/share/locale/ca/LC_MESSAGES
+dir path=usr/gnu/share/locale/cs
+dir path=usr/gnu/share/locale/cs/LC_MESSAGES
+dir path=usr/gnu/share/locale/da
+dir path=usr/gnu/share/locale/da/LC_MESSAGES
+dir path=usr/gnu/share/locale/de
+dir path=usr/gnu/share/locale/de/LC_MESSAGES
+dir path=usr/gnu/share/locale/el
+dir path=usr/gnu/share/locale/el/LC_MESSAGES
+dir path=usr/gnu/share/locale/eo
+dir path=usr/gnu/share/locale/eo/LC_MESSAGES
+dir path=usr/gnu/share/locale/es
+dir path=usr/gnu/share/locale/es/LC_MESSAGES
+dir path=usr/gnu/share/locale/et
+dir path=usr/gnu/share/locale/et/LC_MESSAGES
+dir path=usr/gnu/share/locale/eu
+dir path=usr/gnu/share/locale/eu/LC_MESSAGES
+dir path=usr/gnu/share/locale/fi
+dir path=usr/gnu/share/locale/fi/LC_MESSAGES
+dir path=usr/gnu/share/locale/fr
+dir path=usr/gnu/share/locale/fr/LC_MESSAGES
+dir path=usr/gnu/share/locale/ga
+dir path=usr/gnu/share/locale/ga/LC_MESSAGES
+dir path=usr/gnu/share/locale/gl
+dir path=usr/gnu/share/locale/gl/LC_MESSAGES
+dir path=usr/gnu/share/locale/he
+dir path=usr/gnu/share/locale/he/LC_MESSAGES
+dir path=usr/gnu/share/locale/hr
+dir path=usr/gnu/share/locale/hr/LC_MESSAGES
+dir path=usr/gnu/share/locale/hu
+dir path=usr/gnu/share/locale/hu/LC_MESSAGES
+dir path=usr/gnu/share/locale/id
+dir path=usr/gnu/share/locale/id/LC_MESSAGES
+dir path=usr/gnu/share/locale/it
+dir path=usr/gnu/share/locale/it/LC_MESSAGES
+dir path=usr/gnu/share/locale/ja
+dir path=usr/gnu/share/locale/ja/LC_MESSAGES
+dir path=usr/gnu/share/locale/ko
+dir path=usr/gnu/share/locale/ko/LC_MESSAGES
+dir path=usr/gnu/share/locale/ky
+dir path=usr/gnu/share/locale/ky/LC_MESSAGES
+dir path=usr/gnu/share/locale/lt
+dir path=usr/gnu/share/locale/lt/LC_MESSAGES
+dir path=usr/gnu/share/locale/nb
+dir path=usr/gnu/share/locale/nb/LC_MESSAGES
+dir path=usr/gnu/share/locale/nl
+dir path=usr/gnu/share/locale/nl/LC_MESSAGES
+dir path=usr/gnu/share/locale/pa
+dir path=usr/gnu/share/locale/pa/LC_MESSAGES
+dir path=usr/gnu/share/locale/pl
+dir path=usr/gnu/share/locale/pl/LC_MESSAGES
+dir path=usr/gnu/share/locale/pt
+dir path=usr/gnu/share/locale/pt_BR
+dir path=usr/gnu/share/locale/pt_BR/LC_MESSAGES
+dir path=usr/gnu/share/locale/pt/LC_MESSAGES
+dir path=usr/gnu/share/locale/ro
+dir path=usr/gnu/share/locale/ro/LC_MESSAGES
+dir path=usr/gnu/share/locale/ru
+dir path=usr/gnu/share/locale/ru/LC_MESSAGES
+dir path=usr/gnu/share/locale/sk
+dir path=usr/gnu/share/locale/sk/LC_MESSAGES
+dir path=usr/gnu/share/locale/sl
+dir path=usr/gnu/share/locale/sl/LC_MESSAGES
+dir path=usr/gnu/share/locale/sr
+dir path=usr/gnu/share/locale/sr/LC_MESSAGES
+dir path=usr/gnu/share/locale/sv
+dir path=usr/gnu/share/locale/sv/LC_MESSAGES
+dir path=usr/gnu/share/locale/th
+dir path=usr/gnu/share/locale/th/LC_MESSAGES
+dir path=usr/gnu/share/locale/tr
+dir path=usr/gnu/share/locale/tr/LC_MESSAGES
+dir path=usr/gnu/share/locale/uk
+dir path=usr/gnu/share/locale/uk/LC_MESSAGES
+dir path=usr/gnu/share/locale/vi
+dir path=usr/gnu/share/locale/vi/LC_MESSAGES
+dir path=usr/gnu/share/locale/zh_CN
+dir path=usr/gnu/share/locale/zh_CN/LC_MESSAGES
+dir path=usr/gnu/share/locale/zh_TW
+dir path=usr/gnu/share/locale/zh_TW/LC_MESSAGES
+dir path=usr/gnu/share/man
+dir path=usr/gnu/share/man/man1
+dir path=usr/share
+dir path=usr/share/info
+file path=usr/gnu/bin/egrep
+file path=usr/gnu/bin/fgrep
+file path=usr/gnu/bin/grep
+file path=usr/gnu/share/locale/af/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/be/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/bg/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/ca/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/cs/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/da/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/de/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/el/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/eo/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/es/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/et/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/eu/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/fi/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/fr/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/ga/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/gl/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/he/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/hr/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/hu/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/id/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/it/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/ja/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/ko/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/ky/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/lt/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/nb/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/nl/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/pa/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/pl/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/pt_BR/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/pt/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/ro/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/ru/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/sk/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/sl/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/sr/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/sv/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/th/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/tr/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/uk/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/vi/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/zh_CN/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/locale/zh_TW/LC_MESSAGES/grep.mo
+file path=usr/gnu/share/man/man1/egrep.1
+file path=usr/gnu/share/man/man1/fgrep.1
+file path=usr/gnu/share/man/man1/grep.1
+file path=usr/share/info/grep.info
diff --git a/libsigsegv/Makefile b/libsigsegv/Makefile
new file mode 100644
index 0000000..407cc55
--- /dev/null
+++ b/libsigsegv/Makefile
@@ -0,0 +1,23 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/32.mk
+include /usr/share/cibs/rules/64.mk
+
+summary := handling page faults in user mode
+license := GPL
+license-file := COPYING
+
+
+configure-options += --enable-shared
+
+name := libsigsegv
+home := http://www.gnu.org/software/$(name)/
+version := 2.10
+archive := $(name)-$(version).tar.gz
+download := http://ftp.gnu.org/gnu/$(name)/$(archive)
+checksum := \
+ md5:7f96fb1f65b3b8cbc1582fb7be774f0f \
+ sha1:b75a647a9ebda70e7a3b33583efdd550e0eac094 \
+ sha256:8460a4a3dd4954c3d96d7a4f5dd5bc4d9b76f5754196aa245287553b26d2199a \
+ size:402279
diff --git a/libsigsegv/libsigsegv.p5m b/libsigsegv/libsigsegv.p5m
new file mode 100644
index 0000000..1577f64
--- /dev/null
+++ b/libsigsegv/libsigsegv.p5m
@@ -0,0 +1,19 @@
+
+set name=pkg.fmri value=pkg:/library/$(name)@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+license $(license-file) license="$(license)"
+
+
+dir path=usr
+dir path=usr/include
+dir path=usr/lib
+dir path=usr/lib/$(MACH64)
+file path=usr/include/sigsegv.h
+file path=usr/lib/$(MACH64)/libsigsegv.so.2.0.3
+file path=usr/lib/libsigsegv.so.2.0.3
+link path=usr/lib/$(MACH64)/libsigsegv.so target=libsigsegv.so.2.0.3
+link path=usr/lib/$(MACH64)/libsigsegv.so.2 target=libsigsegv.so.2.0.3
+link path=usr/lib/libsigsegv.so target=libsigsegv.so.2.0.3
+link path=usr/lib/libsigsegv.so.2 target=libsigsegv.so.2.0.3
diff --git a/libtool/Makefile b/libtool/Makefile
new file mode 100644
index 0000000..db1a2ac
--- /dev/null
+++ b/libtool/Makefile
@@ -0,0 +1,22 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+include /usr/share/cibs/rules/patch.mk
+include /usr/share/cibs/rules/autoreconf.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/32.mk
+include /usr/share/cibs/rules/64.mk
+
+summary := Generic library support script
+license := GPL
+license-file := COPYING
+
+home := http://www.gnu.org/software/libtool/
+name := libtool
+version := 2.4.2
+archive := $(name)-$(version).tar.gz
+download := http://ftp.gnu.org/gnu/$(name)/$(archive)
+checksum := \
+ md5:d2f3b7d4627e69e13514a40e72a24d50 \
+ sha1:22b71a8b5ce3ad86e1094e7285981cae10e6ff88 \
+ sha256:b38de44862a987293cd3d8dfae1c409d514b6c4e794ebc93648febf9afc38918 \
+ size:2632347
diff --git a/libtool/libltdl.p5m b/libtool/libltdl.p5m
new file mode 100644
index 0000000..6f2d8d4
--- /dev/null
+++ b/libtool/libltdl.p5m
@@ -0,0 +1,57 @@
+set name=pkg.fmri value=pkg:/library/libtool/libltdl@$(ips-version)
+set name=pkg.summary value="A system independent dlopen wrapper for GNU libtool"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+
+<transform dir file link path=.*/share/libtool/libltdl.* -> default facet.devel true>
+
+license libltdl/COPYING.LIB license=LGPL
+
+dir path=usr/share/libtool/libltdl
+dir path=usr/share/libtool/libltdl/libltdl
+dir path=usr/share/libtool/libltdl/loaders
+dir path=usr/include/libltdl
+file path=usr/share/libtool/libltdl/README
+file path=usr/share/libtool/libltdl/slist.c
+file path=usr/share/libtool/libltdl/Makefile.inc
+file path=usr/share/libtool/libltdl/lt__alloc.c
+file path=usr/share/libtool/libltdl/lt_dlloader.c
+file path=usr/share/libtool/libltdl/lt__dirent.c
+file path=usr/share/libtool/libltdl/aclocal.m4
+file path=usr/share/libtool/libltdl/argz_.h
+file path=usr/share/libtool/libltdl/configure.ac
+file path=usr/share/libtool/libltdl/configure
+file path=usr/share/libtool/libltdl/libltdl/lt__private.h
+file path=usr/share/libtool/libltdl/libltdl/lt_system.h
+file path=usr/share/libtool/libltdl/libltdl/lt__alloc.h
+file path=usr/share/libtool/libltdl/libltdl/lt_error.h
+file path=usr/share/libtool/libltdl/libltdl/lt__glibc.h
+file path=usr/share/libtool/libltdl/libltdl/lt__dirent.h
+file path=usr/share/libtool/libltdl/libltdl/lt__strl.h
+file path=usr/share/libtool/libltdl/libltdl/lt_dlloader.h
+file path=usr/share/libtool/libltdl/libltdl/slist.h
+file path=usr/share/libtool/libltdl/lt_error.c
+file path=usr/share/libtool/libltdl/ltdl.h
+file path=usr/share/libtool/libltdl/lt__strl.c
+file path=usr/share/libtool/libltdl/argz.c
+file path=usr/share/libtool/libltdl/Makefile.in
+file path=usr/share/libtool/libltdl/ltdl.c
+file path=usr/share/libtool/libltdl/Makefile.am
+file path=usr/share/libtool/libltdl/config-h.in
+file path=usr/share/libtool/libltdl/loaders/load_add_on.c
+file path=usr/share/libtool/libltdl/loaders/preopen.c
+file path=usr/share/libtool/libltdl/loaders/dlopen.c
+file path=usr/share/libtool/libltdl/loaders/dld_link.c
+file path=usr/share/libtool/libltdl/loaders/shl_load.c
+file path=usr/share/libtool/libltdl/loaders/dyld.c
+file path=usr/share/libtool/libltdl/loaders/loadlibrary.c
+file path=usr/share/libtool/libltdl/COPYING.LIB
+file path=usr/include/libltdl/lt_system.h
+file path=usr/include/libltdl/lt_dlloader.h
+file path=usr/include/libltdl/lt_error.h
+file path=usr/lib/libltdl.so.7.1.1
+link path=usr/lib/libltdl.so.7 target=libltdl.so.7.1.1
+link path=usr/lib/libltdl.so target=libltdl.so.7.1.1
+file path=usr/lib/$(MACH64)/libltdl.so.7.1.1
+link path=usr/lib/$(MACH64)/libltdl.so.7 target=libltdl.so.7.1.1
+link path=usr/lib/$(MACH64)/libltdl.so target=libltdl.so.7.1.1
diff --git a/libtool/libtool.p5m b/libtool/libtool.p5m
new file mode 100644
index 0000000..6c9e397
--- /dev/null
+++ b/libtool/libtool.p5m
@@ -0,0 +1,56 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/developer/build/$(name)@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+license $(license-file) license="$(license)"
+
+dir path=usr
+dir path=usr/share
+dir path=usr/share/libtool
+dir path=usr/share/libtool/config
+dir path=usr/share/info
+dir path=usr/share/aclocal
+dir path=usr/bin
+file path=usr/share/libtool/config/config.guess
+file path=usr/share/libtool/config/missing
+file path=usr/share/libtool/config/depcomp
+file path=usr/share/libtool/config/compile
+file path=usr/share/libtool/config/install-sh
+file path=usr/share/libtool/config/ltmain.sh
+file path=usr/share/libtool/config/config.sub
+file path=usr/share/info/libtool.info
+file path=usr/share/info/libtool.info-1
+file path=usr/share/aclocal/ltoptions.m4
+file path=usr/share/aclocal/ltversion.m4
+file path=usr/share/aclocal/lt~obsolete.m4
+file path=usr/share/aclocal/ltdl.m4
+file path=usr/share/aclocal/libtool.m4
+file path=usr/share/aclocal/argz.m4
+file path=usr/share/aclocal/ltsugar.m4
+file path=usr/bin/libtool
+file path=usr/bin/libtoolize
+
diff --git a/libtool/patches/bootstrap-no-go.patch b/libtool/patches/bootstrap-no-go.patch
new file mode 100644
index 0000000..1d8e98a
--- /dev/null
+++ b/libtool/patches/bootstrap-no-go.patch
@@ -0,0 +1,12 @@
+Description: Go is not supported before LT 2.4
+diff -dubr source/configure.ac nogo/configure.ac
+--- source/configure.ac 2011-10-17 14:17:17.000000000 +0400
++++ nogo/configure.ac 2012-10-13 00:29:40.973202656 +0400
+@@ -196,7 +196,6 @@
+ LT_LANG(C++)
+ LT_LANG(Fortran 77)
+ LT_LANG(Fortran)
+-LT_LANG(Go)
+ LT_LANG(Java)
+ LT_LANG(Windows Resource)
+
diff --git a/libunistring/Makefile b/libunistring/Makefile
new file mode 100644
index 0000000..775e0ff
--- /dev/null
+++ b/libunistring/Makefile
@@ -0,0 +1,24 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/32.mk
+include /usr/share/cibs/rules/64.mk
+
+
+summary := manipulate Unicode strings and C strings according to the Unicode standard.
+license := LGPL
+license-file := COPYING.LIB
+
+# build-depends +=
+# build-conflicts +=
+
+home := http://www.gnu.org/software/libunistring/
+name := libunistring
+version := 0.9.3
+archive := $(name)-$(version).tar.gz
+download := http://ftp.gnu.org/gnu/$(name)/$(archive)
+checksum := \
+ md5:db8eca3b64163abadf8c40e5cecc261f \
+ sha1:e1ea13c24a30bc93932d19eb5ad0704a618506dd \
+ sha256:610d3ec724fbdaa654afe3cff20b9f4d504be3fd296fded2e0f7f764041006a3 \
+ size:2555215
diff --git a/libunistring/libunistring.p5m b/libunistring/libunistring.p5m
new file mode 100644
index 0000000..e40114b
--- /dev/null
+++ b/libunistring/libunistring.p5m
@@ -0,0 +1,87 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/library/libunistring@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+license $(license-file) license="$(license)"
+
+
+dir path=usr
+dir path=usr/include
+dir path=usr/include/unistring
+dir path=usr/lib
+dir path=usr/lib/$(MACH64)
+dir path=usr/share
+dir path=usr/share/doc
+dir path=usr/share/doc/libunistring
+dir path=usr/share/info
+file path=usr/include/uniname.h
+file path=usr/include/unitypes.h
+file path=usr/include/unistr.h
+file path=usr/include/unistring/stdbool.h
+file path=usr/include/unistring/cdefs.h
+file path=usr/include/unistring/version.h
+file path=usr/include/unistring/stdint.h
+file path=usr/include/unistring/woe32dll.h
+file path=usr/include/unistring/iconveh.h
+file path=usr/include/unistring/localcharset.h
+file path=usr/include/unistring/inline.h
+file path=usr/include/unilbrk.h
+file path=usr/include/unistdio.h
+file path=usr/include/unictype.h
+file path=usr/include/uninorm.h
+file path=usr/include/unicase.h
+file path=usr/include/uniwidth.h
+file path=usr/include/uniwbrk.h
+file path=usr/include/uniconv.h
+file path=usr/lib/libunistring.so.0.1.2
+file path=usr/lib/$(MACH64)/libunistring.so.0.1.2
+file path=usr/share/doc/libunistring/libunistring_3.html
+file path=usr/share/doc/libunistring/libunistring_10.html
+file path=usr/share/doc/libunistring/libunistring_7.html
+file path=usr/share/doc/libunistring/libunistring_14.html
+file path=usr/share/doc/libunistring/libunistring_18.html
+file path=usr/share/doc/libunistring/libunistring_19.html
+file path=usr/share/doc/libunistring/libunistring_2.html
+file path=usr/share/doc/libunistring/libunistring_abt.html
+file path=usr/share/doc/libunistring/libunistring_11.html
+file path=usr/share/doc/libunistring/libunistring_6.html
+file path=usr/share/doc/libunistring/libunistring_15.html
+file path=usr/share/doc/libunistring/libunistring_8.html
+file path=usr/share/doc/libunistring/libunistring_toc.html
+file path=usr/share/doc/libunistring/libunistring_13.html
+file path=usr/share/doc/libunistring/libunistring_4.html
+file path=usr/share/doc/libunistring/libunistring_17.html
+file path=usr/share/doc/libunistring/libunistring_1.html
+file path=usr/share/doc/libunistring/libunistring_12.html
+file path=usr/share/doc/libunistring/libunistring_5.html
+file path=usr/share/doc/libunistring/libunistring_16.html
+file path=usr/share/doc/libunistring/libunistring_9.html
+file path=usr/share/info/libunistring.info
+link path=usr/lib/libunistring.so target=libunistring.so.0.1.2
+link path=usr/lib/libunistring.so.0 target=libunistring.so.0.1.2
+link path=usr/lib/$(MACH64)/libunistring.so target=libunistring.so.0.1.2
+link path=usr/lib/$(MACH64)/libunistring.so.0 target=libunistring.so.0.1.2
diff --git a/mpfr/Makefile b/mpfr/Makefile
new file mode 100644
index 0000000..cde4099
--- /dev/null
+++ b/mpfr/Makefile
@@ -0,0 +1,24 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/32.mk
+include /usr/share/cibs/rules/64.mk
+
+summary := GNU library for multiple-precision floating-point computations with correct rounding
+license := LGPLv3
+license-file := COPYING.LESSER
+
+build-depends += \
+ pkg:/library/gmp \
+ pkg:/compress/xz \
+
+name := mpfr
+home := http://www.mpfr.org/
+version := 3.1.1
+archive := $(name)-$(version).tar.xz
+download := http://ftp.gnu.org/gnu/$(name)/$(archive)
+checksum := \
+ md5:91d51c41fcf2799e4ee7a7126fc95c17 \
+ sha1:7527c322b91fe8e6055ead551e1b46b9f1712ccd \
+ sha256:49d5acc32dbeec30a8e26af9c19845763d63feacb8bf97b12876008419f5a17a \
+ size:1071688
diff --git a/mpfr/mpfr.p5m b/mpfr/mpfr.p5m
new file mode 100644
index 0000000..202bbd7
--- /dev/null
+++ b/mpfr/mpfr.p5m
@@ -0,0 +1,26 @@
+set name=pkg.fmri value=pkg:/library/$(name)@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source-url value="$(download)"
+
+license $(license-file) license="$(license)"
+
+dir path=usr
+dir path=usr/include
+dir path=usr/lib
+dir path=usr/lib/$(MACH64)
+dir path=usr/share
+dir path=usr/share/info
+file path=usr/include/mpf2mpfr.h
+file path=usr/include/mpfr.h
+file path=usr/lib/$(MACH64)/libmpfr.so.4.1.1
+file path=usr/lib/libmpfr.so.4.1.1
+file path=usr/share/info/mpfr.info
+link path=usr/lib/$(MACH64)/libmpfr.so target=libmpfr.so.4.1.1
+link path=usr/lib/$(MACH64)/libmpfr.so.4 target=libmpfr.so.4.1.1
+link path=usr/lib/libmpfr.so target=libmpfr.so.4.1.1
+link path=usr/lib/libmpfr.so.4 target=libmpfr.so.4.1.1
+
+# Transitional links:
+link path=usr/lib/libmpfr.so.1 target=libmpfr.so.4
+link path=usr/lib/$(MACH64)/libmpfr.so.1 target=libmpfr.so.4
diff --git a/openpgm/Makefile b/openpgm/Makefile
new file mode 100644
index 0000000..534f229
--- /dev/null
+++ b/openpgm/Makefile
@@ -0,0 +1,26 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+include /usr/share/cibs/rules/patch.mk
+include /usr/share/cibs/rules/autoreconf.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/32.mk
+include /usr/share/cibs/rules/64.mk
+
+configure := $(sourcedir)/openpgm/pgm/configure
+
+summary := open source implementation of the Pragmatic General Multicast (PGM) specification in RFC 3208
+license := LGPL
+license-file := openpgm/pgm/COPYING
+
+# build-conflicts +=
+
+home := https://code.google.com/p/openpgm/
+name := libpgm
+version := 5.1.118
+archive := $(name)-$(version).tar.bz2
+download := https://openpgm.googlecode.com/files/$(archive)
+checksum := \
+ md5:f561caa7902220eff4d1e2004ba5eedc \
+ sha1:76888874a938c26870096105249990c5fdfa9ec2 \
+ sha256:7806ab830e3993db77590877fa8133037a86fb6f22e99418a5c7075d93d3aa8b \
+ size:857603
diff --git a/openpgm/libpgm.p5m b/openpgm/libpgm.p5m
new file mode 100644
index 0000000..573ec84
--- /dev/null
+++ b/openpgm/libpgm.p5m
@@ -0,0 +1,68 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+
+set name=pkg.fmri value=pkg:/library/libpgm@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+license $(license-file) license="$(license)"
+
+dir path=usr
+dir path=usr/lib
+dir path=usr/lib/$(MACH64)
+dir path=usr/lib/$(MACH64)/pkgconfig
+dir path=usr/lib/pkgconfig
+dir path=usr/include
+dir path=usr/include/pgm-5.1
+dir path=usr/include/pgm-5.1/pgm
+file path=usr/lib/$(MACH64)/libpgm-5.1.so.0.0.118
+file path=usr/lib/$(MACH64)/pkgconfig/openpgm-5.1.pc
+file path=usr/lib/libpgm-5.1.so.0.0.118
+file path=usr/lib/pkgconfig/openpgm-5.1.pc
+file path=usr/include/pgm-5.1/pgm/msgv.h
+file path=usr/include/pgm-5.1/pgm/time.h
+file path=usr/include/pgm-5.1/pgm/skbuff.h
+file path=usr/include/pgm-5.1/pgm/messages.h
+file path=usr/include/pgm-5.1/pgm/macros.h
+file path=usr/include/pgm-5.1/pgm/zinttypes.h
+file path=usr/include/pgm-5.1/pgm/winint.h
+file path=usr/include/pgm-5.1/pgm/packet.h
+file path=usr/include/pgm-5.1/pgm/list.h
+file path=usr/include/pgm-5.1/pgm/atomic.h
+file path=usr/include/pgm-5.1/pgm/pgm.h
+file path=usr/include/pgm-5.1/pgm/engine.h
+file path=usr/include/pgm-5.1/pgm/in.h
+file path=usr/include/pgm-5.1/pgm/tsi.h
+file path=usr/include/pgm-5.1/pgm/error.h
+file path=usr/include/pgm-5.1/pgm/version.h
+file path=usr/include/pgm-5.1/pgm/wininttypes.h
+file path=usr/include/pgm-5.1/pgm/types.h
+file path=usr/include/pgm-5.1/pgm/socket.h
+file path=usr/include/pgm-5.1/pgm/gsi.h
+file path=usr/include/pgm-5.1/pgm/mem.h
+file path=usr/include/pgm-5.1/pgm/if.h
+link path=usr/lib/libpgm-5.1.so.0 target=libpgm-5.1.so.0.0.118
+link path=usr/lib/$(MACH64)/libpgm-5.1.so.0 target=libpgm-5.1.so.0.0.118
+link path=usr/lib/$(MACH64)/libpgm.so target=libpgm-5.1.so.0.0.118
+link path=usr/lib/libpgm.so target=libpgm-5.1.so.0.0.118
diff --git a/openpgm/patches/000_ifr_netmask.patch b/openpgm/patches/000_ifr_netmask.patch
new file mode 100644
index 0000000..20fc94e
--- /dev/null
+++ b/openpgm/patches/000_ifr_netmask.patch
@@ -0,0 +1,15 @@
+Index: libpgm-5.1.118-1~dfsg/openpgm/pgm/configure.ac
+===================================================================
+--- libpgm-5.1.118-1~dfsg.orig/openpgm/pgm/configure.ac 2011-09-27 17:59:08.000000000 +0000
++++ libpgm-5.1.118-1~dfsg/openpgm/pgm/configure.ac 2012-06-06 20:21:04.407905323 +0000
+@@ -184,8 +184,8 @@
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <sys/types.h>
+ #include <ifaddrs.h>]],
+- [[struct ifaddrs ifa;
+-ifa.ifa_netmask = (struct sockaddr*)0;]])],
++ [[struct ifreq ifr;
++ifr.ifr_netmask = (struct sockaddr*)0;]])],
+ [AC_MSG_RESULT([yes])
+ CFLAGS="$CFLAGS -DCONFIG_HAVE_IFR_NETMASK"],
+ [AC_MSG_RESULT([no])])
diff --git a/openpgm/patches/010_ifa_flags.patch b/openpgm/patches/010_ifa_flags.patch
new file mode 100644
index 0000000..f362703
--- /dev/null
+++ b/openpgm/patches/010_ifa_flags.patch
@@ -0,0 +1,107 @@
+Descriptions: on illumos ifa_flags is uint64_t
+Bug: http://code.google.com/p/openpgm/issues/detail?id=25
+
+diff -dubr libpgm-5.1.118/openpgm/pgm/getifaddrs.c libpgm-5.1.118.flags/openpgm/pgm/getifaddrs.c
+--- libpgm-5.1.118/openpgm/pgm/getifaddrs.c 2011-09-27 21:59:08.000000000 +0400
++++ libpgm-5.1.118.flags/openpgm/pgm/getifaddrs.c 2012-09-24 05:25:16.404925472 +0400
+@@ -813,6 +813,68 @@
+ return TRUE;
+ }
+ #endif /* _WIN32 */
++#if defined( HAVE_GETIFADDRS )
++static
++bool
++_pgm_getifaddrs (
++ struct pgm_ifaddrs_t** restrict ifap,
++ pgm_error_t** restrict error
++ )
++{
++ struct ifaddrs *_ifap, *_ifa;
++ const int e = getifaddrs (&_ifap);
++ if (-1 == e) {
++ char errbuf[1024];
++ pgm_set_error (error,
++ PGM_ERROR_DOMAIN_IF,
++ pgm_error_from_errno (errno),
++ _("getifaddrs failed: %s"),
++ pgm_strerror_s (errbuf, sizeof (errbuf), errno));
++ return FALSE;
++ }
++
++ int n = 0, k = 0;
++ for (_ifa = _ifap; _ifa; _ifa = _ifa->ifa_next)
++ ++n;
++
++ struct _pgm_ifaddrs_t* ifa = pgm_new0 (struct _pgm_ifaddrs_t, n);
++ struct _pgm_ifaddrs_t* ift = ifa;
++ for (_ifa = _ifap; _ifa; _ifa = _ifa->ifa_next)
++ {
++/* ensure IP adapter */
++ if (NULL == _ifa->ifa_addr ||
++ (_ifa->ifa_addr->sa_family != AF_INET &&
++ _ifa->ifa_addr->sa_family != AF_INET6) )
++ {
++ continue;
++ }
++
++/* address */
++ ift->_ifa.ifa_addr = (void*)&ift->_addr;
++ memcpy (ift->_ifa.ifa_addr, _ifa->ifa_addr, pgm_sockaddr_len (_ifa->ifa_addr));
++
++/* name */
++ ift->_ifa.ifa_name = ift->_name;
++ pgm_strncpy_s (ift->_ifa.ifa_name, IF_NAMESIZE, _ifa->ifa_name, _TRUNCATE);
++
++/* flags */
++ ift->_ifa.ifa_flags = _ifa->ifa_flags;
++
++/* netmask */
++ ift->_ifa.ifa_netmask = (void*)&ift->_netmask;
++ memcpy (ift->_ifa.ifa_netmask, _ifa->ifa_netmask, pgm_sockaddr_len (_ifa->ifa_netmask));
++
++/* next */
++ if (k++ < (n - 1)) {
++ ift->_ifa.ifa_next = (struct pgm_ifaddrs_t*)(ift + 1);
++ ift = (struct _pgm_ifaddrs_t*)(ift->_ifa.ifa_next);
++ }
++ }
++ freeifaddrs (_ifap);
++ *ifap = (struct pgm_ifaddrs_t*)ifa;
++ return TRUE;
++}
++#endif /* HAVE_GETIFADDRS */
+
+ /* returns TRUE on success setting ifap to a linked list of system interfaces,
+ * returns FALSE on failure and sets error appropriately.
+@@ -830,17 +892,7 @@
+ (void*)ifap, (void*)error);
+
+ #ifdef CONFIG_HAVE_GETIFADDRS
+- const int e = getifaddrs ((struct ifaddrs**)ifap);
+- if (-1 == e) {
+- char errbuf[1024];
+- pgm_set_error (error,
+- PGM_ERROR_DOMAIN_IF,
+- pgm_error_from_errno (errno),
+- _("getifaddrs failed: %s"),
+- pgm_strerror_s (errbuf, sizeof (errbuf), errno));
+- return FALSE;
+- }
+- return TRUE;
++ return _pgm_getifaddrs (ifap, error);
+ #elif defined(CONFIG_TARGET_WINE)
+ return _pgm_getadaptersinfo (ifap, error);
+ #elif defined(_WIN32)
+@@ -861,11 +913,7 @@
+ {
+ pgm_return_if_fail (NULL != ifa);
+
+-#ifdef CONFIG_HAVE_GETIFADDRS
+- freeifaddrs ((struct ifaddrs*)ifa);
+-#else
+ pgm_free (ifa);
+-#endif
+ }
+
+ /* eof */
+Только в libpgm-5.1.118.flags/openpgm/pgm: getifaddrs.c.orig
diff --git a/pcre/Makefile b/pcre/Makefile
new file mode 100644
index 0000000..610fcec
--- /dev/null
+++ b/pcre/Makefile
@@ -0,0 +1,22 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/32.mk
+include /usr/share/cibs/rules/64.mk
+
+summary := Perl Compatible Regular Expressions
+license := BSD
+license-file := LICENCE
+
+# build-conflicts +=
+
+home := http://www.pcre.org/
+name := pcre
+version := 8.31
+archive := $(name)-$(version).tar.bz2
+download := http://sourceforge.net/projects/$(name)/files/$(name)/$(version)/$(archive)/download
+checksum := \
+ md5:1c9a276af932b5599157f96e945391f0 \
+ sha1:1132276bb8bea7cb0662210fb812fbef7791621f \
+ sha256:5778a02535473c7ee7838ea598c19f451e63cf5eec0bf0307a688301c9078c3c \
+ size:1257162
diff --git a/pcre/pcre.p5m b/pcre/pcre.p5m
new file mode 100644
index 0000000..b016eff
--- /dev/null
+++ b/pcre/pcre.p5m
@@ -0,0 +1,109 @@
+set name=pkg.fmri value=pkg:/library/pcre@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+license $(license-file) license="$(license)"
+
+<transform file dir link path=.*pcre-config.* -> default facet.devel true>
+
+dir path=usr
+dir path=usr/include
+dir path=usr/lib
+dir path=usr/lib/$(MACH64)
+dir path=usr/lib/$(MACH64)/pkgconfig
+dir path=usr/lib/pkgconfig
+dir path=usr/share
+dir path=usr/share/man
+dir path=usr/share/man/man1
+dir path=usr/share/man/man3
+file path=usr/bin/$(MACH64)/pcre-config
+file path=usr/bin/pcre-config
+file path=usr/include/pcre_scanner.h
+file path=usr/include/pcre_stringpiece.h
+file path=usr/include/pcre.h
+file path=usr/include/pcreposix.h
+file path=usr/lib/$(MACH64)/libpcre.so.1.0.1
+file path=usr/lib/$(MACH64)/libpcreposix.so.0.0.1
+file path=usr/lib/$(MACH64)/pkgconfig/libpcre.pc
+file path=usr/lib/$(MACH64)/pkgconfig/libpcreposix.pc
+file path=usr/lib/libpcre.so.1.0.1
+file path=usr/lib/libpcreposix.so.0.0.1
+file path=usr/lib/pkgconfig/libpcre.pc
+file path=usr/lib/pkgconfig/libpcreposix.pc
+file path=usr/share/man/man1/pcre-config.1
+file path=usr/share/man/man3/pcre_assign_jit_stack.3
+file path=usr/share/man/man3/pcre_compile.3
+file path=usr/share/man/man3/pcre_compile2.3
+file path=usr/share/man/man3/pcre_config.3
+file path=usr/share/man/man3/pcre_copy_named_substring.3
+file path=usr/share/man/man3/pcre_copy_substring.3
+file path=usr/share/man/man3/pcre_dfa_exec.3
+file path=usr/share/man/man3/pcre_exec.3
+file path=usr/share/man/man3/pcre_free_study.3
+file path=usr/share/man/man3/pcre_free_substring_list.3
+file path=usr/share/man/man3/pcre_free_substring.3
+file path=usr/share/man/man3/pcre_fullinfo.3
+file path=usr/share/man/man3/pcre_get_named_substring.3
+file path=usr/share/man/man3/pcre_get_stringnumber.3
+file path=usr/share/man/man3/pcre_get_stringtable_entries.3
+file path=usr/share/man/man3/pcre_get_substring_list.3
+file path=usr/share/man/man3/pcre_get_substring.3
+file path=usr/share/man/man3/pcre_jit_stack_alloc.3
+file path=usr/share/man/man3/pcre_jit_stack_free.3
+file path=usr/share/man/man3/pcre_maketables.3
+file path=usr/share/man/man3/pcre_pattern_to_host_byte_order.3
+file path=usr/share/man/man3/pcre_refcount.3
+file path=usr/share/man/man3/pcre_study.3
+file path=usr/share/man/man3/pcre_utf16_to_host_byte_order.3
+file path=usr/share/man/man3/pcre_version.3
+file path=usr/share/man/man3/pcre.3
+file path=usr/share/man/man3/pcre16.3
+file path=usr/share/man/man3/pcreapi.3
+file path=usr/share/man/man3/pcrebuild.3
+file path=usr/share/man/man3/pcrecallout.3
+file path=usr/share/man/man3/pcrecompat.3
+file path=usr/share/man/man3/pcrejit.3
+file path=usr/share/man/man3/pcrelimits.3
+file path=usr/share/man/man3/pcrematching.3
+file path=usr/share/man/man3/pcrepartial.3
+file path=usr/share/man/man3/pcrepattern.3
+file path=usr/share/man/man3/pcreperform.3
+file path=usr/share/man/man3/pcreposix.3
+file path=usr/share/man/man3/pcreprecompile.3
+file path=usr/share/man/man3/pcresample.3
+file path=usr/share/man/man3/pcrestack.3
+file path=usr/share/man/man3/pcresyntax.3
+file path=usr/share/man/man3/pcreunicode.3
+link path=usr/lib/$(MACH64)/libpcre.so target=libpcre.so.1.0.1
+link path=usr/lib/$(MACH64)/libpcre.so.1 target=libpcre.so.1.0.1
+link path=usr/lib/$(MACH64)/libpcreposix.so target=libpcreposix.so.0.0.1
+link path=usr/lib/$(MACH64)/libpcreposix.so.0 target=libpcreposix.so.0.0.1
+link path=usr/lib/libpcre.so target=libpcre.so.1.0.1
+link path=usr/lib/libpcre.so.1 target=libpcre.so.1.0.1
+link path=usr/lib/libpcreposix.so target=libpcreposix.so.0.0.1
+link path=usr/lib/libpcreposix.so.0 target=libpcreposix.so.0.0.1
+link path=usr/share/man/man3/pcre16_assign_jit_stack.3 target=pcre_assign_jit_stack.3
+link path=usr/share/man/man3/pcre16_compile.3 target=pcre_compile.3
+link path=usr/share/man/man3/pcre16_compile2.3 target=pcre_compile2.3
+link path=usr/share/man/man3/pcre16_config.3 target=pcre_config.3
+link path=usr/share/man/man3/pcre16_copy_named_substring.3 target=pcre_copy_named_substring.3
+link path=usr/share/man/man3/pcre16_copy_substring.3 target=pcre_copy_substring.3
+link path=usr/share/man/man3/pcre16_dfa_exec.3 target=pcre_dfa_exec.3
+link path=usr/share/man/man3/pcre16_exec.3 target=pcre_exec.3
+link path=usr/share/man/man3/pcre16_free_study.3 target=pcre_free_study.3
+link path=usr/share/man/man3/pcre16_free_substring_list.3 target=pcre_free_substring_list.3
+link path=usr/share/man/man3/pcre16_free_substring.3 target=pcre_free_substring.3
+link path=usr/share/man/man3/pcre16_fullinfo.3 target=pcre_fullinfo.3
+link path=usr/share/man/man3/pcre16_get_named_substring.3 target=pcre_get_named_substring.3
+link path=usr/share/man/man3/pcre16_get_stringnumber.3 target=pcre_get_stringnumber.3
+link path=usr/share/man/man3/pcre16_get_stringtable_entries.3 target=pcre_get_stringtable_entries.3
+link path=usr/share/man/man3/pcre16_get_substring_list.3 target=pcre_get_substring_list.3
+link path=usr/share/man/man3/pcre16_get_substring.3 target=pcre_get_substring.3
+link path=usr/share/man/man3/pcre16_jit_stack_alloc.3 target=pcre_jit_stack_alloc.3
+link path=usr/share/man/man3/pcre16_jit_stack_free.3 target=pcre_jit_stack_free.3
+link path=usr/share/man/man3/pcre16_maketables.3 target=pcre_maketables.3
+link path=usr/share/man/man3/pcre16_pattern_to_host_byte_order.3 target=pcre_pattern_to_host_byte_order.3
+link path=usr/share/man/man3/pcre16_refcount.3 target=pcre_refcount.3
+link path=usr/share/man/man3/pcre16_study.3 target=pcre_study.3
+link path=usr/share/man/man3/pcre16_utf16_to_host_byte_order.3 target=pcre_utf16_to_host_byte_order.3
+link path=usr/share/man/man3/pcre16_version.3 target=pcre_version.3
diff --git a/pcre/pcrecpp.p5m b/pcre/pcrecpp.p5m
new file mode 100644
index 0000000..e2eb275
--- /dev/null
+++ b/pcre/pcrecpp.p5m
@@ -0,0 +1,21 @@
+
+set name=pkg.fmri value=pkg:/library/pcrecpp@$(ips-version)
+set name=pkg.summary value="$(summary), C++ library"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+license $(license-file) license="$(license)"
+
+depend fmri=pkg:/library/pcre@$(ips-version) type=incorporate
+
+file path=usr/include/pcrecpp.h
+file path=usr/include/pcrecpparg.h
+file path=usr/lib/$(MACH64)/libpcrecpp.so.0.0.0
+file path=usr/lib/$(MACH64)/pkgconfig/libpcrecpp.pc
+file path=usr/lib/libpcrecpp.so.0.0.0
+file path=usr/lib/pkgconfig/libpcrecpp.pc
+file path=usr/share/man/man3/pcrecpp.3
+link path=usr/lib/$(MACH64)/libpcrecpp.so target=libpcrecpp.so.0.0.0
+link path=usr/lib/$(MACH64)/libpcrecpp.so.0 target=libpcrecpp.so.0.0.0
+link path=usr/lib/libpcrecpp.so target=libpcrecpp.so.0.0.0
+link path=usr/lib/libpcrecpp.so.0 target=libpcrecpp.so.0.0.0
+
diff --git a/symlinks/Makefile b/symlinks/Makefile
new file mode 100644
index 0000000..7b78b60
--- /dev/null
+++ b/symlinks/Makefile
@@ -0,0 +1,31 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/git.mk
+include /usr/share/cibs/rules/patch.mk
+include /usr/share/cibs/rules/32.mk
+
+
+summary := scan/change symbolic links
+license := PD-like
+license-file := symlinks.license
+
+home := http://packages.debian.org/source/sid/symlinks
+name := symlinks
+version := 1.4
+git-url := http://anonscm.debian.org/git/users/joachim-guest/symlinks.git
+
+# Tag, commit or branch. Passed to git checkout as is:
+# git checkout $(git-checkout)
+git-checkout := upstream/$(version)
+
+configure-%-stamp:
+ touch $@
+
+build-%-stamp: download-stamp patch-stamp
+ [ -d "$(builddir)" ] || mkdir -p "$(builddir)"
+ $(CC) $(CFLAGS) $(sourcedir)/symlinks.c -o $(builddir)/symlinks
+ touch $@
+
+install-%-stamp: build-%-stamp
+ mkdir -p $(destdir)/$(bindir)
+ cp $(builddir)/symlinks $(destdir)/$(bindir)
+ touch $@
diff --git a/symlinks/patches/largefile.diff b/symlinks/patches/largefile.diff
new file mode 100644
index 0000000..c62b3ca
--- /dev/null
+++ b/symlinks/patches/largefile.diff
@@ -0,0 +1,20 @@
+Description: Fix warning on large files
+ On files > 2GB on 32-bit systems, symlinks would print annyoing error
+ messages "Value too large for defined data type".
+Author: Eduard Bloch <edi@gmx.de>
+Bug-Debian: http://bugs.debian.org/167122
+
+---
+ symlinks.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+--- a/symlinks.c
++++ b/symlinks.c
+@@ -1,3 +1,7 @@
++#define _FILE_OFFSET_BITS 64
++#define _LARGEFILE_SOURCE
++#define _LARGEFILE64_SOURCE
++
+ #include <unistd.h>
+ #ifndef _POSIX_SOURCE
+ #define _POSIX_SOURCE
diff --git a/symlinks/patches/manpage.diff b/symlinks/patches/manpage.diff
new file mode 100644
index 0000000..ab28a38
--- /dev/null
+++ b/symlinks/patches/manpage.diff
@@ -0,0 +1,15 @@
+Description: Fix section of the symlinks manpage
+Author: Sven Joachim <svenjoac@gmx.de>
+
+---
+ symlinks.8 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/symlinks.8
++++ b/symlinks.8
+@@ -1,4 +1,4 @@
+-.TH SYMLINKS 8 "October 2008" "Version 1.4"
++.TH SYMLINKS 1 "October 2008" "Version 1.4"
+
+ .SH NAME
+ symlinks \- symbolic link maintenance utility
diff --git a/symlinks/symlinks.license b/symlinks/symlinks.license
new file mode 100644
index 0000000..3d6574c
--- /dev/null
+++ b/symlinks/symlinks.license
@@ -0,0 +1,21 @@
+Copyright (C) 2009 Mark Lord, freely distributable
+
+Hi,
+
+My "symlinks" utility pre-dates the "open source licensing" fad
+by a number of years. Just to clarify, this is 100% freeware,
+written entirely by myself. The intent is to use it to detect
+missing/obsolete symlink targets on an installed distro, before
+creating the "gold" (or "final") release discs.
+
+Use and distribute and modify as you (or anyone else) sees fit.
+There have no formal restrictions or requirements whatsoever
+regarding distribution of either binaries or source code,
+whether modified or original.
+
+Cheers
+--
+Mark Lord
+Real-Time Remedies Inc.
+mlord@pobox.com
+
diff --git a/symlinks/symlinks.p5m b/symlinks/symlinks.p5m
new file mode 100644
index 0000000..762f42a
--- /dev/null
+++ b/symlinks/symlinks.p5m
@@ -0,0 +1,10 @@
+set name=pkg.fmri value=pkg:/file/$(name)@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source-url value="$(git-url)"
+
+license $(license-file) license=$(license)
+
+file path=usr/bin/symlinks
+file symlinks.8 path=usr/share/man/man1/symlinks.1
+
diff --git a/zeromq/Makefile b/zeromq/Makefile
new file mode 100644
index 0000000..5b20f6d
--- /dev/null
+++ b/zeromq/Makefile
@@ -0,0 +1,32 @@
+include /usr/share/cibs/rules/ips.mk
+include /usr/share/cibs/rules/archive.mk
+#include /usr/share/cibs/rules/patch.mk
+#include /usr/share/cibs/rules/autoreconf.mk
+include /usr/share/cibs/rules/autotools.mk
+include /usr/share/cibs/rules/32.mk
+include /usr/share/cibs/rules/64.mk
+
+
+summary := The ZeroMQ messaging library
+license := LGPL
+license-file := COPYING.LESSER
+
+build-depends += \
+ pkg:/library/libpgm
+
+#/usr/gcc/4.3/bin/gcc -m32 -luuid -o test
+#ld: warning: file libdladm.so.1: required by /usr/lib/libdlpi.so.1, not found
+configure-env += LDFLAGS="-L/lib"
+
+configure-options += --with-system-pgm
+
+home := http://www.zeromq.org
+name := zeromq
+version := 2.2.0
+archive := $(name)-$(version).tar.gz
+download := http://download.zeromq.org/$(archive)
+checksum := \
+ md5:1b11aae09b19d18276d0717b2ea288f6 \
+ sha1:e4bc024c33d3e62f658640625e061ce4e8bd1ff1 \
+ sha256:43904aeb9ea6844f72ca02e4e53bf1d481a1a0264e64979da761464e88604637 \
+ size:1900378
diff --git a/zeromq/zeromq.p5m b/zeromq/zeromq.p5m
new file mode 100644
index 0000000..aa78982
--- /dev/null
+++ b/zeromq/zeromq.p5m
@@ -0,0 +1,27 @@
+set name=pkg.fmri value=pkg:/library/zeromq@$(ips-version)
+set name=pkg.summary value="$(summary)"
+set name=info.upstream-url value="$(home)"
+set name=info.source_url value="$(download)"
+license $(license-file) license="$(license)"
+
+dir path=usr
+dir path=usr/include
+dir path=usr/lib
+dir path=usr/lib/$(MACH64)
+dir path=usr/lib/$(MACH64)/pkgconfig
+dir path=usr/lib/pkgconfig
+dir path=usr/share
+dir path=usr/share/man
+dir path=usr/share/man/man3
+dir path=usr/share/man/man7
+file path=usr/include/zmq.h
+file path=usr/include/zmq.hpp
+file path=usr/include/zmq_utils.h
+file path=usr/lib/$(MACH64)/libzmq.so.1.0.1
+file path=usr/lib/$(MACH64)/pkgconfig/libzmq.pc
+file path=usr/lib/libzmq.so.1.0.1
+file path=usr/lib/pkgconfig/libzmq.pc
+link path=usr/lib/$(MACH64)/libzmq.so target=libzmq.so.1.0.1
+link path=usr/lib/$(MACH64)/libzmq.so.1 target=libzmq.so.1.0.1
+link path=usr/lib/libzmq.so target=libzmq.so.1.0.1
+link path=usr/lib/libzmq.so.1 target=libzmq.so.1.0.1