diff -Naur Ice-3.0.1-old/INSTALL.OPENBSD Ice-3.0.1/INSTALL.OPENBSD --- Ice-3.0.1-old/INSTALL.OPENBSD Wed Dec 31 19:00:00 1969 +++ Ice-3.0.1/INSTALL.OPENBSD Tue May 16 07:08:48 2006 @@ -0,0 +1,113 @@ +====================================================================== +Requirements +====================================================================== + + +Operating System +---------------- + +OpenBSD 3.9 for Intel x86. + + +C++ compiler +------------ + +GCC 3.3 + + +Third-party libraries +--------------------- + +Ice has dependencies on a number of third-party libraries: + +- Berkeley DB 4.3.29 configured with --enable-cxx. + + If you intend to use Ice for Java with Berkeley DB, you must also + include the option --enable-java. + +- OpenSSL 0.9.6 or later + +- expat 1.9x + +- bzip2 1.0 + +- readline and ncurses (optional, but used unless you set USE_READLINE + to no in config/Make.rules) + +- GNU Make 3.80 + +Berkeley DB, expat, OpenSSL, bzip2, readline and ncurses are usually +available with your FreeBSD distribution, or you can download them +from the following locations: + +Berkeley DB http://www.sleepycat.com/download +expat http://sourceforge.net/projects/expat/ +OpenSSL http://www.openssl.org +bzip2 http://sources.redhat.com/bzip2 +readline http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html +ncurses http://www.gnu.org/software/ncurses/ncurses.html + + +Python +------ + +To run the automated test suite, you will need Python 2.2 or a newer +version. If you have no interest in running the test scripts, Python +is not required. + + +====================================================================== +Compilation and Testing +====================================================================== + +Extract the Ice archive in any directory you like (for example, in +your home directory): + +$ tar xvfz Ice-3.0.1.tar.gz + +Change the working directory to Ice-3.0.1: + +$ cd Ice-3.0.1 + +Edit config/Make.rules to establish your build configuration. The +comments in the file provide more information. Pay particular +attention to the variables that define the locations of the third- +party libraries. + +Now you're ready to build Ice: + +$ gmake + +This will build the Ice core libraries, services, tests and examples. +After a successful build, you can run the test suite, provided that +you have installed Python: + +$ gmake test + +This is equivalent to: + +$ python allTests.py + +If everything worked out, you should see lots of "ok" messages. In +case of a failure, the tests abort with "failed". + +If you want to try out any of the demos, make sure to update your PATH +environment variable to add the "bin" directory, and your +LD_LIBRARY_PATH environment variable to add the "lib" directory: + +$ export PATH=`pwd`/bin:$PATH +$ export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH + + +====================================================================== +Installation +====================================================================== + +Simply run "make install". This will install Ice in the directory +specified by the "prefix" variable in config/Make.rules. + +After installation, make sure that the /bin directory is in +your PATH, and the /lib directory is in your LD_LIBRARY_PATH. +When compiling Ice programs, you must pass the location of the +/include directory to the compiler with the -I option, and the +location of the /lib directory with the -L option. diff -Naur Ice-3.0.1-old/config/Make.rules.OpenBSD Ice-3.0.1/config/Make.rules.OpenBSD --- Ice-3.0.1-old/config/Make.rules.OpenBSD Wed Dec 31 19:00:00 1969 +++ Ice-3.0.1/config/Make.rules.OpenBSD Wed May 10 19:00:07 2006 @@ -0,0 +1,45 @@ +# ********************************************************************** +# +# Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved. +# +# This copy of Ice is licensed to you under the terms described in the +# ICE_LICENSE file included in this distribution. +# +# ********************************************************************** + +# +# This file is included by Make.rules when uname is OpenBSD +# + +CXX = c++ + +CXXFLAGS = -ftemplate-depth-128 -Wall -D_REENTRANT -D_THREAD_SAFE -I/usr/local/include -I/usr/local/include/db4 + +ifeq ($(STATICLIBS),) + CXXFLAGS += -fPIC +endif + +ifeq ($(OPTIMIZE),yes) + CXXFLAGS += -O3 -DNDEBUG +else + CXXFLAGS += -g +endif + +# +# C++ run-time libraries, necessary for linking some shared libraries. +# +CXXLIBS = + +mkshlib = $(CXX) -shared $(LDFLAGS) -L/usr/local/lib -L/usr/local/lib/db4 -o $(1) -Wl,-h,$(2) $(3) $(4) -lpthread + +mklib = ar cr $(1) $(2) + +BASELIBS = -L/usr/local/lib -L/usr/local/lib/db4 -lIceUtil -lpthread +LIBS = -lIce $(BASELIBS) + +ICEUTIL_OS_LIBS = +ICE_OS_LIBS = + +PLATFORM_HAS_READLINE = yes + +export LD_LIBRARY_PATH := $(libdir):$(LD_LIBRARY_PATH) diff -Naur Ice-3.0.1-old/src/Ice/Network.cpp Ice-3.0.1/src/Ice/Network.cpp --- Ice-3.0.1-old/src/Ice/Network.cpp Mon Nov 28 07:06:41 2005 +++ Ice-3.0.1/src/Ice/Network.cpp Mon May 15 05:51:39 2006 @@ -275,7 +275,7 @@ { return; } -#elif defined(__APPLE__) +#elif defined(__APPLE__) || defined(__OpenBSD__) if(errno == ENOTCONN || errno == EINVAL) { return; diff -Naur Ice-3.0.1-old/src/IceGrid/PlatformInfo.cpp Ice-3.0.1/src/IceGrid/PlatformInfo.cpp --- Ice-3.0.1-old/src/IceGrid/PlatformInfo.cpp Tue Jan 10 15:32:24 2006 +++ Ice-3.0.1/src/IceGrid/PlatformInfo.cpp Thu May 11 04:50:37 2006 @@ -23,7 +23,8 @@ # include // For PDH_MORE_DATA #else # include -# if defined(__APPLE__) +# if defined(__APPLE__) || defined(__OpenBSD__) +# include # include # elif defined(__sun) # include @@ -122,7 +123,7 @@ SYSTEM_INFO sysInfo; GetSystemInfo(&sysInfo); _info.nProcessors = sysInfo.dwNumberOfProcessors; -#elif defined(__APPLE__) +#elif defined(__APPLE__) || defined(__OpenBSD__) static int ncpu[2] = { CTL_HW, HW_NCPU }; size_t sz = sizeof(_info.nProcessors); if(sysctl(ncpu, 2, &_info.nProcessors, &sz, 0, 0) == -1) diff -Naur Ice-3.0.1-old/src/IceSSL/OpenSSLPluginI.cpp Ice-3.0.1/src/IceSSL/OpenSSLPluginI.cpp --- Ice-3.0.1-old/src/IceSSL/OpenSSLPluginI.cpp Fri Nov 18 17:59:46 2005 +++ Ice-3.0.1/src/IceSSL/OpenSSLPluginI.cpp Wed May 10 18:21:49 2006 @@ -44,7 +44,7 @@ # if !defined(THREADS) # error "Thread support not enabled" # endif -#else +#elif !defined(__OpenBSD__) # if !defined(OPENSSL_THREADS) # error "Thread support not enabled" # endif @@ -150,7 +150,7 @@ { #if defined(_WIN32) return static_cast(GetCurrentThreadId()); -#elif defined(__FreeBSD__) || defined(__APPLE__) || defined(__osf1__) +#elif defined(__FreeBSD__) || defined(__APPLE__) || defined(__osf1__) || defined(__OpenBSD__) // // On FreeBSD, pthread_t is a pointer to a per-thread structure // diff -Naur Ice-3.0.1-old/src/icecpp/config.h Ice-3.0.1/src/icecpp/config.h --- Ice-3.0.1-old/src/icecpp/config.h Thu Sep 22 10:01:13 2005 +++ Ice-3.0.1/src/icecpp/config.h Wed May 10 12:50:56 2006 @@ -12,7 +12,7 @@ // configure script from the gcc-2.8.1 distribution. // -#if defined(__linux) || defined(__FreeBSD__) \ +#if defined(__linux) || defined(__FreeBSD__) || defined(__OpenBSD__) \ || defined(__sun) || defined(__hpux) || defined(__APPLE__) \ || defined(_AIX) || defined(__osf1__) # define TIME_WITH_SYS_TIME 1 @@ -71,7 +71,7 @@ #define LONG_TYPE_SIZE 4 #if defined(_WIN32) # define WCHAR_TYPE_SIZE 2 -#elif (defined(__linux) || defined(__FreeBSD__)) && \ +#elif (defined(__linux) || defined(__FreeBSD__) || defined(__OpenBSD__)) && \ (defined(__i386) || defined(__x86_64) || defined(__sparc)) || \ defined (__sun) || defined(__hpux) || defined(__APPLE__) || \ defined(_AIX) || defined(__osf1__)