[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Making MzScheme extensions using VC++ 5.0?



$0.02

I have used GCC with mzscheme but almost exclusively under the embedding
scenario.  While I have no doubts that extensions can be compiled and loaded
into the PLT distributed image (which I think was complied with MS tools),
you may want to be careful about relying on this approach for larger
applications.  For more complicated code that accesses different parts of
the system through your extension code, you may run into compiler, library
load and compatibility issues.  Due to trouble with issues like this, for a
small, embedded project that I hack on occasionally, I rebuilt the mzscheme
distribution using the compiler that I chose for the entire project.  This
greatly reduced conflicts and core dumps.  Of course, since I used gcc and
gcc cannot be used to build the entire distribution, I lost the MrEd
interface (which was not an important part since this component was the
kernel of the application).  If you stick to extensions that are mostly
self-contained, you will be okay and I have got the extensions with gcc to
compile and load correctly (under a different version though).  I found
system-level IO calls in extensions to be the most troublesome.




>
> Any thoughts from anyone out there? Is everone out there building
> MzScheme extensions using a different version of GCC? Is it time to
> figure out how to patch the GCC compiler I just installed (none of the
> patches seemed to relate to DLL building that I noticed)?
>
> I noticed you referenced Cygwin. It is my understanding if I use that,
> the related linked DLL code all falls under the GPL (not LGPL).
>
> http://www.xraylith.wisc.edu/~khan/software/gnu-win32/x86-win32-ports.html
>   http://sources.redhat.com/cygwin/licensing.html
> In turn, that means my entire program that uses the DLL will also be
> under the GPL. That is why I tried the crtdll version.
>