texmacs-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Texmacs-dev] Current work, nogencc and tree in generic programming


From: Joris van der Hoeven
Subject: Re: [Texmacs-dev] Current work, nogencc and tree in generic programming
Date: Sun, 28 Apr 2002 16:45:28 +0200 (MET DST)

On Sat, 27 Apr 2002, David Allouche wrote:

> While you were away, I ported TeXmacs to plain C++. See:
> http://ddaa10.free.fr/texmacs/patch/1.0.0.1
> The release 1.0.0.1-nogencc-0.5 is functionnaly equivalent to the official 
> 1.0.0.1 release, but the compilation and installation system is broken: 
> currently it only allows MIXED compilation and is only tested on 
> i386-gnu-linux.

I am testing your changes. I am sorry for my blunt answer to your 
anti-gencc manifesto, but I am also sorry that you did not understand
the reason behind this answer: I meant to make it clear that a profound
change of this type was not a priority at that moment, nor for me,
nor should it have been for you. You have thus put me into a delicate
position: I do not have time to do the necessary work for checking
all what you have done right now and to make the necessary changes
in view of inclusion in the main distribution. This has nothing to
do with the pertinence of your analysis and the usefulness of your work,
for which I do thank you very much. The point is just that I may not
have the necessary time in the next two/three months to adopt the changes.
This is a loss of time for you too, because it supposes you to maintain
a distinct version of TeXmacs for a while (even though I won't make many
changes in the C++ code in the near future). Also, I might have spared
you some time as to further changes which will be necessary.

After this sermon, and after thanking you once again for the contribution, 
let me now come down to some criticism before plain adoption.

1. The compilation starts with error messages

make[1]: Entering directory
`/home/vdhoeven/texmacs/contrib/allouche/TeXmacs-1.0.0.1-nogencc-0.5-src/src'
makefile:73: Deps/fromtm.d: No such file or directory
makefile:73: Deps/scheme.d: No such file or directory
makefile:73: Deps/totm.d: No such file or directory
makefile:73: Deps/tree.d: No such file or directory
...

This is not very logical

2. The compilation time is much longer than before, even though we only
   use -O2: this is bad.

3. You systematically use

-I Basic/Data -I Basic/Misc -I Basic/System -I Basic/Types -I Resource -I
Window -I Typeset -I Edit -I Convert -I Texmacs -I Guile

in the compilation options, even when some of them are not necessary.

4. It might have been nice to change all .gen.h to .hh.
I did not know 4 years ago that it is was possible to use
the .hh suffix, but this is better for highlighting in Emacs.

5. The makefile breaks at the linking stage:

Objects/instanciations.o: In function `hashmap_iterator_rep<string, void
*> type_info function':
Objects/instanciations.o(.gnu.linkonce.t.__tft20hashmap_iterator_rep2Z6stringZPv+0x11):
undefined reference to `iterator_rep<string> type_info function'
Objects/instanciations.o(.gnu.linkonce.t.__tft20hashmap_iterator_rep2Z6stringZPv+0x17):
undefined reference to `iterator_rep<string> type_info node'
Objects/instanciations.o: In function `hashmap_iterator_rep<tree, unsigned
long> type_info function':
Objects/instanciations.o(.gnu.linkonce.t.__tft20hashmap_iterator_rep2Z4treeZUl+0x10):
undefined reference to `iterator_rep<tree> type_info function'
Objects/instanciations.o(.gnu.linkonce.t.__tft20hashmap_iterator_rep2Z4treeZUl+0x16):
undefined reference to `iterator_rep<tree> type_info node'
Objects/instanciations.o: In function `hashmap_iterator_rep<string, tree>
type_info function':
Objects/instanciations.o(.gnu.linkonce.t.__tft20hashmap_iterator_rep2Z6stringZ4tree+0x11):
undefined reference to `iterator_rep<string> type_info function'
Objects/instanciations.o(.gnu.linkonce.t.__tft20hashmap_iterator_rep2Z6stringZ4tree+0x17):
undefined reference to `iterator_rep<string> type_info node'
Objects/instanciations.o: In function `hashmap_iterator_rep<string, int>
type_info function':
Objects/instanciations.o(.gnu.linkonce.t.__tft20hashmap_iterator_rep2Z6stringZi+0x10):
undefined reference to `iterator_rep<string> type_info function'
Objects/instanciations.o(.gnu.linkonce.t.__tft20hashmap_iterator_rep2Z6stringZi+0x16):
undefined reference to `iterator_rep<string> type_info node'
Objects/instanciations.o: In function `hashmap_iterator_rep<string,
string> type_info function':
Objects/instanciations.o(.gnu.linkonce.t.__tft20hashmap_iterator_rep2Z6stringZ6string+0x11):
undefined reference to `iterator_rep<string> type_info function'
Objects/instanciations.o(.gnu.linkonce.t.__tft20hashmap_iterator_rep2Z6stringZ6string+0x17):
undefined reference to `iterator_rep<string> type_info node'
Objects/instanciations.o: In function `hashmap_iterator_rep<unsigned long,
void *> type_info function':
Objects/instanciations.o(.gnu.linkonce.t.__tft20hashmap_iterator_rep2ZUlZPv+0x11):
undefined reference to `iterator_rep<unsigned long> type_info function'
Objects/instanciations.o(.gnu.linkonce.t.__tft20hashmap_iterator_rep2ZUlZPv+0x17):
undefined reference to `iterator_rep<unsigned long> type_info node'
collect2: ld returned 1 exit status
make[1]: ***
[/home/vdhoeven/texmacs/contrib/allouche/TeXmacs-1.0.0.1-nogencc-0.5-src/TeXmacs-1.0.0.1/bin/texmacs.bin]
Error 1
make[1]: Leaving directory
`/home/vdhoeven/texmacs/contrib/allouche/TeXmacs-1.0.0.1-nogencc-0.5-src/src'
make: *** [TEXMACS] Error 2

6. What are the comments of the form

// Local Variables:
// mode: c++
// c-basic-offset: 2
// End:

doing at the end of each file?

More comments will follow as soon as you have a working version for me.
It is important that the change does not induce any kind of performance
loss whatsoever. For instance, it should be checked that -O2 is as
efficient as -O3 with the extra options.

Thanks, <Joris>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]