diff --git a/srcpkgs/gcc/files/c89.1 b/srcpkgs/gcc/files/c89.1 new file mode 100644 index 00000000000..3ed984da33f --- /dev/null +++ b/srcpkgs/gcc/files/c89.1 @@ -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:". diff --git a/srcpkgs/gcc/files/c89.sh b/srcpkgs/gcc/files/c89.sh new file mode 100644 index 00000000000..52d6d45431b --- /dev/null +++ b/srcpkgs/gcc/files/c89.sh @@ -0,0 +1,2 @@ +#!/bin/sh +exec /usr/bin/cc -std=c89 "$@" diff --git a/srcpkgs/gcc/files/c99.1 b/srcpkgs/gcc/files/c99.1 new file mode 100644 index 00000000000..d368f1a874b --- /dev/null +++ b/srcpkgs/gcc/files/c99.1 @@ -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:". diff --git a/srcpkgs/gcc/files/c99.sh b/srcpkgs/gcc/files/c99.sh new file mode 100644 index 00000000000..15cab47c748 --- /dev/null +++ b/srcpkgs/gcc/files/c99.sh @@ -0,0 +1,2 @@ +#!/bin/sh +exec /usr/bin/cc -std=c99 "$@" diff --git a/srcpkgs/gcc/gcc-c++.template b/srcpkgs/gcc/gcc-c++.template index 34b563d589a..531923c36ae 100644 --- a/srcpkgs/gcc/gcc-c++.template +++ b/srcpkgs/gcc/gcc-c++.template @@ -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 diff --git a/srcpkgs/gcc/gcc-objc++.template b/srcpkgs/gcc/gcc-objc++.template index 473b5b97977..932133dec88 100644 --- a/srcpkgs/gcc/gcc-objc++.template +++ b/srcpkgs/gcc/gcc-objc++.template @@ -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 diff --git a/srcpkgs/gcc/gcc-objc.template b/srcpkgs/gcc/gcc-objc.template index 3b64bac90d8..4376c7475c6 100644 --- a/srcpkgs/gcc/gcc-objc.template +++ b/srcpkgs/gcc/gcc-objc.template @@ -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 diff --git a/srcpkgs/gcc/libgcc.template b/srcpkgs/gcc/libgcc.template index 47c2e9a8cb1..d374c09f5ff 100644 --- a/srcpkgs/gcc/libgcc.template +++ b/srcpkgs/gcc/libgcc.template @@ -5,6 +5,7 @@ long_desc="${long_desc} This package contains the GCC shared library." +noverifyrdeps=yes replaces="gcc-libgcc>=0" do_install() diff --git a/srcpkgs/gcc/libstdc++.template b/srcpkgs/gcc/libstdc++.template index db21253f052..b0fcb202047 100644 --- a/srcpkgs/gcc/libstdc++.template +++ b/srcpkgs/gcc/libstdc++.template @@ -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 diff --git a/srcpkgs/gcc/template b/srcpkgs/gcc/template index 97f832b816f..4ab9df2bfd4 100644 --- a/srcpkgs/gcc/template +++ b/srcpkgs/gcc/template @@ -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 }