[aspectc-user] AspectC++ self-dependency for compile
Antonio S. de A. Terceiro
asaterceiro at inf.ufrgs.br
Wed Oct 20 15:51:31 CEST 2004
Olaf Spinczyk escreveu isso aĆ:
> Hello Antonio,
>
> Antonio S. de A. Terceiro wrote:
> >Hello all,
> >
> >This discussion started at AspectC++ Bugzilla. Lokk at bug #202 for
> >further information:
> >http://www.aspectc.org/bugzilla/show_bug.cgi?id=202
> >
> >As Matthias asked me, I'm posting here my last additional comment there:
> >
> >
> >>I realized that I'd need a precompiled ac++, but my point is that ac++
> >>*should not* depend on itself to compile.
> >>
> >>One example of negative consequences of this self-dependency: one of my
> >>goals
> >>compiling AspectC++ is to package it for Debian. But if we need a
> >>non-basic,
> >>precompiled binary to compile AspectC++, it we'll be included only in i386
> >>architecture, when it could be included in all 11 architectures! And I'm
> >>not
> >>sure if Debian policies would permit a package with a self-dependency to
> >>compile.
>
> it is common pratice that compilers are implemented in the language they
> implement. gcc is also compiled with gcc. Obviously it is no problem to
> have gcc in Debian Linux.
Yes, that's true.
But gcc (and a C compiler in general) is a core part of any system
itself, which is not ac++ case. At least while people don't design
aspect-oriented operating system. ;-)
> Regarding your practical problems to port Puma/ac++ to a new platform,
> you can work in two steps:
>
> 1. On a supported platform: enter the Puma directory and execute "make
> weave TARGET=..."
> 2. Copy the woven sources to your target machine and compile with a
> normal "make TARGET=...". If the sources are already woven, the make
> file will not call ac++ on the target platform.
> 3. After compiling the Puma library, compile ac++. Only the Puma library
> uses aspects. ac++ is pure C++ code.
OK.
> We could also provide the woven sources on the AspectC++ web page, but
> the woven sources are significantly bigger. If there are people who
> regularly want to port ac++ to platforms, which we don't support
> directly, we would do that. We could also send you these sources
> directly to you or even extend our list of supported platforms. Just
> tell us where you would like to use ac++ and we'll find a solution together.
Debian policies says that source packages must distribute unmodified
upstream distributed source (Debian-specific stuff is generated by a patch).
So, if you (the AspectC++ team) could distribute already-woven sources
as another option when downloading, it would be very valuable.
Even if bigger (how much bigger are we talking about? ;-)).
> >>What are the crosscuttin concerns in libPuma? Are they important
> >>enough to make a self dependencie like that? is they are not
> >>functional (regarding libPuma functionality), could they be moved to
> >>another Makefile target, e.g. `make with-debug`, perhaps using the
> >>newly-built ac++ to build a special version of libPuma?
>
> g++ and MS VC++ specific language extensions are implemented by aspects
> in Puma. They are not only used for debugging purposes. Without these
> aspects Puma would only be able to parse 100% ISO C++ compliant code,
> which is difficult to find in the real world ;-).
Hum ... right.
> >>Again: any plans on using GNU auto* tools? ;-)
>
> No, not yet.
When (and if) you do, I could (or I would want) help if that.
> Best regards,
>
> Olaf
Cheers,
--
Antonio S. de A. Terceiro <asaterceiro at inf.ufrgs.br>
http://www.inf.ufrgs.br/~asaterceiro
More information about the aspectc-user
mailing list