diff options
Diffstat (limited to 'src/libstrongswan')
-rw-r--r-- | src/libstrongswan/Android.mk | 167 | ||||
-rw-r--r-- | src/libstrongswan/AndroidConfigLocal.h | 9 | ||||
-rw-r--r-- | src/libstrongswan/Makefile.am | 3 |
3 files changed, 178 insertions, 1 deletions
diff --git a/src/libstrongswan/Android.mk b/src/libstrongswan/Android.mk new file mode 100644 index 000000000..47fa457b2 --- /dev/null +++ b/src/libstrongswan/Android.mk @@ -0,0 +1,167 @@ +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +# copy-n-paste from Makefile.am +LOCAL_SRC_FILES := \ + library.c library.h \ + chunk.c chunk.h \ + debug.c debug.h \ + enum.c enum.h \ + settings.h settings.c \ + printf_hook.c printf_hook.h \ + asn1/asn1.c asn1/asn1.h \ + asn1/asn1_parser.c asn1/asn1_parser.h \ + asn1/oid.c asn1/oid.h \ + attributes/attributes.c attributes/attributes.h \ + attributes/attribute_provider.h attributes/attribute_handler.h \ + attributes/attribute_manager.c attributes/attribute_manager.h \ + crypto/crypters/crypter.c crypto/crypters/crypter.h \ + crypto/hashers/hasher.h crypto/hashers/hasher.c \ + crypto/pkcs9.c crypto/pkcs9.h \ + crypto/proposal/proposal_keywords.c crypto/proposal/proposal_keywords.h \ + crypto/prfs/prf.c crypto/prfs/prf.h \ + crypto/rngs/rng.c crypto/rngs/rng.h \ + crypto/prf_plus.h crypto/prf_plus.c \ + crypto/signers/signer.c crypto/signers/signer.h \ + crypto/crypto_factory.c crypto/crypto_factory.h \ + crypto/crypto_tester.c crypto/crypto_tester.h \ + crypto/diffie_hellman.c crypto/diffie_hellman.h \ + crypto/transform.c crypto/transform.h \ + credentials/credential_factory.c credentials/credential_factory.h \ + credentials/builder.c credentials/builder.h \ + credentials/keys/key_encoding.c credentials/keys/key_encoding.h \ + credentials/keys/private_key.c credentials/keys/private_key.h \ + credentials/keys/public_key.c credentials/keys/public_key.h \ + credentials/keys/shared_key.c credentials/keys/shared_key.h \ + credentials/certificates/certificate.c credentials/certificates/certificate.h \ + credentials/certificates/x509.h credentials/certificates/x509.c \ + credentials/certificates/ac.h \ + credentials/certificates/crl.h credentials/certificates/crl.c \ + credentials/certificates/pkcs10.h \ + credentials/certificates/ocsp_request.h \ + credentials/certificates/ocsp_response.h credentials/certificates/ocsp_response.c \ + credentials/certificates/pgp_certificate.h \ + credentials/ietf_attributes/ietf_attributes.c credentials/ietf_attributes/ietf_attributes.h \ + database/database.h database/database_factory.h database/database_factory.c \ + fetcher/fetcher.h fetcher/fetcher_manager.h fetcher/fetcher_manager.c \ + selectors/traffic_selector.c selectors/traffic_selector.h \ + threading/thread.h threading/thread.c \ + threading/thread_value.h threading/thread_value.c \ + threading/mutex.h threading/mutex.c threading/condvar.h \ + threading/rwlock.h threading/rwlock.c \ + threading/lock_profiler.h \ + utils.h utils.c \ + utils/host.c utils/host.h \ + utils/identification.c utils/identification.h \ + utils/iterator.h \ + utils/lexparser.c utils/lexparser.h \ + utils/linked_list.c utils/linked_list.h \ + utils/hashtable.c utils/hashtable.h \ + utils/enumerator.c utils/enumerator.h \ + utils/optionsfrom.c utils/optionsfrom.h \ + utils/backtrace.c utils/backtrace.h \ + plugins/plugin_loader.c plugins/plugin_loader.h plugins/plugin.h + +# adding the plugin source files (copy-n-paste from their Makefile.am) + +LOCAL_SRC_FILES += $(call add_plugin, aes, \ + aes_plugin.h aes_plugin.c aes_crypter.c aes_crypter.h \ +) + +LOCAL_SRC_FILES += $(call add_plugin, des, \ + des_plugin.h des_plugin.c des_crypter.c des_crypter.h \ +) + +LOCAL_SRC_FILES += $(call add_plugin, fips-prf, \ + fips_prf_plugin.h fips_prf_plugin.c fips_prf.c fips_prf.h \ +) + +LOCAL_SRC_FILES += $(call add_plugin, gmp, \ + gmp_plugin.h gmp_plugin.c \ + gmp_diffie_hellman.c gmp_diffie_hellman.h \ + gmp_rsa_private_key.c gmp_rsa_private_key.h \ + gmp_rsa_public_key.c gmp_rsa_public_key.h \ +) +ifneq ($(call plugin_enabled, gmp)),) +LOCAL_C_INCLUDES += $(libgmp_PATH) +LOCAL_STATIC_LIBRARIES += libgmp +endif + +LOCAL_SRC_FILES += $(call add_plugin, hmac, \ + hmac_plugin.h hmac_plugin.c hmac.h hmac.c \ + hmac_prf.h hmac_prf.c hmac_signer.h hmac_signer.c \ +) + +LOCAL_SRC_FILES += $(call add_plugin, md4, \ + md4_plugin.h md4_plugin.c md4_hasher.c md4_hasher.h \ +) + +LOCAL_SRC_FILES += $(call add_plugin, md5, \ + md5_plugin.h md5_plugin.c md5_hasher.c md5_hasher.h \ +) + +LOCAL_SRC_FILES += $(call add_plugin, pem, \ + pem_plugin.h pem_plugin.c \ + pem_builder.c pem_builder.h \ +) + +LOCAL_SRC_FILES += $(call add_plugin, pkcs1, \ + pkcs1_plugin.h pkcs1_plugin.c \ + pkcs1_encoder.h pkcs1_encoder.c \ + pkcs1_builder.h pkcs1_builder.c \ +) + +LOCAL_SRC_FILES += $(call add_plugin, pubkey, \ + pubkey_plugin.h pubkey_plugin.c \ + pubkey_cert.h pubkey_cert.c \ +) + +LOCAL_SRC_FILES += $(call add_plugin, random, \ + random_plugin.h random_plugin.c \ + random_rng.c random_rng.h \ +) + +LOCAL_SRC_FILES += $(call add_plugin, sha1, \ + sha1_plugin.h sha1_plugin.c \ + sha1_hasher.c sha1_hasher.h sha1_prf.c sha1_prf.h \ +) + +LOCAL_SRC_FILES += $(call add_plugin, sha2, \ + sha2_plugin.h sha2_plugin.c sha2_hasher.c sha2_hasher.h \ +) + +LOCAL_SRC_FILES += $(call add_plugin, x509, \ + x509_plugin.h x509_plugin.c \ + x509_cert.h x509_cert.c \ + x509_crl.h x509_crl.c \ + x509_ac.h x509_ac.c \ + x509_pkcs10.h x509_pkcs10.c \ + x509_ocsp_request.h x509_ocsp_request.c \ + x509_ocsp_response.h x509_ocsp_response.c \ +) + +LOCAL_SRC_FILES += $(call add_plugin, xcbc, \ + xcbc_plugin.h xcbc_plugin.c xcbc.h xcbc.c \ + xcbc_prf.h xcbc_prf.c xcbc_signer.h xcbc_signer.c \ +) + +# build libstrongswan ---------------------------------------------------------- + +LOCAL_C_INCLUDES += \ + $(libvstr_PATH) + +LOCAL_CFLAGS := $(strongswan_CFLAGS) \ + -include $(LOCAL_PATH)/AndroidConfigLocal.h + +LOCAL_MODULE := libstrongswan + +LOCAL_ARM_MODE := arm + +LOCAL_PRELINK_MODULE := false + +LOCAL_SHARED_LIBRARIES += libdl + +LOCAL_STATIC_LIBRARIES += libvstr + +include $(BUILD_SHARED_LIBRARY) + diff --git a/src/libstrongswan/AndroidConfigLocal.h b/src/libstrongswan/AndroidConfigLocal.h new file mode 100644 index 000000000..a6da3276a --- /dev/null +++ b/src/libstrongswan/AndroidConfigLocal.h @@ -0,0 +1,9 @@ +/* stuff defined in AndroidConfig.h, which is included using the -include + * command-line option, thus cannot be undefined using -U CFLAGS options. + * the reason we have to undefine these flags in the first place, is that + * AndroidConfig.h defines them as 0, which in turn means that they are + * actually defined. */ + +#undef HAVE_BACKTRACE +#undef HAVE_DLADDR + diff --git a/src/libstrongswan/Makefile.am b/src/libstrongswan/Makefile.am index 4c3963d03..1b7fbc358 100644 --- a/src/libstrongswan/Makefile.am +++ b/src/libstrongswan/Makefile.am @@ -90,7 +90,8 @@ endif EXTRA_DIST = \ asn1/oid.txt asn1/oid.pl \ -crypto/proposal/proposal_keywords.txt +crypto/proposal/proposal_keywords.txt \ +Android.mk AndroidConfigLocal.h BUILT_SOURCES = \ $(srcdir)/asn1/oid.c $(srcdir)/asn1/oid.h \ |