Work on mbox native
authorMathieu Baudier <mbaudier@argeo.org>
Wed, 29 Mar 2023 05:34:02 +0000 (07:34 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Wed, 29 Mar 2023 05:34:02 +0000 (07:34 +0200)
rebuild/org.argeo.tp.utils/Makefile
rebuild/org.argeo.tp.utils/jni/com_sun_mail_mbox/.gitignore [new file with mode: 0644]
rebuild/org.argeo.tp.utils/jni/com_sun_mail_mbox/Makefile [new file with mode: 0644]

index 689838fcd6eb1ec35a8332c1f6100fff6862b955..aeede2ef39c0c82f33981c96c5b58404502c37ab 100644 (file)
@@ -3,6 +3,8 @@ include ../../sdk.mk
 
 export NO_SDK_LEGAL := true
 
+MBOX_JNI_SRC=jni/com_sun_mail_mbox
+
 all: retrieve-ee4j-mbox osgi
 
 retrieve-ee4j-mbox: SRC_DIR=src/ee4j-mail
@@ -17,6 +19,10 @@ retrieve-ee4j-mbox:
        git clone --branch 1.6.7 https://github.com/eclipse-ee4j/mail.git $(SRC_DIR)
        rm -rf $(SRC_DIR)/.git
        rsync -a --delete --exclude module-info.java $(SRC_DIR)/mbox/src/main/java/ com.sun.mail.mbox/src
+       rsync -a --delete $(SRC_DIR)/mbox/src/main/cpp/com/sun/mail/mbox/ $(MBOX_JNI_SRC)
+       mkdir -p com.sun.mail.mbox/bin
+       javac -h jni/com_sun_mail_mbox/ -cp "$(A2_OUTPUT)/org.argeo.tp.utils/*" com.sun.mail.mbox/src/com/sun/mail/mbox/*.java
+       rm -rf com.sun.mail.mbox/bin
 
 A2_CATEGORY = org.argeo.tp.utils
 
diff --git a/rebuild/org.argeo.tp.utils/jni/com_sun_mail_mbox/.gitignore b/rebuild/org.argeo.tp.utils/jni/com_sun_mail_mbox/.gitignore
new file mode 100644 (file)
index 0000000..bf4c7b2
--- /dev/null
@@ -0,0 +1,2 @@
+/*.h
+/*.c
\ No newline at end of file
diff --git a/rebuild/org.argeo.tp.utils/jni/com_sun_mail_mbox/Makefile b/rebuild/org.argeo.tp.utils/jni/com_sun_mail_mbox/Makefile
new file mode 100644 (file)
index 0000000..4eb8341
--- /dev/null
@@ -0,0 +1,11 @@
+include ../../../../sdk.mk
+
+NATIVE_PACKAGE := com_sun_mail_mbox
+
+TARGET_EXEC := libJava_$(NATIVE_PACKAGE).so
+
+# sudo apt install liblockfile-dev
+
+build:
+       mkdir -p $(SDK_BUILD_BASE)/jni
+       $(CC) -o $(SDK_BUILD_BASE)/jni/$(TARGET_EXEC) -shared -fPIC -fpic -Wl,-soname,$(TARGET_EXEC).1.6 -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux *.c