This page describes the process to build CurlPlugin
Assuming that we have a working vmmaker+gcc setup to build regular squeak vm on a platform of choice here is the description of the build infrastructure:
1) Runtime libs which (with the exception of curl.exe) go to the Squeak folder where VM recides. Another possibility is to place it into one of the system dll folders - but this can be messy as there may be other programs which use different libcurl version(s). So let us place it in the same directory where Squeak.exe and SquakFFIPrims.dll are sitting. This is a runtime dependency - it is needed to use the plugin, but does not necessary to compile it.
2) Headers which are used to compile the plugin. They are placed under the platforms/win32/plugins/CurlPlugin:
README config-win32.h curl/ libssh2_config.h
I have modified curl.h to prevent doubled inclusion of two versions of win32 socket headers on my system. The PlatformsWin32PluginsCurlPlugin.zip contains modified headers.
3) Static linktime libs which are being used when linking the plugin. We are interested in the *dll.a ones which represent stubs into dynamic runtime linking:
libcrypto.a libcurldll.a libidn.a libssh2.a libssl.a libz.a
libcurl.a libeay32.a libidn.dll.a libssh2dll.a libssl32.a libzdll.a
The description of the curl-7.19.5-devel-mingw32.zip has ended.
To build the plugin do (sorry, this is terse so experience in building VM is assumed):
Get the win32 platform specific subtree for CurlPlugin and unpack it under the platform/win32/plugins. It contains headers (one of them is slightly modified by me), link-time libs and Makefile currently. Here it is: CurlPluginPlatformsWin32Plugins.zip
Generate CurlPlugin as external plugin
You should have collected everything at this point. Cross your fingers and compile the plugin. I'm issuing 'make CurlPlugin.dll' from windows cmd shell in platform/win32/build dir to make things fast. You may try to recompile the whole VM for a start.
Copy the result platforms/win32/build/obj/CurlPlugin/CurlPlugin.dll into Squeak-VM folder. Open TestRunner and run CurlTests. Currently only #testApiTransfersParameters fails (initial values for some transfer statistics are wrong - probably because something has changed in new version of lubcurl C-library - I have not looked at it yet closely). The plugin should work fine nevetheless.