Compare commits
21 Commits
Author | SHA1 | Date |
---|---|---|
|
42c923921d | 4 months ago |
|
b47983d5bc | 5 months ago |
|
f5c8e10b56 | 7 months ago |
|
b6b39cf3d1 | 9 months ago |
|
7d2c6ed41e | 1 year ago |
|
2cdc84814f | 1 year ago |
|
a23b6f269d | 2 years ago |
|
fe52d29cd8 | 2 years ago |
|
8f9b6f9458 | 2 years ago |
|
a5bdee0bb6 | 2 years ago |
|
be550e9792 | 2 years ago |
|
a904dfe351 | 3 years ago |
|
90c21f9b21 | 3 years ago |
|
9c8655d5dc | 3 years ago |
|
19b3db11fa | 4 years ago |
|
26f7e68ec5 | 4 years ago |
|
7cc0b1ff40 | 4 years ago |
|
f1f5e31eb6 | 5 years ago |
|
638be45216 | 5 years ago |
|
3481d9629b | 5 years ago |
|
527609d856 | 5 years ago |
@ -0,0 +1,32 @@
|
|||||||
|
Include <grp.h> for the setgroups function. This avoids an implicit
|
||||||
|
function declaration and build failures with C99 compilers that do not
|
||||||
|
support them.
|
||||||
|
|
||||||
|
Submitted upstream: <https://github.com/steve-o/openpgm/pull/73>
|
||||||
|
|
||||||
|
diff -ur openpgm-release-5-2-122.orig/openpgm/pgm/configure.ac openpgm-release-5-2-122/openpgm/pgm/configure.ac
|
||||||
|
--- openpgm-release-5-2-122.orig/openpgm/pgm/configure.ac 2012-12-04 03:56:54.000000000 +0100
|
||||||
|
+++ openpgm-release-5-2-122/openpgm/pgm/configure.ac 2023-01-03 16:07:39.751560631 +0100
|
||||||
|
@@ -62,7 +62,7 @@
|
||||||
|
|
||||||
|
# Checks for header files.
|
||||||
|
AC_FUNC_ALLOCA
|
||||||
|
-AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h inttypes.h libintl.h limits.h locale.h malloc.h memory.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h strings.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h sys/timeb.h syslog.h unistd.h wchar.h])
|
||||||
|
+AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h grp.h inttypes.h libintl.h limits.h locale.h malloc.h memory.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h strings.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h sys/timeb.h syslog.h unistd.h wchar.h])
|
||||||
|
|
||||||
|
# Checks for typedefs, structures, and compiler characteristics.
|
||||||
|
AC_HEADER_STDBOOL
|
||||||
|
diff -ur openpgm-release-5-2-122.orig/openpgm/pgm/engine.c openpgm-release-5-2-122/openpgm/pgm/engine.c
|
||||||
|
--- openpgm-release-5-2-122.orig/openpgm/pgm/engine.c 2023-01-03 16:03:16.834181524 +0100
|
||||||
|
+++ openpgm-release-5-2-122/openpgm/pgm/engine.c 2023-01-03 16:08:05.458304376 +0100
|
||||||
|
@@ -31,6 +31,10 @@
|
||||||
|
# include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifdef HAVE_GRP_H
|
||||||
|
+# include <grp.h>
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#ifndef _BSD_SOURCE
|
||||||
|
# define _BSD_SOURCE 1 /* getprotobyname_r */
|
||||||
|
#endif
|
@ -0,0 +1,18 @@
|
|||||||
|
Include <stdio.h> for the printf function. This avoids an implicit
|
||||||
|
function declaration in this configure check, causing to fail
|
||||||
|
unconditionally with compilers that do not support them.
|
||||||
|
|
||||||
|
Submitted upstream: <https://github.com/steve-o/openpgm/pull/73>
|
||||||
|
|
||||||
|
diff -ur openpgm-release-5-2-122.orig/openpgm/pgm/configure.ac openpgm-release-5-2-122/openpgm/pgm/configure.ac
|
||||||
|
--- openpgm-release-5-2-122.orig/openpgm/pgm/configure.ac 2012-12-04 03:56:54.000000000 +0100
|
||||||
|
+++ openpgm-release-5-2-122/openpgm/pgm/configure.ac 2023-01-03 16:07:39.751560631 +0100
|
||||||
|
@@ -207,7 +207,7 @@
|
||||||
|
# sprintf, caveat http://savannah.gnu.org/patch/?6848 (ax_c_printf_thsep)
|
||||||
|
AC_MSG_CHECKING([for printf thousands' grouping])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
- [AC_LANG_PROGRAM(,[[printf ("%'d", 1000000);]])],
|
||||||
|
+ [AC_LANG_PROGRAM([[#include <stdio.h>]],[[printf ("%'d", 1000000);]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$CFLAGS -DHAVE_SPRINTF_GROUPING"],
|
||||||
|
[AC_MSG_RESULT([no])])
|
@ -0,0 +1,313 @@
|
|||||||
|
# -*- Autoconf -*-
|
||||||
|
# Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
|
# Ubuntu 10 : v2.65
|
||||||
|
# OSX 10.6 : v2.61
|
||||||
|
# Solaris 10 : v2.59
|
||||||
|
AC_PREREQ([2.61])
|
||||||
|
AC_INIT([OpenPGM], [m4_esyscmd([perl version.pl %major.%minor.%micro])], [openpgm-dev@googlegroups.com], [openpgm], [http://code.google.com/p/openpgm/])
|
||||||
|
AC_CONFIG_SRCDIR([reed_solomon.c])
|
||||||
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
AC_CONFIG_HEADER(include/config.h)
|
||||||
|
|
||||||
|
# Ubuntu 10 : v1.11
|
||||||
|
# OSX 10.6 : v1.10
|
||||||
|
# Solaris 10 : v1.8
|
||||||
|
AM_INIT_AUTOMAKE([1.10 no-define foreign])
|
||||||
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||||
|
|
||||||
|
AC_SUBST([RELEASE_INFO], [m4_esyscmd([perl version.pl %major.%minor])])
|
||||||
|
AC_SUBST([VERSION_INFO], [m4_esyscmd([perl version.pl 0:%micro])])
|
||||||
|
|
||||||
|
AC_SUBST([VERSION_MAJOR], [m4_esyscmd([perl version.pl %major])])
|
||||||
|
AC_SUBST([VERSION_MINOR], [m4_esyscmd([perl version.pl %minor])])
|
||||||
|
AC_SUBST([VERSION_MICRO], [m4_esyscmd([perl version.pl %micro])])
|
||||||
|
|
||||||
|
# Checks for programs.
|
||||||
|
AC_PROG_CC
|
||||||
|
AC_PROG_CC_C99
|
||||||
|
AC_PROG_LIBTOOL
|
||||||
|
AC_PATH_PROG(PERL, perl)
|
||||||
|
AC_PATH_PROG(PYTHON, python)
|
||||||
|
|
||||||
|
# nb: earliest verifiable version is 2.2.
|
||||||
|
m4_ifdef([LT_PREREQ], [LT_PREREQ([2.2])])
|
||||||
|
m4_ifdef([LT_INIT], [LT_INIT])
|
||||||
|
AC_SUBST([LIBTOOL_DEPS])
|
||||||
|
AC_SUBST(PERL)
|
||||||
|
AC_SUBST(PYTHON)
|
||||||
|
|
||||||
|
# Apply system specific rules.
|
||||||
|
AC_CANONICAL_HOST
|
||||||
|
CFLAGS="$CFLAGS -D_REENTRANT"
|
||||||
|
case "$host_os" in
|
||||||
|
linux*)
|
||||||
|
CFLAGS="$CFLAGS -D_XOPEN_SOURCE=600 -D_BSD_SOURCE"
|
||||||
|
;;
|
||||||
|
solaris*)
|
||||||
|
CFLAGS="$CFLAGS -D_XOPEN_SOURCE=600 -D__EXTENSIONS__"
|
||||||
|
AC_SEARCH_LIBS([socket], [socket])
|
||||||
|
AC_SEARCH_LIBS([gethostname], [nsl])
|
||||||
|
AC_SEARCH_LIBS([inet_aton], [resolv])
|
||||||
|
AC_SEARCH_LIBS([kstat_open], [kstat])
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Checks for libraries.
|
||||||
|
AC_SEARCH_LIBS([sqrt], [m])
|
||||||
|
AC_SEARCH_LIBS([pthread_mutex_trylock], [pthread])
|
||||||
|
AC_SEARCH_LIBS([clock_gettime], [rt])
|
||||||
|
|
||||||
|
# Checks for header files.
|
||||||
|
AC_FUNC_ALLOCA
|
||||||
|
AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h inttypes.h libintl.h limits.h locale.h malloc.h memory.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h strings.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h sys/timeb.h syslog.h unistd.h wchar.h])
|
||||||
|
|
||||||
|
# Checks for typedefs, structures, and compiler characteristics.
|
||||||
|
AC_HEADER_STDBOOL
|
||||||
|
AC_C_INLINE
|
||||||
|
AC_C_FLEXIBLE_ARRAY_MEMBER
|
||||||
|
AC_C_RESTRICT
|
||||||
|
AC_C_VARARRAYS
|
||||||
|
AC_TYPE_INT16_T
|
||||||
|
AC_TYPE_INT32_T
|
||||||
|
AC_TYPE_INT64_T
|
||||||
|
AC_TYPE_INT8_T
|
||||||
|
AC_TYPE_MODE_T
|
||||||
|
AC_TYPE_SIZE_T
|
||||||
|
AC_TYPE_SSIZE_T
|
||||||
|
AC_TYPE_UID_T
|
||||||
|
AC_TYPE_UINT16_T
|
||||||
|
AC_TYPE_UINT32_T
|
||||||
|
AC_TYPE_UINT64_T
|
||||||
|
AC_TYPE_UINT8_T
|
||||||
|
|
||||||
|
# Checks for library functions.
|
||||||
|
# TODO: gettext() fails out-of-the-box from AutoConf.
|
||||||
|
#AM_GNU_GETTEXT
|
||||||
|
AC_FUNC_MALLOC
|
||||||
|
AC_FUNC_MMAP
|
||||||
|
AC_FUNC_REALLOC
|
||||||
|
AC_FUNC_STRERROR_R
|
||||||
|
AC_CHECK_FUNCS([atexit clock_gettime floor ftime gethostbyaddr gethostbyname gethostname gettimeofday inet_ntoa memmove memset regcomp select setenv setlocale socket sqrt stpcpy strcasecmp strchr strdup strerror strncasecmp strpbrk strrchr strstr strtol strtoul strtoull])
|
||||||
|
|
||||||
|
# POSIX spinlocks
|
||||||
|
AC_MSG_CHECKING([for pthread_spinlock])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#include <pthread.h>]],
|
||||||
|
[[pthread_spinlock_t spinlock; pthread_spin_lock (&spinlock);]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$CFLAGS -DHAVE_PTHREAD_SPINLOCK"],
|
||||||
|
[AC_MSG_RESULT([no])])
|
||||||
|
# NSS protocol lookup
|
||||||
|
AC_CHECK_FUNCS([getprotobyname_r])
|
||||||
|
if test "x$ac_cv_func_getprotobyname_r" = "xyes"; then
|
||||||
|
AC_MSG_CHECKING([whether getprotobyname_r returns struct protoent *])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#include <netdb.h>]],
|
||||||
|
[[struct protoent *pe = getprotobyname_r ((const char*)0, (struct protoent*)0, (char*)0, (int)0);]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$CFLAGS -DGETPROTOBYNAME_R_STRUCT_PROTOENT_P"],
|
||||||
|
[AC_MSG_RESULT([no])])
|
||||||
|
fi
|
||||||
|
# NSS networks lookup, IPv4 only
|
||||||
|
AC_CHECK_FUNCS([getnetent])
|
||||||
|
# variadic macros
|
||||||
|
AC_MSG_CHECKING([for C99 variadic macros])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#include <stdio.h>
|
||||||
|
#define error(...) fprintf (stderr, __VA_ARGS__)]],
|
||||||
|
[[error("moo");]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$CFLAGS -DHAVE_ISO_VARARGS"],
|
||||||
|
[AC_MSG_RESULT([no])])
|
||||||
|
AC_MSG_CHECKING([for GNU-style variadic macros])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#include <stdio.h>
|
||||||
|
#define error(x...) fprintf (stderr, x)]],
|
||||||
|
[[error("moo");]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$CFLAGS -DHAVE_GNUC_VARARGS"],
|
||||||
|
[AC_MSG_RESULT([no])])
|
||||||
|
# stack memory api header
|
||||||
|
AC_FUNC_ALLOCA
|
||||||
|
# eventfd API
|
||||||
|
AC_MSG_CHECKING([for eventfd])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#include <sys/eventfd.h>]],
|
||||||
|
[[eventfd (0, 0);]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$CFLAGS -DHAVE_EVENTFD"],
|
||||||
|
[AC_MSG_RESULT([no])])
|
||||||
|
# useful /proc system
|
||||||
|
AC_CHECK_FILES([/proc/cpuinfo])
|
||||||
|
# example: crash handling
|
||||||
|
AC_CHECK_FUNCS([backtrace])
|
||||||
|
# timing
|
||||||
|
AC_CHECK_FUNCS([pselect])
|
||||||
|
AC_CHECK_FILES([/dev/rtc])
|
||||||
|
AC_MSG_CHECKING([for RDTSC instruction])
|
||||||
|
case "$host_os" in
|
||||||
|
darwin*)
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM(,[[unsigned long lo, hi;
|
||||||
|
__asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi));]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$CFLAGS -DHAVE_RDTSC"],
|
||||||
|
[AC_MSG_RESULT([no])])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
AC_CHECK_FILES([/dev/hpet])
|
||||||
|
# event handling
|
||||||
|
AC_CHECK_FUNCS([poll])
|
||||||
|
AC_CHECK_FUNCS([epoll_ctl])
|
||||||
|
# interface enumeration
|
||||||
|
AC_CHECK_FUNCS([getifaddrs])
|
||||||
|
AC_MSG_CHECKING([for struct ifreq.ifr_netmask])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#include <sys/types.h>
|
||||||
|
#include <ifaddrs.h>]],
|
||||||
|
[[struct ifreq ifr;
|
||||||
|
ifr.ifr_netmask = (struct sockaddr*)0;]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$CFLAGS -DHAVE_STRUCT_IFREQ_IFR_NETMASK"],
|
||||||
|
[AC_MSG_RESULT([no])])
|
||||||
|
# win32 cmsg
|
||||||
|
AC_CHECK_MEMBER([struct _WSAMSG.name],
|
||||||
|
CFLAGS="$CFLAGS -DHAVE_WSACMSGHDR",)
|
||||||
|
# multicast
|
||||||
|
AC_MSG_CHECKING([for struct group_req.gr_interface])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#include <netinet/in.h>]],
|
||||||
|
[[struct group_req gr;
|
||||||
|
gr.gr_interface = 0;]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$CFLAGS -DHAVE_STRUCT_GROUP_REQ"],
|
||||||
|
[AC_MSG_RESULT([no])])
|
||||||
|
AC_MSG_CHECKING([for struct ip_mreqn.imr_ifindex])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#include <netinet/in.h>]],
|
||||||
|
[[struct ip_mreqn mreqn;
|
||||||
|
mreqn.imr_ifindex = 0;]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$CFLAGS -DHAVE_STRUCT_IP_MREQN"],
|
||||||
|
[AC_MSG_RESULT([no])])
|
||||||
|
AC_MSG_CHECKING([for struct ip_msfilter.imsf_multiaddr])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#include <sys/sockio.h>]],
|
||||||
|
[[struct ip_msfilter msf;
|
||||||
|
msf.imsf_numsrc = 0;]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$CFLAGS -DHAVE_STRUCT_IP_MSFILTER"],
|
||||||
|
[AC_MSG_RESULT([no])])
|
||||||
|
# sprintf, caveat http://savannah.gnu.org/patch/?6848 (ax_c_printf_thsep)
|
||||||
|
AC_MSG_CHECKING([for printf thousands' grouping])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#include <stdio.h>]],[[printf ("%'d", 1000000);]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$CFLAGS -DHAVE_SPRINTF_GROUPING"],
|
||||||
|
[AC_MSG_RESULT([no])])
|
||||||
|
AC_CHECK_FUNCS([vasprintf])
|
||||||
|
# symbol linking scope
|
||||||
|
# nb: sun x86 ld doesn't support DSO visibility but the compiler raises
|
||||||
|
# warnings and these are easier to detect in autoconf.
|
||||||
|
save_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS -Werror"
|
||||||
|
AC_MSG_CHECKING([for hidden visibility attribute])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#ifdef __SUNPRO_C
|
||||||
|
__hidden
|
||||||
|
#else
|
||||||
|
__attribute__((visibility("hidden")))
|
||||||
|
#endif
|
||||||
|
void moo (void) {};]],
|
||||||
|
[[moo();]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$save_CFLAGS -DHAVE_DSO_VISIBILITY"],
|
||||||
|
[AC_MSG_RESULT([no])
|
||||||
|
CFLAGS="$save_CFLAGS"])
|
||||||
|
|
||||||
|
# socket binding
|
||||||
|
CFLAGS="$CFLAGS -DUSE_BIND_INADDR_ANY"
|
||||||
|
# IP header order as per IP(4) on FreeBSD
|
||||||
|
AC_MSG_CHECKING([for raw IP sockets ip_{len,off} host byte ordering])
|
||||||
|
case "$host_os" in
|
||||||
|
*openbsd*)
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
;;
|
||||||
|
*bsd*|*darwin*|*osf*|*unixware*)
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
|
CFLAGS="$CFLAGS -DHAVE_HOST_ORDER_IP_LEN -DHAVE_HOST_ORDER_IP_OFF"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
# RFC 3542 based IPv6 socket options which are incompatible with RFC 2292
|
||||||
|
case "$host_os" in
|
||||||
|
*darwin*)
|
||||||
|
AC_MSG_CHECKING([for IPV6_PKTINFO])
|
||||||
|
CFLAGS="-D__APPLE_USE_RFC_3542"
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#include <netinet/in.h>]],[[int ipopt = IPV6_PKTINFO;]])],
|
||||||
|
[AC_MSG_RESULT([yes])],
|
||||||
|
[AC_MSG_RESULT([no])])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
# extended assembler on SPARC
|
||||||
|
case "$host" in
|
||||||
|
sparc-sun-solaris*)
|
||||||
|
AC_MSG_CHECKING([for SPARC extended assembler])
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_PROGRAM([[#include <stdint.h>
|
||||||
|
uint32_t add32_with_carry (uint32_t a, uint32_t b) {
|
||||||
|
__asm__ ( "addcc %2, %0, %0\n\taddx %0, %%g0, %0" : "=r" (a) : "0" (a), "r" (b) : "cc");
|
||||||
|
return a;
|
||||||
|
}]],
|
||||||
|
[[uint32_t c = add32_with_carry (1, 2);]])],
|
||||||
|
[AC_MSG_RESULT([yes])],
|
||||||
|
[AC_MSG_RESULT([optimization required])
|
||||||
|
CFLAGS="$CFLAGS -xO1"])
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
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_MSG_CHECKING([for intrinsic atomic ops])
|
||||||
|
# AC_PREPROC_IFELSE not always portable
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
[AC_LANG_SOURCE([[#if defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) )
|
||||||
|
/* GCC assembler */
|
||||||
|
#elif defined( __sun )
|
||||||
|
/* Solaris intrinsic */
|
||||||
|
#elif defined( __APPLE__ )
|
||||||
|
/* Darwin intrinsic */
|
||||||
|
#elif defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 )
|
||||||
|
/* GCC 4.0.1 intrinsic */
|
||||||
|
#elif defined( _WIN32 )
|
||||||
|
/* Windows intrinsic */
|
||||||
|
#else
|
||||||
|
# error "Unsupported atomic ops."
|
||||||
|
#endif]])],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
if test "$pgm_unaligned_pointers" = yes; then
|
||||||
|
CFLAGS="$CFLAGS -DUSE_TICKET_SPINLOCK -DUSE_DUMB_RWSPINLOCK"
|
||||||
|
else
|
||||||
|
CFLAGS="$CFLAGS -DUSE_TICKET_SPINLOCK"
|
||||||
|
fi],
|
||||||
|
[AC_MSG_RESULT([no])])
|
||||||
|
|
||||||
|
AC_CONFIG_FILES([Makefile openpgm-${RELEASE_INFO}.pc openpgm.spec])
|
||||||
|
AC_OUTPUT
|
Loading…
Reference in new issue