forked from pool/kyotocabinet
Accepting request 146463 from home:k0da:ppc
- fix up configure test to handle lack of 8 byte atomics correctly (configure-8-byte-atomics.patch) OBS-URL: https://build.opensuse.org/request/show/146463 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/kyotocabinet?expand=0&rev=11
This commit is contained in:
parent
5fd5bbeebb
commit
62ce867460
87
configure-8-byte-atomics.patch
Normal file
87
configure-8-byte-atomics.patch
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
From: Shawn Landden <shawnlandden@gmail.com>
|
||||||
|
Date: Thu, 21 Jun 2012 20:34:28 -0700
|
||||||
|
Subject: configure: 8 byte atomics
|
||||||
|
|
||||||
|
fix up configure test to handle lack of 8 byte atomics correctly
|
||||||
|
|
||||||
|
as is the case with all ARM targets currently
|
||||||
|
---
|
||||||
|
configure | 29 +++++++++++++----------------
|
||||||
|
configure.in | 19 ++++++++++++++++---
|
||||||
|
2 files changed, 29 insertions(+), 19 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure b/configure
|
||||||
|
index a07063d..bfc6df0 100755
|
||||||
|
--- a/configure
|
||||||
|
+++ b/configure
|
||||||
|
@@ -4012,25 +4012,22 @@ fi
|
||||||
|
# Atomic operations
|
||||||
|
if test "$enable_atomic" != "no"
|
||||||
|
then
|
||||||
|
- printf 'checking for atomic operations... '
|
||||||
|
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
-/* end confdefs.h. */
|
||||||
|
-
|
||||||
|
+ printf 'checking for 8 byte atomic operations... '
|
||||||
|
+ if printf '
|
||||||
|
+/* Some targets support 4 byte atomics, but not 8 byte atomics,
|
||||||
|
+ * and will fail at link time if they are used.
|
||||||
|
+ *
|
||||||
|
+ * http://gcc.gnu.org/onlinedocs/gcc-4.6.3/gcc/Atomic-Builtins.html
|
||||||
|
+ * http://gcc.gnu.org/wiki/Atomic
|
||||||
|
+ */
|
||||||
|
+#include <stdint.h>
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
-__sync_fetch_and_add
|
||||||
|
- ;
|
||||||
|
- return 0;
|
||||||
|
-}
|
||||||
|
-_ACEOF
|
||||||
|
-if ac_fn_cxx_try_compile "$LINENO"; then :
|
||||||
|
- MYGCCATOMIC=yes
|
||||||
|
-else
|
||||||
|
- MYGCCATOMIC=no
|
||||||
|
-fi
|
||||||
|
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
- if test "$MYGCCATOMIC" = "yes"
|
||||||
|
+uint64_t n = 0xdeadbeaf;
|
||||||
|
+__sync_bool_compare_and_swap(&n, 0xdeadbeaf, 0);
|
||||||
|
+return n;
|
||||||
|
+}' | $CC -xc -o config.tmp - >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
MYCPPFLAGS="$MYCPPFLAGS -D_MYGCCATOMIC"
|
||||||
|
printf 'yes\n'
|
||||||
|
diff --git a/configure.in b/configure.in
|
||||||
|
index 7808806..b5f5ac0 100644
|
||||||
|
--- a/configure.in
|
||||||
|
+++ b/configure.in
|
||||||
|
@@ -238,9 +238,22 @@ fi
|
||||||
|
# Atomic operations
|
||||||
|
if test "$enable_atomic" != "no"
|
||||||
|
then
|
||||||
|
- printf 'checking for atomic operations... '
|
||||||
|
- AC_TRY_COMPILE([], [__sync_fetch_and_add], [MYGCCATOMIC=yes], [MYGCCATOMIC=no])
|
||||||
|
- if test "$MYGCCATOMIC" = "yes"
|
||||||
|
+ printf 'checking for 8 byte atomic operations... '
|
||||||
|
+ if printf '
|
||||||
|
+/* Some targets support 4 byte atomics, but not 8 byte atomics,
|
||||||
|
+ * and will fail at link time if they are used.
|
||||||
|
+ *
|
||||||
|
+ * http://gcc.gnu.org/onlinedocs/gcc-4.6.3/gcc/Atomic-Builtins.html
|
||||||
|
+ * http://gcc.gnu.org/wiki/Atomic
|
||||||
|
+ */
|
||||||
|
+#include <stdint.h>
|
||||||
|
+int
|
||||||
|
+main ()
|
||||||
|
+{
|
||||||
|
+uint64_t n = 0xdeadbeaf;
|
||||||
|
+__sync_bool_compare_and_swap(&n, 0xdeadbeaf, 0);
|
||||||
|
+return n;
|
||||||
|
+}' | $CC -xc -o config.tmp - >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
MYCPPFLAGS="$MYCPPFLAGS -D_MYGCCATOMIC"
|
||||||
|
printf 'yes\n'
|
||||||
|
--
|
||||||
|
1.7.9.5
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 27 10:34:38 UTC 2012 - dvaleev@suse.com
|
||||||
|
|
||||||
|
- fix up configure test to handle lack of 8 byte atomics correctly
|
||||||
|
(configure-8-byte-atomics.patch)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sat Aug 11 14:19:14 UTC 2012 - jengelh@inai.de
|
Sat Aug 11 14:19:14 UTC 2012 - jengelh@inai.de
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@ Url: http://fallabs.com/kyotocabinet/
|
|||||||
Source: http://fallabs.com/kyotocabinet/pkg/kyotocabinet-%{version}.tar.gz
|
Source: http://fallabs.com/kyotocabinet/pkg/kyotocabinet-%{version}.tar.gz
|
||||||
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
||||||
Patch1: %{name}-fix_rpath.patch
|
Patch1: %{name}-fix_rpath.patch
|
||||||
|
Patch2: configure-8-byte-atomics.patch
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -106,6 +107,7 @@ Kyoto Cabinet within a proprietary software, the commercial license is required.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch1 -p 1
|
%patch1 -p 1
|
||||||
|
%patch2 -p1
|
||||||
sed -ie "/ldconfig/d" Makefile.in
|
sed -ie "/ldconfig/d" Makefile.in
|
||||||
sed -ie "/DOCDIR/d" Makefile.in
|
sed -ie "/DOCDIR/d" Makefile.in
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user