Skip to content

Commit 42c43e2

Browse files
committed
Replace gcc with zig.
1 parent 96927e2 commit 42c43e2

22 files changed

Lines changed: 226 additions & 2208 deletions

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,5 @@ stamps
3939
/bin/
4040
/bintest/
4141
classes/io_openems_edge_socketcan_driver_CanSocket.h
42-
*.jar
42+
*.jar
43+
zig

Makefile

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
SHELL=/bin/bash
2-
CXX=g++
2+
CXX=./zig/zig c++
33
NAME:=libsocket-can-java
44
JAVA_HOME:=/usr/lib/jvm/java-17-openjdk-amd64/
55

@@ -17,12 +17,12 @@ LIB_DEST=lib
1717
JAR_DEST=dist
1818
JAR_DEST_FILE=$(JAR_DEST)/$(NAME).jar
1919
JAR_MANIFEST_FILE=META-INF/MANIFEST.MF
20-
DIRS=stamps obj $(JAVA_DEST) $(JAVA_TEST_DEST) $(LIB_DEST) $(JAR_DEST)
20+
DIRS=stamps obj $(JAVA_DEST) $(JAVA_TEST_DEST) $(LIB_DEST)/x86_64 $(LIB_DEST)/armv7a $(JAR_DEST)
2121
JNI_DIR=jni
2222
JNI_CLASSES=io.openems.edge.socketcan.driver.CanSocket
2323
JAVAC_FLAGS=-g -Xlint:all
2424
CXXFLAGS=-Iclasses -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions \
25-
-fstack-protector --param=ssp-buffer-size=4 -fPIC -Wno-unused-parameter \
25+
--param=ssp-buffer-size=4 -fPIC -Wno-unused-parameter \
2626
-pedantic -D_REENTRANT -D_GNU_SOURCE \
2727
$(JAVA_INCLUDES)
2828

@@ -38,51 +38,49 @@ all: stamps/create-jar stamps/compile-test
3838

3939
.PHONY: clean
4040
clean:
41-
$(RM) -r $(DIRS) $(STAMPS) $(filter %.h,$(JNI_SRC))
42-
$(RM) -r $(JNI_DIR)/*.h
43-
$(RM) -r $(JNI_DIR)/*.gch
44-
find . -name "*.class" -exec rm {} \;
41+
$(RM) -r $(DIRS) $(STAMPS) $(filter %.h,$(JNI_SRC))
42+
$(RM) -r $(JNI_DIR)/*.h
43+
$(RM) -r $(JNI_DIR)/*.gch
44+
find . -name "*.class" -exec rm {} \;
4545

4646
stamps/dirs:
47-
mkdir $(DIRS)
48-
@touch $@
47+
mkdir $(DIRS)
48+
@touch $@
4949

5050
stamps/compile-src: stamps/dirs $(JAVA_SRC)
51-
@echo "JAVAC JAVA"
52-
$(JAVAC) $(JAVAC_FLAGS) -d $(JAVA_DEST) $(sort $(JAVA_SRC))
51+
$(call msg,JAVAC JAVA,$@)
52+
$(Q)$(JAVAC) $(JAVAC_FLAGS) -d $(JAVA_DEST) $(sort $(JAVA_SRC))
5353
@touch $@
5454

5555
stamps/compile-test: stamps/compile-src $(JAVA_TEST_SRC)
56-
$(JAVAC) $(JAVAC_FLAGS) -cp $(JAVA_DEST) -d $(JAVA_TEST_DEST) \
57-
$(sort $(JAVA_TEST_SRC))
56+
$(Q)$(JAVAC) $(JAVAC_FLAGS) -cp $(JAVA_DEST) -d $(JAVA_TEST_DEST) $(sort $(JAVA_TEST_SRC))
5857
@touch $@
5958

6059
stamps/generate-jni-h: stamps/compile-src
61-
@echo "GEN HEADER"
62-
$(JAVAH) classes src/io/openems/edge/socketcan/driver/CanSocket.java
60+
$(call msg,GEN HEADER,$@)
61+
$(Q)$(JAVAH) classes $(sort $(JAVA_SRC))
6362
@touch $@
6463

65-
stamps/compile-jni-4: stamps/generate-jni-h $(JNI_SRC)
66-
@echo "CC JNI Linux v4"
67-
$(CXX) $(CXXFLAGS) -I./include/linux-4.19 $(LDFLAGS) -shared -o $(LIB_DEST)/lib$(SONAME)_linux4.so \
64+
stamps/compile-native-x86_64: stamps/generate-jni-h $(JNI_SRC)
65+
$(call msg,CXX JNI Linux x86/64,$@)
66+
$(Q)$(CXX) -target x86_64-linux-gnu $(CXXFLAGS) $(LDFLAGS) -shared -o $(LIB_DEST)/x86_64/lib$(SONAME).so \
6867
$(sort $(filter %.cpp,$(JNI_SRC)) $(filter %.c,$(JNI_SRC)))
6968
@touch $@
7069

71-
stamps/compile-jni-5: stamps/generate-jni-h $(JNI_SRC)
72-
@echo "CC JNI Linux v5"
73-
$(CXX) $(CXXFLAGS) -I./include/linux-5.10 $(LDFLAGS) -shared -o $(LIB_DEST)/lib$(SONAME)_linux5.so \
70+
stamps/compile-native-armv7a: stamps/generate-jni-h $(JNI_SRC)
71+
$(call msg,CXX JNI Linux ARM,$@)
72+
$(Q)$(CXX) -target arm-linux-gnueabihf $(CXXFLAGS) $(LDFLAGS) -shared -o $(LIB_DEST)/armv7a/lib$(SONAME).so \
7473
$(sort $(filter %.cpp,$(JNI_SRC)) $(filter %.c,$(JNI_SRC)))
75-
@touch $@
74+
@touch $@
7675

77-
stamps/create-jar: stamps/compile-jni-4 stamps/compile-jni-5 $(JAR_MANIFEST_FILE)
78-
@echo "$(java -version)"
79-
@echo "JAVAC JAR"
80-
$(JAR) cMf $(JAR_DEST_FILE) $(JAR_MANIFEST_FILE) lib -C $(JAVA_DEST) .
81-
$(JAR) cMf $(JAR_DEST_FILE) $(JAR_MANIFEST_FILE) lib -C $(JAVA_DEST) .
76+
stamps/create-jar: stamps/compile-native-x86_64 stamps/compile-native-armv7a $(JAR_MANIFEST_FILE)
77+
$(call msg,$(java -version),$@)
78+
$(call msg,JAVAC JAR,$@)
79+
$(Q)$(JAR) cMf $(JAR_DEST_FILE) $(JAR_MANIFEST_FILE) lib -C $(JAVA_DEST) .
8280
@touch $@
8381

84-
.PHONY: check
85-
check: stamps/create-jar stamps/compile-test
82+
.PHONY: test
83+
test: stamps/create-jar stamps/compile-test
8684
$(JAVA) -ea -cp $(JAR_DEST_FILE):$(JAVA_TEST_DEST) \
8785
-Xcheck:jni \
8886
io.openems.edge.socketcan.driver.CanSocketTest

include/linux-4.19/can.h

Lines changed: 0 additions & 202 deletions
This file was deleted.

0 commit comments

Comments
 (0)