summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2004-06-08 02:22:42 +0000
committerBernard Normier <bernard@zeroc.com>2004-06-08 02:22:42 +0000
commita60f1f651d60e48cc4f4a8e477c5b7813d24418d (patch)
treeab6fb426a1cad77c9ba865799e542fda62e8d4b1 /cpp/src
parentRemoved substition ".cpp" -> ".cs". This is now done by slice2cs itself. (diff)
downloadice-a60f1f651d60e48cc4f4a8e477c5b7813d24418d.tar.bz2
ice-a60f1f651d60e48cc4f4a8e477c5b7813d24418d.tar.xz
ice-a60f1f651d60e48cc4f4a8e477c5b7813d24418d.zip
AIX port
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Freeze/Makefile8
-rw-r--r--cpp/src/Freeze/ObjectStore.h2
-rw-r--r--cpp/src/Freeze/SharedDb.h3
-rw-r--r--cpp/src/Glacier/Makefile8
-rw-r--r--cpp/src/Ice/DynamicLibrary.cpp16
-rw-r--r--cpp/src/Ice/Makefile8
-rw-r--r--cpp/src/Ice/OutgoingAsync.cpp4
-rw-r--r--cpp/src/IceBox/Makefile8
-rw-r--r--cpp/src/IcePack/Makefile8
-rw-r--r--cpp/src/IcePatch/Makefile8
-rw-r--r--cpp/src/IceSSL/Makefile8
-rw-r--r--cpp/src/IceSSL/OpenSSLPluginI.cpp4
-rw-r--r--cpp/src/IceStorm/Makefile16
-rw-r--r--cpp/src/IceUtil/Makefile8
-rw-r--r--cpp/src/IceXML/Makefile9
-rw-r--r--cpp/src/Slice/Makefile9
-rw-r--r--cpp/src/icecpp/config.h6
-rw-r--r--cpp/src/slice2cpp/Gen.cpp19
-rwxr-xr-xcpp/src/slice2cs/Gen.cpp18
19 files changed, 85 insertions, 85 deletions
diff --git a/cpp/src/Freeze/Makefile b/cpp/src/Freeze/Makefile
index dc414ce3a59..dd1b79b0eeb 100644
--- a/cpp/src/Freeze/Makefile
+++ b/cpp/src/Freeze/Makefile
@@ -13,7 +13,7 @@ LIBFILENAME = $(call mklibfilename,Freeze,$(VERSION))
SONAME = $(call mksoname,Freeze,$(SOVERSION))
LIBNAME = $(call mklibname,Freeze)
-TARGETS = $(libdir)/$(LIBFILENAME) $(libdir)/$(SONAME) $(libdir)/$(LIBNAME)
+TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME))
OBJS = DB.o \
@@ -71,10 +71,6 @@ $(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
ln -s $(SONAME) $@
install:: all
- $(INSTALL_LIBRARY) $(libdir)/$(LIBFILENAME) $(install_libdir)
- rm -f $(install_libdir)/$(SONAME)
- ln -s $(LIBFILENAME) $(install_libdir)/$(SONAME)
- rm -f $(install_libdir)/$(LIBNAME)
- ln -s $(SONAME) $(install_libdir)/$(LIBNAME)
+ $(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
include .depend
diff --git a/cpp/src/Freeze/ObjectStore.h b/cpp/src/Freeze/ObjectStore.h
index 753249a648e..351a84ebba8 100644
--- a/cpp/src/Freeze/ObjectStore.h
+++ b/cpp/src/Freeze/ObjectStore.h
@@ -79,7 +79,7 @@ private:
struct EvictorElement : public Ice::LocalObject
{
-#if defined(_MSC_VER) && (_MSC_VER <= 1200)
+#if defined(_MSC_VER) && (_MSC_VER <= 1200) || defined(__IBMCPP__)
enum
{
diff --git a/cpp/src/Freeze/SharedDb.h b/cpp/src/Freeze/SharedDb.h
index 4260c05212d..9aa2b9a776e 100644
--- a/cpp/src/Freeze/SharedDb.h
+++ b/cpp/src/Freeze/SharedDb.h
@@ -10,9 +10,10 @@
#ifndef FREEZE_SHARED_DB_H
#define FREEZE_SHARED_DB_H
+#include <IceUtil/Config.h>
+#include <db_cxx.h>
#include <Freeze/ConnectionI.h>
#include <IceUtil/Handle.h>
-#include <db_cxx.h>
#include <map>
namespace Freeze
diff --git a/cpp/src/Glacier/Makefile b/cpp/src/Glacier/Makefile
index cbca16159dd..fc626b546ac 100644
--- a/cpp/src/Glacier/Makefile
+++ b/cpp/src/Glacier/Makefile
@@ -16,7 +16,7 @@ LIBNAME = $(call mklibname,Glacier)
ROUTER = $(top_srcdir)/bin/glacierrouter
STARTER = $(top_srcdir)/bin/glacierstarter
-TARGETS = $(libdir)/$(LIBFILENAME) $(libdir)/$(SONAME) $(libdir)/$(LIBNAME) \
+TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME)) \
$(ROUTER) $(STARTER)
OBJS = Starter.o \
@@ -77,11 +77,7 @@ $(STARTER): $(SOBJS) $(libdir)/$(LIBNAME)
$(CXX) $(LDFLAGS) -o $@ $(SOBJS) -lGlacier -lIceSSL $(LIBS) $(OPENSSL_LIBS) $(EXPAT_LIBS)
install:: all
- $(INSTALL_LIBRARY) $(libdir)/$(LIBFILENAME) $(install_libdir)
- rm -f $(install_libdir)/$(SONAME)
- ln -s $(LIBFILENAME) $(install_libdir)/$(SONAME)
- rm -f $(install_libdir)/$(LIBNAME)
- ln -s $(SONAME) $(install_libdir)/$(LIBNAME)
+ $(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
$(INSTALL_PROGRAM) $(ROUTER) $(install_bindir)
$(INSTALL_PROGRAM) $(STARTER) $(install_bindir)
diff --git a/cpp/src/Ice/DynamicLibrary.cpp b/cpp/src/Ice/DynamicLibrary.cpp
index 9b67ca50ce2..1624c53575e 100644
--- a/cpp/src/Ice/DynamicLibrary.cpp
+++ b/cpp/src/Ice/DynamicLibrary.cpp
@@ -104,6 +104,13 @@ IceInternal::DynamicLibrary::loadEntryPoint(const string& entryPoint, bool useIc
{
lib += ".sl";
}
+#elif defined(_AIX)
+ lib = "lib" + libName + ".a(lib" + libName + ".so";
+ if(!version.empty())
+ {
+ lib += "." + version;
+ }
+ lib += ")";
#else
lib = "lib" + libName + ".so";
if(!version.empty())
@@ -126,13 +133,20 @@ IceInternal::DynamicLibrary::load(const string& lib)
#ifdef _WIN32
_hnd = LoadLibrary(lib.c_str());
#else
- _hnd = dlopen(lib.c_str(), RTLD_NOW);
+
+ int flags = RTLD_NOW;
+#ifdef _AIX
+ flags |= RTLD_MEMBER;
+#endif
+
+ _hnd = dlopen(lib.c_str(), flags);
if(_hnd == 0)
{
//
// Remember the most recent error in _err.
//
const char* err = dlerror();
+
if(err)
{
_err = err;
diff --git a/cpp/src/Ice/Makefile b/cpp/src/Ice/Makefile
index 3bf51009f09..40effdb00ba 100644
--- a/cpp/src/Ice/Makefile
+++ b/cpp/src/Ice/Makefile
@@ -13,7 +13,7 @@ LIBFILENAME = $(call mklibfilename,Ice,$(VERSION))
SONAME = $(call mksoname,Ice,$(SOVERSION))
LIBNAME = $(call mklibname,Ice)
-TARGETS = $(libdir)/$(LIBFILENAME) $(libdir)/$(SONAME) $(libdir)/$(LIBNAME)
+TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME))
OBJS = Initialize.o \
Application.o \
@@ -142,10 +142,6 @@ $(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
ln -s $(SONAME) $@
install:: all
- $(INSTALL_LIBRARY) $(libdir)/$(LIBFILENAME) $(install_libdir)
- rm -f $(install_libdir)/$(SONAME)
- ln -s $(LIBFILENAME) $(install_libdir)/$(SONAME)
- rm -f $(install_libdir)/$(LIBNAME)
- ln -s $(SONAME) $(install_libdir)/$(LIBNAME)
+ $(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
include .depend
diff --git a/cpp/src/Ice/OutgoingAsync.cpp b/cpp/src/Ice/OutgoingAsync.cpp
index 755522bef87..ecef9ed15cb 100644
--- a/cpp/src/Ice/OutgoingAsync.cpp
+++ b/cpp/src/Ice/OutgoingAsync.cpp
@@ -90,7 +90,7 @@ IceInternal::OutgoingAsync::__finished(BasicStream& is)
string operation;
__is->read(operation);
- auto_ptr<RequestFailedException> ex = auto_ptr<RequestFailedException>(0);
+ auto_ptr<RequestFailedException> ex;
switch(static_cast<DispatchStatus>(status))
{
case DispatchObjectNotExist:
@@ -131,7 +131,7 @@ IceInternal::OutgoingAsync::__finished(BasicStream& is)
string unknown;
__is->read(unknown);
- auto_ptr<UnknownException> ex = auto_ptr<UnknownException>(0);
+ auto_ptr<UnknownException> ex;
switch(static_cast<DispatchStatus>(status))
{
case DispatchUnknownException:
diff --git a/cpp/src/IceBox/Makefile b/cpp/src/IceBox/Makefile
index db079525d51..0992038656d 100644
--- a/cpp/src/IceBox/Makefile
+++ b/cpp/src/IceBox/Makefile
@@ -16,7 +16,7 @@ LIBNAME = $(call mklibname,IceBox)
SERVER = $(top_srcdir)/bin/icebox
ADMIN = $(top_srcdir)/bin/iceboxadmin
-TARGETS = $(libdir)/$(LIBFILENAME) $(libdir)/$(SONAME) $(libdir)/$(LIBNAME) \
+TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME)) \
$(SERVER) $(ADMIN)
OBJS = IceBox.o \
@@ -64,11 +64,7 @@ $(ADMIN): $(AOBJS) $(libdir)/$(LIBNAME)
$(CXX) $(LDFLAGS) -o $@ $(AOBJS) -lIceBox $(LIBS)
install:: all
- $(INSTALL_LIBRARY) $(libdir)/$(LIBFILENAME) $(install_libdir)
- rm -f $(install_libdir)/$(SONAME)
- ln -s $(LIBFILENAME) $(install_libdir)/$(SONAME)
- rm -f $(install_libdir)/$(LIBNAME)
- ln -s $(SONAME) $(install_libdir)/$(LIBNAME)
+ $(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
$(INSTALL_PROGRAM) $(SERVER) $(install_bindir)
$(INSTALL_PROGRAM) $(ADMIN) $(install_bindir)
diff --git a/cpp/src/IcePack/Makefile b/cpp/src/IcePack/Makefile
index f57f5015dfd..652e2f7b7ed 100644
--- a/cpp/src/IcePack/Makefile
+++ b/cpp/src/IcePack/Makefile
@@ -17,7 +17,7 @@ ADMIN = $(top_srcdir)/bin/icepackadmin
NODE_SERVER = $(top_srcdir)/bin/icepacknode
REGISTRY_SERVER = $(top_srcdir)/bin/icepackregistry
-TARGETS = $(libdir)/$(LIBFILENAME) $(libdir)/$(SONAME) $(libdir)/$(LIBNAME) \
+TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME)) \
$(NODE_SERVER) $(REGISTRY_SERVER) $(ADMIN)
LIB_OBJS = Admin.o \
@@ -177,11 +177,7 @@ clean::
# rm -f Scanner.cpp
install:: all
- $(INSTALL_LIBRARY) $(libdir)/$(LIBFILENAME) $(install_libdir)
- rm -f $(install_libdir)/$(SONAME)
- ln -s $(LIBFILENAME) $(install_libdir)/$(SONAME)
- rm -f $(install_libdir)/$(LIBNAME)
- ln -s $(SONAME) $(install_libdir)/$(LIBNAME)
+ $(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
$(INSTALL_PROGRAM) $(ADMIN) $(install_bindir)
$(INSTALL_PROGRAM) $(NODE_SERVER) $(install_bindir)
$(INSTALL_PROGRAM) $(REGISTRY_SERVER) $(install_bindir)
diff --git a/cpp/src/IcePatch/Makefile b/cpp/src/IcePatch/Makefile
index b34b7f1559e..1d8d81fe7ee 100644
--- a/cpp/src/IcePatch/Makefile
+++ b/cpp/src/IcePatch/Makefile
@@ -17,7 +17,7 @@ CLIENT = $(top_srcdir)/bin/icepatchclient
CALC = $(top_srcdir)/bin/icepatchcalc
SERVER = $(top_srcdir)/bin/icepatchserver
-TARGETS = $(libdir)/$(LIBFILENAME) $(libdir)/$(SONAME) $(libdir)/$(LIBNAME) \
+TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME)) \
$(CLIENT) $(CALC) $(SERVER)
OBJS = IcePatch.o \
@@ -75,11 +75,7 @@ $(SERVER): $(SERVER_OBJS) $(libdir)/$(LIBNAME)
$(CXX) $(LDFLAGS) -o $@ $(SERVER_OBJS) -lIcePatch $(LIBS) $(OPENSSL_LIBS)
install:: all
- $(INSTALL_LIBRARY) $(libdir)/$(LIBFILENAME) $(install_libdir)
- rm -f $(install_libdir)/$(SONAME)
- ln -s $(LIBFILENAME) $(install_libdir)/$(SONAME)
- rm -f $(install_libdir)/$(LIBNAME)
- ln -s $(SONAME) $(install_libdir)/$(LIBNAME)
+ $(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
$(INSTALL_PROGRAM) $(CLIENT) $(install_bindir)
$(INSTALL_PROGRAM) $(CALC) $(install_bindir)
$(INSTALL_PROGRAM) $(SERVER) $(install_bindir)
diff --git a/cpp/src/IceSSL/Makefile b/cpp/src/IceSSL/Makefile
index 409591aff9f..b3ca15a9d15 100644
--- a/cpp/src/IceSSL/Makefile
+++ b/cpp/src/IceSSL/Makefile
@@ -13,7 +13,7 @@ LIBFILENAME = $(call mklibfilename,IceSSL,$(VERSION))
SONAME = $(call mksoname,IceSSL,$(SOVERSION))
LIBNAME = $(call mklibname,IceSSL)
-TARGETS = $(libdir)/$(LIBFILENAME) $(libdir)/$(SONAME) $(libdir)/$(LIBNAME)
+TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME))
OBJS = Plugin.o \
Exception.o \
@@ -79,10 +79,6 @@ $(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
ln -s $(SONAME) $@
install:: all
- $(INSTALL_LIBRARY) $(libdir)/$(LIBFILENAME) $(install_libdir)
- rm -f $(install_libdir)/$(SONAME)
- ln -s $(LIBFILENAME) $(install_libdir)/$(SONAME)
- rm -f $(install_libdir)/$(LIBNAME)
- ln -s $(SONAME) $(install_libdir)/$(LIBNAME)
+ $(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
include .depend
diff --git a/cpp/src/IceSSL/OpenSSLPluginI.cpp b/cpp/src/IceSSL/OpenSSLPluginI.cpp
index 0d31dfda592..8f8fe00174a 100644
--- a/cpp/src/IceSSL/OpenSSLPluginI.cpp
+++ b/cpp/src/IceSSL/OpenSSLPluginI.cpp
@@ -151,9 +151,9 @@ idFunction()
// On FreeBSD, pthread_t is a pointer to a per-thread structure
//
return reinterpret_cast<unsigned long>(pthread_self());
-#elif (defined(__linux) || defined(__sun) || defined(__hpux))
+#elif (defined(__linux) || defined(__sun) || defined(__hpux)) || defined(_AIX)
//
- // On Linux, Solaris and HP-UX, pthread_t is an integer
+ // On Linux, Solaris, HP-UX and AIX, pthread_t is an integer
//
return static_cast<unsigned long>(pthread_self());
#else
diff --git a/cpp/src/IceStorm/Makefile b/cpp/src/IceStorm/Makefile
index 71007a3f262..b0eb95f157d 100644
--- a/cpp/src/IceStorm/Makefile
+++ b/cpp/src/IceStorm/Makefile
@@ -19,8 +19,8 @@ SVCLIBNAME = $(call mklibname,IceStormService)
ADMIN = $(top_srcdir)/bin/icestormadmin
-TARGETS = $(libdir)/$(LIBFILENAME) $(libdir)/$(SONAME) $(libdir)/$(LIBNAME) \
- $(libdir)/$(SVCLIBFILENAME) $(libdir)/$(SVCSONAME) $(libdir)/$(SVCLIBNAME) \
+TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME)) \
+ $(call mklibtargets,$(libdir)/$(SVCLIBFILENAME),$(libdir)/$(SVCSONAME),$(libdir)/$(SVCLIBNAME)) \
$(ADMIN)
OBJS = IceStorm.o
@@ -117,16 +117,8 @@ clean::
-rm -f Scanner.cpp
install:: all
- $(INSTALL_LIBRARY) $(libdir)/$(LIBFILENAME) $(install_libdir)
- rm -f $(install_libdir)/$(SONAME)
- ln -s $(LIBFILENAME) $(install_libdir)/$(SONAME)
- rm -f $(install_libdir)/$(LIBNAME)
- ln -s $(SONAME) $(install_libdir)/$(LIBNAME)
- $(INSTALL_LIBRARY) $(libdir)/$(SVCLIBFILENAME) $(install_libdir)
- rm -f $(install_libdir)/$(SVCSONAME)
- ln -s $(SVCLIBFILENAME) $(install_libdir)/$(SVCSONAME)
- rm -f $(install_libdir)/$(SVCLIBNAME)
- ln -s $(SVCSONAME) $(install_libdir)/$(SVCLIBNAME)
+ $(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
+ $(call installlib,$(install_libdir),$(libdir),$(SVCLIBFILENAME),$(SVCSONAME),$(SVCLIBNAME))
$(INSTALL_PROGRAM) $(ADMIN) $(install_bindir)
include .depend
diff --git a/cpp/src/IceUtil/Makefile b/cpp/src/IceUtil/Makefile
index 37573945da2..e76a4269c20 100644
--- a/cpp/src/IceUtil/Makefile
+++ b/cpp/src/IceUtil/Makefile
@@ -13,7 +13,7 @@ LIBFILENAME = $(call mklibfilename,IceUtil,$(VERSION))
SONAME = $(call mksoname,IceUtil,$(SOVERSION))
LIBNAME = $(call mklibname,IceUtil)
-TARGETS = $(libdir)/$(LIBFILENAME) $(libdir)/$(SONAME) $(libdir)/$(LIBNAME)
+TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME))
OBJS = Exception.o \
Unicode.o \
@@ -64,11 +64,7 @@ $(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
ln -s $(SONAME) $@
install:: all
- $(INSTALL_LIBRARY) $(libdir)/$(LIBFILENAME) $(install_libdir)
- rm -f $(install_libdir)/$(SONAME)
- ln -s $(LIBFILENAME) $(install_libdir)/$(SONAME)
- rm -f $(install_libdir)/$(LIBNAME)
- ln -s $(SONAME) $(install_libdir)/$(LIBNAME)
+ $(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
include .depend
diff --git a/cpp/src/IceXML/Makefile b/cpp/src/IceXML/Makefile
index af762460c96..8011e6d50d8 100644
--- a/cpp/src/IceXML/Makefile
+++ b/cpp/src/IceXML/Makefile
@@ -13,7 +13,7 @@ LIBFILENAME = $(call mklibfilename,IceXML,$(VERSION))
SONAME = $(call mksoname,IceXML,$(SOVERSION))
LIBNAME = $(call mklibname,IceXML)
-TARGETS = $(libdir)/$(LIBFILENAME) $(libdir)/$(SONAME) $(libdir)/$(LIBNAME)
+TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME))
OBJS = Parser.o
@@ -38,12 +38,7 @@ $(libdir)/$(LIBNAME): $(libdir)/$(SONAME)
ln -s $(SONAME) $@
install:: all
- $(INSTALL_LIBRARY) $(libdir)/$(LIBFILENAME) $(install_libdir)
- rm -f $(install_libdir)/$(SONAME)
- ln -s $(LIBFILENAME) $(install_libdir)/$(SONAME)
- rm -f $(install_libdir)/$(LIBNAME)
- ln -s $(SONAME) $(install_libdir)/$(LIBNAME)
-
+ $(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
include .depend
diff --git a/cpp/src/Slice/Makefile b/cpp/src/Slice/Makefile
index 64824ed5c44..aa50a40a15a 100644
--- a/cpp/src/Slice/Makefile
+++ b/cpp/src/Slice/Makefile
@@ -13,8 +13,7 @@ LIBFILENAME = $(call mklibfilename,Slice,$(VERSION))
SONAME = $(call mksoname,Slice,$(SOVERSION))
LIBNAME = $(call mklibname,Slice)
-TARGETS = $(libdir)/$(LIBFILENAME) $(libdir)/$(SONAME) $(libdir)/$(LIBNAME)
-
+TARGETS = $(call mklibtargets,$(libdir)/$(LIBFILENAME),$(libdir)/$(SONAME),$(libdir)/$(LIBNAME))
OBJS = Scanner.o \
Grammar.o \
@@ -52,11 +51,7 @@ clean::
rm -f Scanner.cpp
install:: all
- $(INSTALL_LIBRARY) $(libdir)/$(LIBFILENAME) $(install_libdir)
- rm -f $(install_libdir)/$(SONAME)
- ln -s $(LIBFILENAME) $(install_libdir)/$(SONAME)
- rm -f $(install_libdir)/$(LIBNAME)
- ln -s $(SONAME) $(install_libdir)/$(LIBNAME)
+ $(call installlib,$(install_libdir),$(libdir),$(LIBFILENAME),$(SONAME),$(LIBNAME))
include .depend
diff --git a/cpp/src/icecpp/config.h b/cpp/src/icecpp/config.h
index 09d3a211cc9..f03b54b8ead 100644
--- a/cpp/src/icecpp/config.h
+++ b/cpp/src/icecpp/config.h
@@ -12,7 +12,7 @@
// configure script from the gcc-2.8.1 distribution.
//
-#if defined(__linux) || defined(__FreeBSD__) || defined(__sun) || defined(__hpux) || defined(__APPLE__)
+#if defined(__linux) || defined(__FreeBSD__) || defined(__sun) || defined(__hpux) || defined(__APPLE__) || defined(_AIX)
# define HAVE_INTTYPES_H 1
# define TIME_WITH_SYS_TIME 1
# define HAVE_BCMP 1
@@ -30,7 +30,7 @@
# define alloca _alloca
#endif
-#if defined(__hpux)
+#if defined(__hpux) || defined(_AIX)
#include <alloca.h>
#endif
@@ -57,7 +57,7 @@
#if defined(_WIN32)
# define WCHAR_TYPE_SIZE 2
#elif (defined(__linux) || defined(__FreeBSD__)) && (defined(__i386) || defined(__x86_64) || defined(__sparc)) \
- || defined (__sun) || defined(__hpux) || defined(__APPLE__)
+ || defined (__sun) || defined(__hpux) || defined(__APPLE__) || defined(_AIX)
# define WCHAR_TYPE_SIZE 4
#else
# error "unsupported operating system or platform"
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp
index 15c409a0ffe..fbd80cdcb22 100644
--- a/cpp/src/slice2cpp/Gen.cpp
+++ b/cpp/src/slice2cpp/Gen.cpp
@@ -1915,7 +1915,16 @@ Slice::Gen::ObjectVisitor::visitClassDefStart(const ClassDefPtr& p)
{
ClassList allBases = p->allBases();
StringList ids;
+#if defined(__IBMCPP__) && defined(NDEBUG)
+//
+// VisualAge C++ 6.0 does not see that ClassDef is a Contained,
+// when inlining is on. The code below issues a warning: better
+// than an error!
+//
+ transform(allBases.begin(), allBases.end(), back_inserter(ids), ::IceUtil::constMemFun<string,ClassDef>(&Contained::scoped));
+#else
transform(allBases.begin(), allBases.end(), back_inserter(ids), ::IceUtil::constMemFun(&Contained::scoped));
+#endif
StringList other;
other.push_back(p->scoped());
other.push_back("::Ice::Object");
@@ -2003,8 +2012,16 @@ Slice::Gen::ObjectVisitor::visitClassDefEnd(const ClassDefPtr& p)
if(!allOps.empty())
{
StringList allOpNames;
+#if defined(__IBMCPP__) && defined(NDEBUG)
+//
+// See comment for transform above
+//
+ transform(allOps.begin(), allOps.end(), back_inserter(allOpNames),
+ ::IceUtil::constMemFun<string,Operation>(&Contained::name));
+#else
transform(allOps.begin(), allOps.end(), back_inserter(allOpNames),
- ::IceUtil::constMemFun(&Contained::name));
+ ::IceUtil::constMemFun(&Contained::name));
+#endif
allOpNames.push_back("ice_id");
allOpNames.push_back("ice_ids");
allOpNames.push_back("ice_isA");
diff --git a/cpp/src/slice2cs/Gen.cpp b/cpp/src/slice2cs/Gen.cpp
index 20f970ce8f0..520ecfb45fa 100755
--- a/cpp/src/slice2cs/Gen.cpp
+++ b/cpp/src/slice2cs/Gen.cpp
@@ -121,7 +121,18 @@ Slice::CsVisitor::writeDispatch(const ClassDefPtr& p)
string scoped = p->scoped();
ClassList allBases = p->allBases();
StringList ids;
+
+#if defined(__IBMCPP__) && defined(NDEBUG)
+ //
+ // VisualAge C++ 6.0 does not see that ClassDef is a Contained,
+ // when inlining is on. The code below issues a warning: better
+ // than an error!
+ //
+ transform(allBases.begin(), allBases.end(), back_inserter(ids), ::IceUtil::constMemFun<string,ClassDef>(&Contained::scoped));
+#else
transform(allBases.begin(), allBases.end(), back_inserter(ids), ::IceUtil::constMemFun(&Contained::scoped));
+#endif
+
StringList other;
other.push_back(p->scoped());
other.push_back("::Ice::Object");
@@ -418,7 +429,14 @@ Slice::CsVisitor::writeDispatch(const ClassDefPtr& p)
if(!allOps.empty())
{
StringList allOpNames;
+#if defined(__IBMCPP__) && defined(NDEBUG)
+ //
+ // See comment for transform above
+ //
+ transform(allOps.begin(), allOps.end(), back_inserter(allOpNames), ::IceUtil::constMemFun<string,Operation>(&Contained::name));
+#else
transform(allOps.begin(), allOps.end(), back_inserter(allOpNames), ::IceUtil::constMemFun(&Contained::name));
+#endif
allOpNames.push_back("ice_id");
allOpNames.push_back("ice_ids");
allOpNames.push_back("ice_isA");