mirror of
https://gitee.com/open-loongarch/buildroot-2024.08.git
synced 2026-10-29 06:27:14 +08:00
first commit: base 2024.08
Signed-off-by: maoxiaochuan <maoxiaochuan@loongson.cn>
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
From 5ab3c61932af7619518169da744ba6346f060405 Mon Sep 17 00:00:00 2001
|
||||
From: Willy Tarreau <w@1wt.eu>
|
||||
Date: Thu, 8 Dec 2022 08:32:57 +0100
|
||||
Subject: [PATCH] BUILD: atomic: atomic.h may need compiler.h on ARMv8.2-a
|
||||
|
||||
We get a build error in ncbuf.c when building for ARMv8.2-a because ncbuf
|
||||
has minimal includes and among them bug.h which includes atomic.h. Atomic.h
|
||||
may use "forceinline" without including compiler.h, hence the build error.
|
||||
It was verified that adding it doesn't inflate the total headers.
|
||||
|
||||
Since all other C files include api.h which already covers this, there's
|
||||
no real need to bapkport this. The issue was already there in 2.3 though.
|
||||
|
||||
Upstream: https://git.haproxy.org/?p=haproxy.git;a=commitdiff;h=5ab3c61932af7619518169da744ba6346f060405#patch1
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
include/haproxy/atomic.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/include/haproxy/atomic.h b/include/haproxy/atomic.h
|
||||
index f60be95..7e3c826 100644
|
||||
--- a/include/haproxy/atomic.h
|
||||
+++ b/include/haproxy/atomic.h
|
||||
@@ -23,6 +23,8 @@
|
||||
#ifndef _HAPROXY_ATOMIC_H
|
||||
#define _HAPROXY_ATOMIC_H
|
||||
|
||||
+#include <haproxy/compiler.h>
|
||||
+
|
||||
/* A few notes for the macros and functions here:
|
||||
* - this file is painful to edit, most operations exist in 3 variants,
|
||||
* no-thread, threads with gcc<4.7, threads with gcc>=4.7. Be careful when
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
config BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS
|
||||
bool
|
||||
default y
|
||||
# src/proto_http.c:6330:1: internal compiler error: Segmentation fault
|
||||
depends on !BR2_nios2
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60040
|
||||
depends on !(BR2_sh4 && !BR2_TOOLCHAIN_GCC_AT_LEAST_7)
|
||||
|
||||
config BR2_PACKAGE_HAPROXY
|
||||
bool "haproxy"
|
||||
depends on BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS
|
||||
depends on BR2_USE_MMU # fork()
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_1 && BR2_TOOLCHAIN_HAS_SYNC_4
|
||||
help
|
||||
HAProxy is a free, very fast and reliable solution offering
|
||||
high availability, load balancing, and proxying for TCP and
|
||||
HTTP-based applications.
|
||||
|
||||
http://www.haproxy.org
|
||||
@@ -0,0 +1,6 @@
|
||||
# From: http://www.haproxy.org/download/2.6/src/haproxy-2.6.15.tar.gz.sha256
|
||||
sha256 41f8e1695e92fafdffe39690a68993f1a0f5f7f06931a99e9a153f749ea39cfd haproxy-2.6.15.tar.gz
|
||||
# Locally computed:
|
||||
sha256 0717ca51fceaa25ac9e5ccc62e0c727dcf27796057201fb5fded56a25ff6ca28 LICENSE
|
||||
sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a doc/lgpl.txt
|
||||
sha256 ddb9db7630752f8fdc6898f7c99a99eaeeac5213627ecb093df9c82f56175dc7 doc/gpl.txt
|
||||
@@ -0,0 +1,93 @@
|
||||
################################################################################
|
||||
#
|
||||
# haproxy
|
||||
#
|
||||
################################################################################
|
||||
|
||||
HAPROXY_VERSION_MAJOR = 2.6
|
||||
HAPROXY_VERSION = $(HAPROXY_VERSION_MAJOR).15
|
||||
HAPROXY_SITE = http://www.haproxy.org/download/$(HAPROXY_VERSION_MAJOR)/src
|
||||
HAPROXY_LICENSE = GPL-2.0+ and LGPL-2.1+ with exceptions
|
||||
HAPROXY_LICENSE_FILES = LICENSE doc/lgpl.txt doc/gpl.txt
|
||||
HAPROXY_CPE_ID_VENDOR = haproxy
|
||||
|
||||
HAPROXY_MAKE_OPTS = \
|
||||
LD=$(TARGET_CC) \
|
||||
PREFIX=/usr \
|
||||
TARGET=custom
|
||||
|
||||
ifeq ($(BR2_STATIC_LIBS),)
|
||||
HAPROXY_MAKE_OPTS += USE_DL=1
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
|
||||
HAPROXY_LIBS += -latomic
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS_NPTL),y)
|
||||
# threads uses atomics on gcc >= 4.7 and sync otherwise (see
|
||||
# include/common/hathreads.h)
|
||||
ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7):$(BR2_TOOLCHAIN_HAS_ATOMIC),y:y)
|
||||
HAPROXY_MAKE_OPTS += USE_THREAD=1
|
||||
else ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_7):$(BR2_TOOLCHAIN_HAS_SYNC_4),:y)
|
||||
HAPROXY_MAKE_OPTS += USE_THREAD=1
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LUA_5_3),y)
|
||||
HAPROXY_DEPENDENCIES += lua
|
||||
HAPROXY_MAKE_OPTS += \
|
||||
LUA_LIB_NAME=lua \
|
||||
USE_LUA=1
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
||||
HAPROXY_DEPENDENCIES += openssl
|
||||
HAPROXY_MAKE_OPTS += USE_OPENSSL=1
|
||||
ifeq ($(BR2_STATIC_LIBS),y)
|
||||
HAPROXY_LIBS += -lz
|
||||
endif
|
||||
endif
|
||||
|
||||
# pcre and pcre2 can't be enabled at the same time so prefer pcre2
|
||||
ifeq ($(BR2_PACKAGE_PCRE2),y)
|
||||
HAPROXY_DEPENDENCIES += pcre2
|
||||
HAPROXY_MAKE_OPTS += \
|
||||
PCRE2_CONFIG=$(STAGING_DIR)/usr/bin/pcre2-config \
|
||||
USE_PCRE2=1
|
||||
else ifeq ($(BR2_PACKAGE_PCRE),y)
|
||||
HAPROXY_DEPENDENCIES += pcre
|
||||
HAPROXY_MAKE_OPTS += \
|
||||
PCRE_CONFIG=$(STAGING_DIR)/usr/bin/pcre-config \
|
||||
USE_PCRE=1
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
|
||||
HAPROXY_DEPENDENCIES += systemd
|
||||
HAPROXY_MAKE_OPTS += USE_SYSTEMD=1
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
||||
HAPROXY_DEPENDENCIES += zlib
|
||||
HAPROXY_MAKE_OPTS += USE_ZLIB=1
|
||||
endif
|
||||
|
||||
HAPROXY_MAKE_OPTS += ADDLIB="$(HAPROXY_LIBS)"
|
||||
|
||||
HAPROXY_CFLAGS = $(TARGET_CFLAGS)
|
||||
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_90620),y)
|
||||
HAPROXY_CFLAGS += -O0
|
||||
endif
|
||||
|
||||
define HAPROXY_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
|
||||
$(HAPROXY_MAKE_OPTS) DEFINE="$(HAPROXY_CFLAGS)" -C $(@D)
|
||||
endef
|
||||
|
||||
define HAPROXY_INSTALL_TARGET_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
|
||||
$(HAPROXY_MAKE_OPTS) -C $(@D) DESTDIR=$(TARGET_DIR) install
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
Reference in New Issue
Block a user