Date: Thu, 17 Mar 2011 11:35:03 +0100 From: Michel Talon <talon@lpthe.jussieu.fr> To: Ruslan Mahmatkhanov <cvs-src@yandex.ru>, freebsd ports <freebsd-ports@freebsd.org> Subject: Re: Deprecation campaign Message-ID: <20110317103503.GA30872@lpthe.jussieu.fr> In-Reply-To: <4D818EFD.3060602@yandex.ru> References: <20110316233326.GA68341@lpthe.jussieu.fr> <4D818EFD.3060602@yandex.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Mar 17, 2011 at 07:33:01AM +0300, Ruslan Mahmatkhanov wrote: > 17.03.2011 02:33, Michel Talon ??????????: > >Hello, > > > >i noted that ucpp is deprecated because it cannot be fetched > >from original site. This is an alternate c preprocessor > >supposed to be better than the gnu one, written by Thomas > >Pornin. I happen to know the guy (*), so i searched if > >the soft had been moved, and indeed it can be found here: > >http://code.google.com/p/ucpp/ > >I hope you may reconsider your decision. > > > >With my best regards > > > >(*) i think he now runs a crypto firm in the Boston area. > > I've tried to adopt the port to new distfile.. > It builds but doesn't produce ucpp binary. > Maybe you or anybody can look what's wrong. > > -- > Regards, > Ruslan I have looked at the question. First point is that the preprocessor is intended to be run as part of other tools so does not produce a stand alone preprocessor. However one may compile it to produce a stand alone executable. Then one encounters a problem, it does not compile because there are macros STD_MACROS and STD_ASSERT which are undefined. I have checked the problem is the same under Linux, maybe this works under Solaris or whatever. I have replaced that by /usr/include, but assertions don't work, so i have disabled them. Anyways with the following patch, one gets a preprocessor ucpp that seems to work OK. niobe% diff Makefile.new Makefile 81c81 < STAND_ALONE = -DSTAND_ALONE --- > #STAND_ALONE = -DSTAND_ALONE niobe% diff cpp.c.new cpp.c 68,69c68,69 < static char *system_macros_def[] = { "/usr/include", 0 }; < static char *system_assertions_def[] = { "", 0 }; --- > static char *system_macros_def[] = { STD_MACROS, 0 }; > static char *system_assertions_def[] = { STD_ASSERT, 0 }; 2367c2367 < int system_macros = 0, standard_assertions = 0; --- > int system_macros = 0, standard_assertions = 1; The *.new files are the files i have modified. -- Michel TALON
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110317103503.GA30872>