commit
2fe552eaea
4 changed files with 300 additions and 0 deletions
86
libs/nspr/Makefile
Normal file
86
libs/nspr/Makefile
Normal file
|
@ -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
|
||||
|
88
libs/nspr/patches/002-Add-ARC-support.patch
Normal file
88
libs/nspr/patches/002-Add-ARC-support.patch
Normal file
|
@ -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
|
||||
|
23
libs/nspr/patches/003-native_and_musl_fix.patch
Normal file
23
libs/nspr/patches/003-native_and_musl_fix.patch
Normal file
|
@ -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
|
Loading…
Reference in a new issue