MACOS (not MACOS X)===================This is the first attempt at porting cURL to MacOS.http, ftp, dict and telnet seems to work fine, other protocols and advanced features have not been all tested.This port is heavily based on the GUSI library from Matthias Neeracher.GUSI (Grand Unified Socket Interface) is a POSIX/Pthreads/Sockets library bringing some of the comforts of UNIX 98 to traditional MacOS.The latest GUSI release can be downloaded from sourceforge at <http://sourceforge.net/projects/gusi/>I have also write a few functions to help port UNIX applications to MacOS.These functions are part of the GUSI Extra library that can be downloaded at<http://perso.wanadoo.fr/ela/resources.html#gusiextra>OpenSSL support is still experimental but I hope to deliver a version including SSL soon.cURL for MacOS requires using the CodeWarrior compiler from Metrowerks.First download GUSI, GUSI Extra and cURL. Access paths have been setup so thatGUSI, GUSI Extra and cURL directories should have the same parent directory.Follow the instructions in GUSI Extra "readme.txt" mainly the ones related toSIOUX and GUSI patches. If you do not apply these patches curl will not behave correctly.In the 'curl/src/macos' directory, decode "curl.mcp.xml.sit.hqx" (This is a stuffit binhexed file)From the CodeWarrior IDE, import 'curl/src/macos/curl.xml', adjust the access paths if required. Then you should be able to build:- the libcurl libraries for PPC and 68K.- the curl application (also available for PPC and 68K) which is the command  line version of cURL.If the file "hugehelp.c" is missing rename "curl/src/hugehelp.c.cvs" to "hugehelp.c" and make sure its file type is 'TEXT'