gcc: bumprev for ppl ABI change, misc fixes:

- Added c[89]9 wrappers and manpages from NetBSD.
- Do not run fixincludes.
- Remove python stuff that only gets installed when python is found.
This commit is contained in:
Juan RP 2010-10-28 00:44:07 +02:00
parent 335ec3ebfd
commit 0d002ffbe7
10 changed files with 197 additions and 3 deletions

80
srcpkgs/gcc/files/c89.1 Normal file
View file

@ -0,0 +1,80 @@
.\" $NetBSD: c89.1,v 1.2 2008/04/30 13:10:50 martin Exp $
.\"
.\" Copyright (c) 1999 The NetBSD Foundation, Inc.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd January 5, 1999
.Dt C89 1
.Os
.Sh NAME
.Nm c89
.Nd ANSI (1989) C compiler
.Sh SYNOPSIS
.Nm
.Op Fl pedantic
.Op Fl pedantic-errors
.Op Fl D_ANSI_SOURCE
.Op options ...
.Sh DESCRIPTION
Calls the C compiler (cc) with the given
.Ar options ,
using a C language environment compatible with the
.St -ansiC
specification.
.Pp
This includes proper handling of trigraphs,
disabling non-ANSI compiler features (such as
.Ar asm ,
.Ar inline ,
.Ar typeof ,
and the $ character in identifiers),
and definition of the preprocessor symbol
.Ev __STRICT_ANSI__ .
.Pp
The following options are available:
.Bl -tag -width -pedantic-errorsxx
.It Fl pedantic
Issue extra warnings defined by ANSI for use of non-ANSI features.
.It Fl pedantic-errors
Issue errors instead of warnings that normally would be presented by
.Fl pedantic .
.It Fl D_ANSI_SOURCE
Tell the system header file set to use an ANSI-conformant "clean" namespace.
.El
.Sh SEE ALSO
.Xr cc 1
.Sh STANDARDS
.Nm
conforms to
.St -p1003.2-92 .
.Sh HISTORY
.Nm
appeared in
.Nx 1.4 .
.Sh BUGS
Since
.Nm
is a shell wrapper script to
.Ar cc ,
compile errors are prefixed by "cc:".

2
srcpkgs/gcc/files/c89.sh Normal file
View file

@ -0,0 +1,2 @@
#!/bin/sh
exec /usr/bin/cc -std=c89 "$@"

81
srcpkgs/gcc/files/c99.1 Normal file
View file

@ -0,0 +1,81 @@
.\" $NetBSD: c99.1,v 1.3 2010/05/14 01:53:28 joerg Exp $
.\"
.\" Copyright (c) 1999-2008 The NetBSD Foundation, Inc.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd September 24, 2008
.Dt C99 1
.Os
.Sh NAME
.Nm c99
.Nd ANSI (1999) C compiler
.Sh SYNOPSIS
.Nm
.Op Fl pedantic
.Op Fl pedantic-errors
.Op Fl D_ANSI_SOURCE
.Op options ...
.Sh DESCRIPTION
Calls the C compiler (cc) with the given
.Ar options ,
using a C language environment compatible with the
.St -isoC-99
specification.
.Pp
This includes
inline functions, variable-length arrays, support for one-line
comments beginning with //,
disabling non-ANSI compiler features (such as
.Ar asm ,
.Ar typeof ,
and the $ character in identifiers),
and definition of the preprocessor symbol
.Ev __STRICT_ANSI__ .
.Pp
The following options are available:
.Bl -tag -width -pedantic-errorsxx
.It Fl pedantic
Issue extra warnings defined by ANSI for use of non-ANSI features.
.It Fl pedantic-errors
Issue errors instead of warnings that normally would be presented by
.Fl pedantic .
.It Fl D_ANSI_SOURCE
Tell the system header file set to use an ANSI-conformant "clean" namespace.
.El
.Sh SEE ALSO
.Xr cc 1
.Sh STANDARDS
.Nm
conforms to
.St -p1003.2-92 .
.Sh HISTORY
.Nm
first appeared in
.Nx 5.0 .
.Sh BUGS
Since
.Nm
is a shell wrapper script to
.Ar cc ,
compile errors are prefixed by "cc:".

2
srcpkgs/gcc/files/c99.sh Normal file
View file

@ -0,0 +1,2 @@
#!/bin/sh
exec /usr/bin/cc -std=c99 "$@"

View file

@ -5,6 +5,8 @@ long_desc="${long_desc}
This package contains GCC C++ support."
revision=1
Add_dependency run glibc
Add_dependency run zlib
Add_dependency run cloog-ppl

View file

@ -5,6 +5,8 @@ long_desc="${long_desc}
This package contains GCC Objective-C++ support."
revision=1
Add_dependency run glibc
Add_dependency run zlib
Add_dependency run cloog-ppl

View file

@ -5,6 +5,8 @@ long_desc="${long_desc}
This package contains GCC Objective-C support."
revision=1
Add_dependency run glibc
Add_dependency run zlib
Add_dependency run cloog-ppl

View file

@ -5,6 +5,7 @@ long_desc="${long_desc}
This package contains the GCC shared library."
noverifyrdeps=yes
replaces="gcc-libgcc>=0"
do_install()

View file

@ -6,6 +6,7 @@ long_desc="${long_desc}
This package contains a rewritten standard compliant GCC Standard
C++ library."
revision=1
replaces="gcc-libstdc++>=0"
Add_dependency run glibc

View file

@ -1,6 +1,7 @@
# Template build file for 'gcc'
pkgname=gcc
version=4.5.1
revision=1
distfiles="http://ftp.gnu.org/pub/gnu/gcc/gcc-$version/gcc-$version.tar.bz2"
build_style=gnu_configure
configure_args="--enable-clocale=gnu --disable-bootstrap
@ -44,17 +45,23 @@ Add_dependency build binutils-devel
Add_dependency build cloog-ppl-devel
Add_dependency build libelf-devel
# As specified in the LFS book, disable installing libiberty.
pre_configure()
{
sed -i 's/install_to_$(INSTALL_DEST) //' $wrksrc/libiberty/Makefile.in
# As specified in the LFS book, disable installing libiberty.
sed -i 's/install_to_$(INSTALL_DEST) //' ${wrksrc}/libiberty/Makefile.in
# "Add" ppl-0.11 compatibility
sed -i "/ppl_minor_version=/s#10#11#" ${wrksrc}/configure
# Do not run fixincludes
sed -i 's@\./fixinc\.sh@-c true@' ${wrksrc}/gcc/Makefile.in
}
pre_install()
{
if [ "$xbps_machine" = "x86_64" ]; then
mkdir -p ${SRCPKGDESTDIR}/usr/lib
cd ${SRCPKGDESTDIR}/usr && ln -sv lib lib64 && cd ${wrksrc}
cd ${SRCPKGDESTDIR}/usr && ln -s lib lib64 && cd ${wrksrc}
fi
}
@ -67,4 +74,18 @@ post_install()
mkdir -p ${DESTDIR}/lib
cd ${DESTDIR}/lib && ln -sf ../usr/bin/cpp .
rm -f ${DESTDIR}/usr/lib64
# Remove all python scripts in libdir.
rm -f ${DESTDIR}/usr/lib/*.py
# Remove more python stuff.
if [ -d ${DESTDIR}/usr/share/gcc-${version}/python ]; then
rm -rf ${DESTDIR}/usr/share/gcc-${version}/python
fi
# Install c89 and c99 wrappers and its manpages, from NetBSD.
for f in c89 c99; do
install -m755 ${FILESDIR}/${f}.sh ${DESTDIR}/usr/bin/${f}
done
install -m644 ${FILESDIR}/*.1 ${DESTDIR}/usr/share/man/man1
}