[ODE] Autotools added to UNSTABLE

Rodrigo Hernandez kwizatz at aeongames.com
Thu Apr 14 07:43:44 MST 2005


Tanguy Fautre wrote:

> You were right. By default Debian (even the unstable branch) has 
> automake 1.4, even though the packages for automake 1.6 to 1.9 are 
> available.
> I replaced the package automake by automake-1.9 (1.9.5), and now 
> everything is working great.
>
I'll write a note about it in INSTALL :)

> Apparently, the problem only appears when -lGL redirects the linking 
> to libGL.a.
> When redirected to NVIDIA drivers libGL.so, the problem goes away. 
> However I still suggest including -lpthread if it does not break the 
> compilation on other distros.
>
> The way the old ODE Makefile provides the linker -l flags, always 
> redirects to libGL.a; even if NVIDIA drivers are installed.
>
I added pthread to the library checks, shouldnt be a problem to anyone 
since it gets linked only if it is used.

>
> Actually I was refering to all the arguments (not just -g -O2). I 
> don't think any of these options affect the linker; just the compiler.
>
Right, but that's what autotools does (not sure exactly at which level), 
in fact the -g -O2 seem to be the deafult autoconf asigns to CFLAGS and 
CPPFLAGS.

>
> Yes, it would be better.
>
I did

>
> Now, here you'll go nuts: from what I understand you cannot use the 
> same compilation flag -O3 for every part of ODE (for optimization 
> purposes, or just as bug workarounds).
>
> Here is what the current Makefile of ODE does:
>
> - ODE is compiled with -O2
>
> - *except* the following files that have to be compiled with -O1 (as 
> they have been autotuned before):
>       ode/src/fastldlt.c
>       ode/src/fastlsolve.c
>       ode/src/fastltsolve.c
>       ode/src/fastdot.c
>
> - OPCODE cannot be compiled with -O2, but with -O1 
> (OPC_OptimizedTree.c and another unidentified module are generating 
> buggy code with -O2, see the comments in ODE makefile for more details).
>
>
> Note: I saw that in the latest CVS commit you changed -O2 to -O3. You 
> can use -O3 to compile parts of ODE that can be compiled with -O2.
> However, -O3 is a dangerous optimization flag. So I suggest you verify 
> it actually provides faster code before enabling it (there are many 
> cases where -O3 will provide slower code).
>
Well, this is going to be tricky, I dont know whether it is posible to 
pass separate flags to each source file, I know it is posible to pass 
different flags for each target, so I guess I better start poking things 
around, so what do you think would be a better default option while I 
figure this out?
passing -O1 o -O2 to everything? I figure -O1, but I though I should ask :)

Cheers!


More information about the ODE mailing list