Hi Ghislain,
Great work!
Is there a reason why the build for Android isn't integrated with
existing autotools build system?
Martin
On 11/06/2010 03:39 PM, Ghislain PUTOIS wrote:
Dear all,
Here is a small patch to ease the cross-compilation of the trunk on
the Android platform, which is mostly a LINUX platform, except form
some missing POSIX functions.
You can also find a compiled version and a copy of the sources I am
currently using for cross-compiling to Android on
http://ghislain.putois.free.fr/azmq.tar.bz2 .
The tar.bz2 package contains a copy of uuid and zmq sources. It
requires the unofficial NDK R4 by CrystaX.
From 7c3e67e49f50d19891186fd264392df41bc79fea Mon Sep 17 00:00:00 2001
From: Ghislain Putois <g...@ultraguile.(none)>
Date: Sat, 6 Nov 2010 15:28:33 +0100
Subject: [PATCH] Signed-off-by: Ghislain Putois <[email protected]
<mailto:[email protected]>>
Some small changes to prepare a cross-compilation for the Android
platform.
---
src/Android.mk | 10 ++++++++++
src/ip.cpp | 2 +-
src/swap.cpp | 2 ++
src/thread.cpp | 2 ++
4 files changed, 15 insertions(+), 1 deletions(-)
create mode 100644 src/Android.mk
diff --git a/src/Android.mk b/src/Android.mk
new file mode 100644
index 0000000..dff161b
--- /dev/null
+++ b/src/Android.mk
@@ -0,0 +1,10 @@
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+APP_PLATFORM = android-8
+
+LOCAL_MODULE := libzmq
+LOCAL_SRC_FILES := clock.cpp options.cpp socket_base.cpp command.cpp
own.cpp streamer.cpp connect_session.cpp pair.cpp sub.cpp ctx.cpp
pgm_receiver.cpp swap.cpp decoder.cpp pgm_sender.cpp tcp_connecter.cpp
devpoll.cpp pgm_socket.cpp tcp_listener.cpp encoder.cpp pipe.cpp
tcp_socket.cpp epoll.cpp poll.cpp thread.cpp err.cpp poller_base.cpp
transient_session.cpp forwarder.cpp pub.cpp trie.cpp fq.cpp pull.cpp
uuid.cpp io_object.cpp push.cpp xrep.cpp io_thread.cpp queue.cpp
xreq.cpp ip.cpp rep.cpp zmq_connecter.cpp kqueue.cpp req.cpp zmq.cpp
lb.cpp select.cpp zmq_engine.cpp named_session.cpp session.cpp
zmq_init.cpp object.cpp zmq_listener.cpp mailbox.cpp
+
+LOCAL_LDLIBS := -luuid -lc -lm -lstdc++
+include $(BUILD_SHARED_LIBRARY)
diff --git a/src/ip.cpp b/src/ip.cpp
index eb05aec..736ea04 100644
--- a/src/ip.cpp
+++ b/src/ip.cpp
@@ -89,7 +89,7 @@ static int resolve_nic_name (in_addr* addr_, char
const *interface_)
return 0;
}
-#elif defined ZMQ_HAVE_AIX || ZMQ_HAVE_HPUX
+#elif defined ZMQ_HAVE_AIX || ZMQ_HAVE_HPUX || ANDROID
#include <sys/types.h>
#include <unistd.h>
diff --git a/src/swap.cpp b/src/swap.cpp
index e3cc63e..4d03b27 100644
--- a/src/swap.cpp
+++ b/src/swap.cpp
@@ -111,9 +111,11 @@ int zmq::swap_t::init ()
return -1;
#ifdef ZMQ_HAVE_LINUX
+#ifndef ANDROID
// Enable more aggresive read-ahead optimization.
posix_fadvise (fd, 0, filesize, POSIX_FADV_SEQUENTIAL);
#endif
+#endif
return 0;
}
diff --git a/src/thread.cpp b/src/thread.cpp
index 2edd85b..ac3312a 100644
--- a/src/thread.cpp
+++ b/src/thread.cpp
@@ -71,9 +71,11 @@ void *zmq::thread_t::thread_routine (void *arg_)
sigset_t signal_set;
int rc = sigfillset (&signal_set);
errno_assert (rc == 0);
+#if !defined ANDROID
rc = pthread_sigmask (SIG_BLOCK, &signal_set, NULL);
errno_assert (rc == 0);
#endif
+#endif
thread_t *self = (thread_t*) arg_;
self->tfn (self->arg);
--
1.7.1
Yours,
--
Ghislain PUTOIS
[email protected] <mailto:[email protected]>
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev