Newer
Older
Dan Fandrich
committed
size of the libcurl dynamic libraries on some platforms even further.
Specify them by providing appropriate CFLAGS and LDFLAGS variables on the
configure command-line, e.g.
CFLAGS="-Os -ffunction-sections -fdata-sections \
-fno-unwind-tables -fno-asynchronous-unwind-tables" \
Dan Fandrich
committed
LDFLAGS="-Wl,-s -Wl,-Bsymbolic -Wl,--gc-sections"
Be sure also to strip debugging symbols from your binaries after
compiling using 'strip' (or the appropriate variant if cross-compiling).
If space is really tight, you may be able to remove some unneeded
sections of the shared library using the -R option to objcopy (e.g. the
.comment section).
Using these techniques it is possible to create a basic HTTP-only shared
libcurl library for i386 Linux platforms that is only 114 KiB in size, and
an FTP-only library that is 115 KiB in size (as of libcurl version 7.34.1,
using gcc 4.8.2).
Daniel Stenberg
committed
You may find that statically linking libcurl to your application will
result in a lower total size than dynamically linking.
Daniel Stenberg
committed
Note that the curl test harness can detect the use of some, but not all, of
the --disable statements suggested above. Use will cause tests relying on
those features to fail. The test harness can be manually forced to skip
the relevant tests by specifying certain key words on the runtests.pl
command line. Following is a list of appropriate key words:
--disable-cookies !cookies
--disable-crypto-auth !HTTP\ Digest\ auth !HTTP\ proxy\ Digest\ auth
--disable-manual !--manual
--disable-proxy !HTTP\ proxy !proxytunnel !SOCKS4 !SOCKS5
Daniel Stenberg
committed
This is a probably incomplete list of known hardware and operating systems
that curl has been compiled for. If you know a system curl compiles and
runs on, that isn't listed, please let us know!
- Alpha DEC OSF 4
- Alpha Digital UNIX v3.2
- Alpha FreeBSD 4.1, 4.5
- Alpha Linux 2.2, 2.4
- Alpha NetBSD 1.5.2
- Alpha OpenVMS V7.1-1H2
- ARM Android 1.5, 2.1, 2.3, 3.2, 4.x
Dan Fandrich
committed
- ARM INTEGRITY
Dan Fandrich
committed
- Cell Linux
Daniel Stenberg
committed
- Cell Cell OS
- Power AIX 3.2.5, 4.2, 4.3.1, 4.3.2, 5.1, 5.2
Daniel Stenberg
committed
- PowerPC INTEGRITY
- SH4 Linux 2.6.X
- SH4 OS21
Daniel Stenberg
committed
- SINIX-Z v5
- Sparc Solaris 2.4, 2.5, 2.5.1, 2.6, 7, 8, 9, 10
- Sparc SunOS 4.1.X
Daniel Stenberg
committed
- StrongARM (and other ARM) RISC OS 3.1, 4.02
Daniel Stenberg
committed
- StrongARM NetBSD 1.4.1
- Symbian OS (P.I.P.S.) 9.x
Daniel Stenberg
committed
- Ultrix 4.3a
- UNICOS 9.0
Daniel Stenberg
committed
- i386 Esix 4.1
- i386 Linux 1.3, 2.0, 2.2, 2.3, 2.4, 2.6
- i386 Mac OS X
- i386 MINIX 3.1
- i386 OS/2
- i386 OpenBSD
- i386 SCO unix
- i386 Windows 95, 98, ME, NT, 2000, XP, 2003
- i486 ncr-sysv4.3.03 (NCR MP-RAS)
- ia64 Linux 2.3.99
- m68k AmigaOS 3
Daniel Stenberg
committed
- m68k uClinux
Dan Fandrich
committed
- x86_64 Linux
Daniel Stenberg
committed
- Nios II uClinux
Useful URLs
===========
axTLS http://axtls.sourceforge.net/
c-ares http://c-ares.haxx.se/
GNU GSS http://www.gnu.org/software/gss/
GnuTLS http://www.gnu.org/software/gnutls/
Heimdal http://www.pdc.kth.se/heimdal/
libidn http://www.gnu.org/software/libidn/
libmetalink https://launchpad.net/libmetalink/
libssh2 http://www.libssh2.org/
MIT Kerberos http://web.mit.edu/kerberos/www/dist/
NSS http://www.mozilla.org/projects/security/pki/nss/
OpenLDAP http://www.openldap.org/
OpenSSL http://www.openssl.org/
PolarSSL http://polarssl.org/
yassl http://www.yassl.com/
Zlib http://www.zlib.net/
MingW http://www.mingw.org/
MinGW-w64 http://mingw-w64.sourceforge.net/
OpenWatcom http://www.openwatcom.org/