]> git.argeo.org Git - gpl/argeo-slc.git/blob - Makefile-graalvm.mk
Update Argeo Build
[gpl/argeo-slc.git] / Makefile-graalvm.mk
1 include sdk.mk
2
3 ## THE BUNDLES MUST FIRST HAVE BEEN BUILT
4
5 A2_CATEGORY = org.argeo.slc
6
7 #GRAALVM_HOME = /opt/graalvm-community-openjdk-17
8 GRAALVM_HOME = /opt/mandrel-java17
9
10 DEP_CATEGORIES = \
11 log/syslogger/org.argeo.tp \
12 org.argeo.tp \
13 org.argeo.tp.httpd \
14 osgi/api/org.argeo.tp.osgi \
15 osgi/equinox/org.argeo.tp.eclipse \
16 swt/rap/org.argeo.tp.swt \
17 org.argeo.cms \
18 swt/org.argeo.cms \
19 swt/rap/org.argeo.cms \
20 swt/rap/org.argeo.slc \
21
22 # $(foreach a2_base, $(A2_BASE), # TODO when ThinLogging is fixed, use deployed jars
23 DEP_JARS = $(foreach category, $(DEP_CATEGORIES), \
24 $(foreach a2_base, $(A2_OUTPUT), \
25 $(shell find $(a2_base)/$(category) -name '*.jar') \
26 ) \
27 )
28 DEP_CLASSPATH = $(subst $(space),$(pathsep),$(strip $(DEP_JARS)))
29
30 graalvm-custom:
31 $(GRAALVM_HOME)/bin/java -jar $(ECJ_JAR) @$(SDK_SRC_BASE)/sdk/argeo-build/ecj.args -cp $(A2_CLASSPATH) \
32 graalvm/org.argeo.slc.graalvm/src[-d $(SDK_BUILD_BASE)/$(A2_CATEGORY)/graalvm/bin]
33
34 #tool-server: osgi graalvm-custom
35 #:$(SDK_BUILD_BASE)/$(A2_CATEGORY)/graalvm/bin
36
37 LIBEXEC_DIR=$(A2_OUTPUT)/libexec/linux/x86_64/$(A2_CATEGORY)
38
39 tool-server:
40 mkdir -p $(LIBEXEC_DIR)
41 cd $(LIBEXEC_DIR) && $(GRAALVM_HOME)/bin/native-image \
42 -cp $(DEP_CLASSPATH) \
43 --enable-url-protocols=http,https \
44 -H:AdditionalSecurityProviders=sun.security.jgss.SunProvider \
45 --initialize-at-build-time=org.argeo.init.logging.ThinLogging,org.argeo.init.logging.ThinLogging$LogEntryPublisher,org.slf4j.LoggerFactory \
46 --no-fallback \
47 -Dargeo.logging.synchronous=true \
48 org.argeo.tool.server.ArgeoServer \
49 argeo
50
51 # --static \
52
53 # -H:+StaticExecutableWithDynamicLibC \
54 # -H:Name=argeo \
55
56 # Use --verbose in order to see whcih configurations are used
57
58 include $(SDK_SRC_BASE)/sdk/argeo-build/osgi.mk