info-inventor-dev
[Top] [All Lists]

Re: Open Inventor modifications to build under Linux on Intel Itaniumpla

To: Mick Pont <mick@xxxxxxxxx>
Subject: Re: Open Inventor modifications to build under Linux on Intel Itaniumplatform
From: Rasmus Tamstorf <tamstorf@xxxxxxxxxxxxx>
Date: Fri, 2 Nov 2001 08:01:07 -0800
Cc: info-inventor-dev@xxxxxxxxxxx
In-reply-to: <3BE29AF7.A99CBA71@nag.co.uk>
Sender: owner-info-inventor-dev@xxxxxxxxxxx
On Fri, 2 Nov 2001, Mick Pont wrote:

> 
> A colleague of mine, Silhacene Aid, needed to build Open Inventor
> under Linux on Intel Itanium, and did so successfully. Silhacene no longer
> works with me, but he asked me to try to find out whether the changes
> he made would be useful to feed back into the OIV source code. I append
> a README that Silhacene wrote, which gives brief details of the sorts
> of changes he made. Do they look to be more generally useful?
> I know that apart from building on the Itanium, the modified
> code was also tested on several other UNIX machines.
> 
>  The main modifications are :
> 
>  - Added IS_64BIT switch for 64-bit platforms.
> 
>  - Added switch GLU_TESS_VOID to take into account variants 
>    of function type in call to gluTessCallback.
> 
>  - Added NO_MENU_IN_OVERLAY_PLANES switch to disable overlay
>    planes if necessary. This follows a suggestion from 
>    Steve Conolly (see the Inventor mailing lists at the
>    SGI Web site.)
> 
>  - Added ICONV_BUG switch to account for a possible problem 
>    with the iconv library.

This one has been discussed many a time, so I sure hope something gets
done about it !

>  - Made class destructors virtual whenever a class contains
>    virtual functions.
> 
>  - Use of size_t instead of  uint32_t or int.
> 
>  - Removed redefinition of NULL as 0.

>  - Use of standard mathematical functions (e.g. sqrt, atan2
>    rather than sqrtf atan2f.)

This one is probably not a good idea for performance reasons. 

>  - Renaming of functions, macros or variables to avoid conflicts
>    with system macros (e.g. abs -> oivabs, _ABS -> _OIVABS,
>    dprintf -> oiv_d_printf.)
> 
>  - Moved definitions from header file mysetjmp.h 
>    to a new C++ file mysetjmp.c++.
> 
>  - Made variables 'const' where necessary.
> 
>  - Removed some unused variables.
> 
>  - Added standard header files where necessary (stdlib.h,
>    unistd.h)
> 
>  - Replaced malloc.h by stdlib.h.

Some of the above have been fixed in the latest tar-ball. 

>  - Replaced alloca by malloc.

This, again, is not a good idea for performance reasons. 'alloca' is
considered non-portable, but it is *sooo* much faster than malloc, that
it's worth keeping it wherever possible. 
 
>  - Switched off use of dlopen in 
>    inventor/lib/database/src/so/SoType.c++

Why ? 

>  - Fixed sprintf/fprintf formats.
> 
>  - Removed hard-coded definitions and replaced them by inclusion
>    of image.h header file in 
>    inventor/lib/database/src/so/SoOffscreenRenderer.c++ 
> 
>  - Added support for Itanium in 
>    inventor/lib/database/include/machine.h
> 
>  - Broke up very long lines into shorter lines 
>    (SoHandleBoxDraggerGeom.h, SoTransformerDraggerGeom.h) since
>    some compilers cannot handle them.

Yay :-) I've requested this one too, but to no avail :-/

>  - Replaced a fixed-length buffer by a call to malloc 
>    (in inventor/libFL/ang/fl.c)
> 
>  - Changed C++-style comments to C-style comments.

Why would that be necessary ? 

Rasmus

-----------------------------------------------------------------------------
Rasmus.Tamstorf@xxxxxxxxxx         "A problem worthy of attack, 
Walt Disney Feature Animation       proves its worth by hitting back" Kumbel
-----------------------------------------------------------------------------


<Prev in Thread] Current Thread [Next in Thread>