diff options
Diffstat (limited to 'Android.mk')
-rw-r--r-- | Android.mk | 83 |
1 files changed, 70 insertions, 13 deletions
diff --git a/Android.mk b/Android.mk index d3188974d..59d27775a 100644 --- a/Android.mk +++ b/Android.mk @@ -1,11 +1,39 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) +# the executables that should be installed on the final system have to be added +# to PRODUCT_PACKAGES in +# build/target/product/core.mk +# possible executables are +# starter - allows to control and configure the daemons from the command line +# charon - the IKEv2 daemon +# pluto - the IKEv1 daemon + +# if you enable starter and/or pluto (see above) uncomment the proper lines here +# strongswan_BUILD_STARTER := true +# strongswan_BUILD_PLUTO := true + # this is the list of plugins that are built into libstrongswan and charon # also these plugins are loaded by default (if not changed in strongswan.conf) -strongswan_PLUGINS := openssl fips-prf random pubkey pkcs1 \ +strongswan_CHARON_PLUGINS := openssl fips-prf random pubkey pkcs1 \ pem xcbc hmac kernel-netlink socket-default android \ - eap-identity eap-mschapv2 eap-md5 + stroke eap-identity eap-mschapv2 eap-md5 + +ifneq ($(strongswan_BUILD_PLUTO),) +# if both daemons are enabled we use raw sockets in charon +strongswan_CHARON_PLUGINS := $(subst socket-default,socket-raw, \ + $(strongswan_CHARON_PLUGINS)) +# plugins loaded by pluto +strongswan_PLUTO_PLUGINS := openssl fips-prf random pubkey pkcs1 \ + pem xcbc hmac kernel-netlink xauth +endif + +strongswan_STARTER_PLUGINS := kernel-netlink + +# list of all plugins - used to enable them with the function below +strongswan_PLUGINS := $(sort $(strongswan_CHARON_PLUGINS) \ + $(strongswan_PLUTO_PLUGINS) \ + $(strongswan_STARTER_PLUGINS)) # helper macros to only add source files for plugins included in the list above # source files are relative to the android.mk that called the macro @@ -25,6 +53,15 @@ strongswan_PATH := $(LOCAL_PATH) libvstr_PATH := external/strongswan-support/vstr/include libgmp_PATH := external/strongswan-support/gmp +# some definitions +strongswan_VERSION := "4.6.4" +strongswan_DIR := "/system/bin" +strongswan_SBINDIR := "/system/bin" +strongswan_PIDDIR := "/data/misc/vpn" +strongswan_PLUGINDIR := "$(strongswan_IPSEC_DIR)/ipsec" +strongswan_CONFDIR := "/system/etc" +strongswan_STRONGSWAN_CONF := "$(strongswan_CONFDIR)/strongswan.conf" + # CFLAGS (partially from a configure run using droid-gcc) strongswan_CFLAGS := \ -Wno-format \ @@ -51,14 +88,15 @@ strongswan_CFLAGS := \ -DCAPABILITIES_NATIVE \ -DMONOLITHIC \ -DUSE_VSTR \ + -DDEBUG \ -DROUTING_TABLE=0 \ -DROUTING_TABLE_PRIO=220 \ - -DVERSION=\"4.5.2\" \ - -DPLUGINS='"$(strongswan_PLUGINS)"' \ - -DPLUGINDIR=\"/system/bin/ipsec\" \ - -DIPSEC_DIR=\"/system/bin\" \ - -DIPSEC_PIDDIR=\"/data/misc/vpn\" \ - -DSTRONGSWAN_CONF=\"/system/etc/strongswan.conf\" \ + -DVERSION=\"$(strongswan_VERSION)\" \ + -DPLUGINDIR=\"$(strongswan_PLUGINDIR)\" \ + -DIPSEC_DIR=\"$(strongswan_DIR)\" \ + -DIPSEC_PIDDIR=\"$(strongswan_PIDDIR)\" \ + -DIPSEC_CONFDIR=\"$(strongswan_CONFDIR)\" \ + -DSTRONGSWAN_CONF=\"$(strongswan_STRONGSWAN_CONF)\" \ -DDEV_RANDOM=\"/dev/random\" \ -DDEV_URANDOM=\"/dev/urandom\" @@ -66,9 +104,28 @@ strongswan_CFLAGS := \ strongswan_CFLAGS += \ -DHAVE_IN6ADDR_ANY +strongswan_BUILD := \ + charon \ + libcharon \ + libhydra \ + libstrongswan \ + libtncif \ + libtnccs + +ifneq ($(strongswan_BUILD_STARTER),) +strongswan_BUILD += \ + libfreeswan \ + starter \ + stroke \ + ipsec +endif + +ifneq ($(strongswan_BUILD_PLUTO),) +strongswan_BUILD += \ + libfreeswan \ + pluto \ + whack +endif + include $(addprefix $(LOCAL_PATH)/src/,$(addsuffix /Android.mk, \ - charon \ - libcharon \ - libhydra \ - libstrongswan \ - )) + $(sort $(strongswan_BUILD)))) |