aboutsummaryrefslogtreecommitdiff
path: root/graphics/inventor/files
diff options
context:
space:
mode:
authorMaho Nakata <maho@FreeBSD.org>2003-08-03 06:56:12 +0000
committerMaho Nakata <maho@FreeBSD.org>2003-08-03 06:56:12 +0000
commit630eb2d3afb2f27b5ca5d0b25af7e915c66f7b8a (patch)
tree15b71419c82ce8d48c3fd14f2d0ac69bd4e23824 /graphics/inventor/files
parent443f1d04cb30deb092275785c6d2e7bfe9301157 (diff)
downloadports-630eb2d3afb2f27b5ca5d0b25af7e915c66f7b8a.tar.gz
ports-630eb2d3afb2f27b5ca5d0b25af7e915c66f7b8a.zip
Notes
Diffstat (limited to 'graphics/inventor/files')
-rw-r--r--graphics/inventor/files/patch-Interface.c++35
-rw-r--r--graphics/inventor/files/patch-SbTime.c++19
-rw-r--r--graphics/inventor/files/patch-SceneViewer-GNUmakefile13
-rw-r--r--graphics/inventor/files/patch-SoCalcParse.y18
-rw-r--r--graphics/inventor/files/patch-SoSceneViewer.c++53
-rw-r--r--graphics/inventor/files/patch-SoText2.c++29
-rw-r--r--graphics/inventor/files/patch-SoText3.c++19
-rw-r--r--graphics/inventor/files/patch-SoText3V2.c++30
-rw-r--r--graphics/inventor/files/patch-SoV1NkCatalog.c++14
-rw-r--r--graphics/inventor/files/patch-TextWrapper.c++36
-rw-r--r--graphics/inventor/files/patch-fl.c16
-rw-r--r--graphics/inventor/files/patch-flfreetype.c30
-rw-r--r--graphics/inventor/files/patch-ivcommondefs82
-rw-r--r--graphics/inventor/files/patch-lib-GNUmakefile15
-rw-r--r--graphics/inventor/files/patch-qmorf.c++54
-rw-r--r--graphics/inventor/files/patch-revo.c++54
-rw-r--r--graphics/inventor/files/patch-textomatic.c++53
17 files changed, 570 insertions, 0 deletions
diff --git a/graphics/inventor/files/patch-Interface.c++ b/graphics/inventor/files/patch-Interface.c++
new file mode 100644
index 000000000000..a8a0ad30745d
--- /dev/null
+++ b/graphics/inventor/files/patch-Interface.c++
@@ -0,0 +1,35 @@
+--- apps/demos/noodle/Interface.c++~ Sat Jun 1 11:22:20 2002
++++ apps/demos/noodle/Interface.c++ Sun Aug 3 14:50:36 2003
+@@ -67,6 +67,12 @@
+ #include "NoodleTextureGizmo.h"
+ #include "NoodleSurfaceGizmo.h"
+
++#ifdef __FreeBSD__
++#define PDF_READER "xpdf"
++#else
++#define PDF_READER "acroread"
++#endif
++
+ #define SCREEN(w) XScreenNumberOfScreen(XtScreen(w))
+
+ extern SoNode *createProfileGraph( Widget, GeneralizedCylinder *);
+@@ -406,16 +412,16 @@
+ }
+
+ char command[100];
+- sprintf(command, "which acroread > /dev/null");
++ sprintf(command, "which " PDF_READER " > /dev/null");
+
+ int err = system(command);
+ if (err) {
+- system("xmessage 'You must install acroread"
++ system("xmessage 'You must install " PDF_READER
+ " for this function to work' > /dev/null");
+ return;
+ }
+
+- sprintf(command, "acroread " IVPREFIX "/demos/Inventor/noodle.about &");
++ sprintf(command, PDF_READER " " IVPREFIX "/demos/Inventor/noodle.about &");
+ system(command);
+ }
+
diff --git a/graphics/inventor/files/patch-SbTime.c++ b/graphics/inventor/files/patch-SbTime.c++
new file mode 100644
index 000000000000..7c47eccb68a6
--- /dev/null
+++ b/graphics/inventor/files/patch-SbTime.c++
@@ -0,0 +1,19 @@
+*** lib/database/src/sb/SbTime.c++ Sat Dec 14 18:06:53 2002
+--- lib/database/src/sb/SbTime.c++.new Sat Dec 14 17:15:06 2002
+***************
+*** 269,275 ****
+ seconds = (int) t.tv_sec;
+ strftime(buf, sizeof(buf), fmt, localtime((const time_t *) &seconds));
+ #else
+! strftime(buf, sizeof(buf), fmt, localtime(&t.tv_sec));
+ #endif
+
+ return buf;
+--- 269,275 ----
+ seconds = (int) t.tv_sec;
+ strftime(buf, sizeof(buf), fmt, localtime((const time_t *) &seconds));
+ #else
+! strftime(buf, sizeof(buf), fmt, localtime((const time_t *) &t.tv_sec));
+ #endif
+
+ return buf;
diff --git a/graphics/inventor/files/patch-SceneViewer-GNUmakefile b/graphics/inventor/files/patch-SceneViewer-GNUmakefile
new file mode 100644
index 000000000000..3b44c7e4aff6
--- /dev/null
+++ b/graphics/inventor/files/patch-SceneViewer-GNUmakefile
@@ -0,0 +1,13 @@
+*** apps/demos/SceneViewer/GNUmakefile.orig Thu Jan 2 15:06:49 2003
+--- apps/demos/SceneViewer/GNUmakefile Thu Jan 2 15:07:07 2003
+***************
+*** 6,11 ****
+--- 6,13 ----
+
+ CXXFILES = SceneViewer.c++ SoSceneViewer.c++ SvManipList.c++
+
++ CXXFLAGS += -DXTSTRINGDEFINES
++
+ LLDOPTS += -L../../samples/widgets
+
+ LLDLIBS = -lInventorWidget -lInventor -lInventorXt
diff --git a/graphics/inventor/files/patch-SoCalcParse.y b/graphics/inventor/files/patch-SoCalcParse.y
new file mode 100644
index 000000000000..10ad4722fa73
--- /dev/null
+++ b/graphics/inventor/files/patch-SoCalcParse.y
@@ -0,0 +1,18 @@
+--- lib/database/src/so/engines/SoCalcParse.y.old Sun Aug 3 14:03:28 2003
++++ lib/database/src/so/engines/SoCalcParse.y Sun Aug 3 14:09:13 2003
+@@ -20,10 +20,14 @@
+ #include <Inventor/errors/SoDebugError.h>
+ #include "SoCalcExpr.h"
+ #include <stdio.h>
++
+ #ifdef __APPLE__
+ #include <float.h>
+ #include <limits.h>
+-#else
++#elif defined __FreeBSD__
++#include <float.h>
++#define MINFLOAT FLT_MIN
++#else // __FreeBSD__
+ #include <values.h>
+ #endif
+ #include <math.h>
diff --git a/graphics/inventor/files/patch-SoSceneViewer.c++ b/graphics/inventor/files/patch-SoSceneViewer.c++
new file mode 100644
index 000000000000..2612ff041e76
--- /dev/null
+++ b/graphics/inventor/files/patch-SoSceneViewer.c++
@@ -0,0 +1,53 @@
+*** apps/demos/SceneViewer/SoSceneViewer.c++.orig Fri Jan 3 09:59:15 2003
+--- apps/demos/SceneViewer/SoSceneViewer.c++ Fri Jan 3 10:01:02 2003
+***************
+*** 141,146 ****
+--- 141,151 ----
+ #include <assert.h>
+ #endif
+
++ #ifdef __FreeBSD__
++ #define PDF_READER "xpdf"
++ #else
++ #define PDF_READER "acroread"
++ #endif
+
+ //
+ // Macros and constants
+***************
+*** 4739,4755 ****
+ }
+
+ char command[100];
+! sprintf(command, "which acroread > /dev/null");
+
+ int err = system(command);
+ if (err)
+ {
+! system("xmessage 'You must install acroread"
+ " for this function to work' > /dev/null");
+ return;
+ }
+
+! sprintf(command, "acroread "
+ IVPREFIX "/demos/Inventor/SceneViewer.about &");
+ system(command);
+ }
+--- 4744,4760 ----
+ }
+
+ char command[100];
+! sprintf(command, "which " PDF_READER " > /dev/null");
+
+ int err = system(command);
+ if (err)
+ {
+! system("xmessage 'You must install " PDF_READER
+ " for this function to work' > /dev/null");
+ return;
+ }
+
+! sprintf(command, PDF_READER " "
+ IVPREFIX "/demos/Inventor/SceneViewer.about &");
+ system(command);
+ }
diff --git a/graphics/inventor/files/patch-SoText2.c++ b/graphics/inventor/files/patch-SoText2.c++
new file mode 100644
index 000000000000..bd890bf99a7d
--- /dev/null
+++ b/graphics/inventor/files/patch-SoText2.c++
@@ -0,0 +1,29 @@
+*** lib/database/src/so/nodes/SoText2.c++.orig Tue Sep 25 00:45:41 2001
+--- lib/database/src/so/nodes/SoText2.c++ Mon Dec 23 13:28:11 2002
+***************
+*** 778,784 ****
+ size_t outbytes = 2*inbytes+2;
+ char* output = (char*)UCSStrings[i];
+
+! if ((iconv(conversionCode, &input, &inbytes, &output, &outbytes) == (size_t)-1)){
+ #ifdef DEBUG
+ SoDebugError::post("SoBitmapFontCache::convertToUCS",
+ "Error converting text to UCS-2");
+--- 778,784 ----
+ size_t outbytes = 2*inbytes+2;
+ char* output = (char*)UCSStrings[i];
+
+! if ((iconv(conversionCode, (const char **)&input, &inbytes, &output, &outbytes) == (size_t)-1)){
+ #ifdef DEBUG
+ SoDebugError::post("SoBitmapFontCache::convertToUCS",
+ "Error converting text to UCS-2");
+***************
+*** 1498,1503 ****
+--- 1498,1504 ----
+ // And some font library stuff:
+ static FLcontext flContext;
+ FLfontNumber fontId;
++ GLubyte* fontNumList;
+ };
+
+ SO_NODE_SOURCE(SoText2);
diff --git a/graphics/inventor/files/patch-SoText3.c++ b/graphics/inventor/files/patch-SoText3.c++
new file mode 100644
index 000000000000..e5be93d7a900
--- /dev/null
+++ b/graphics/inventor/files/patch-SoText3.c++
@@ -0,0 +1,19 @@
+*** lib/database/src/so/nodes/SoText3.c++.orig Mon Dec 23 13:37:59 2002
+--- lib/database/src/so/nodes/SoText3.c++ Mon Dec 23 13:38:15 2002
+***************
+*** 2291,2297 ****
+ size_t outbytes = 2*inbytes+2;
+ char* output = (char*)UCSStrings[i];
+
+! if ((iconv(conversionCode, &input, &inbytes, &output, &outbytes) == (size_t)-1)){
+ #ifdef DEBUG
+ SoDebugError::post("SoOutlineFontCache::convertToUCS",
+ "Error converting text to UCS-2");
+--- 2291,2297 ----
+ size_t outbytes = 2*inbytes+2;
+ char* output = (char*)UCSStrings[i];
+
+! if ((iconv(conversionCode, (const char **)&input, &inbytes, &output, &outbytes) == (size_t)-1)){
+ #ifdef DEBUG
+ SoDebugError::post("SoOutlineFontCache::convertToUCS",
+ "Error converting text to UCS-2");
diff --git a/graphics/inventor/files/patch-SoText3V2.c++ b/graphics/inventor/files/patch-SoText3V2.c++
new file mode 100644
index 000000000000..2610652afe5c
--- /dev/null
+++ b/graphics/inventor/files/patch-SoText3V2.c++
@@ -0,0 +1,30 @@
+*** apps/converters/ivdowngrade/SoText3V2.c++.orig Thu Jan 2 20:38:57 2003
+--- apps/converters/ivdowngrade/SoText3V2.c++ Thu Jan 2 20:39:28 2003
+***************
+*** 50,55 ****
+--- 50,57 ----
+ */
+
+ #include <Inventor/actions/SoWriteAction.h>
++ #include <Inventor/errors/SoDebugError.h>
++
+ #include "SoText3V2.h"
+
+ char* convToAscii(const SbString& str);
+***************
+*** 150,156 ****
+ }
+ }
+ #ifdef DEBUG
+! if (trunc) SoDebugWarning::post("SoText3V2",
+ "Note that conversion modified an international text string");
+ #endif /*DEBUG*/
+ return newStr;
+--- 152,158 ----
+ }
+ }
+ #ifdef DEBUG
+! if (trunc) SoDebugError::post("SoText3V2",
+ "Note that conversion modified an international text string");
+ #endif /*DEBUG*/
+ return newStr;
diff --git a/graphics/inventor/files/patch-SoV1NkCatalog.c++ b/graphics/inventor/files/patch-SoV1NkCatalog.c++
new file mode 100644
index 000000000000..21e5c2906075
--- /dev/null
+++ b/graphics/inventor/files/patch-SoV1NkCatalog.c++
@@ -0,0 +1,14 @@
+*** lib/nodekits/src/upgraders/SoV1NkCatalog.c++.orig Thu Jan 2 20:19:39 2003
+--- lib/nodekits/src/upgraders/SoV1NkCatalog.c++ Thu Jan 2 20:20:07 2003
+***************
+*** 51,56 ****
+--- 51,59 ----
+ _______________________________________________________________________
+ */
+
++ #ifdef __FreeBSD__
++ #include <stdlib.h>
++ #endif
+
+ #include <Inventor/misc/upgraders/SoV1NodekitCatalog.h>
+ #include <Inventor/SoDB.h>
diff --git a/graphics/inventor/files/patch-TextWrapper.c++ b/graphics/inventor/files/patch-TextWrapper.c++
new file mode 100644
index 000000000000..29a30fcebffe
--- /dev/null
+++ b/graphics/inventor/files/patch-TextWrapper.c++
@@ -0,0 +1,36 @@
+*** apps/demos/textomatic/TextWrapper.c++.orig Thu Jan 2 15:29:27 2003
+--- apps/demos/textomatic/TextWrapper.c++ Thu Jan 2 15:31:00 2003
+***************
+*** 77,83 ****
+ char *output = outbuf;
+ //
+ if ( global_iconvCodeL2 == (iconv_t)-1 ||
+! iconv(global_iconvCodeL2,&input,&inbytesleft,&output,&outbytesleft) == (size_t)-1 )
+ {
+ fprintf( stderr, "textomatic: iconv error.\n" );
+ (*(UCS2 *)outbuf)=0;
+--- 77,83 ----
+ char *output = outbuf;
+ //
+ if ( global_iconvCodeL2 == (iconv_t)-1 ||
+! iconv(global_iconvCodeL2,(const char **)&input,&inbytesleft,&output,&outbytesleft) == (size_t)-1 )
+ {
+ fprintf( stderr, "textomatic: iconv error.\n" );
+ (*(UCS2 *)outbuf)=0;
+***************
+*** 229,235 ****
+ char *output = outbuf;
+ //
+ if ( global_iconvCode28 == (iconv_t)-1 ||
+! iconv( global_iconvCode28,&input,&inbytesleft,&output,&outbytesleft ) == (size_t)-1 )
+ {
+ fprintf( stderr, "textomatic: iconv error.\n" );
+ (*(UCS2 *)outbuf)=0;
+--- 229,235 ----
+ char *output = outbuf;
+ //
+ if ( global_iconvCode28 == (iconv_t)-1 ||
+! iconv( global_iconvCode28,(const char **)&input,&inbytesleft,&output,&outbytesleft ) == (size_t)-1 )
+ {
+ fprintf( stderr, "textomatic: iconv error.\n" );
+ (*(UCS2 *)outbuf)=0;
diff --git a/graphics/inventor/files/patch-fl.c b/graphics/inventor/files/patch-fl.c
new file mode 100644
index 000000000000..e663ff3770a4
--- /dev/null
+++ b/graphics/inventor/files/patch-fl.c
@@ -0,0 +1,16 @@
+*** libFL/ang/fl.c.orig Thu Jan 2 16:28:23 2003
+--- libFL/ang/fl.c Thu Jan 2 16:32:25 2003
+***************
+*** 95,101 ****
+--- 95,105 ----
+ NULL
+ };
+
++ #ifdef __FreeBSD__
++ static char *fontPath = IVPREFIX "/lib/X11/fonts/TTF";
++ #else
+ static char *fontPath = IVPREFIX "/share/data/fonts";
++ #endif
+ int fl_debug = FALSE;
+
+ /*
diff --git a/graphics/inventor/files/patch-flfreetype.c b/graphics/inventor/files/patch-flfreetype.c
new file mode 100644
index 000000000000..63f432326ff1
--- /dev/null
+++ b/graphics/inventor/files/patch-flfreetype.c
@@ -0,0 +1,30 @@
+*** libFL/ang/flfreetype.c.orig Thu Jan 2 17:04:33 2003
+--- libFL/ang/flfreetype.c Thu Jan 2 17:11:09 2003
+***************
+*** 318,324 ****
+--- 318,328 ----
+ {
+ FLfontStruct *fs;
+ FLbitmap *bitmap;
++ #if BYTE_ORDER == LITTLE_ENDIAN
++ GLuint c = (UCS2[1] << 8) | UCS2[0];
++ #else
+ GLuint c = (UCS2[0] << 8) | UCS2[1];
++ #endif
+
+ TRACE(("_flFTUniGetBitmap: 0x%04x\n", c));
+ while ((fs = *fsList++))
+***************
+*** 333,339 ****
+--- 337,347 ----
+ {
+ FLfontStruct *fs;
+ FLoutline *outline;
++ #if BYTE_ORDER == LITTLE_ENDIAN
++ GLuint c = (UCS2[1] << 8) | UCS2[0];
++ #else
+ GLuint c = (UCS2[0] << 8) | UCS2[1];
++ #endif
+
+ TRACE(("_flFTUniGetOutline: 0x%04x\n", c));
+ while ((fs = *fsList++))
diff --git a/graphics/inventor/files/patch-ivcommondefs b/graphics/inventor/files/patch-ivcommondefs
new file mode 100644
index 000000000000..bda11238ef45
--- /dev/null
+++ b/graphics/inventor/files/patch-ivcommondefs
@@ -0,0 +1,82 @@
+--- make/ivcommondefs.orig Sat Jul 12 07:40:54 2003
++++ make/ivcommondefs Sun Aug 3 15:10:28 2003
+@@ -49,9 +49,9 @@
+
+ ifeq ($(usingLinux), 1)
+
+-CC = /usr/bin/gcc
+-C++ = /usr/bin/g++
+-LD = /usr/bin/g++
++CC = %%CC%%
++C++ = %%CXX%%
++LD = %%CXX%%
+
+ INSTALL = /usr/bin/install
+
+@@ -74,7 +74,7 @@
+ LCXXOPTS += $(LINUXOPTS)
+ LCOPTS += $(LINUXOPTS)
+
+-X11DIR = /usr/X11R6
++X11DIR = ${X11BASE}
+ X11INCDIR = $(X11DIR)/include
+ X11LIBDIR = $(X11DIR)/lib
+
+@@ -86,6 +86,10 @@
+
+ endif
+
++ifeq ($(usingFreeBSD), 1)
++LCINCS += -I${LOCALBASE}/include -I${LOCALBASE}/include/freetype2
++LCXXINCS += -I${LOCALBASE}/include -I${LOCALBASE}/include/freetype2
++endif
+
+
+ #
+@@ -131,9 +135,9 @@
+ # Determine optimization from LIBTYPE.
+ #
+
+-OPTIMIZER = -O -DNDEBUG
++OPTIMIZER = %%CXXFLAGS%% -DNDEBUG
+ ifneq (, $(findstring debug, $(LIBTYPE)))
+-OPTIMIZER = -g
++OPTIMIZER = %%CXXFLAGS%% -g -DDEBUG
+ endif
+
+
+@@ -158,6 +162,10 @@
+ # Font library directories.
+ #
+
++ifeq ($(usingFreeBSD), 1)
++FREETYPE=1
++endif
++
+ FLDIR = $(IVDEPTH)/libFL/src
+ FLLIB = -lFL
+ ifdef FREETYPE
+@@ -183,7 +191,12 @@
+ # Inventor install directories.
+ #
+
++ifeq ($(usingFreeBSD), 1)
++IVPREFIX = ${X11BASE}
++else
+ IVPREFIX = /usr
++endif
++
+ LCXXOPTS += -DIVPREFIX=\"$(IVPREFIX)\"
+ LCOPTS += -DIVPREFIX=\"$(IVPREFIX)\"
+
+@@ -213,5 +226,10 @@
+ else
+ LLDDSOOPTS += -L$(IVLIBDIR)
+ LLDOPTS += -L$(IVLIBDIR)
++endif
++
++ifeq ($(usingFreeBSD), 1)
++LLDOPTS += -L$(IVDEPTH)/lib -L$(IVDEPTH)/libSoXt
++LLDDSOOPTS += -L$(IVDEPTH)/lib -L$(IVDEPTH)/libSoXt -L$(LOCALBASE)/lib
+ CXXDSOOPTS += -L$(IVLIBDIR)
+ endif
diff --git a/graphics/inventor/files/patch-lib-GNUmakefile b/graphics/inventor/files/patch-lib-GNUmakefile
new file mode 100644
index 000000000000..c0ce198af4a4
--- /dev/null
+++ b/graphics/inventor/files/patch-lib-GNUmakefile
@@ -0,0 +1,15 @@
+*** lib/GNUmakefile Sat Dec 14 18:23:15 2002
+--- lib/GNUmakefile.new Sat Dec 14 17:30:19 2002
+***************
+*** 10,15 ****
+--- 10,19 ----
+ -lX11 -lm \
+ -lGLU -lGL
+
++ ifeq ($(usingFreeBSD), 1)
++ LLDLIBS += -lXext -liconv
++ endif
++
+ OBJECTS = \
+ ./database/src/sb/projectors/SbProjectors.o \
+ ./database/src/sb/Sb.o \
diff --git a/graphics/inventor/files/patch-qmorf.c++ b/graphics/inventor/files/patch-qmorf.c++
new file mode 100644
index 000000000000..4ae51a0bf877
--- /dev/null
+++ b/graphics/inventor/files/patch-qmorf.c++
@@ -0,0 +1,54 @@
+*** apps/demos/qmorf/qmorf.c++.orig Fri Jan 3 10:06:23 2003
+--- apps/demos/qmorf/qmorf.c++ Fri Jan 3 10:07:59 2003
+***************
+*** 81,86 ****
+--- 81,92 ----
+ #include <Xm/PushBG.h>
+ #include <Xm/ToggleBG.h>
+
++ #ifdef __FreeBSD__
++ #define PDF_READER "xpdf"
++ #else
++ #define PDF_READER "acroread"
++ #endif
++
+ //
+ // The list of things we'll morph between
+ //
+***************
+*** 443,459 ****
+ return;
+ }
+ char command[100];
+! sprintf(command, "which acroread > /dev/null");
+
+ int err = system(command);
+ if (err)
+ {
+! system("xmessage 'You must install acroread"
+ " for this function to work' > /dev/null");
+ return;
+ }
+
+! sprintf(command, "acroread " IVPREFIX "/demos/Inventor/qmorf.about &");
+ system(command);
+ }
+
+--- 449,465 ----
+ return;
+ }
+ char command[100];
+! sprintf(command, "which " PDF_READER " > /dev/null");
+
+ int err = system(command);
+ if (err)
+ {
+! system("xmessage 'You must install " PDF_READER
+ " for this function to work' > /dev/null");
+ return;
+ }
+
+! sprintf(command, PDF_READER " " IVPREFIX "/demos/Inventor/qmorf.about &");
+ system(command);
+ }
+
diff --git a/graphics/inventor/files/patch-revo.c++ b/graphics/inventor/files/patch-revo.c++
new file mode 100644
index 000000000000..e69d6aff3ba1
--- /dev/null
+++ b/graphics/inventor/files/patch-revo.c++
@@ -0,0 +1,54 @@
+*** apps/demos/revo/revo.c++.orig Fri Jan 3 10:09:04 2003
+--- apps/demos/revo/revo.c++ Fri Jan 3 10:11:20 2003
+***************
+*** 66,71 ****
+--- 66,77 ----
+ #include "LineManip.h"
+ #include "RevClass.h"
+
++ #ifdef __FreeBSD__
++ #define PDF_READER "xpdf"
++ #else
++ #define PDF_READER "acroread"
++ #endif
++
+ //
+ // These are defined in profile.c++
+ //
+***************
+*** 86,102 ****
+ }
+
+ char command[100];
+! sprintf(command, "which acroread >& /dev/null");
+
+ int err = system(command);
+ if (err)
+ {
+! system("xmessage 'You must install acroread"
+ " for this function to work' > /dev/null");
+ return;
+ }
+
+! sprintf(command, "acroread " IVPREFIX "/demos/Inventor/revo.about &");
+ system(command);
+ }
+
+--- 92,108 ----
+ }
+
+ char command[100];
+! sprintf(command, "which " PDF_READER " >& /dev/null");
+
+ int err = system(command);
+ if (err)
+ {
+! system("xmessage 'You must install " PDF_READER
+ " for this function to work' > /dev/null");
+ return;
+ }
+
+! sprintf(command, PDF_READER " " IVPREFIX "/demos/Inventor/revo.about &");
+ system(command);
+ }
+
diff --git a/graphics/inventor/files/patch-textomatic.c++ b/graphics/inventor/files/patch-textomatic.c++
new file mode 100644
index 000000000000..ab09892aaa49
--- /dev/null
+++ b/graphics/inventor/files/patch-textomatic.c++
@@ -0,0 +1,53 @@
+*** apps/demos/textomatic/textomatic.c++.orig Fri Jan 3 10:12:24 2003
+--- apps/demos/textomatic/textomatic.c++ Fri Jan 3 10:13:33 2003
+***************
+*** 69,74 ****
+--- 69,80 ----
+ #include "../../samples/common/Useful.h"
+ #include "./labels.h"
+
++ #ifdef __FreeBSD__
++ #define PDF_READER "xpdf"
++ #else
++ #define PDF_READER "acroread"
++ #endif
++
+ //
+ // Some evil variables global to this file. I should pass them around
+ // as paramaters or encapsulate them in a class, but this is easier.
+***************
+*** 164,179 ****
+ }
+
+ char command[100];
+! sprintf(command, "which acroread > /dev/null");
+
+ int err = system(command);
+ if (err) {
+! system("xmessage 'You must install acroread"
+ " for this function to work' > /dev/null");
+ return;
+ }
+
+! sprintf(command, "acroread " IVPREFIX "/demos/Inventor/textomatic.about &");
+ system(command);
+ }
+
+--- 170,186 ----
+ }
+
+ char command[100];
+! sprintf(command, "which " PDF_READER "> /dev/null");
+
+ int err = system(command);
+ if (err) {
+! system("xmessage 'You must install " PDF_READER
+ " for this function to work' > /dev/null");
+ return;
+ }
+
+! sprintf(command, PDF_READER " "
+! IVPREFIX "/demos/Inventor/textomatic.about &");
+ system(command);
+ }
+