hc
2023-11-06 15ade055295d13f95d49e3d99b09f3bbfb4a43e7
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
configure.ac: cross-compilation fix
 
This patch enables to configure the package when cross-compiling in a way
recommended by Autoconf manual (see manual for version 2.69, Section 6.6
Checking Runtime Behavior).
 
Signed-off-by: Alexander Lukichev <alexander.lukichev@gmail.com>
 
--- a/openpgm/pgm/configure.ac    2011-09-27 20:59:08.000000000 +0300
+++ b/openpgm/pgm/configure.ac    2013-02-12 10:33:53.000000000 +0200
@@ -272,14 +272,19 @@ uint32_t add32_with_carry (uint32_t a, u
     ;;
 esac
 # ticket spinlock friendly: unaligned pointers & atomic ops (excl. Sun Pro)
-AC_MSG_CHECKING([for unaligned pointers])
-AC_RUN_IFELSE(
-    [AC_LANG_PROGRAM([[char* nezumi = "mouse";]],
-        [[short x = *(short*)(nezumi + 2)]])],
-    [AC_MSG_RESULT([yes])
-        pgm_unaligned_pointers=yes],
-    [AC_MSG_RESULT([no])
-        pgm_unaligned_pointers=no])
+AC_CACHE_CHECK([if unaligned access fails], [ac_cv_lbl_unaligned_fail],
+    [AC_RUN_IFELSE(
+        [AC_LANG_PROGRAM([[char* nezumi = "mouse";]],
+            [[short x = *(short*)(nezumi + 2)]])],
+        [ac_cv_lbl_unaligned_fail=no],
+        [ac_cv_lbl_unaligned_fail=yes],
+        [ac_cv_lbl_unaligned_fail=yes])
+    ])
+if test "$ac_cv_lbl_unaligned_fail" = yes; then
+    pgm_unaligned_pointers=no
+else
+    pgm_unaligned_pointers=yes
+fi
 AC_MSG_CHECKING([for intrinsic atomic ops])
 # AC_PREPROC_IFELSE not always portable
 AC_COMPILE_IFELSE(