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: *;
+};
|