From owner-freebsd-current@FreeBSD.ORG Thu Jan 17 19:00:17 2008 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F1C616A531 for ; Thu, 17 Jan 2008 19:00:17 +0000 (UTC) (envelope-from mail@sysfault.org) Received: from smtprelay10.ispgateway.de (smtprelay10.ispgateway.de [80.67.29.24]) by mx1.freebsd.org (Postfix) with ESMTP id 3D1F113C504 for ; Thu, 17 Jan 2008 19:00:17 +0000 (UTC) (envelope-from mail@sysfault.org) Received: from [89.182.9.65] (helo=medusa.sysfault.org) by smtprelay10.ispgateway.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from ) id 1JFZyF-000522-0H for freebsd-current@freebsd.org; Thu, 17 Jan 2008 20:00:11 +0100 Received: from localhost ([127.0.0.1] helo=medusa.sysfault.org) by medusa.sysfault.org with esmtp (Exim 4.69 (FreeBSD)) (envelope-from ) id 1JFZyJ-00028F-NM for freebsd-current@freebsd.org; Thu, 17 Jan 2008 20:00:17 +0100 Received: (from marcus@localhost) by medusa.sysfault.org (8.14.2/8.14.2/Submit) id m0HJ0DMr008192 for freebsd-current@freebsd.org; Thu, 17 Jan 2008 20:00:13 +0100 (CET) (envelope-from marcus) Date: Thu, 17 Jan 2008 20:00:11 +0100 From: Marcus von Appen To: freebsd-current@freebsd.org Message-ID: <20080117190011.GA1094@medusa.sysfault.org> Mail-Followup-To: freebsd-current@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="0OAP2g/MAC+5xKAE" Content-Disposition: inline User-Agent: Mutt/1.5.17 (2007-11-01) X-Spam-Score: -4.4 (----) X-Df-Sender: 936934 Subject: BSD cflow available X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Marcus von Appen List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Jan 2008 19:00:17 -0000 --0OAP2g/MAC+5xKAE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, after standards@ already knows about it, I'm going to present my ongoing effort on bringing a BSD licensed cflow to FreeBSD on this list now. Being required as an extension to the POSIX standard, cflow is a C language flowgraph generator for C, assember, lex and yacc sourcecode. Although there are two other cflow implementations available, those suffer from various problems. GNU cflow being GPLv3 licensed and thus not easily adoptable to the main source tree (I think) and devel/cflow being declared as Public Domain. Besides lacking a decent compliance to the required POSIX standard both suffer from various other issues such as incorrect source code handling for K&R code, missing implementations for assembler, lex and yacc code and a huge code complexity, that makes them slow and hard to enhance. The presented cflow implementation in contrast currently supports C source code of nearly any style and basic assembler flowgraph generators for nasm and a GNU as subset. Additionally it comes with features such as the exclusion of certain standard subsets for C code (POSIX, ANSI, C99, GCC), graphviz dot graph generation (thanks for pointing that out, das@) and more. Lex and yacc support are currently not available, but will be implemented later on. Those interested in it are invited to test it out and blame me for any error that occurs. You can get the most recent version either using the bzr repository at http://sysfault.org/freebsd/cflow or by downloading on of the source packages available at http://sysfault.org/freebsd/. Once downloaded (and extracted), you can build it using make. Afterwards you will find the assembler flowgraph generator under asmgraph/, the C flowgraph generator under cgraph/: ./asmgraph/asmgraph test/posixtest_nasm.s ./cgraph/cgraph test/posixtest.c As I did not integrate it into a local src/ tree for now, use both programs directly, not the cflow.sh shell script. Regards Marcus --0OAP2g/MAC+5xKAE Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (FreeBSD) iEYEARECAAYFAkePpbsACgkQo/JpszXavhzhTQCeLkjKHbU7xZp2Q7/i5oRgmaWo ZFUAnRzl0pxvi0Qxwhf0xpgtRCq63XBB =foI5 -----END PGP SIGNATURE----- --0OAP2g/MAC+5xKAE--