summaryrefslogtreecommitdiffstats
path: root/abs/core/fam/fam-2.7.0-noc++.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/fam/fam-2.7.0-noc++.patch')
-rw-r--r--abs/core/fam/fam-2.7.0-noc++.patch83
1 files changed, 83 insertions, 0 deletions
diff --git a/abs/core/fam/fam-2.7.0-noc++.patch b/abs/core/fam/fam-2.7.0-noc++.patch
new file mode 100644
index 0000000..9188af0
--- /dev/null
+++ b/abs/core/fam/fam-2.7.0-noc++.patch
@@ -0,0 +1,83 @@
+diff -ruN fam-2.7.0/lib/Client.c++ fam-2.7.0.noc++/lib/Client.c++
+--- fam-2.7.0/lib/Client.c++ 2003-01-18 14:18:12.000000000 +0000
++++ fam-2.7.0.noc++/lib/Client.c++ 2006-03-02 22:47:50.000000000 +0000
+@@ -34,8 +34,6 @@
+ #include <syslog.h>
+ #include <errno.h>
+
+-#include <iostream.h>
+-
+ #include "fam.h"
+ #include "Client.h"
+
+@@ -440,3 +438,29 @@
+ memcpy(l, p, sizeof(u_int32_t));
+ *l = ntohl(*l);
+ }
++
++/* Some C++ stuff needed when we not link to libstdc++ */
++void *operator new (size_t sz)
++{
++ void *ret = malloc (sz);
++ if (ret == NULL)
++ {
++ fputs ("libfam memory allocation failed\n", stderr);
++ }
++ return ret;
++}
++
++void *operator new[] (size_t sz)
++{
++ return ::operator new(sz);
++}
++
++void operator delete (void *ptr)
++{
++ free (ptr);
++}
++
++void operator delete[] (void *ptr)
++{
++ free (ptr);
++}
+diff -ruN fam-2.7.0/lib/Makefile.am fam-2.7.0.noc++/lib/Makefile.am
+--- fam-2.7.0/lib/Makefile.am 2003-01-19 01:55:10.000000000 +0000
++++ fam-2.7.0.noc++/lib/Makefile.am 2006-03-02 22:43:01.000000000 +0000
+@@ -7,8 +7,11 @@
+ Client.h \
+ fam.c++
+
+-libfam_la_LDFLAGS = -export-symbols fam.sym
+-libfam_la_LIBADD = -lstdc++
++libfam_la_LDFLAGS = -Wl,--version-script=fam.sym.version
++libfam_la_LIBADD =
++AM_CXXFLAGS = -fno-exceptions -fno-rtti
++
++CXXLD=--tag=CC $(CXX)
+
+ EXTRA_DIST = fam.sym
+
+diff -ruN fam-2.7.0/lib/fam.sym.version fam-2.7.0.noc++/lib/fam.sym.version
+--- fam-2.7.0/lib/fam.sym.version 1970-01-01 00:00:00.000000000 +0000
++++ fam-2.7.0.noc++/lib/fam.sym.version 2006-03-02 22:49:31.000000000 +0000
+@@ -0,0 +1,20 @@
++{
++ global:
++ FAMCancelMonitor;
++ FAMClose;
++ FAMDebugLevel;
++ FamErrlist;
++ FAMErrno;
++ FAMMonitorCollection;
++ FAMMonitorDirectory;
++ FAMMonitorDirectory2;
++ FAMMonitorFile;
++ FAMMonitorFile2;
++ FAMNextEvent;
++ FAMOpen;
++ FAMOpen2;
++ FAMPending;
++ FAMResumeMonitor;
++ FAMSuspendMonitor;
++ local: *;
++};