Skip to content

Commit

Permalink
Regenerate from zproject
Browse files Browse the repository at this point in the history
  • Loading branch information
benjdero committed Aug 5, 2024
1 parent f2fd725 commit dd1767a
Show file tree
Hide file tree
Showing 16 changed files with 206 additions and 51 deletions.
8 changes: 6 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,9 @@ set(OPTIONAL_LIBRARIES_STATIC)
########################################################################
# LIBZMQ dependency
########################################################################
find_package(libzmq REQUIRED)
IF (NOT libzmq_FOUND)
find_package(libzmq REQUIRED)
ENDIF(NOT libzmq_FOUND)
IF (libzmq_FOUND)
include_directories(${libzmq_INCLUDE_DIRS})
list(APPEND MORE_LIBRARIES ${libzmq_LIBRARIES})
Expand All @@ -143,7 +145,9 @@ ENDIF (libzmq_FOUND)
########################################################################
# CZMQ dependency
########################################################################
find_package(czmq REQUIRED)
IF (NOT czmq_FOUND)
find_package(czmq REQUIRED)
ENDIF(NOT czmq_FOUND)
IF (czmq_FOUND)
include_directories(${czmq_INCLUDE_DIRS})
list(APPEND MORE_LIBRARIES ${czmq_LIBRARIES})
Expand Down
16 changes: 12 additions & 4 deletions bindings/jni/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,24 @@
################################################################################
*/

buildscript {
configurations.configureEach {
resolutionStrategy {
force 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.1'
}
exclude group: 'xerces', module: 'xercesImpl'
}
}

plugins {
id 'java'
id 'maven-publish'
id 'com.jfrog.artifactory' version '4.21.0'
id 'com.jfrog.artifactory' version '5.2.3'
id 'com.jfrog.bintray' version '1.8.5'
id 'com.google.osdetector' version '1.7.0'
id 'com.google.osdetector' version '1.7.3'
}

wrapper.gradleVersion = '7.5.1'
wrapper.gradleVersion = '8.9'

subprojects {
apply plugin: 'java'
Expand Down Expand Up @@ -47,7 +56,6 @@ artifactory {
repoKey = 'oss-snapshot-local'
username = System.getenv('ARTIFACTORY_USERNAME')
password = System.getenv('ARTIFACTORY_PASSWORD')
maven = true
}
}
}
Expand Down
1 change: 0 additions & 1 deletion bindings/jni/zyre-jni-all/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ artifactoryPublish {
publications ('mavenJava')
}


bintray {
user = System.getenv('BINTRAY_USER')
key = System.getenv('BINTRAY_KEY')
Expand Down
6 changes: 3 additions & 3 deletions bindings/jni/zyre-jni-native/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ dependencies {
// ------------------------------------------------------------------
// Build section

task copyLibs(type: Copy) {
tasks.register('copyLibs', Copy) {
def libraryPaths = []
if (project.hasProperty('buildPrefix')) {
if (osdetector.os == 'windows') {
Expand All @@ -24,7 +24,7 @@ task copyLibs(type: Copy) {
}

def javaLibraryPaths = System.getProperty('java.library.path').split(File.pathSeparator).toList()
libraryPaths.addAll (javaLibraryPaths)
libraryPaths.addAll(javaLibraryPaths)

libraryPaths.add('/usr/local/lib')
if (osdetector.os == 'windows') {
Expand Down Expand Up @@ -54,7 +54,7 @@ task copyLibs(type: Copy) {
duplicatesStrategy = oldStrategy
}

jar.baseName = "zyre-jni-${osdetector.classifier}"
jar.archiveBaseName = "zyre-jni-${osdetector.classifier}"
jar.dependsOn copyLibs

jar {
Expand Down
46 changes: 25 additions & 21 deletions bindings/jni/zyre-jni/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,16 @@ ext.hasNotEmptyProperty = { propertyName ->

dependencies {
implementation "org.zeromq.czmq:czmq-jni:$jni_dependencies_version"
implementation 'org.scijava:native-lib-loader:2.4.0'
testImplementation 'junit:junit:4.12'
testImplementation 'org.hamcrest:hamcrest-all:1.3'
implementation 'org.scijava:native-lib-loader:2.5.0'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.hamcrest:hamcrest:2.2'
}

// ------------------------------------------------------------------
// Build section

task generateJniHeaders(type: Exec, dependsOn: 'classes') {
tasks.register('generateJniHeaders', Exec) {
dependsOn 'classes'
def classpath = sourceSets.main.output.classesDirs
def appclasspath = configurations.runtimeClasspath.files*.getAbsolutePath().join(File.pathSeparator)
def nativeIncludes = 'src/native/include'
Expand All @@ -34,14 +35,14 @@ task generateJniHeaders(type: Exec, dependsOn: 'classes') {
commandLine("javac", "-h", "$nativeIncludes", "-classpath", "$classpath${File.pathSeparator}$appclasspath", *jniClasses, *utilityClasses)
}

tasks.withType(Test) {
tasks.withType(Test).configureEach {
def defaultJavaLibraryPath = System.getProperty("java.library.path")
if (osdetector.os == 'windows') {
def extraJavaLibraryPath = hasNotEmptyProperty('buildPrefix') ? "$project.buildPrefix\\bin;$project.buildPrefix\\lib" : ''
extraJavaLibraryPath = extraJavaLibraryPath.replace("/", "\\")
systemProperty "java.library.path", "${projectDir}\\build\\Release${File.pathSeparator}" +
"${extraJavaLibraryPath}${File.pathSeparator}" +
"${defaultJavaLibraryPath}"
def extraJavaLibraryPath = hasNotEmptyProperty('buildPrefix') ? "$project.buildPrefix\\bin;$project.buildPrefix\\lib" : ''
extraJavaLibraryPath = extraJavaLibraryPath.replace("/", "\\")
systemProperty "java.library.path", "${projectDir}\\build\\Release${File.pathSeparator}" +
"${extraJavaLibraryPath}${File.pathSeparator}" +
"${defaultJavaLibraryPath}"
} else {
def extraJavaLibraryPath = hasNotEmptyProperty('buildPrefix') ? "$project.buildPrefix/lib" : ''
systemProperty "java.library.path", "${projectDir}/build${File.pathSeparator}" +
Expand All @@ -52,22 +53,24 @@ tasks.withType(Test) {
}
}

task initCMake(type: Exec, dependsOn: 'generateJniHeaders') {
workingDir 'build'
tasks.register('initCMake', Exec) {
dependsOn 'generateJniHeaders'
workingDir 'build'
def prefixPath = hasNotEmptyProperty('buildPrefix') ? "-DCMAKE_PREFIX_PATH=$project.buildPrefix" : ''
commandLine 'cmake', "$prefixPath", '..'
}

task buildNative(type: Exec, dependsOn: 'initCMake') {
tasks.register('buildNative', Exec) {
dependsOn 'initCMake'
if (osdetector.os == 'windows') {
commandLine 'cmake',
'--build', 'build',
'--build', 'build',
'--config', 'Release',
'--target', 'zyrejni',
'--', '-verbosity:Minimal', '-maxcpucount'
'--', '-verbosity:Minimal', '-maxcpucount'
} else {
commandLine 'cmake',
'--build', 'build'
'--build', 'build'
}
}

Expand All @@ -77,13 +80,15 @@ test.dependsOn buildNative
// ------------------------------------------------------------------
// Install and Publish section

task sourcesJar(type: Jar, dependsOn: 'classes') {
classifier = 'sources'
tasks.register('sourcesJar', Jar) {
dependsOn 'classes'
archiveClassifier = 'sources'
from sourceSets.main.allSource
}

task javadocJar(type: Jar, dependsOn: 'javadoc') {
classifier = 'javadoc'
tasks.register('javadocJar', Jar) {
dependsOn 'javadoc'
archiveClassifier = 'javadoc'
from javadoc.destinationDir
}

Expand Down Expand Up @@ -119,7 +124,6 @@ artifactoryPublish {
publications ('mavenJava')
}


bintray {
user = System.getenv('BINTRAY_USER')
key = System.getenv('BINTRAY_KEY')
Expand Down
35 changes: 26 additions & 9 deletions bindings/python_cffi/zyre_cffi/cdefs.py
Original file line number Diff line number Diff line change
Expand Up @@ -891,6 +891,11 @@
zlist_t *
zdir_list (zdir_t *self);
// Returns a sorted list of char*; Each entry in the list is a path of a file
// or directory contained in self.
zlist_t *
zdir_list_paths (zdir_t *self);
// Remove directory, optionally including all files that it contains, at
// all levels. If force is false, will only remove the directory if empty.
// If force is true, will remove all files and all subdirectories.
Expand Down Expand Up @@ -1635,6 +1640,10 @@
const char *
ziflist_netmask (ziflist_t *self);
// Return the current interface MAC address as a printable string
const char *
ziflist_mac (ziflist_t *self);
// Return the list of interfaces.
void
ziflist_print (ziflist_t *self);
Expand Down Expand Up @@ -1694,13 +1703,13 @@
zlist_item (zlist_t *self);
// Append an item to the end of the list, return 0 if OK or -1 if this
// failed for some reason (out of memory). Note that if a duplicator has
// failed for some reason (invalid input). Note that if a duplicator has
// been set, this method will also duplicate the item.
int
zlist_append (zlist_t *self, void *item);
// Push an item to the start of the list, return 0 if OK or -1 if this
// failed for some reason (out of memory). Note that if a duplicator has
// failed for some reason (invalid input). Note that if a duplicator has
// been set, this method will also duplicate the item.
int
zlist_push (zlist_t *self, void *item);
Expand Down Expand Up @@ -1791,13 +1800,13 @@
// Add an item to the head of the list. Calls the item duplicator, if any,
// on the item. Resets cursor to list head. Returns an item handle on
// success, NULL if memory was exhausted.
// success.
void *
zlistx_add_start (zlistx_t *self, void *item);
// Add an item to the tail of the list. Calls the item duplicator, if any,
// on the item. Resets cursor to list head. Returns an item handle on
// success, NULL if memory was exhausted.
// success.
void *
zlistx_add_end (zlistx_t *self, void *item);
Expand Down Expand Up @@ -1902,8 +1911,7 @@
// duplicator, if any, on the item. If low_value is true, starts searching
// from the start of the list, otherwise searches from the end. Use the item
// comparator, if any, to find where to place the new node. Returns a handle
// to the new node, or NULL if memory was exhausted. Resets the cursor to the
// list head.
// to the new node. Resets the cursor to the list head.
void *
zlistx_insert (zlistx_t *self, void *item, bool low_value);
Expand Down Expand Up @@ -2360,19 +2368,19 @@
// Connects process stdin with a readable ('>', connect) zeromq socket. If
// socket argument is NULL, zproc creates own managed pair of inproc
// sockets. The writable one is then accessbile via zproc_stdin method.
// sockets. The writable one is then accessible via zproc_stdin method.
void
zproc_set_stdin (zproc_t *self, void *socket);
// Connects process stdout with a writable ('@', bind) zeromq socket. If
// socket argument is NULL, zproc creates own managed pair of inproc
// sockets. The readable one is then accessbile via zproc_stdout method.
// sockets. The readable one is then accessible via zproc_stdout method.
void
zproc_set_stdout (zproc_t *self, void *socket);
// Connects process stderr with a writable ('@', bind) zeromq socket. If
// socket argument is NULL, zproc creates own managed pair of inproc
// sockets. The readable one is then accessbile via zproc_stderr method.
// sockets. The readable one is then accessible via zproc_stderr method.
void
zproc_set_stderr (zproc_t *self, void *socket);
Expand Down Expand Up @@ -4649,6 +4657,11 @@
zosc_t *
zosc_frommem (char *data, size_t size);
// Create a new zosc message from a string. This the same syntax as
// zosc_create but written as a single line string.
zosc_t *
zosc_fromstring (const char *oscstring);
// Create a new zosc message from the given format and arguments.
// The format type tags are as follows:
// i - 32bit integer
Expand Down Expand Up @@ -4752,6 +4765,10 @@
zosc_t *
zosc_unpack (zframe_t *frame);
// Return a string describing the the OSC message. The returned string must be freed by the caller.
char *
zosc_dump (zosc_t *self);
// Dump OSC message to stdout, for debugging and tracing.
void
zosc_print (zosc_t *self);
Expand Down
4 changes: 2 additions & 2 deletions bindings/qt/src/qzlist.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ void * QZlist::item ()

///
// Append an item to the end of the list, return 0 if OK or -1 if this
// failed for some reason (out of memory). Note that if a duplicator has
// failed for some reason (invalid input). Note that if a duplicator has
// been set, this method will also duplicate the item.
int QZlist::append (void *item)
{
Expand All @@ -93,7 +93,7 @@ int QZlist::append (void *item)

///
// Push an item to the start of the list, return 0 if OK or -1 if this
// failed for some reason (out of memory). Note that if a duplicator has
// failed for some reason (invalid input). Note that if a duplicator has
// been set, this method will also duplicate the item.
int QZlist::push (void *item)
{
Expand Down
4 changes: 2 additions & 2 deletions bindings/qt/src/qzlist.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,12 @@ class QT_ZYRE_EXPORT QZlist : public QObject
void * item ();

// Append an item to the end of the list, return 0 if OK or -1 if this
// failed for some reason (out of memory). Note that if a duplicator has
// failed for some reason (invalid input). Note that if a duplicator has
// been set, this method will also duplicate the item.
int append (void *item);

// Push an item to the start of the list, return 0 if OK or -1 if this
// failed for some reason (out of memory). Note that if a duplicator has
// failed for some reason (invalid input). Note that if a duplicator has
// been set, this method will also duplicate the item.
int push (void *item);

Expand Down
3 changes: 2 additions & 1 deletion bindings/ruby/lib/zyre/ffi/event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@ def initialize(ptr, finalize = true)
# @param ptr [::FFI::Pointer]
# @return [Proc]
def self.create_finalizer_for(ptr)
ptr_ptr = ::FFI::MemoryPointer.new :pointer

Proc.new do
ptr_ptr = ::FFI::MemoryPointer.new :pointer
ptr_ptr.write_pointer ptr
::Zyre::FFI.zyre_event_destroy ptr_ptr
end
Expand Down
3 changes: 2 additions & 1 deletion bindings/ruby/lib/zyre/ffi/zyre.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@ def initialize(ptr, finalize = true)
# @param ptr [::FFI::Pointer]
# @return [Proc]
def self.create_finalizer_for(ptr)
ptr_ptr = ::FFI::MemoryPointer.new :pointer

Proc.new do
ptr_ptr = ::FFI::MemoryPointer.new :pointer
ptr_ptr.write_pointer ptr
::Zyre::FFI.zyre_destroy ptr_ptr
end
Expand Down
24 changes: 24 additions & 0 deletions builds/ios/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# iOS Build

## Prerequisites

The build script require to be run on MacOs with XCode and the developer SDK installed.

This project is tested against SDK 15.5.

If you want to specify another version you need to set the environment variable below:

export SDK_VERSION=15.5

You can list all the versions of the SDK installed on your Mac using the command below:

xcodebuild -showsdks

## Build

In the ios directory, run:
./build.sh [ iPhoneOS armv7 | iPhoneOS armv7s | iPhoneOS arm64 | iPhoneSimulator i386 | iPhoneSimulator x86_64 ]

Note that certain target architectures may or may not be available depending on your target SDK Version. For example, iOS 10 is the maximum deployment target for 32-bit targets.

[This website](https://docs.elementscompiler.com/Platforms/Cocoa/CpuArchitectures/) can help you choose which architecture you need to target depending on your SDK version.
Loading

0 comments on commit dd1767a

Please sign in to comment.