I've gotten libcurl to work with Nokia's S60_5th_Edition_SDK_v0.9 for both HTTP and HTTPS. Although there are definitely things to investigate and change about what I've done I thought I'd share what I did in case someone else finds it helpful. Take this with a grain of salt because I'm neither a Symbian nor a libcurl expert and this applies only to the environment noted.
I added the following to the liibcurl.mmp file : #ifdef ENABLE_SSL SYSTEMINCLUDE /epoc32/include/stdapis/openssl #endif this is needed if you want to use SSL. Compiling libcurl will give the following warnings : mwldsym2.exe: warning: Option 'Use default libraries' is enabled but linker used mwldsym2.exe: warning: runtime library from MW[...]LibraryFiles (msl_all_static_mse_symbian_d.lib); mwldsym2.exe: warning: this indicates a potential settings/libraries mismatch as far as I can tell (and I'm on real thin ice here) this is a warning specific to the emulator and means that you can't use the libcurl.dll from multiple processes because of how Symbian deals with dll data. in the config-symbian file : Comment out ENABLE_IPV6 #define. Open-c on Symbian doesn't support it. Not only doesn't support it but It crashed on a socket call with this enabled (instead of just returning an invalid socket). I also added this : /* disable NTLM for Symbian */ #define CURL_DISABLE_NTLM 1 The NTLM stuff didn't compile and I didn't need it. in the ssluse.c file there were a few errors: line 477: illegal implicit conversion from 'int' to:'struct ui_method_st *' I don't know why this is complaining. For now I just added an explicit cast : UI_METHOD *ui_method = (UI_METHOD *)UI_OpenSSL(); lines 1998 through 2008...the compiler had trouble with these. For now I just #ifdef'd them out. case EVP_PKEY_DSA: #if NOT_WORKING_YET print_pubkey_BN(dsa, p, i); print_pubkey_BN(dsa, q, i); print_pubkey_BN(dsa, g, i); print_pubkey_BN(dsa, priv_key, i); print_pubkey_BN(dsa, pub_key, i); #endif break; case EVP_PKEY_DH: #if NOT_WORKING_YET print_pubkey_BN(dh, p, i); print_pubkey_BN(dh, g, i); print_pubkey_BN(dh, priv_key, i); print_pubkey_BN(dh, pub_key, i); #endif