[PATCH 1/2] android/openconnect: add ability to build openconnect within android.

openconnect at lakedaemon.net openconnect at lakedaemon.net
Thu Jul 14 21:38:49 EDT 2011


From: Jason Cooper <cyanogen at lakedaemon.net>


Signed-off-by: Jason Cooper <cyanogen at lakedaemon.net>
---
 Android.mk |   91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 main.c     |    2 +
 tun.c      |    3 ++
 3 files changed, 96 insertions(+), 0 deletions(-)
 create mode 100644 Android.mk

diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..ec3dab6
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,91 @@
+LOCAL_PATH:= $(call my-dir)
+
+### From openvpn Android.mk ###
+
+#on a 32bit maschine run ./configure --enable-password-save --disable-pkcs11 --with-ifconfig-path=/system/bin/ifconfig --with-route-path=/system/bin/route
+#from generated Makefile copy variable contents of openvpn_SOURCES to common_SRC_FILES
+# append missing.c to the end of the list
+# missing.c defines undefined functions.
+# in tun.c replace /dev/net/tun with /dev/tun
+
+### End from openvpn Android.mk ###
+
+common_SRC_FILES:= \
+	auth.c \
+	cstp.c \
+	dtls.c \
+	http.c \
+	library.c \
+	main.c \
+	mainloop.c \
+	openconnect.h \
+	openconnect-internal.h \
+	ssl.c \
+	ssl_ui.c \
+	tun.c \
+	version.c \
+	xml.c
+
+#common_CFLAGS += -DNO_WINDOWS_BRAINDEATH 
+common_CFLAGS += -DANDROID_CHANGES -DIFF_TUN
+
+common_C_INCLUDES += \
+	$(JNI_H_INCLUDE) \
+	$(LOCAL_PATH)/WebKit/android/icu \
+	external/ \
+	external/icu4c/common \
+	external/icu4c/i18n \
+	external/libxml2/include \
+	bionic/libc/include/ \
+	external/openssl \
+	external/openssl/include \
+	external/openssl/crypto \
+	external/zlib \
+	frameworks/base/cmds/keystore
+
+common_SHARED_LIBRARIES := libcutils \
+	libz \
+	libicuuc \
+	libicui18n
+
+
+ifneq ($(TARGET_SIMULATOR),true)
+	common_SHARED_LIBRARIES += libdl
+endif
+
+# static linked binary
+# =====================================================
+
+#include $(CLEAR_VARS)
+#LOCAL_SRC_FILES:= $(common_SRC_FILES)
+#LOCAL_CFLAGS:= $(common_CFLAGS)
+#LOCAL_C_INCLUDES:= $(common_C_INCLUDES)
+#
+#LOCAL_SHARED_LIBRARIES += $(common_SHARED_LIBRARIES)
+#LOCAL_STATIC_LIBRARIES:= libopenssl-static liblzo-static
+#
+##LOCAL_LDLIBS += -ldl
+##LOCAL_PRELINK_MODULE:= false
+#
+#LOCAL_MODULE:= openconnect-static
+#LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+#include $(BUILD_EXECUTABLE)
+
+# dynamic linked binary
+# =====================================================
+
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES:= $(common_SRC_FILES)
+LOCAL_CFLAGS:= $(common_CFLAGS)
+LOCAL_C_INCLUDES:= $(common_C_INCLUDES)
+
+LOCAL_SHARED_LIBRARIES:= $(common_SHARED_LIBRARIES) libssl libcrypto libz
+LOCAL_STATIC_LIBRARIES:= libxml2 liblog
+
+#LOCAL_LDLIBS += -ldl
+#LOCAL_PRELINK_MODULE:= false
+
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE:= openconnect
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+include $(BUILD_EXECUTABLE)
diff --git a/main.c b/main.c
index 38c51bf..40c7184 100644
--- a/main.c
+++ b/main.c
@@ -33,7 +33,9 @@
 #include <fcntl.h>
 #include <unistd.h>
 #include <pwd.h>
+#ifndef ANDROID_CHANGES
 #include <sys/syslog.h>
+#endif
 #include <sys/utsname.h>
 #include <sys/types.h>
 #include <openssl/ui.h>
diff --git a/tun.c b/tun.c
index 669b01f..280e66b 100644
--- a/tun.c
+++ b/tun.c
@@ -38,6 +38,9 @@
 #include <arpa/inet.h>
 #include <errno.h>
 #include <ctype.h>
+#ifdef ANDROID_CHANGES
+#include <linux/if_tun.h>
+#endif
 #if defined(__sun__)
 #include <stropts.h>
 #include <sys/sockio.h>
-- 
1.7.0.4




More information about the openconnect-devel mailing list