aboutsummaryrefslogtreecommitdiff
path: root/lang/cparser
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2008-11-24 09:33:54 +0000
committerMartin Wilke <miwi@FreeBSD.org>2008-11-24 09:33:54 +0000
commita7c1ab27b10f619c2c97316a8e4d5f011ad37460 (patch)
tree8c3c4d9887cbecb1cdef53f6942e79fe16f889a2 /lang/cparser
parent5f88f7d83153a4216c14a84bd4ec9e9586fc4552 (diff)
downloadports-a7c1ab27b10f619c2c97316a8e4d5f011ad37460.tar.gz
ports-a7c1ab27b10f619c2c97316a8e4d5f011ad37460.zip
Notes
Diffstat (limited to 'lang/cparser')
-rw-r--r--lang/cparser/Makefile29
-rw-r--r--lang/cparser/distinfo3
-rw-r--r--lang/cparser/pkg-descr24
3 files changed, 56 insertions, 0 deletions
diff --git a/lang/cparser/Makefile b/lang/cparser/Makefile
new file mode 100644
index 000000000000..c436f5d2e6e1
--- /dev/null
+++ b/lang/cparser/Makefile
@@ -0,0 +1,29 @@
+# New ports collection makefile for: libFIRM
+# Date created: 22 Nov 2008
+# Whom: Christoph Mallon <christoph.mallon@gmx.de>
+#
+# $FreeBSD$
+#
+
+PORTNAME= cparser
+PORTVERSION= 0.9.6
+CATEGORIES= lang devel
+MASTER_SITES= http://www.info.uni-karlsruhe.de/software/libfirm/
+
+MAINTAINER= christoph.mallon@gmx.de
+COMMENT= A C99 compiler using libFIRM as backend
+
+RUN_DEPENDS= ${LOCALBASE}/lib/libfirm.a:${PORTSDIR}/devel/libfirm
+LIB_DEPENDS= firm.0:${PORTSDIR}/devel/libfirm
+
+USE_BZIP2= yes
+USE_GMAKE= yes
+
+PLIST_FILES= bin/cparser
+
+.include <bsd.port.pre.mk>
+
+do-install:
+ @${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/build/cparser ${PREFIX}/bin
+
+.include <bsd.port.post.mk>
diff --git a/lang/cparser/distinfo b/lang/cparser/distinfo
new file mode 100644
index 000000000000..3c1ad60cac9a
--- /dev/null
+++ b/lang/cparser/distinfo
@@ -0,0 +1,3 @@
+MD5 (cparser-0.9.6.tar.bz2) = 3efd0e233292038642ec6c0de065bca5
+SHA256 (cparser-0.9.6.tar.bz2) = cb81ff4838aeb39b7692906d7872ccb9c389326136745da9f3dd602fab092149
+SIZE (cparser-0.9.6.tar.bz2) = 179038
diff --git a/lang/cparser/pkg-descr b/lang/cparser/pkg-descr
new file mode 100644
index 000000000000..40555d4c0af6
--- /dev/null
+++ b/lang/cparser/pkg-descr
@@ -0,0 +1,24 @@
+cparser is a C compiler, which can parse C89 and C99 as well as many GCC and
+some MSVC extensions. It also provides many useful analyses for warnings. It
+uses libFIRM, which provides a 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.
+
+* fast recursive descent parser, parses C89 and C99
+* handles most GCC extensions, f.e. __attribute__, inline assembler,
+ computed goto, statement expressions
+* handles some MSVC extensions (like declspec)
+* provides many useful warnings
+ * format string checker for char and wchar_t
+ * unreachable code analysis
+ * missing return statement check, which pinpoints exact location(s)
+ * write-only/-self variables detection
+ * missing and redundant forward declarations
+ * most warnings switches, which are available for GCC
+* provides concise messages in case of error, for example when encountering
+ misspelled typenames
+* compiler driver compatible with with GCC (-fxxx, -Wxxx, -M, ...)
+* uses libFIRM for optimization and code generation (devel/libfirm)
+
+WWW: http://www.libfirm.org