Separate JNI projects
authorMathieu Baudier <mbaudier@argeo.org>
Sat, 29 Jan 2022 07:53:49 +0000 (08:53 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Sat, 29 Jan 2022 07:53:49 +0000 (08:53 +0100)
14 files changed:
.gitignore
Makefile
configure
org.argeo.api.uuid/.cproject [deleted file]
org.argeo.api.uuid/.project
org.argeo.api.uuid/.settings/language.settings.xml [deleted file]
org.argeo.api.uuid/.settings/org.eclipse.cdt.core.prefs [deleted file]
org.argeo.api.uuid/Makefile [deleted file]
org.argeo.api.uuid/jni/.cproject [new file with mode: 0644]
org.argeo.api.uuid/jni/.project [new file with mode: 0644]
org.argeo.api.uuid/jni/.settings/language.settings.xml [new file with mode: 0644]
org.argeo.api.uuid/jni/.settings/org.eclipse.cdt.core.prefs [new file with mode: 0644]
org.argeo.api.uuid/jni/Makefile [new file with mode: 0644]
sdk/jni.mk

index fab481bb9c01ab487f850dc09c19c6905c4e9e10..c306476f0ea5396b0638b3f42c036df17ba18d31 100644 (file)
@@ -4,3 +4,4 @@
 **/MANIFEST.MF
 /build/
 /sdk.mk
+/output/
index 1145dde26b1bc838c6e7235bf80dfed3843bed1e..daa8e29387926f3c9efac193bbf9f56af50a6a25 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,18 +1,26 @@
 include sdk.mk
+.PHONY: clean all build-base build-rcp
 
-MAKEDIRS = org.argeo.api.uuid
+all: osgi jni
 
-BUILD_BASE := generated
+BASE_BUNDLES := \
+$(SDK_BUILD_BASE)/org.argeo.init.$(MAJOR).$(MINOR).jar \
+$(SDK_BUILD_BASE)/org.argeo.util.$(MAJOR).$(MINOR).jar \
+$(SDK_BUILD_BASE)/org.argeo.api.uuid.$(MAJOR).$(MINOR).jar \
+$(SDK_BUILD_BASE)/org.argeo.api.acr.$(MAJOR).$(MINOR).jar \
+$(SDK_BUILD_BASE)/org.argeo.api.cms.$(MAJOR).$(MINOR).jar \
+$(SDK_BUILD_BASE)/org.argeo.cms.tp.$(MAJOR).$(MINOR).jar \
+$(SDK_BUILD_BASE)/org.argeo.cms.$(MAJOR).$(MINOR).jar \
 
-BASE_BUNDLES := $(BUILD_BASE)/org.argeo.api.uuid.$(MAJOR).$(MINOR).jar 
+NATIVE_PROJECTS = org.argeo.api.uuid/jni
 
-.PHONY: clean all build-base build-rcp
-all: build-base
-       $(foreach dir, $(MAKEDIRS), $(MAKE) -C $(dir);)
+jni:
+       $(foreach dir, $(NATIVE_PROJECTS), $(MAKE) -C $(dir);)
        
 clean:
-       $(foreach dir, $(MAKEDIRS), $(MAKE) -C $(dir) clean;)
-
+       $(foreach dir, $(NATIVE_PROJECTS), $(MAKE) -C $(dir) clean;)
+       rm -rf $(SDK_BUILD_BASE)/*
 
 
 
@@ -20,11 +28,13 @@ JVM := /usr/lib/jvm/jre-11/bin/java
 ECJ_JAR := /usr/share/java/ecj/ecj.jar
 BND_TOOL := /usr/bin/bnd
 
-#osgi : $(BASE_BUNDLES)
+osgi : $(BASE_BUNDLES)
+
+$(SDK_BUILD_BASE)/%.$(MAJOR).$(MINOR).jar : $(SDK_SRC_BASE)/*/generated/%.jar
+       $(BND_TOOL) build $<
+       cp $< $@
 
-#$(BUILD_BASE)/%.$(MAJOR).$(MINOR).jar : $(SDK_SRC_BASE)/%
-#      $(BND_TOOL) build $<
-#      cp $</generated/$<.jar $@
+$(SDK_SRC_BASE)/*/generated/*.jar : build-base
 
 #base-java-sources : $(shell find org.argeo.* -name '*.java') 
 
@@ -57,23 +67,23 @@ BASE_CLASSPATH=\
 
 build-base:
        $(JVM) -jar $(ECJ_JAR) -11 -nowarn -time -cp $(BASE_CLASSPATH) \
-       $(SDK_SRC_BASE)/org.argeo.api.uuid/src[-d $(SDK_SRC_BASE)/org.argeo.api.uuid/bin] \
-       $(SDK_SRC_BASE)/org.argeo.api.acr/src[-d $(SDK_SRC_BASE)/org.argeo.api.acr/bin] \
-       $(SDK_SRC_BASE)/org.argeo.api.cms/src[-d $(SDK_SRC_BASE)/org.argeo.api.cms/bin] \
-       $(SDK_SRC_BASE)/org.argeo.init/src[-d $(SDK_SRC_BASE)/org.argeo.init/bin] \
-       $(SDK_SRC_BASE)/org.argeo.util/src[-d $(SDK_SRC_BASE)/org.argeo.util/bin] \
-       $(SDK_SRC_BASE)/org.argeo.cms.tp/src[-d $(SDK_SRC_BASE)/org.argeo.cms.tp/bin] \
-       $(SDK_SRC_BASE)/org.argeo.cms/src[-d $(SDK_SRC_BASE)/org.argeo.cms/bin] \
-       $(SDK_SRC_BASE)/org.argeo.cms.pgsql/src[-d $(SDK_SRC_BASE)/org.argeo.cms.pgsql/bin] \
+       $(SDK_SRC_BASE)/org.argeo.api.uuid/src[-d $(SDK_BUILD_BASE)/org.argeo.api.uuid/bin] \
+       $(SDK_SRC_BASE)/org.argeo.api.acr/src[-d $(SDK_BUILD_BASE)/org.argeo.api.acr/bin] \
+       $(SDK_SRC_BASE)/org.argeo.api.cms/src[-d $(SDK_BUILD_BASE)/org.argeo.api.cms/bin] \
+       $(SDK_SRC_BASE)/org.argeo.init/src[-d $(SDK_BUILD_BASE)/org.argeo.init/bin] \
+       $(SDK_SRC_BASE)/org.argeo.util/src[-d $(SDK_BUILD_BASE)/org.argeo.util/bin] \
+       $(SDK_SRC_BASE)/org.argeo.cms.tp/src[-d $(SDK_BUILD_BASE)/org.argeo.cms.tp/bin] \
+       $(SDK_SRC_BASE)/org.argeo.cms/src[-d $(SDK_BUILD_BASE)/org.argeo.cms/bin] \
+       $(SDK_SRC_BASE)/org.argeo.cms.pgsql/src[-d $(SDK_BUILD_BASE)/org.argeo.cms.pgsql/bin] \
        
-       $(BND_TOOL) build
+       #$(BND_TOOL) build
 
 RCP_CLASSPATH=$(BASE_CLASSPATH):$\
-$(SDK_SRC_BASE)/org.argeo.api.uuid/bin:$\
-$(SDK_SRC_BASE)/org.argeo.api.acr/bin:$\
-$(SDK_SRC_BASE)/org.argeo.api.cms/bin:$\
-$(SDK_SRC_BASE)/org.argeo.util/bin:$\
-$(SDK_SRC_BASE)/org.argeo.cms/bin:$\
+$(SDK_BUILD_BASE)/org.argeo.api.uuid/bin:$\
+$(SDK_BUILD_BASE)/org.argeo.api.acr/bin:$\
+$(SDK_BUILD_BASE)/org.argeo.api.cms/bin:$\
+$(SDK_BUILD_BASE)/org.argeo.util/bin:$\
+$(SDK_BUILD_BASE)/org.argeo.cms/bin:$\
 /usr/share/java/tomcat-servlet-api.jar:$\
 /usr/share/java/eclipse/equinox.http.jetty.jar:$\
 /usr/lib/java/swt.jar:$\
@@ -89,10 +99,10 @@ $(SDK_SRC_BASE)/org.argeo.cms/bin:$\
 
 build-rcp: build-base
        $(JVM) -jar $(ECJ_JAR) -11 -nowarn -time -cp $(RCP_CLASSPATH) \
-       $(SDK_SRC_BASE)/eclipse/org.argeo.cms.servlet/src[-d $(SDK_SRC_BASE)/eclipse/org.argeo.cms.servlet/bin] \
-       $(SDK_SRC_BASE)/rcp/org.argeo.swt.minidesktop/src[-d $(SDK_SRC_BASE)/rcp/org.argeo.swt.minidesktop/bin] \
-       $(SDK_SRC_BASE)/rcp/org.argeo.swt.specific.rcp/src[-d $(SDK_SRC_BASE)/rcp/org.argeo.swt.specific.rcp/bin] \
-       $(SDK_SRC_BASE)/eclipse/org.argeo.cms.swt/src[-d $(SDK_SRC_BASE)/eclipse/org.argeo.cms.swt/bin] \
-       $(SDK_SRC_BASE)/rcp/org.argeo.cms.ui.rcp/src[-d $(SDK_SRC_BASE)/rcp/org.argeo.cms.ui.rcp/bin] \
+       $(SDK_SRC_BASE)/eclipse/org.argeo.cms.servlet/src[-d $(SDK_BUILD_BASE)/eclipse/org.argeo.cms.servlet/bin] \
+       $(SDK_SRC_BASE)/rcp/org.argeo.swt.minidesktop/src[-d $(SDK_BUILD_BASE)/rcp/org.argeo.swt.minidesktop/bin] \
+       $(SDK_SRC_BASE)/rcp/org.argeo.swt.specific.rcp/src[-d $(SDK_BUILD_BASE)/rcp/org.argeo.swt.specific.rcp/bin] \
+       $(SDK_SRC_BASE)/eclipse/org.argeo.cms.swt/src[-d $(SDK_BUILD_BASE)/eclipse/org.argeo.cms.swt/bin] \
+       $(SDK_SRC_BASE)/rcp/org.argeo.cms.ui.rcp/src[-d $(SDK_BUILD_BASE)/rcp/org.argeo.cms.ui.rcp/bin] \
 
 
index c92fa222f7b6f33310244a4edae7d162d5d5fe0f..4587bf45ef4680ae1e675dbc2ae6e37e086e2814 100644 (file)
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # We build where we are
-SDK_BUILD_BASE=$(pwd -P)/build
+SDK_BUILD_BASE=$(pwd -P)/output
 
 # Source are located where this script is
 SDK_SRC_BASE="$(cd "$(dirname "$0")"; pwd -P)"
diff --git a/org.argeo.api.uuid/.cproject b/org.argeo.api.uuid/.cproject
deleted file mode 100644 (file)
index 7acdcf5..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
-       
-    <storageModule moduleId="org.eclipse.cdt.core.settings">
-                       
-        <cconfiguration id="cdt.managedbuild.toolchain.gnu.cross.base.1367283591">
-                               
-            <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.cross.base.1367283591" moduleId="org.eclipse.cdt.core.settings" name="Linux x86_64">
-                                               
-                <externalSettings/>
-                                               
-                <extensions>
-                                                       
-                    <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-                                                       
-                    <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-                                                       
-                    <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-                                                       
-                    <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-                                                       
-                    <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
-                                                       
-                    <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
-                                               
-                </extensions>
-                                       
-            </storageModule>
-                               
-            <storageModule moduleId="cdtBuildSystem" version="4.0.0">
-                                               
-                <configuration artifactName="${ProjName}" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.cross.base.1367283591" name="Linux x86_64" parent="org.eclipse.cdt.build.core.emptycfg">
-                                                       
-                    <folderInfo id="cdt.managedbuild.toolchain.gnu.cross.base.1367283591.350590933" name="/" resourcePath="">
-                                                                       
-                        <toolChain id="cdt.managedbuild.toolchain.gnu.cross.base.2019979628" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.base">
-                                                                               
-                            <option id="cdt.managedbuild.option.gnu.cross.prefix.715257330" name="Prefix" superClass="cdt.managedbuild.option.gnu.cross.prefix"/>
-                                                                               
-                            <option id="cdt.managedbuild.option.gnu.cross.path.1210265928" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path"/>
-                                                                               
-                            <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.2070205849" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
-                                                                               
-                            <builder id="cdt.managedbuild.builder.gnu.cross.1468217036" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross"/>
-                                                                               
-                            <tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.453851306" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
-                                                                                               
-                                <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1102448447" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
-                                                                                       
-                            </tool>
-                                                                               
-                            <tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.365551368" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
-                                                                                               
-                                <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.include.paths.1203427394" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
-                                                                                                       
-                                    <listOptionValue builtIn="false" value="/usr/lib/jvm/java-11-openjdk/include/"/>
-                                                                                                       
-                                    <listOptionValue builtIn="false" value="/usr/lib/jvm/java-11-openjdk/include/linux"/>
-                                                                                               
-                                </option>
-                                                                                               
-                                <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.916135861" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
-                                                                                       
-                            </tool>
-                                                                               
-                            <tool id="cdt.managedbuild.tool.gnu.cross.c.linker.1473247311" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker"/>
-                                                                               
-                            <tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.1834633481" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker">
-                                                                                               
-                                <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1443450015" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
-                                                                                                       
-                                    <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
-                                                                                                       
-                                    <additionalInput kind="additionalinput" paths="$(LIBS)"/>
-                                                                                               
-                                </inputType>
-                                                                                       
-                            </tool>
-                                                                               
-                            <tool id="cdt.managedbuild.tool.gnu.cross.archiver.1273786909" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
-                                                                               
-                            <tool id="cdt.managedbuild.tool.gnu.cross.assembler.488925101" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
-                                                                                               
-                                <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1103553043" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
-                                                                                       
-                            </tool>
-                                                                       
-                        </toolChain>
-                                                               
-                    </folderInfo>
-                                                       
-                    <sourceEntries>
-                                                                       
-                        <entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="jni"/>
-                                                               
-                    </sourceEntries>
-                                               
-                </configuration>
-                                       
-            </storageModule>
-                               
-            <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
-                       
-        </cconfiguration>
-               
-    </storageModule>
-       
-    <storageModule moduleId="cdtBuildSystem" version="4.0.0">
-                       
-        <project id="org.argeo.api.uuid.null.1913821562" name="org.argeo.api.uuid"/>
-               
-    </storageModule>
-       
-    <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
-       
-    <storageModule moduleId="refreshScope" versionNumber="2">
-                       
-        <configuration configurationName="Default">
-                               
-            <resource resourceType="PROJECT" workspacePath="/org.argeo.api.uuid"/>
-                       
-        </configuration>
-               
-    </storageModule>
-       
-    <storageModule moduleId="scannerConfiguration">
-                       
-        <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
-                       
-        <scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1367283591;cdt.managedbuild.toolchain.gnu.cross.base.1367283591.350590933;cdt.managedbuild.tool.gnu.cross.c.compiler.453851306;cdt.managedbuild.tool.gnu.c.compiler.input.1102448447">
-                               
-            <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
-                       
-        </scannerConfigBuildInfo>
-                       
-        <scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1367283591;cdt.managedbuild.toolchain.gnu.cross.base.1367283591.350590933;cdt.managedbuild.tool.gnu.cross.cpp.compiler.365551368;cdt.managedbuild.tool.gnu.cpp.compiler.input.916135861">
-                               
-            <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
-                       
-        </scannerConfigBuildInfo>
-               
-    </storageModule>
-       
-    <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
-       
-    <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
-                       
-        <buildTargets>
-                               
-            <target name="ide" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
-                                               
-                <buildCommand>make</buildCommand>
-                                               
-                <buildArguments/>
-                                               
-                <buildTarget>ide</buildTarget>
-                                               
-                <stopOnError>true</stopOnError>
-                                               
-                <useDefaultCommand>true</useDefaultCommand>
-                                               
-                <runAllBuilders>true</runAllBuilders>
-                                       
-            </target>
-                       
-        </buildTargets>
-               
-    </storageModule>
-    
-</cproject>
index 764e6d1063c8b48996c0fbe47162676108dd3a07..be973cdeea54e5d052cff1ad8563060f62210dde 100644 (file)
@@ -5,12 +5,6 @@
        <projects>
        </projects>
        <buildSpec>
-               <buildCommand>
-                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
-                       <triggers>clean,full,incremental,</triggers>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
                <buildCommand>
                        <name>org.eclipse.jdt.core.javabuilder</name>
                        <arguments>
                        <arguments>
                        </arguments>
                </buildCommand>
-               <buildCommand>
-                       <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
-                       <triggers>full,incremental,</triggers>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
        </buildSpec>
        <natures>
                <nature>org.eclipse.pde.PluginNature</nature>
                <nature>org.eclipse.jdt.core.javanature</nature>
-               <nature>org.eclipse.cdt.core.cnature</nature>
-               <nature>org.eclipse.cdt.core.ccnature</nature>
-               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
-               <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
        </natures>
 </projectDescription>
diff --git a/org.argeo.api.uuid/.settings/language.settings.xml b/org.argeo.api.uuid/.settings/language.settings.xml
deleted file mode 100644 (file)
index 8c58356..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<project>
-       
-    <configuration id="cdt.managedbuild.toolchain.gnu.cross.base.1367283591" name="Linux x86_64">
-                       
-        <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
-                               
-            <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
-                               
-            <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
-                               
-            <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuildCommandParser" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" keep-relative-paths="false" name="CDT GCC Build Output Parser" parameter="(g?cc)|([gc]\+\+)|(clang)" prefer-non-shared="true"/>
-                               
-            <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="471647395979135680" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
-                                               
-                <language-scope id="org.eclipse.cdt.core.gcc"/>
-                                               
-                <language-scope id="org.eclipse.cdt.core.g++"/>
-                                       
-            </provider>
-                               
-            <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
-                       
-        </extension>
-               
-    </configuration>
-    
-</project>
diff --git a/org.argeo.api.uuid/.settings/org.eclipse.cdt.core.prefs b/org.argeo.api.uuid/.settings/org.eclipse.cdt.core.prefs
deleted file mode 100644 (file)
index c8ec5df..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-doxygen/doxygen_new_line_after_brief=true
-doxygen/doxygen_use_brief_tag=false
-doxygen/doxygen_use_javadoc_tags=true
-doxygen/doxygen_use_pre_tag=false
-doxygen/doxygen_use_structural_commands=false
-eclipse.preferences.version=1
diff --git a/org.argeo.api.uuid/Makefile b/org.argeo.api.uuid/Makefile
deleted file mode 100644 (file)
index 3feb610..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-JNIDIRS = org_argeo_api_uuid
-
-.PHONY: clean all jni
-
-all: jni
-
-jni:
-       $(foreach dir, jni/$(JNIDIRS), $(MAKE) -C $(dir);)
-       
-clean:
-       $(foreach dir, jni/$(JNIDIRS), $(MAKE) -C $(dir) clean;)
-
-#ide: $(META_INF_DIR)/$(ARCH)/$(TARGET_EXEC)
-       
-#$(META_INF_DIR)/$(ARCH)/$(TARGET_EXEC): $(BUILD_DIR)/$(TARGET_EXEC)
-#      mkdir -p $(dir $@)
-#      cp $(BUILD_DIR)/$(TARGET_EXEC) $(dir $@)
-
-
-%:
-       @echo Making '$@' $(if $^,from '$^')
-       @echo 'OBJ=$(OBJ)'
-       @echo 'DEP=$(DEP)'
diff --git a/org.argeo.api.uuid/jni/.cproject b/org.argeo.api.uuid/jni/.cproject
new file mode 100644 (file)
index 0000000..4bb1d0c
--- /dev/null
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+       
+    <storageModule moduleId="org.eclipse.cdt.core.settings">
+                       
+        <cconfiguration id="cdt.managedbuild.toolchain.gnu.cross.base.1367283591">
+                               
+            <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.cross.base.1367283591" moduleId="org.eclipse.cdt.core.settings" name="Linux x86_64">
+                                               
+                <externalSettings/>
+                                               
+                <extensions>
+                                                       
+                    <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+                                                       
+                    <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                                       
+                    <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                                       
+                    <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                                       
+                    <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+                                                       
+                    <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                               
+                </extensions>
+                                       
+            </storageModule>
+                               
+            <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+                                               
+                <configuration artifactName="${ProjName}" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.cross.base.1367283591" name="Linux x86_64" parent="org.eclipse.cdt.build.core.emptycfg">
+                                                       
+                    <folderInfo id="cdt.managedbuild.toolchain.gnu.cross.base.1367283591.350590933" name="/" resourcePath="">
+                                                                       
+                        <toolChain id="cdt.managedbuild.toolchain.gnu.cross.base.2019979628" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.base">
+                                                                               
+                            <option id="cdt.managedbuild.option.gnu.cross.prefix.715257330" name="Prefix" superClass="cdt.managedbuild.option.gnu.cross.prefix"/>
+                                                                               
+                            <option id="cdt.managedbuild.option.gnu.cross.path.1210265928" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path"/>
+                                                                               
+                            <targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.2070205849" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
+                                                                               
+                            <builder id="cdt.managedbuild.builder.gnu.cross.1468217036" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross"/>
+                                                                               
+                            <tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.453851306" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
+                                                                                               
+                                <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1102448447" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+                                                                                       
+                            </tool>
+                                                                               
+                            <tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.365551368" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
+                                                                                               
+                                <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.include.paths.1203427394" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath">
+                                                                                                       
+                                    <listOptionValue builtIn="false" value="/usr/lib/jvm/java-11-openjdk/include/"/>
+                                                                                                       
+                                    <listOptionValue builtIn="false" value="/usr/lib/jvm/java-11-openjdk/include/linux"/>
+                                                                                               
+                                </option>
+                                                                                               
+                                <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.916135861" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+                                                                                       
+                            </tool>
+                                                                               
+                            <tool id="cdt.managedbuild.tool.gnu.cross.c.linker.1473247311" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker"/>
+                                                                               
+                            <tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.1834633481" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker">
+                                                                                               
+                                <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1443450015" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+                                                                                                       
+                                    <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+                                                                                                       
+                                    <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+                                                                                               
+                                </inputType>
+                                                                                       
+                            </tool>
+                                                                               
+                            <tool id="cdt.managedbuild.tool.gnu.cross.archiver.1273786909" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
+                                                                               
+                            <tool id="cdt.managedbuild.tool.gnu.cross.assembler.488925101" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
+                                                                                               
+                                <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1103553043" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+                                                                                       
+                            </tool>
+                                                                       
+                        </toolChain>
+                                                               
+                    </folderInfo>
+                                                       
+                    <sourceEntries>
+                                                                       
+                        <entry flags="VALUE_WORKSPACE_PATH" kind="sourcePath" name="org_argeo_api_uuid"/>
+                                                               
+                    </sourceEntries>
+                                               
+                </configuration>
+                                       
+            </storageModule>
+                               
+            <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+                       
+        </cconfiguration>
+               
+    </storageModule>
+       
+    <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+                       
+        <project id="org.argeo.api.uuid.null.1913821562" name="org.argeo.api.uuid"/>
+               
+    </storageModule>
+       
+    <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+       
+    <storageModule moduleId="refreshScope" versionNumber="2">
+                       
+        <configuration configurationName="Default">
+                               
+            <resource resourceType="PROJECT" workspacePath="/Java_org_argeo_api_uuid"/>
+                       
+        </configuration>
+               
+    </storageModule>
+       
+    <storageModule moduleId="scannerConfiguration">
+                       
+        <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+                       
+        <scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1367283591;cdt.managedbuild.toolchain.gnu.cross.base.1367283591.350590933;cdt.managedbuild.tool.gnu.cross.c.compiler.453851306;cdt.managedbuild.tool.gnu.c.compiler.input.1102448447">
+                               
+            <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+                       
+        </scannerConfigBuildInfo>
+                       
+        <scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1367283591;cdt.managedbuild.toolchain.gnu.cross.base.1367283591.350590933;cdt.managedbuild.tool.gnu.cross.cpp.compiler.365551368;cdt.managedbuild.tool.gnu.cpp.compiler.input.916135861">
+                               
+            <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+                       
+        </scannerConfigBuildInfo>
+               
+    </storageModule>
+       
+    <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+       
+    <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
+                       
+        <buildTargets>
+                               
+            <target name="ide" path="" targetID="org.eclipse.cdt.build.MakeTargetBuilder">
+                                               
+                <buildCommand>make</buildCommand>
+                                               
+                <buildArguments/>
+                                               
+                <buildTarget>ide</buildTarget>
+                                               
+                <stopOnError>true</stopOnError>
+                                               
+                <useDefaultCommand>true</useDefaultCommand>
+                                               
+                <runAllBuilders>true</runAllBuilders>
+                                       
+            </target>
+                       
+        </buildTargets>
+               
+    </storageModule>
+    
+</cproject>
diff --git a/org.argeo.api.uuid/jni/.project b/org.argeo.api.uuid/jni/.project
new file mode 100644 (file)
index 0000000..f8321d7
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>Java_org_argeo_api_uuid</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+                       <triggers>clean,full,incremental,</triggers>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+                       <triggers>full,incremental,</triggers>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.cdt.core.cnature</nature>
+               <nature>org.eclipse.cdt.core.ccnature</nature>
+               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+               <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+       </natures>
+</projectDescription>
diff --git a/org.argeo.api.uuid/jni/.settings/language.settings.xml b/org.argeo.api.uuid/jni/.settings/language.settings.xml
new file mode 100644 (file)
index 0000000..7e8a04b
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project>
+       
+    <configuration id="cdt.managedbuild.toolchain.gnu.cross.base.1367283591" name="Linux x86_64">
+                       
+        <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
+                               
+            <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
+                               
+            <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
+                               
+            <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuildCommandParser" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" keep-relative-paths="false" name="CDT GCC Build Output Parser" parameter="(g?cc)|([gc]\+\+)|(clang)" prefer-non-shared="true"/>
+                               
+            <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="-808469145454922213" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
+                                               
+                <language-scope id="org.eclipse.cdt.core.gcc"/>
+                                               
+                <language-scope id="org.eclipse.cdt.core.g++"/>
+                                       
+            </provider>
+                               
+            <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
+                       
+        </extension>
+               
+    </configuration>
+    
+</project>
diff --git a/org.argeo.api.uuid/jni/.settings/org.eclipse.cdt.core.prefs b/org.argeo.api.uuid/jni/.settings/org.eclipse.cdt.core.prefs
new file mode 100644 (file)
index 0000000..c8ec5df
--- /dev/null
@@ -0,0 +1,6 @@
+doxygen/doxygen_new_line_after_brief=true
+doxygen/doxygen_use_brief_tag=false
+doxygen/doxygen_use_javadoc_tags=true
+doxygen/doxygen_use_pre_tag=false
+doxygen/doxygen_use_structural_commands=false
+eclipse.preferences.version=1
diff --git a/org.argeo.api.uuid/jni/Makefile b/org.argeo.api.uuid/jni/Makefile
new file mode 100644 (file)
index 0000000..259b0ae
--- /dev/null
@@ -0,0 +1,23 @@
+JNIDIRS = org_argeo_api_uuid
+
+.PHONY: clean all jni
+
+all: jni
+
+jni:
+       $(foreach dir, $(JNIDIRS), $(MAKE) -C $(dir);)
+       
+clean:
+       $(foreach dir, $(JNIDIRS), $(MAKE) -C $(dir) clean;)
+
+#ide: $(META_INF_DIR)/$(ARCH)/$(TARGET_EXEC)
+       
+#$(META_INF_DIR)/$(ARCH)/$(TARGET_EXEC): $(BUILD_DIR)/$(TARGET_EXEC)
+#      mkdir -p $(dir $@)
+#      cp $(BUILD_DIR)/$(TARGET_EXEC) $(dir $@)
+
+
+%:
+       @echo Making '$@' $(if $^,from '$^')
+       @echo 'OBJ=$(OBJ)'
+       @echo 'DEP=$(DEP)'
index b13ceaf00cb55fb772cb42561672b0a3682c689f..6f5c31fb4edac095183707c9f426e5376c6225df 100644 (file)
@@ -1,33 +1,29 @@
 TARGET_EXEC := libJava_$(NATIVE_PACKAGE).so
 
-BASE_DIR := $(shell realpath .)
-SRC_DIRS := . 
-
-LDFLAGS=-shared -fPIC -Wl,-soname,$(TARGET_EXEC).$(MAJOR).$(MINOR)
+LDFLAGS = -shared -fPIC -Wl,-soname,$(TARGET_EXEC).$(MAJOR).$(MINOR)
 
+SRC_DIRS := . 
 %:
        @echo Making '$@' $(if $^,from '$^')
-       @echo 'MAJOR=$(MAJOR)'
-       @echo 'MINOR=$(MINOR)'
-       @echo 'BASE_DIR=$(BASE_DIR)'
-       @echo 'SRC_DIRS=$(BASE_DIR)'
+#      @echo 'MAJOR=$(MAJOR)'
+#      @echo 'MINOR=$(MINOR)'
+       @echo 'SRC_DIRS=$(SRC_DIRS)'
        @echo 'BUILD_DIR=$(BUILD_DIR)'
-       @echo 'MAKEFILE_DIR=$(MAKEFILE_DIR)'
        
 
 #
 # Generic Argeo
 #
-#BUILD_DIR := $(SDK_BUILD_BASE)/$(NATIVE_PACKAGE)
-BUILD_DIR := ./build
+BUILD_DIR := $(SDK_BUILD_BASE)/$(NATIVE_PACKAGE)
+#BUILD_DIR := ./build
 #META_INF_DIR := ./../META-INF
-ARCH := $(shell uname -p)
+#ARCH := $(shell uname -p)
 
 # Every folder in ./src will need to be passed to GCC so that it can find header files
 INC_DIRS := $(shell find $(SRC_DIRS) -type d) /usr/lib/jvm/java/include /usr/lib/jvm/java/include/linux
 
 .PHONY: clean all ide
-all: $(BUILD_DIR)/$(TARGET_EXEC)
+all: $(SDK_BUILD_BASE)/$(TARGET_EXEC)
 
 # Find all the C and C++ files we want to compile
 # Note the single quotes around the * expressions. Make will incorrectly expand these otherwise.
@@ -49,7 +45,7 @@ INC_FLAGS := $(addprefix -I,$(INC_DIRS))
 CPPFLAGS := $(INC_FLAGS) -MMD -MP
 
 # The final build step.
-$(BUILD_DIR)/$(TARGET_EXEC): $(OBJS)
+$(SDK_BUILD_BASE)/$(TARGET_EXEC): $(OBJS)
        $(CC) $(OBJS) -o $@ $(LDFLAGS)
 
 # Build step for C source
@@ -63,7 +59,7 @@ $(BUILD_DIR)/%.cpp.o: %.cpp
        $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@
 
 clean:
-       rm -r $(BUILD_DIR)
+       rm -r $(BUILD_DIR) $(SDK_BUILD_BASE)/$(TARGET_EXEC)
 
 # Include the .d makefiles. The - at the front suppresses the errors of missing
 # Makefiles. Initially, all the .d files will be missing, and we don't want those