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 <https://sourceforge.net/projects/gusi/>I have also written 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 "tool_hugehelp.c" is missing rename "curl/src/tool_hugehelp.c.cvs"to "tool_hugehelp.c" and make sure its file type is 'TEXT'
