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
|
||||
|
||||
|
@ -27,6 +27,7 @@ Url: http://fallabs.com/kyotocabinet/
|
||||
Source: http://fallabs.com/kyotocabinet/pkg/kyotocabinet-%{version}.tar.gz
|
||||
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
||||
Patch1: %{name}-fix_rpath.patch
|
||||
Patch2: configure-8-byte-atomics.patch
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: gcc-c++
|
||||
@ -106,6 +107,7 @@ Kyoto Cabinet within a proprietary software, the commercial license is required.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p 1
|
||||
%patch2 -p1
|
||||
sed -ie "/ldconfig/d" Makefile.in
|
||||
sed -ie "/DOCDIR/d" Makefile.in
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user