aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lang/cparser/Makefile33
-rw-r--r--lang/cparser/distinfo4
-rw-r--r--lang/cparser/files/patch-firm_machine-c2
-rw-r--r--lang/cparser/pkg-descr13
4 files changed, 31 insertions, 21 deletions
diff --git a/lang/cparser/Makefile b/lang/cparser/Makefile
index 7fa482c95be3..04c2f95b06a8 100644
--- a/lang/cparser/Makefile
+++ b/lang/cparser/Makefile
@@ -1,33 +1,44 @@
-# New ports collection makefile for: libFIRM
-# Date created: 22 Nov 2008
-# Whom: Christoph Mallon <christoph.mallon@gmx.de>
-#
+# Created by: Christoph Mallon <christoph.mallon@gmx.de>
# $FreeBSD$
-#
PORTNAME= cparser
-PORTVERSION= 0.9.13
+PORTVERSION= 0.9.14
CATEGORIES= lang devel
MASTER_SITES= SF
-MAINTAINER= armin@frozen-zone.org
+MAINTAINER= sperber@FreeBSD.org
COMMENT= A C99 compiler using libFIRM as backend
LICENSE= GPLv2
-LIB_DEPENDS= firm.1:${PORTSDIR}/devel/libfirm
+LIB_DEPENDS= firm:${PORTSDIR}/devel/libfirm
USE_BZIP2= yes
USE_GMAKE= yes
+USES= pkgconfig
PLIST_FILES= bin/cparser
+MAN1= cparser.1
+
+BUILDDIR= optimize
+INSTALL_CMD= ${INSTALL_PROGRAM}
+
+OPTIONS_DEFINE= DEBUG
+
.include <bsd.port.pre.mk>
-MAN1= cparser.1
+.if ${PORT_OPTIONS:MDEBUG}
+BUILDDIR= debug
+INSTALL_CMD= ${INSTALL_PROGRAM:S,-s,,}
+.else
+post-patch:
+ @${REINPLACE_CMD} -e 's/^variant ?= debug/variant ?= optimize/' \
+ ${WRKSRC}/Makefile
+.endif
do-install:
- @${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/build/cparser ${PREFIX}/bin
- @${INSTALL_MAN} ${INSTALL_WRKSRC}/cparser.1 ${MAN1PREFIX}/man/man1
+ @${INSTALL_CMD} ${WRKSRC}/build/${BUILDDIR}/cparser ${PREFIX}/bin
+ @${INSTALL_MAN} ${WRKSRC}/cparser.1 ${MAN1PREFIX}/man/man1
.include <bsd.port.post.mk>
diff --git a/lang/cparser/distinfo b/lang/cparser/distinfo
index 5c10c7b64f96..3889f9c6eeed 100644
--- a/lang/cparser/distinfo
+++ b/lang/cparser/distinfo
@@ -1,2 +1,2 @@
-SHA256 (cparser-0.9.13.tar.bz2) = ccc44a3b230beb841404a40cc792650accee2fa45ac7ad14820f792364e02dbc
-SIZE (cparser-0.9.13.tar.bz2) = 190912
+SHA256 (cparser-0.9.14.tar.bz2) = 017a83d72c14e723573520bc92d78c988485e4086a15ce42e532561951510792
+SIZE (cparser-0.9.14.tar.bz2) = 193745
diff --git a/lang/cparser/files/patch-firm_machine-c b/lang/cparser/files/patch-firm_machine-c
index b78b83788e82..1bd40cae9f37 100644
--- a/lang/cparser/files/patch-firm_machine-c
+++ b/lang/cparser/files/patch-firm_machine-c
@@ -4,7 +4,7 @@ By rdivacky@, enables cparser to work out of the box on amd64
--- driver/firm_machine.c 2011-04-14 16:51:46.000000000 +0200
+++ driver/firm_machine.c 2011-08-12 22:04:40.000000000 +0200
-@@ -77,12 +77,18 @@
+@@ -108,12 +108,18 @@
machine_triple_t *firm_get_host_machine(void)
{
machine_triple_t *machine = XMALLOC(machine_triple_t);
diff --git a/lang/cparser/pkg-descr b/lang/cparser/pkg-descr
index 6f81c2800442..5373a5213e27 100644
--- a/lang/cparser/pkg-descr
+++ b/lang/cparser/pkg-descr
@@ -1,9 +1,8 @@
-cparser is a C compiler, which can parse C90 and C99 as well as many GCC and
-some MSVC extensions. It also provides many useful analyses for warnings. It
-uses libFIRM, which provides an SSA-based intermediate representation in form of
-explicit dependency graphs, for optimization and code generation. Parsing is
-done with a handwritten recursive descent parser. The AST representation is
-straightforward, so it can be used for other purposes than code generation.
+cparser is a recursive descent C99 parser written in C99. It contains lexer,
+parser, constructs an AST and does semantic analysis. It is currently used as
+a frontend to the libFirm intermediate representation, but can be used
+independently. cparser is able to bootstrap itself. It currently uses an
+external preprocessor.
* fast recursive descent parser, parses C90 and C99
* handles most GCC extensions, e.g. __attribute__, inline assembler,
@@ -21,4 +20,4 @@ straightforward, so it can be used for other purposes than code generation.
* compiler driver compatible with GCC (-fxxx, -Wxxx, -M, ...)
* uses libFIRM for optimization and code generation (devel/libfirm)
-WWW: http://www.libfirm.org
+WWW: http://sourceforge.net/projects/cparser/