Annotation of embedaddon/curl/packages/Symbian/readme.txt, revision 1.1
1.1 ! misho 1: Curl on Symbian OS
! 2: ==================
! 3: This is a basic port of curl and libcurl to Symbian OS. The port is
! 4: a straightforward one using Symbian's P.I.P.S. POSIX compatibility
! 5: layer, which was first available for OS version 9.1. A more complete
! 6: port would involve writing a Symbian C++ binding, or wrapping libcurl
! 7: as a Symbian application server with a C++ API to handle requests
! 8: from client applications as well as creating a GUI application to allow
! 9: file transfers. The author has no current plans to do so.
! 10:
! 11: This means that integration with standard Symbian OS programs can be
! 12: tricky, since libcurl isn't designed with Symbian's native asynchronous
! 13: message passing idioms in mind. However, it may be possible to use libcurl
! 14: in an active object-based application through libcurl's multi interface.
! 15: The port is most easily used when porting POSIX applications to Symbian
! 16: OS using P.I.P.S. (a.k.a. Open C).
! 17:
! 18: libcurl is built as a standard Symbian ordinal-linked DLL, and curl is
! 19: built as a text mode EXE application. They have not been Symbian
! 20: Signed, which is required in order to install them on most phones.
! 21:
! 22: Following are some things to keep in mind when using this port.
! 23:
! 24:
! 25: curl notes
! 26: ----------
! 27: When starting curl in the Windows emulator from the Windows command-line,
! 28: place a double-dash -- before the first curl command-line option.
! 29: e.g. \epoc32\release\winscw\udeb\curl -- -v http://localhost/
! 30: Failure to do so may mean that some of your options won't be correctly
! 31: processed.
! 32:
! 33: Symbian's ESHELL allows for redirecting stdin and stdout to files, but
! 34: stderr goes to the epocwind.out file (on the emulator). The standard
! 35: curl options -o, --stderr and --trace-ascii can be used to
! 36: redirect output to a file (or stdout) instead.
! 37:
! 38: P.I.P.S. doesn't inherit the current working directory at startup from
! 39: the shell, so relative path names are always relative to
! 40: C:\Private\f0206442\.
! 41:
! 42: P.I.P.S. provides no way to disable echoing of characters as they are
! 43: entered, so passwords typed in on the console will be visible. It also
! 44: line buffers keyboard input so interactive telnet sessions are not very
! 45: feasible.
! 46:
! 47: All screen output disappears after curl exits, so after a command completes,
! 48: curl waits by default for Enter to be pressed before exiting. This behaviour
! 49: is suppressed when the -s option is given.
! 50:
! 51: curl's "home directory" in Symbian is C:\Private\f0206442\. The .curlrc file
! 52: is read from this directory on startup.
! 53:
! 54:
! 55: libcurl notes
! 56: -------------
! 57: libcurl uses writable static data, so the EPOCALLOWDLLDATA option is
! 58: used in its MMP file, with the corresponding additional memory usage
! 59: and limitations on the Windows emulator.
! 60:
! 61: curl_global_init() *must* be called (either explicitly or implicitly through
! 62: calling certain other libcurl functions) before any libcurl functions
! 63: that could allocate memory (like curl_getenv()).
! 64:
! 65: P.I.P.S. doesn't support signals or the alarm() call, so some timeouts
! 66: (such as the connect timeout) are not honoured. This should not be
! 67: an issue once support for CURLRES_THREADED is added for Symbian.
! 68:
! 69: P.I.P.S. causes a USER:87 panic if certain timeouts much longer than
! 70: half an hour are selected.
! 71:
! 72: LDAP, SCP or SFTP methods are not supported due to lack of support for
! 73: the dependent libraries on Symbian.
! 74:
! 75: gzip and deflate decompression is supported when the appropriate macro
! 76: is uncommented in the libcurl.mmp file.
! 77:
! 78: SSL/TLS encryption is not enabled by default, but it is possible to add
! 79: when the OpenSSL libraries included in the S60 Open C SDK are available.
! 80: The appropriate macro in the libcurl.mmp file must be uncommented to
! 81: enable support.
! 82:
! 83: NTLM authentication may not work on some servers due to the lack of
! 84: MD4 support in the OpenSSL libraries included with Open C.
! 85:
! 86: Debug builds are not supported (i.e. --enable-debug) because they cause
! 87: additional symbol exports in the library which are not frozen in the .def
! 88: files.
! 89:
! 90:
! 91: Dan Fandrich
! 92: dan@coneharvesters.com
! 93: March 2010
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>