1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-25 00:51:21 +00:00

- Fix build with libc++ 3.8.0

PR:		209019
Submitted by:	dim@
Obtained from:	upstream commit 9073983df3ff23f2230f941e525aa167ece50ddd
This commit is contained in:
Ryan Steinmetz 2016-05-09 12:23:00 +00:00
parent d402627195
commit c4815b7c4e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=414841

View File

@ -0,0 +1,60 @@
--- configure.ac.orig 2015-07-23 06:34:37 UTC
+++ configure.ac
@@ -322,14 +322,18 @@ public:
[AC_MSG_RESULT([no])])
AC_LANG_POP(C++)
-AC_CHECK_DECLS([__builtin_bswap64, __builtin_ctz])
-
AC_CHECK_DECL([mach_absolute_time],
[AC_DEFINE([HAVE_MACH_ABSOLUTE_TIME], [1],
[Define if mach_absolute_time is available.])],
, [[#include <mach/mach_time.h>]])
-AC_CHECK_DECLS([be64toh, betoh64], [], [],
+
+AC_CHECK_DECLS([__builtin_ctz])
+
+AC_CHECK_DECLS([ffs], [], [],
+ [[#include <strings.h>]])
+
+AC_CHECK_DECLS([be64toh, betoh64, bswap64, __builtin_bswap64], [], [],
[[#if defined(HAVE_ENDIAN_H)
#include <endian.h>
#elif defined(HAVE_SYS_ENDIAN_H)
--- src/crypto/ocb.cc.orig 2015-06-26 13:03:41 UTC
+++ src/crypto/ocb.cc
@@ -75,6 +75,15 @@
#include "ae.h"
#include <stdlib.h>
#include <string.h>
+#if defined(HAVE_STRINGS_H)
+#include <strings.h>
+#endif
+#if defined(HAVE_ENDIAN_H)
+#include <endian.h>
+#elif defined(HAVE_SYS_ENDIAN_H)
+#include <sys/types.h>
+#include <sys/endian.h>
+#endif
/* Define standard sized integers */
#if defined(_MSC_VER) && (_MSC_VER < 1600)
@@ -101,6 +110,8 @@
#if _MSC_VER
#define bswap64(x) _byteswap_uint64(x)
+#elif HAVE_DECL_BSWAP64
+ /* nothing */
#elif HAVE_DECL___BUILTIN_BSWAP64
#define bswap64(x) __builtin_bswap64(x) /* GCC 4.3+ */
#else
@@ -121,6 +132,8 @@
static inline unsigned ntz(unsigned x) {_BitScanForward(&x,x);return x;}
#elif HAVE_DECL___BUILTIN_CTZ
#define ntz(x) __builtin_ctz((unsigned)(x)) /* GCC 3.4+ */
+#elif HAVE_DECL_FFS
+ #define ntz(x) (ffs(x) - 1)
#else
#if (L_TABLE_SZ <= 9) && (L_TABLE_SZ_IS_ENOUGH) /* < 2^13 byte texts */
static inline unsigned ntz(unsigned x) {