To install TclCurl in Windows you simply have to double-click on the 'SetUp.tcl' file, provided you already have Tcl/Tk installed, the script will take care of everything. By the way, Tcl's console doesn't seem to like the output sent by TclCurl, for example, if you type: curl::transfer -url www.scriptics.com you will only get an error, you will have to dump it to a file with the 'file' option, read it in to a variable with 'bodyvar' or use Cygwin's console. Compiling TclCurl in Windows First of all a little disclaimer: I know nothing about Windows programming, no kidding, not a thing, zip, zilch, nada. I can barely manage using tools, like Tcl/Tk and gcc, whose origin is in the Unix world, but that is just about it, so if you think that the following is just plain stupid, that is because it probably is, but in that case, don't forget to tell me all about it. To compile Tcl/Tk in Windows you are going to need several things: - A msys-mingw enviroment, you can get it at SourceForge: http://sourceforge.net/projects/tcl/ - Since you are already at Tcl's page at SF, you can download the lastest Tcl version, 8.4.1 at this writing. (These instructions won't work with 8.3.x versions) - Compile and install Tcl using msys-mingw. - Compile cURL, there is a README in the tarball that explains how to compile it using mingw. Then copy the libraries created in the 'lib' directory to '/usr/local/lib', the header files in 'include/curl' to '/usr/local/include/curl' and the 'curl.exe' executable in 'src' to '/usr/local/bin'. - And finally you get to compile TclCurl: - CC=gcc ./configure - make - make install And don't you forget the 'CC=gcc'. - If you want to use from the Tcl/Tk you have installed at 'c:\Program Files\', you have to copy the 'tclcurl0.101' directory you will find at '/usr/local/lib/' to 'c:\Program Files\Tcl\lib'. - And now you should have a working TclCurl, run Tcl/Tk and type: $ package require TclCurl. Tcl should return TclCurl's version, if it doesn't something went wrong, could you please tell me? - Wish console doesn't really like TclCurl, so if you do: $ curl::transfer -url slashdot.org It will return a '0' to tell that the transfer was successful, but it will show you nothing, you will have to dump the page into a file to be able to read it or use Cygwin's console. Compiling TclCurl with threads support You have to do basically the same thing, except that when you configure Tcl and TclCurl you have to add the '--enable-threads' option: - CC=gcc ./configure --enable-threads Compiling TclCurl with SSL support To prevent patent trouble, the SSL enabled binaries don't support the idea, rc5 and mdc2 algorithms, if you need them and you are allowed to do so, you can compile them yourself. The biggest problem with OpenSSL support is compiling OpenSSL, not very hard but messy. The OpenSSL source tarball contains instructions on how to do it, but anyway: - OpenSSL configure requires you to have perl installed, I don't know why, but it doesn't work with the perl version included in Cygwin, so I had to use ActivePerl, you can download it at: http://www.activestate.com/Products/Download/Register.plex?id=ActivePerl - Download OpenSSL, for the time being you'd better use version 0.9.6h: http://www.openssl.org/source/ - Extract the tarball, edit the file openssl-0.9.6h\ms\mingw32.bat and add the line PATH=%PATH%;C:\Perl\bin;c:\msys\mingw\bin at the begining, obviously change the paths to whatever fits your system. - At the openssl-0.9.6h directory in a MSDOS console, not msys', type: ms\mingw32.bat - After it compiles you have to copy some files around: - libcryto.a, libeay32.a, libRSAglue.a, libssl.a and libssl32.a from openssl-0.9.6h\out to c:\msys\local\lib. - libeay32.dll and libssl32.dll from openssl-0.9.6h to c:\msys\local\lib. - The contents of openssl-0.9.6h\outinc to c:\msys\local\include. - Now compile curl with ssl support. - And finally you get to compile TclCurl: - CC=gcc ./configure --enable-threads - make - make install Sounds like a lot of work to run a little extension, but then again, you could have downloaded the self-extracting archive file. Have fun Andres fandom@retemail.es