mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-05 06:33:50 +02:00
parent
6ac1136ddd
commit
edd1f47807
3 changed files with 136 additions and 15 deletions
|
@ -0,0 +1,127 @@
|
||||||
|
From 779e1e751e6cced9ac3a5160f2a991c47e0fa2ef Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ola Jeppsson <ola.jeppsson@gmail.com>
|
||||||
|
Date: Mon, 7 Oct 2019 18:07:30 -0400
|
||||||
|
Subject: [PATCH] configure: Fix cross-compilation errors
|
||||||
|
|
||||||
|
AC_RUN_IFELSE does not work when cross-compiling so we need to provide
|
||||||
|
fallback methods for those cases.
|
||||||
|
|
||||||
|
I tried to use constructs that work with Autoconf 2.52.
|
||||||
|
Alas, I wasn't able to generate a working build system with that version.
|
||||||
|
|
||||||
|
Autoconf 2.58 / Automake 1.7.9 is the earliest combo that I could get
|
||||||
|
to work (with and without this patch).
|
||||||
|
Perhaps it's time for a slight bump for the required version numbers?
|
||||||
|
|
||||||
|
Cross-compiles sucessfully against:
|
||||||
|
riscv64-unknown-linux-gnu
|
||||||
|
---
|
||||||
|
configure.ac | 59 +++++++++++++++-------------------------------------
|
||||||
|
restart.h | 2 +-
|
||||||
|
2 files changed, 18 insertions(+), 43 deletions(-)
|
||||||
|
|
||||||
|
diff --git configure.ac configure.ac
|
||||||
|
index fb78fc5..7e5bd5d 100644
|
||||||
|
--- configure.ac
|
||||||
|
+++ configure.ac
|
||||||
|
@@ -264,23 +264,15 @@ return sizeof(void*) == 8 ? 0 : 1;
|
||||||
|
],[
|
||||||
|
CFLAGS="-m64 $org_cflags"
|
||||||
|
],[
|
||||||
|
- AC_MSG_ERROR([Don't know how to build a 64-bit object.])
|
||||||
|
+ AC_MSG_ERROR([Don't know how to build a 64-bit object.])
|
||||||
|
+ ],[
|
||||||
|
+ dnl cross compile
|
||||||
|
+ AC_MSG_WARN([Assuming no extra CFLAGS are required for cross-compiling 64bit version.])
|
||||||
|
])
|
||||||
|
fi
|
||||||
|
|
||||||
|
-dnl If data pointer is 64bit or not.
|
||||||
|
-AC_RUN_IFELSE(
|
||||||
|
- [AC_LANG_PROGRAM([], [dnl
|
||||||
|
-return sizeof(void*) == 8 ? 0 : 1;
|
||||||
|
- ])
|
||||||
|
-],[
|
||||||
|
- have_64bit_ptr=yes
|
||||||
|
-],[
|
||||||
|
-])
|
||||||
|
-
|
||||||
|
-if test $have_64bit_ptr = yes; then
|
||||||
|
- AC_DEFINE(HAVE_64BIT_PTR, 1, [data pointer is 64bit])
|
||||||
|
-fi
|
||||||
|
+dnl Check if data pointer is 64bit or not
|
||||||
|
+AC_CHECK_SIZEOF([void *])
|
||||||
|
|
||||||
|
# Issue 213: Search for clock_gettime to help people linking
|
||||||
|
# with a static version of libevent
|
||||||
|
@@ -570,30 +562,10 @@ fi
|
||||||
|
AC_C_SOCKLEN_T
|
||||||
|
|
||||||
|
dnl Check if we're a little-endian or a big-endian system, needed by hash code
|
||||||
|
-AC_DEFUN([AC_C_ENDIAN],
|
||||||
|
-[AC_CACHE_CHECK(for endianness, ac_cv_c_endian,
|
||||||
|
-[
|
||||||
|
- AC_RUN_IFELSE(
|
||||||
|
- [AC_LANG_PROGRAM([], [dnl
|
||||||
|
- long val = 1;
|
||||||
|
- char *c = (char *) &val;
|
||||||
|
- exit(*c == 1);
|
||||||
|
- ])
|
||||||
|
- ],[
|
||||||
|
- ac_cv_c_endian=big
|
||||||
|
- ],[
|
||||||
|
- ac_cv_c_endian=little
|
||||||
|
- ])
|
||||||
|
-])
|
||||||
|
-if test $ac_cv_c_endian = big; then
|
||||||
|
- AC_DEFINE(ENDIAN_BIG, 1, [machine is bigendian])
|
||||||
|
-fi
|
||||||
|
-if test $ac_cv_c_endian = little; then
|
||||||
|
- AC_DEFINE(ENDIAN_LITTLE, 1, [machine is littleendian])
|
||||||
|
-fi
|
||||||
|
-])
|
||||||
|
-
|
||||||
|
-AC_C_ENDIAN
|
||||||
|
+AC_C_BIGENDIAN(
|
||||||
|
+ [AC_DEFINE(ENDIAN_BIG, 1, [machine is bigendian])],
|
||||||
|
+ [AC_DEFINE(ENDIAN_LITTLE, 1, [machine is littleendian])],
|
||||||
|
+ [AC_MSG_ERROR([Cannot detect endianness. Must pass ac_cv_c_bigendian={yes,no} to configure.])])
|
||||||
|
|
||||||
|
AC_DEFUN([AC_C_HTONLL],
|
||||||
|
[
|
||||||
|
@@ -670,12 +642,15 @@ AC_DEFUN([AC_C_ALIGNMENT],
|
||||||
|
],[
|
||||||
|
ac_cv_c_alignment=need
|
||||||
|
],[
|
||||||
|
- ac_cv_c_alignment=need
|
||||||
|
+ dnl cross compile
|
||||||
|
+ ac_cv_c_alignment=maybe
|
||||||
|
])
|
||||||
|
])
|
||||||
|
-if test $ac_cv_c_alignment = need; then
|
||||||
|
- AC_DEFINE(NEED_ALIGN, 1, [Machine need alignment])
|
||||||
|
-fi
|
||||||
|
+AS_IF([test $ac_cv_c_alignment = need],
|
||||||
|
+ [AC_DEFINE(NEED_ALIGN, 1, [Machine need alignment])])
|
||||||
|
+AS_IF([test $ac_cv_c_alignment = maybe],
|
||||||
|
+ [AC_MSG_WARN([Assuming aligned access is required when cross-compiling])
|
||||||
|
+ AC_DEFINE(NEED_ALIGN, 1, [Machine need alignment])])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_C_ALIGNMENT
|
||||||
|
diff --git restart.h restart.h
|
||||||
|
index 76cd0a8..9de5096 100644
|
||||||
|
--- restart.h
|
||||||
|
+++ restart.h
|
||||||
|
@@ -4,7 +4,7 @@
|
||||||
|
#define RESTART_TAG_MAXLEN 255
|
||||||
|
|
||||||
|
// Track the pointer size for restart fiddling.
|
||||||
|
-#ifdef HAVE_64BIT_PTR
|
||||||
|
+#if SIZEOF_VOID_P == 8
|
||||||
|
typedef uint64_t mc_ptr_t;
|
||||||
|
#else
|
||||||
|
typedef uint32_t mc_ptr_t;
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
This fixes build (errors about an incomplete struct) as the
|
|
||||||
code uses TCGETS.
|
|
||||||
--- linux_priv.c 2019-02-10 17:37:43.939089097 +0100
|
|
||||||
+++ linux_priv.c 2019-02-10 17:37:31.180435066 +0100
|
|
||||||
@@ -3,6 +3,7 @@
|
|
||||||
#include <errno.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <sys/ioctl.h>
|
|
||||||
+#include <termios.h>
|
|
||||||
#include "memcached.h"
|
|
||||||
|
|
||||||
// If anything crosses the policy, kill the process.
|
|
|
@ -1,9 +1,10 @@
|
||||||
# Template file for 'memcached'
|
# Template file for 'memcached'
|
||||||
pkgname=memcached
|
pkgname=memcached
|
||||||
version=1.5.16
|
version=1.5.19
|
||||||
revision=2
|
revision=1
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
configure_args="--enable-seccomp"
|
configure_args="--enable-seccomp"
|
||||||
|
hostmakedepends="autoconf automake"
|
||||||
makedepends="libevent-devel libseccomp-devel"
|
makedepends="libevent-devel libseccomp-devel"
|
||||||
short_desc="Distributed memory object caching system"
|
short_desc="Distributed memory object caching system"
|
||||||
maintainer="Orphaned <orphan@voidlinux.org>"
|
maintainer="Orphaned <orphan@voidlinux.org>"
|
||||||
|
@ -11,7 +12,12 @@ license="BSD-3-Clause"
|
||||||
homepage="http://www.memcached.org"
|
homepage="http://www.memcached.org"
|
||||||
changelog="https://github.com/memcached/memcached/wiki/ReleaseNotes${version//./}"
|
changelog="https://github.com/memcached/memcached/wiki/ReleaseNotes${version//./}"
|
||||||
distfiles="http://memcached.org/files/${pkgname}-${version}.tar.gz"
|
distfiles="http://memcached.org/files/${pkgname}-${version}.tar.gz"
|
||||||
checksum=45a22c890dc1edb27db567fb4c9c25b91bfd578477c08c5fb10dca93cc62cc5a
|
checksum=3ddcdaa2d14d215f3111a7448b79c889c57618a26e97ad989581f1880a5a4be0
|
||||||
|
|
||||||
|
# Rebuild configure script, due to patching configure.ac
|
||||||
|
pre_configure() {
|
||||||
|
autoreconf -fi
|
||||||
|
}
|
||||||
|
|
||||||
post_install() {
|
post_install() {
|
||||||
vlicense COPYING LICENSE
|
vlicense COPYING LICENSE
|
||||||
|
|
Loading…
Add table
Reference in a new issue