Skip site navigation (1)Skip section navigation (2)
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>