diff options
-rw-r--r-- | cpp/CHANGES | 2 | ||||
-rw-r--r-- | cpp/INSTALL.FreeBSD | 115 | ||||
-rw-r--r-- | cpp/config/Make.rules.FreeBSD | 39 | ||||
-rw-r--r-- | cpp/src/IcePack/Grammar.y | 2 | ||||
-rw-r--r-- | cpp/src/IceSSL/OpenSSLPluginI.cpp | 2 |
5 files changed, 158 insertions, 2 deletions
diff --git a/cpp/CHANGES b/cpp/CHANGES index 49f69908330..faf5bef6bbe 100644 --- a/cpp/CHANGES +++ b/cpp/CHANGES @@ -1,6 +1,8 @@ Changes since version 1.3.0 --------------------------- +- Added unsupported FreeBSD port. + - Ice now builds with GCC 3.4.0. - Fixed a bug when making asynchronous invocations on a routed diff --git a/cpp/INSTALL.FreeBSD b/cpp/INSTALL.FreeBSD new file mode 100644 index 00000000000..5142291b156 --- /dev/null +++ b/cpp/INSTALL.FreeBSD @@ -0,0 +1,115 @@ +====================================================================== +Requirements +====================================================================== + + +Operating System +---------------- + +FreeBSD 5.1 for Intel x86. + +C++ compiler +------------ + +- GCC 3.3 + + +Third-party libraries +--------------------- + +- Berkeley DB 4.1.25 or 4.2.52 configured with --enable-cxx + +- expat 1.9x + +- OpenSSL 0.96 or 0.97 + +- bzip2 1.0 + +- readline and ncurses (optional, but used unless you set USE_READLINE + to no in config/Make.rules) + +Berkeley DB, expat, OpenSSL, bzip2, readline and ncurses are usually +available with your FreeBSD distribution. + +If you don't have them, you can download Berkeley DB from: +http://www.sleepycat.com/download + +And expat from: +http://sourceforge.net/projects/expat + +And OpenSSL from: +http://www.openssl.org + +And bzip2 from: +http://sources.redhat.com/bzip2 + +And readline from: +http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html + +And ncurses from: +http://www.gnu.org/software/ncurses/ncurses.html + + +Python 2.2 or 2.3 +----------------- + +To run the automated test suite, you will need Python. 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-<version>.tar.gz + +Change the working directory to Ice-<version>: + +$ cd Ice-<version> + +Edit the file config/Make.rules according to the comments in this +file. Make sure that the paths for the third-party libraries are set +correctly if they are not installed in the default location /usr/lib +and /usr/include. + +Now you're ready to build Ice: + +$ make + +This will build the Ice core library, all add-ons, all tests, and all +examples. After a successful build, you can run the test suite, +provided that you installed Python: + +$ make test + +This is equivalent to: + +$ python allTests.py + +If everything worked out, you should see lots of "ok". In case of a +failure, the tests abort with "failed". + +If you want to try out any of the demos, make sure to add "bin" to +PATH and "lib" to LD_LIBRARY_PATH: + +$ 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 "prefix" +directory specified in the file Make.rules. + +After installation, make sure that the <prefix>/bin directory is in +your PATH, and the <prefix>/lib directory is in your +LD_LIBRARY_PATH. When compiling Ice programs, you must also make sure +to pass the location of the <prefix>/include directory to the compiler +with the -I option, and the location of the <prefix>/lib directory +with the -L option. + diff --git a/cpp/config/Make.rules.FreeBSD b/cpp/config/Make.rules.FreeBSD new file mode 100644 index 00000000000..918e8656dd9 --- /dev/null +++ b/cpp/config/Make.rules.FreeBSD @@ -0,0 +1,39 @@ +# ********************************************************************** +# +# Copyright (c) 2003 +# ZeroC, Inc. +# Billerica, MA, USA +# +# All Rights Reserved. +# +# Ice is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License version 2 as published by +# the Free Software Foundation. +# +# ********************************************************************** + +# +# This file is included by Make.rules when uname is FreeBSD +# + +CXX := c++ + +CXXFLAGS = -ftemplate-depth-128 -fPIC -Wall -D_REENTRANT -D_THREAD_SAFE + +ifeq ($(OPTIMIZE),yes) + CXXFLAGS := -O2 -DNDEBUG $(CXXFLAGS) +else + CXXFLAGS := -g $(CXXFLAGS) +endif + +mkshlib = $(CXX) -shared $(LDFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4) -lc_r + +BASELIBS = -lIceUtil -lc_r +LIBS = -lIce $(BASELIBS) + +ICEUTIL_OS_LIBS = +ICE_OS_LIBS = + +PLATFORM_HAS_READLINE := yes + +export LD_LIBRARY_PATH := $(libdir):$(LD_LIBRARY_PATH) diff --git a/cpp/src/IcePack/Grammar.y b/cpp/src/IcePack/Grammar.y index a38927d2942..3bcd35ce1e2 100644 --- a/cpp/src/IcePack/Grammar.y +++ b/cpp/src/IcePack/Grammar.y @@ -221,7 +221,7 @@ strings } | ICE_PACK_STRING { - $$ = $1 + $$ = $1; } ; diff --git a/cpp/src/IceSSL/OpenSSLPluginI.cpp b/cpp/src/IceSSL/OpenSSLPluginI.cpp index 1e8e1abbe30..6d020a45d39 100644 --- a/cpp/src/IceSSL/OpenSSLPluginI.cpp +++ b/cpp/src/IceSSL/OpenSSLPluginI.cpp @@ -43,7 +43,7 @@ #define OPENSSL_THREAD_DEFINES #include <openssl/opensslconf.h> -#if OPENSSL_VERSION_NUMBER < 0x0090700fL +#if OPENSSL_VERSION_NUMBER < 0x0090700fL || defined(__FreeBSD__) # if !defined(THREADS) # error "Thread support not enabled" # endif |