That's interesting.
For the time being, I can't get openssl 1.0.1e to build on my windows box (Robovm is using 1.0.1c)
The error is:
In file included from \android\external\openssl\crypto\er
\err_all.c:60:0:
/android/external/openssl/crypto/../include/openssl/ocsp.
:539:24: error: pasting ")" and "_new" does not give a valid preprocessing token
DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:333:8: note: in definition of macro 'DECLARE_ASN1_ALLOC_FUNCTIONS_name'
type *name##_new(void); \
^
/android/external/openssl/crypto/../include/openssl/asn1.
:302:38: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS_name'
#define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:539:1: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS'
DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:539:24: error: pasting ")" and "_free" does not give a valid preprocessing token
DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:334:7: note: in definition of macro 'DECLARE_ASN1_ALLOC_FUNCTIONS_name'
void name##_free(type *a);
^
/android/external/openssl/crypto/../include/openssl/asn1.
:302:38: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS_name'
#define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:539:1: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS'
DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:316:8: error: pasting "d2i_" and "(" does not give a valid preprocessing token
type *d2i_##name(type **a, const unsigned char **in, long len); \
^
/android/external/openssl/crypto/../include/openssl/asn1.
:309:2: note: in expansion of macro 'DECLARE_ASN1_ENCODE_FUNCTIONS'
DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:302:38: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS_name'
#define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:539:1: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS'
DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:317:6: error: pasting "i2d_" and "(" does not give a valid preprocessing token
int i2d_##name(type *a, unsigned char **out); \
^
/android/external/openssl/crypto/../include/openssl/asn1.
:309:2: note: in expansion of macro 'DECLARE_ASN1_ENCODE_FUNCTIONS'
DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:302:38: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS_name'
#define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:539:1: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS'
DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:539:24: error: pasting ")" and "_it" does not give a valid preprocessing token
DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:413:33: note: in definition of macro 'DECLARE_ASN1_ITEM'
OPENSSL_EXTERN const ASN1_ITEM name##_it;
^
/android/external/openssl/crypto/../include/openssl/asn1.
:309:2: note: in expansion of macro 'DECLARE_ASN1_ENCODE_FUNCTIONS'
DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:302:38: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS_name'
#define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:539:1: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS'
DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:543:24: error: pasting ")" and "_new" does not give a valid preprocessing token
DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:333:8: note: in definition of macro 'DECLARE_ASN1_ALLOC_FUNCTIONS_name'
type *name##_new(void); \
^
/android/external/openssl/crypto/../include/openssl/asn1.
:302:38: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS_name'
#define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:543:1: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS'
DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:543:24: error: pasting ")" and "_free" does not give a valid preprocessing token
DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:334:7: note: in definition of macro 'DECLARE_ASN1_ALLOC_FUNCTIONS_name'
void name##_free(type *a);
^
/android/external/openssl/crypto/../include/openssl/asn1.
:302:38: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS_name'
#define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:543:1: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS'
DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:316:8: error: pasting "d2i_" and "(" does not give a valid preprocessing token
type *d2i_##name(type **a, const unsigned char **in, long len); \
^
/android/external/openssl/crypto/../include/openssl/asn1.
:309:2: note: in expansion of macro 'DECLARE_ASN1_ENCODE_FUNCTIONS'
DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:302:38: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS_name'
#define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:543:1: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS'
DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:317:6: error: pasting "i2d_" and "(" does not give a valid preprocessing token
int i2d_##name(type *a, unsigned char **out); \
^
/android/external/openssl/crypto/../include/openssl/asn1.
:309:2: note: in expansion of macro 'DECLARE_ASN1_ENCODE_FUNCTIONS'
DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:302:38: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS_name'
#define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:543:1: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS'
DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:543:24: error: pasting ")" and "_it" does not give a valid preprocessing token
DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:413:33: note: in definition of macro 'DECLARE_ASN1_ITEM'
OPENSSL_EXTERN const ASN1_ITEM name##_it;
^
/android/external/openssl/crypto/../include/openssl/asn1.
:309:2: note: in expansion of macro 'DECLARE_ASN1_ENCODE_FUNCTIONS'
DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name)
^
/android/external/openssl/crypto/../include/openssl/asn1.
:302:38: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS_name'
#define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type)
^
/android/external/openssl/crypto/../include/openssl/ocsp.
:543:1: note: in expansion of macro 'DECLARE_ASN1_FUNCTIONS'
DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST)
^
I had to undefine DSO_DLFCN HAVE_DLFCN_H: the new version of openssl uses a dlfcn's apis that are not ported on windows.
Do you happen to know what the consequences of this are ?
For the sake of completion, the following flags has been added in the android 4.4_r0.7 build
- MONOLITH
- OPENSSL_NO_EC_NISTP_64_GCC_128
- OPENSSL_NO_HEARTBEATS
- OPENSSL_NO_SCTP
- TERMIO
Note: ZLIB is not defined anymore.
I don't know what is the correct course here:
- try with a more recent version (current is 1.0.1h)
- use prebuilt openssl binaries for the moment
- reading more documetation (brrr) :)