From af3ac699aafcffedc3e0eacf501d91cc475e80f1 Mon Sep 17 00:00:00 2001 From: Don BURNS Date: Tue, 5 Apr 2005 19:08:48 +0000 Subject: [PATCH] Rolled in Olaf's changes for HP-UX build --- Make/makedefs | 55 +++++++++++++------------------ include/osg/Math | 3 +- src/osgPlugins/net/sockstream.cpp | 15 +++++---- 3 files changed, 32 insertions(+), 41 deletions(-) diff --git a/Make/makedefs b/Make/makedefs index 970bcfaff..54c8628a7 100644 --- a/Make/makedefs +++ b/Make/makedefs @@ -634,46 +634,37 @@ endif #### HP-UX Specific definitions # contributed by tino.schwarze@informatik.tu-chemnitz.de +# replaced by Olaf Flebb for use with aCC compiler ifeq ($(OS),HP-UX) - - C++ = g++ - DEPARG = -M - INC += - DEF += -W -Wall -fPIC - OPTF = -O2 - # gcc 3.1 uses DWARF as default, my GDB might not yet support this... - # at least I've got problems everywhere - DBGF = -g -gstabs+ -DOSG_COMPILE_UNIT_TESTS - SHARED = -shared -fPIC + CXX = aCC -AA -mt + C++ = $(CXX) + DEPARG = -w +make -E + INC += -I/opt/graphics/OpenGL/include -I/usr/contrib/X11R6/include -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE_EXTENDED + DEF += +Z -z + OPTF = +O2 + DBGF = -g + SHARED = -b +Z -z -Wl,+s ARCH = 32 -ifeq ($(ARCH),64) - # not yet tested - ARCHARGS = -march=2.0 -DARCH64 - ARCHINST = 64 -else - # at least my gcc 3.1 defaults to HP-PA RISC 1.1 - ARCHARGS = - ARCHINST = -endif - LINKARGS = + LDFLAGS += -L/opt/graphics/OpenGL/lib -L/usr/contrib/X11R6/lib/ + LINKARGS = -lpthread LIB_EXT = sl PLUGIN_EXT = sl DYNAMICLIBRARYLIB = -ldld + + OSG_LIBS = -losgGA -losgDB -losgUtil -losg GL_LIBS = -L/opt/graphics/OpenGL/lib -lGLU -lGL X_INC = -I/usr/X11R6/include - X_LIBS = -L/usr/lib/X11R6 -lXext -lXi -lX11 -L/usr/lib/X11R4 -lXmu + X_LIBS = -L/usr/lib/X11R6 -lXext -lXi -lX11 SOCKET_LIBS = - # make sure that global constructors/destructors are called upon - # shl_load() / shl_unload() - this is a gcc specific workaround - OTHER_LIBS = -lm -Wl,+init -Wl,_GLOBAL__DI -Wl,+fini -Wl,_GLOBAL__DD -lOpenThreads - PNG_INCLUDE = -I/opt/libpng/include - PNG_LIBS = -L/opt/libpng/lib -lpng -L/opt/zlib/lib -lz - JPEG_INCLUDE = -I/opt/jpeg-6/include - JPEG_LIBS = -L/opt/jpeg-6/lib -ljpeg - TIFF_INCLUDE = -I/opt/tiff-3.5/include - TIFF_LIB = -L/opt/tiff-3.5/lib -ltiff + OTHER_LIBS = -lm -lOpenThreads + PNG_INCLUDE = -I/usr/local/include/libpng -I/usr/local/include/ + PNG_LIBS = -L/usr/local/lib -lpng -lz + JPEG_INCLUDE = -I/usr/local/include + JPEG_LIBS = -L/usr/local/lib -ljpeg + TIFF_INCLUDE = -I/usr/local/include + TIFF_LIB = -L/usr/local/lib -ltiff GIF_INCLUDE = -I/opt/libungif/include GIF_LIBS = -L/opt/libungif/lib -lungif @@ -683,10 +674,8 @@ endif GDAL_INCLUDES = `gdal-config --cflags` GDAL_LIBS = `gdal-config --libs` - XINE_INCLUDES = `xine-config --cflags` - XINE_LIBS = `xine-config --libs` - endif + VPATH=.. diff --git a/include/osg/Math b/include/osg/Math index 4365c112c..78a04787a 100644 --- a/include/osg/Math +++ b/include/osg/Math @@ -87,7 +87,7 @@ #if (defined(WIN32) && !(defined(_MSC_VER) && (_MSC_VER >= 1300)) && !defined(__MINGW32__) ) || \ defined (sun) || \ - defined (__hpux__) || \ + defined (__hpux) || \ defined (APPLE_PRE_10_2) #ifndef floorf @@ -212,3 +212,4 @@ inline float computeVolume(const T& f1,const T& f2,const T& f3, } #endif // __OSG_MATH + diff --git a/src/osgPlugins/net/sockstream.cpp b/src/osgPlugins/net/sockstream.cpp index b05b20edf..768aacd96 100644 --- a/src/osgPlugins/net/sockstream.cpp +++ b/src/osgPlugins/net/sockstream.cpp @@ -77,7 +77,8 @@ extern "C" { # include } #else -# define socklen_t int + +typedef int socklen_t; # define EWOULDBLOCK WSAEWOULDBLOCK # define EINPROGRESS WSAEINPROGRESS @@ -129,8 +130,8 @@ extern "C" { #include #endif -#ifdef __sgi -#define socklen_t int +#if defined( __sgi ) || defined (__hpux) +typedef int socklen_t; #endif #ifndef BUFSIZ @@ -205,7 +206,7 @@ bool sockerr::op () const case EHOSTDOWN: case EHOSTUNREACH: case ENOTEMPTY: -# if !defined(__linux__) && !defined(__sun)// LN +# if !defined(__linux__) && !defined(__sun) && !defined(__hpux)// LN case EPROCLIM: # endif case EUSERS: @@ -505,9 +506,9 @@ void sockbuf::listen (int num) sockbuf::sockdesc sockbuf::accept (sockAddr& sa) { - int len = sa.size (); + socklen_t len = sa.size (); int soc = -1; - if ((soc = ::accept (rep->sock, sa.addr (), (socklen_t*) // LN + if ((soc = ::accept (rep->sock, sa.addr (), &len)) == -1) throw sockerr (errno, "sockbuf::sockdesc", sockname.c_str()); return sockdesc (soc); @@ -947,7 +948,7 @@ void sockbuf::closeonexec (bool set) const // if set is true, set close on exec flag // else clear close on exec flag { -#ifndef __sgi +#if !defined( __sgi) && !defined(__hpux) if (set) { if (::ioctl (rep->sock, FIOCLEX, 0) == -1) throw sockerr (errno, "sockbuf::closeonexec", sockname.c_str());