Go to the Home PageEnhanced Dynamic Linking Library
for MinGW under MS-Windows


Circle created by the edll-bss testThough the EDLL library itself is LGPL, the EDLL package comes with multiple licenses. The following will hopefully be helpful for you to understand what is covered by which license.

The BFD and iberty libraries are licensed under the GPL. If you have to link with these libraries you will have to open your source code as well. There is now a flag in the edll configure script which will turn OFF the use of the BFD and iberty libraries (this is actually the default.)

This library is covered by the GNU Less General Public License. This more or less means you can freely copy and distribute this library in source and binary form. However, if you modify the source code, you need to share the changes. If your application links with a version of the EDLL library in binary form, you don't need to share the source code of your application.

The different tests and examples coming with the EDLL library are public domain. This means anyone is free to use, copy, redistribute, modify, etc. all of these files. They are not of much interest anyway except to test the functionality of the EDLL library.

The image on the top-right shows the result of the edll-bss plugin. It creates a circle using sinf() and cosf() for which it needs to be linked against the mingwex library and it uses a large COMMON section (256 x 256 x 3).

A copy of this library is offered in this package since it can be used to load the plug-ins using the standard lt_dlopen() function. This version understands and makes use of the EDLL library instead of directly calling the MS-Windows LoadLibrary() function.

The license of this library is LGPL. You can find additional information about this package on the GNU website.

The documentation offered along the EDLL is covered by the GNU FDL.

Warning!The older versions of edll (up to 0.5) could only be used with the BFD and iberty libraries (that you needed to link against along with the EDLL). Because these two libraries are licensed under the GPL, it means that your code will also fall under the GPL. As you probably know, this means you need to distribute all the source code along any of your software linked against these libraries.

I spent about 12 hours to rewrite the necessary code to handle the COFF format. The edll is now capable of loading the .exe and .o files generated by gcc and g++ (and most certainly other compilers, especially for the .exe files.) This is now the default for the edll. It means you are not bound to the GPL, but also, it means the code only support the Microsoft COFF format (and not all of it). Maybe one day we could have support for ELF so we can compile all the plugins on native Linux and run them on Microsoft as is. On the other hand, you should be able to ask gcc/g++ to generate COFF files under Linux (I should try that some day!).

The configure flags you can use to switch between the edll COFF handling and the BFD and iberty libraries is:

--disable-usebfd   (this is the default)
--enable-usebfd    (GPL license!)

edll has always been loading DLLs with the LoadLibrary() Win32 function. This is still the case and there is no worry there. It will always work as expected.


This page was created by Alexis Wilke (c) 2005-2006
Last updated on September 17, 2007 at 20:38