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

Open Inventor modifications to build under Linux on Intel Itanium platf

To: info-inventor-dev@xxxxxxxxxxx
Subject: Open Inventor modifications to build under Linux on Intel Itanium platform
From: Mick Pont <mick@xxxxxxxxx>
Date: Fri, 02 Nov 2001 13:09:11 +0000
Sender: owner-info-inventor-dev@xxxxxxxxxxx
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.

Mick Pont   Numerical Algorithms Group (NAG) Ltd, Oxford, UK
mick@xxxxxxxxx


This README file gives a brief summary of the changes made by
NAG to the Open Source version of Open Inventor.

The original source of Open Inventor to which modifications have
been made is contained in inventor-2.1.5-7.src.tar.gz, 
available at 

 ftp://oss.sgi.com/projects/inventor/download/

The main purpose of the modifications made to the source contained
in inventor-2.1.5-7.src.tar.gz is to enable the code to compile
more cleanly and to add support for 64-bit platforms (in particular
the Linux Intel Itanium platform).

 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.

 - 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.)

 - 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.

 - Replaced alloca by malloc.

 - Switched off use of dlopen in 
   inventor/lib/database/src/so/SoType.c++

 - 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.

 - Replaced a fixed-length buffer by a call to malloc 
   (in inventor/libFL/ang/fl.c)

 - Changed C++-style comments to C-style comments.

The code has been successfully compiled on Linux Itanium using
gcc 3.0 with the following compiler options :

 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED -Dlinux  \
 -D__USE_ISOC9X -ffast-math -DFUNCPROTO -DIS_64BIT \
 -D_BSD_SOURCE -DNO_MENU_IN_OVERLAY_PLANES -DGLU_TESS_VOID \
 -DICONV_BUG -DLIBRARYBUILD

_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.

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