summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2004-05-11 17:53:40 +0000
committerBernard Normier <bernard@zeroc.com>2004-05-11 17:53:40 +0000
commitfe8c2d3183a4872f2eab15c6ec9a0e24f6d6eb70 (patch)
tree1cbf616cfedbda5edfd1e0d18acc3fe7b8f1e407
parentAdded banner and show commands to icepackadmin and icestormadmin (diff)
downloadice-fe8c2d3183a4872f2eab15c6ec9a0e24f6d6eb70.tar.bz2
ice-fe8c2d3183a4872f2eab15c6ec9a0e24f6d6eb70.tar.xz
ice-fe8c2d3183a4872f2eab15c6ec9a0e24f6d6eb70.zip
FreeBSD port
-rw-r--r--cpp/CHANGES2
-rw-r--r--cpp/INSTALL.FreeBSD115
-rw-r--r--cpp/config/Make.rules.FreeBSD39
-rw-r--r--cpp/src/IcePack/Grammar.y2
-rw-r--r--cpp/src/IceSSL/OpenSSLPluginI.cpp2
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