fix build error for loongarch64

This commit is contained in:
Wenlong Zhang 2023-05-19 18:08:23 +08:00
parent 67e8394b13
commit 89a1b533bc
2 changed files with 92 additions and 2 deletions

View File

@ -0,0 +1,83 @@
From 1039cf7831ca55d1ebbbb07a2e1a65b324c2966e Mon Sep 17 00:00:00 2001
From: Wenlong Zhang <zhangwenlong@loongson.cn>
Date: Fri, 19 May 2023 10:01:54 +0000
Subject: [PATCH] add loongarch64 support for java-service-wrapper
---
src/c/Makefile-linux-loongarch64-64.make | 64 ++++++++++++++++++++++++
1 file changed, 64 insertions(+)
create mode 100644 src/c/Makefile-linux-loongarch64-64.make
diff --git a/src/c/Makefile-linux-loongarch64-64.make b/src/c/Makefile-linux-loongarch64-64.make
new file mode 100644
index 0000000..9990d01
--- /dev/null
+++ b/src/c/Makefile-linux-loongarch64-64.make
@@ -0,0 +1,64 @@
+# Copyright (c) 1999, 2007 Tanuki Software Inc.
+#
+# Permission is hereby granted, free of charge, to any person
+# obtaining a copy of the Java Service Wrapper and associated
+# documentation files (the "Software"), to deal in the Software
+# without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sub-license,
+# and/or sell copies of the Software, and to permit persons to
+# whom the Software is furnished to do so, subject to the
+# following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+# OTHER DEALINGS IN THE SOFTWARE.
+
+# This makefile is inprogess. It builds, but the resulting libwrapper.so does not yet work.
+# If you know how to fix it then please help out.
+COMPILE = gcc -O2 -g -pipe -Wall --pedantic
+
+INCLUDE=$(JAVA_HOME)/include
+
+DEFS = -I$(INCLUDE) -I$(INCLUDE)/linux
+
+wrapper_SOURCE = wrapper.c wrapperinfo.c wrappereventloop.c wrapper_unix.c property.c logger.c
+
+libwrapper_so_OBJECTS = wrapperjni_unix.o wrapperinfo.o wrapperjni.o
+
+BIN = ../../bin
+LIB = ../../lib
+
+all: init wrapper libwrapper.so
+
+clean:
+ rm -f *.o
+
+cleanall: clean
+ rm -rf *~ .deps
+ rm -f $(BIN)/wrapper $(LIB)/libwrapper.so
+
+init:
+ if test ! -d .deps; then mkdir .deps; fi
+
+wrapper: $(wrapper_SOURCE)
+ $(COMPILE) -lm -pthread $(wrapper_SOURCE) -o $(BIN)/wrapper
+
+libwrapper.so: $(libwrapper_so_OBJECTS)
+ ${COMPILE} -lm -shared $(libwrapper_so_OBJECTS) -o $(LIB)/libwrapper.so
+
+%.o: %.c
+ @echo '$(COMPILE) -c $<'; \
+ $(COMPILE) $(DEFS) -Wp,-MD,.deps/$(*F).pp -c $<
+ @-cp .deps/$(*F).pp .deps/$(*F).P; \
+ tr ' ' '\012' < .deps/$(*F).pp \
+ | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+ >> .deps/$(*F).P; \
+ rm .deps/$(*F).pp
--
2.33.0

View File

@ -2,7 +2,7 @@
%global hgrev 3290d306074a
%global pname yaja-wrapper
%if ! 0%{?__isa_bits}
%ifarch x86_64 ia64 ppc64 sparc64 s390x alpha ppc64le aarch64 riscv64
%ifarch x86_64 ia64 ppc64 sparc64 s390x alpha ppc64le aarch64 riscv64 loongarch64
%global __isa_bits 64
%else
%global __isa_bits 32
@ -13,7 +13,7 @@
%global cocoon cocoon-2.0.4
Name: java-service-wrapper
Version: 3.2.5
Release: 2
Release: 3
Summary: Java service wrapper
License: MIT
URL: https://bitbucket.org/ivertex/yaja-wrapper
@ -31,6 +31,7 @@ Patch3: %{name}-3.2.5-rhbz1037144.patch
Patch98: Use-RPM_OPT_FLAGS-on-s390x.patch
Patch99: ppc64le-support.patch
Patch100: add-riscv64-support.patch
Patch101: 0001-add-loongarch64-support-for-java-service-wrapper.patch
BuildRequires: ant javapackages-local gcc make
%description
The Java Service Wrapper enables a Java application to be run as a
@ -53,6 +54,9 @@ sed -e 's|@LIBPATH@|%{_libdir}/%{name}|' %{PATCH1} | %{__patch} -p1 -F 0
%patch98 -p1
%patch99 -p1
%patch100 -p1
%ifarch loongarch64
%patch101 -p1
%endif
%if %{with docs}
mkdir tools ; cd tools
tar xf %{SOURCE3}
@ -90,6 +94,9 @@ install -pm 755 lib/libwrapper.so $RPM_BUILD_ROOT%{_libdir}/%{name}
%license doc/license.txt
%changelog
* Mon May 8 2023 Wenlong Zhang <zhangwenlong@loongson.cn> - 3.2.5-3
- add loongarch64 support
* Wed Feb 22 2023 misaka00251 <liuxin@iscas.ac.cn> - 3.2.5-2
- Fix riscv64 support.