Netscape Portable Runtime (NSPR) provides a platform-neutral API for system level and libc-like functions. The API is used in the Mozilla clients, many of Red Hat's and Oracle's server applications, and other software offerings. this is needed for nss libraries Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>lilik-openwrt-22.03
@ -0,0 +1,86 @@ | |||
# | |||
# Copyright (C) 2019 Lucian Cristian | |||
# | |||
# This is free software, licensed under the GNU General Public License v2. | |||
# See /LICENSE for more information. | |||
# | |||
include $(TOPDIR)/rules.mk | |||
PKG_NAME:=nspr | |||
PKG_VERSION:=4.21 | |||
PKG_RELEASE:=1 | |||
PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com> | |||
PKG_LICENCE:=MPL-2.0 | |||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | |||
PKG_SOURCE_URL:= \ | |||
https://download.cdn.mozilla.net/pub/$(PKG_NAME)/releases/v$(PKG_VERSION)/src/ \ | |||
https://archive.mozilla.org/pub/$(PKG_NAME)/releases/v$(PKG_VERSION)/src/ | |||
PKG_HASH:=15ea32c7b100217b6e3193bc03e77f485d9bf7504051443ba9ce86d1c17c6b5a | |||
PKG_BUILD_PARALLEL:=1 | |||
PKG_INSTALL:=1 | |||
PKG_FIXUP:=autoreconf | |||
include $(INCLUDE_DIR)/package.mk | |||
CONFIGURE_PATH = ./nspr | |||
MAKE_PATH = ./nspr | |||
PKG_AUTOMAKE_PATHS = $(PKG_BUILD_DIR)/nspr | |||
LBITS = $(shell $(TARGET_CC) -dM -E - </dev/null | grep -q "__LP64__" && echo 64 || echo 32) | |||
ifeq ($(LBITS),64) | |||
conf=--enable-64bit | |||
endif | |||
export MUSL=$(if $(CONFIG_LIBC_USE_GLIBC),0,1) | |||
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed | |||
CONFIGURE_ARGS += \ | |||
--build=$(GNU_HOST_NAME) \ | |||
--host=$(GNU_HOST_NAME) \ | |||
--target=$(REAL_GNU_TARGET_NAME) \ | |||
--disable-debug \ | |||
--with-pthreads \ | |||
$(if $(CONFIG_IPV6),--enable-ipv6,--disable-ipv6) \ | |||
$(conf) | |||
define Build/Compile | |||
CROSS_COMPILE=1 CFLAGS="-DXP_UNIX $(HOST_CFLAGS)" LDFLAGS="" CC="$(HOSTCC)" \ | |||
$(MAKE) -C $(PKG_BUILD_DIR)/nspr/config | |||
$(call Build/Compile/Default) | |||
endef | |||
define Package/nspr | |||
SECTION:=libs | |||
CATEGORY:=Libraries | |||
TITLE:=Netscape Portable Runtime (NSPR) | |||
URL:=https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR | |||
DEPENDS:=+libpthread | |||
endef | |||
define Package/nspr/description | |||
Netscape Portable Runtime (NSPR) provides a platform-neutral API for system | |||
level and libc-like functions. The API is used in the Mozilla clients, many | |||
of Red Hat's and Oracle's server applications, and other software offerings. | |||
endef | |||
define Build/InstallDev | |||
$(INSTALL_DIR) \ | |||
$(1)/usr/include \ | |||
$(1)/usr/lib/ \ | |||
$(1)/usr/lib/pkgconfig/ \ | |||
$(1)/usr/share/aclocal/ | |||
$(CP) $(PKG_INSTALL_DIR)/usr/include/nspr $(1)/usr/include/ | |||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/ | |||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/ | |||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/aclocal/* $(1)/usr/share/aclocal/ | |||
endef | |||
define Package/nspr/install | |||
$(INSTALL_DIR) $(1)/usr/lib | |||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so $(1)/usr/lib/ | |||
endef | |||
$(eval $(call BuildPackage,nspr)) |
@ -0,0 +1,103 @@ | |||
From 8a592e4ead4ed6befe6044da3dd2dc7523c33905 Mon Sep 17 00:00:00 2001 | |||
From: Mingli Yu <Mingli.Yu@windriver.com> | |||
Date: Fri, 16 Nov 2018 13:52:49 +0800 | |||
Subject: [PATCH] Makefile.in: remove _BUILD_STRING and _BUILD_TIME | |||
Remove _BUILD_STRING and _BUILD_TIME to avoid | |||
adding timestamp to _pl_bld.h which can result | |||
in adding timestamp in library file such as | |||
libnspr4.so. | |||
$ readelf --wide --decompress --hex-dump=.rodata libnspr4.so | |||
[snip] | |||
0x00004000 32303138 2d31312d 31352030 353a3439 2018-11-15 05:49 | |||
[snip] | |||
Upstream-Status: Pending | |||
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> | |||
--- | |||
lib/ds/Makefile.in | 8 +------- | |||
lib/libc/src/Makefile.in | 8 +------- | |||
lib/prstreams/Makefile.in | 8 +------- | |||
pr/src/Makefile.in | 8 +------- | |||
4 files changed, 4 insertions(+), 28 deletions(-) | |||
diff --git a/lib/ds/Makefile.in b/lib/ds/Makefile.in | |||
index e737791..b578476 100644 | |||
--- a/nspr/lib/ds/Makefile.in | |||
+++ b/nspr/lib/ds/Makefile.in | |||
@@ -114,13 +114,7 @@ GARBAGE += $(TINC) | |||
$(TINC): | |||
@$(MAKE_OBJDIR) | |||
- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC) | |||
- @if test ! -z "$(SH_NOW)"; then \ | |||
- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \ | |||
- else \ | |||
- true; \ | |||
- fi | |||
- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC) | |||
+ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC) | |||
$(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC) | |||
diff --git a/lib/libc/src/Makefile.in b/lib/libc/src/Makefile.in | |||
index e8a6d9f..978ed28 100644 | |||
--- a/nspr/lib/libc/src/Makefile.in | |||
+++ b/nspr/lib/libc/src/Makefile.in | |||
@@ -116,13 +116,7 @@ GARBAGE += $(TINC) | |||
$(TINC): | |||
@$(MAKE_OBJDIR) | |||
- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC) | |||
- @if test ! -z "$(SH_NOW)"; then \ | |||
- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \ | |||
- else \ | |||
- true; \ | |||
- fi | |||
- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC) | |||
+ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC) | |||
$(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC) | |||
diff --git a/lib/prstreams/Makefile.in b/lib/prstreams/Makefile.in | |||
index aeb2944..f318097 100644 | |||
--- a/nspr/lib/prstreams/Makefile.in | |||
+++ b/nspr/lib/prstreams/Makefile.in | |||
@@ -116,13 +116,7 @@ endif | |||
$(TINC): | |||
@$(MAKE_OBJDIR) | |||
- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC) | |||
- @if test ! -z "$(SH_NOW)"; then \ | |||
- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \ | |||
- else \ | |||
- true; \ | |||
- fi | |||
- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC) | |||
+ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC) | |||
$(OBJDIR)/plvrsion.$(OBJ_SUFFIX): plvrsion.c $(TINC) | |||
diff --git a/pr/src/Makefile.in b/pr/src/Makefile.in | |||
index 19c5a69..b4ac31c 100644 | |||
--- a/nspr/pr/src/Makefile.in | |||
+++ b/nspr/pr/src/Makefile.in | |||
@@ -326,13 +326,7 @@ GARBAGE += $(TINC) | |||
$(TINC): | |||
@$(MAKE_OBJDIR) | |||
- @$(ECHO) '#define _BUILD_STRING "$(SH_DATE)"' > $(TINC) | |||
- @if test ! -z "$(SH_NOW)"; then \ | |||
- $(ECHO) '#define _BUILD_TIME $(SH_NOW)$(SUF)' >> $(TINC); \ | |||
- else \ | |||
- true; \ | |||
- fi | |||
- @$(ECHO) '#define _PRODUCTION "$(PROD)"' >> $(TINC) | |||
+ @$(ECHO) '#define _PRODUCTION "$(PROD)"' > $(TINC) | |||
$(OBJDIR)/prvrsion.$(OBJ_SUFFIX): prvrsion.c $(TINC) | |||
-- | |||
2.7.4 | |||
@ -0,0 +1,88 @@ | |||
From 6cb5b0be8837222a1e01745f2cf57cd0e593186d Mon Sep 17 00:00:00 2001 | |||
From: Antoine Tenart <antoine.tenart@free-electrons.com> | |||
Date: Mon, 23 Oct 2017 10:28:20 +0200 | |||
Subject: [PATCH] Add ARC support | |||
[Alexey: Rebased on top of other patches like RiscV, NIOS2 etc]. | |||
Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> | |||
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> | |||
Upstream-Status: Submitted [ https://bugzilla.mozilla.org/show_bug.cgi?id=1492378 ] | |||
--- | |||
pr/include/md/_linux.cfg | 45 ++++++++++++++++++++++++++++++++++++++++ | |||
pr/include/md/_linux.h | 2 ++ | |||
2 files changed, 47 insertions(+) | |||
diff --git a/pr/include/md/_linux.cfg b/pr/include/md/_linux.cfg | |||
index fec8525378dc..5f4fa0eac783 100644 | |||
--- a/nspr/pr/include/md/_linux.cfg | |||
+++ b/nspr/pr/include/md/_linux.cfg | |||
@@ -1157,6 +1157,51 @@ | |||
#define PR_BYTES_PER_WORD_LOG2 3 | |||
#define PR_BYTES_PER_DWORD_LOG2 3 | |||
+#elif defined(__arc__) | |||
+ | |||
+#define IS_LITTLE_ENDIAN 1 | |||
+#undef IS_BIG_ENDIAN | |||
+ | |||
+#define PR_BYTES_PER_BYTE 1 | |||
+#define PR_BYTES_PER_SHORT 2 | |||
+#define PR_BYTES_PER_INT 4 | |||
+#define PR_BYTES_PER_INT64 8 | |||
+#define PR_BYTES_PER_LONG 4 | |||
+#define PR_BYTES_PER_FLOAT 4 | |||
+#define PR_BYTES_PER_DOUBLE 8 | |||
+#define PR_BYTES_PER_WORD 4 | |||
+#define PR_BYTES_PER_DWORD 8 | |||
+ | |||
+#define PR_BITS_PER_BYTE 8 | |||
+#define PR_BITS_PER_SHORT 16 | |||
+#define PR_BITS_PER_INT 32 | |||
+#define PR_BITS_PER_INT64 64 | |||
+#define PR_BITS_PER_LONG 32 | |||
+#define PR_BITS_PER_FLOAT 32 | |||
+#define PR_BITS_PER_DOUBLE 64 | |||
+#define PR_BITS_PER_WORD 32 | |||
+ | |||
+#define PR_BITS_PER_BYTE_LOG2 3 | |||
+#define PR_BITS_PER_SHORT_LOG2 4 | |||
+#define PR_BITS_PER_INT_LOG2 5 | |||
+#define PR_BITS_PER_INT64_LOG2 6 | |||
+#define PR_BITS_PER_LONG_LOG2 5 | |||
+#define PR_BITS_PER_FLOAT_LOG2 5 | |||
+#define PR_BITS_PER_DOUBLE_LOG2 6 | |||
+#define PR_BITS_PER_WORD_LOG2 5 | |||
+ | |||
+#define PR_ALIGN_OF_SHORT 2 | |||
+#define PR_ALIGN_OF_INT 4 | |||
+#define PR_ALIGN_OF_LONG 4 | |||
+#define PR_ALIGN_OF_INT64 4 | |||
+#define PR_ALIGN_OF_FLOAT 4 | |||
+#define PR_ALIGN_OF_DOUBLE 4 | |||
+#define PR_ALIGN_OF_POINTER 4 | |||
+#define PR_ALIGN_OF_WORD 4 | |||
+ | |||
+#define PR_BYTES_PER_WORD_LOG2 2 | |||
+#define PR_BYTES_PER_DWORD_LOG2 3 | |||
+ | |||
#else | |||
#error "Unknown CPU architecture" | |||
diff --git a/pr/include/md/_linux.h b/pr/include/md/_linux.h | |||
index 8e04fad479a1..628b1217e9c8 100644 | |||
--- a/nspr/pr/include/md/_linux.h | |||
+++ b/nspr/pr/include/md/_linux.h | |||
@@ -63,6 +63,8 @@ | |||
#define _PR_SI_ARCHITECTURE "riscv32" | |||
#elif defined(__riscv) && (__riscv_xlen == 64) | |||
#define _PR_SI_ARCHITECTURE "riscv64" | |||
+#elif defined(__arc__) | |||
+#define _PR_SI_ARCHITECTURE "arc" | |||
#else | |||
#error "Unknown CPU architecture" | |||
#endif | |||
-- | |||
2.17.1 | |||
@ -0,0 +1,23 @@ | |||
--- a/nspr/config/config.mk 2017-10-31 13:13:22.692343122 +0200 | |||
+++ b/nspr/config/config.mk 2017-10-31 13:13:58.758016378 +0200 | |||
@@ -126,6 +126,9 @@ | |||
ifeq ($(USE_IPV6),1) | |||
DEFINES += -D_PR_INET6 | |||
+ifeq ($(MUSL),1) | |||
+CFLAGS += -D_PR_POLL_AVAILABLE -D_PR_HAVE_OFF64_T -D_PR_INET6 -D_PR_HAVE_INET_NTOP -D_PR_HAVE_GETHOSTBYNAME2 -D_PR_HAVE_GETADDRINFO -D_PR_INET6_PROBE | |||
+endif | |||
endif | |||
ifeq ($(MOZ_UNICODE),1) | |||
--- a/nspr/config/Makefile.in 2019-03-31 13:44:56.919871810 +0300 | |||
+++ b/nspr/config/Makefile.in 2019-03-31 13:45:21.560545948 +0300 | |||
@@ -30,7 +30,7 @@ | |||
# This version hasn't been ported for us; the one in mozilla/config has | |||
ifneq ($(OS_ARCH),OS2) | |||
-CSRCS += nsinstall.c | |||
+#CSRCS += nsinstall.c | |||
PLSRCS = nfspwd.pl | |||
endif |