aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andree <mandree@FreeBSD.org>2013-07-24 21:35:51 +0000
committerMatthias Andree <mandree@FreeBSD.org>2013-07-24 21:35:51 +0000
commitdbf33b220e32ea0fcc980def5d68b36c4320c55e (patch)
tree214f08cf604aa1371d83087d5f0de5f08d2a9193
parente71757d25d6a3408683631f514f812e187650c43 (diff)
downloadports-dbf33b220e32ea0fcc980def5d68b36c4320c55e.tar.gz
ports-dbf33b220e32ea0fcc980def5d68b36c4320c55e.zip
Fix C++11 compatibility by renaming atomic_init().
Modified version of dim's patch, where most of the stuff moves into a REINPLACE_CMD called from post-patch. Submitted by: dim
Notes
Notes: svn path=/head/; revision=323621
-rw-r--r--databases/db5/Makefile1
-rw-r--r--databases/db5/files/patch-src_dbinc_atomic.h18
-rw-r--r--databases/db6/Makefile1
-rw-r--r--databases/db6/files/patch-src_dbinc_atomic.h20
4 files changed, 40 insertions, 0 deletions
diff --git a/databases/db5/Makefile b/databases/db5/Makefile
index 21df15238bd4..e45c65e54da7 100644
--- a/databases/db5/Makefile
+++ b/databases/db5/Makefile
@@ -81,6 +81,7 @@ CONFIGURE_ARGS+= --enable-debug --enable-umrw
post-patch:
${REINPLACE_CMD} -e '/^DOCLIST/{s/csharp//;}' ${WRKSRC}/../dist/Makefile.in
+ ${REINPLACE_CMD} -Ee 's/[[:<:]]atomic_init[[:>:]]/db_atomic_init/g' ${WRKSRC}/../src/mp/mp* ${WRKSRC}/../src/mutex/mut_*
post-install:
.for i in libdb libdb_cxx libdb_stl ${libdb_sql} ${libdb_java}
diff --git a/databases/db5/files/patch-src_dbinc_atomic.h b/databases/db5/files/patch-src_dbinc_atomic.h
index 7784596acfc6..46412294ec2b 100644
--- a/databases/db5/files/patch-src_dbinc_atomic.h
+++ b/databases/db5/files/patch-src_dbinc_atomic.h
@@ -1,5 +1,14 @@
--- ../src/dbinc/atomic.h.orig 2012-02-29 19:48:38.000000000 +0100
+++ ../src/dbinc/atomic.h 2012-05-04 22:39:32.000000000 +0200
+@@ -70,7 +70,7 @@ typedef struct {
+ * These have no memory barriers; the caller must include them when necessary.
+ */
+ #define atomic_read(p) ((p)->value)
+-#define atomic_init(p, val) ((p)->value = (val))
++#define db_atomic_init(p, val) ((p)->value = (val))
+
+ #ifdef HAVE_ATOMIC_SUPPORT
+
@@ -144,7 +144,7 @@ typedef LONG volatile *interlocked_val;
#define atomic_inc(env, p) __atomic_inc(p)
#define atomic_dec(env, p) __atomic_dec(p)
@@ -18,3 +27,12 @@
db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
{
atomic_value_t was;
+@@ -206,7 +206,7 @@ static inline int __atomic_compare_excha
+ #define atomic_dec(env, p) (--(p)->value)
+ #define atomic_compare_exchange(env, p, oldval, newval) \
+ (DB_ASSERT(env, atomic_read(p) == (oldval)), \
+- atomic_init(p, (newval)), 1)
++ db_atomic_init(p, (newval)), 1)
+ #else
+ #define atomic_inc(env, p) __atomic_inc(env, p)
+ #define atomic_dec(env, p) __atomic_dec(env, p)
diff --git a/databases/db6/Makefile b/databases/db6/Makefile
index db9e66eb1463..3fc5b0b62dad 100644
--- a/databases/db6/Makefile
+++ b/databases/db6/Makefile
@@ -84,6 +84,7 @@ CONFIGURE_ARGS+= --enable-debug --enable-umrw
post-patch:
${REINPLACE_CMD} -e '/^DOCLIST/{s/csharp//;}' ${WRKSRC}/../dist/Makefile.in
+ ${REINPLACE_CMD} -Ee 's/[[:<:]]atomic_init[[:>:]]/db_atomic_init/g' ${WRKSRC}/../src/mp/mp* ${WRKSRC}/../src/mutex/mut_*
post-install:
.for i in libdb libdb_cxx libdb_stl ${libdb_sql} ${libdb_java}
diff --git a/databases/db6/files/patch-src_dbinc_atomic.h b/databases/db6/files/patch-src_dbinc_atomic.h
new file mode 100644
index 000000000000..cbe9ab66ecba
--- /dev/null
+++ b/databases/db6/files/patch-src_dbinc_atomic.h
@@ -0,0 +1,20 @@
+--- ../src/dbinc/atomic.h.orig 2012-02-29 19:48:38.000000000 +0100
++++ ../src/dbinc/atomic.h 2012-05-04 22:39:32.000000000 +0200
+@@ -70,7 +70,7 @@ typedef struct {
+ * These have no memory barriers; the caller must include them when necessary.
+ */
+ #define atomic_read(p) ((p)->value)
+-#define atomic_init(p, val) ((p)->value = (val))
++#define db_atomic_init(p, val) ((p)->value = (val))
+
+ #ifdef HAVE_ATOMIC_SUPPORT
+
+@@ -206,7 +206,7 @@ static inline int __atomic_compare_excha
+ #define atomic_dec(env, p) (--(p)->value)
+ #define atomic_compare_exchange(env, p, oldval, newval) \
+ (DB_ASSERT(env, atomic_read(p) == (oldval)), \
+- atomic_init(p, (newval)), 1)
++ db_atomic_init(p, (newval)), 1)
+ #else
+ #define atomic_inc(env, p) __atomic_inc(env, p)
+ #define atomic_dec(env, p) __atomic_dec(env, p)