summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/fam/fam-2.7.0-noc++.patch
blob: 9188af046ff45bb04d6bde0a9d712e6782932135 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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: *;
+};