[ODE] autoconf/automake

Jens Thiele karme at unforgettable.com
Wed Nov 14 04:49:02 MST 2001


I have some questions (and some answers ;-)

Questions and Answers:
what is the problem in ode/ode [originally ode/src] ?
there is autogenerated code which must be compiled with -01

why must it be compiled with O1 ?

where does it come from ?
from fbuild

when do we have to do something in fbuild ?

what are the build-depends ?
perl

is it still necessary to use mmap in stack.cpp ?

at least linux libc uses mmap itself for large allocations:
info libc says:
Efficiency Considerations for `malloc'
--------------------------------------
[...]
   Very large blocks (much larger than a page) are allocated with
`mmap' (anonymous or via `/dev/zero') by this implementation.  This has
the great advantage that these chunks are returned to the system
immediately when they are freed.  Therefore, it cannot happen that a
large chunk becomes "locked" in between smaller ones and even after
calling `free' wastes memory.  The size threshold for `mmap' to be used
can be adjusted with `mallopt'.  The use of `mmap' can also be disabled
completely.

if it isn't needed it could be simply replaced with malloc.

if it is still needed I have to write a test for MAP_ANON (irix doesn't 
have it)

--
some notes:

we have to be careful with includes created by autoconf (or hand written)
system dependent includes should not get installed in the default 
include path
best is to not install them at all (if we have to install them they 
should be in /usr/lib/ode/includes)
anyway Russel wants to centralize the defines in one file

my proposal:
automatically generated config.h is not installed and only included by a 
file including
the necessary ifdefs (system abstraction layer - perhaps we should split 
it into more than one file)
let us call this file (in this mail) odesysconfig.h
odesysconfig.h is not installed and has the necessary defines
odeconfig.h is installed and machine independent

some "problems":
it seems the directories have to be renamed to ode/ode and 
drawstuff/drawstuff
(the directory with the source of a library - especially its includes 
must be named in the same way they are installed
- f.e. if you want to have /usr/include/foo/include.h then you must put 
include.h in a directory foo of your source tree)


greetings karme


PS: to get autoconf/automake to work on windows i need help - i don't 
have (and want) any windows box.

-- 
email karme at unforgettable.com
IRC   Karme
HP    http://www-ti.informatik.uni-tuebingen.de/~thiele




More information about the ODE mailing list