[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