[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: emacs-module is not GPL compatible (Windows)
From: |
Óscar Fuentes |
Subject: |
Re: emacs-module is not GPL compatible (Windows) |
Date: |
Sat, 01 Oct 2016 03:14:59 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) |
Mambo Levis <mambo.levis@gmail.com> writes:
First of all, please don't send usage questions to bug-gnu-emacs. That
list is for reporting defects, suggesting enhancements and submitting
patches.
> I build the emacs-sqlite3 project in Windows using MINGW
> (mingw64_shell.bat) and the following message appears whenI requiere
> the module: sqlite3-core.dll is not GPL compatible
>
> Questions:
> 1. Have anybody tried to build this project in windows using MINGW or
> Visual Studio?
Which project?
> 2. Do you have any idea about the error message: sqlite3-core.dll is
> not GPL compatible?
Most likely the module does not define and export the symbol
plugin_is_GPL_compatible, as described here:
http://diobla.info/blog-archive/modules-tut.html#sec-2-2
> I found this project (sqlite3-core) more interesting/valuable for
> testing the new emacs-module than the default provided (mod-test) in
> emacs-25.1-src/modules
> Repository: https://github.com/syohex/emacs-sqlite3
Ah, *that* project :-)
> I also found and build a similar
> project https://github.com/thom-jenks/emacs-sqlite but unfortunately
> with the same problem: it is not GPL compatible
The problem is that the code does not export the symbol
plugin_is_GPL_compatible. On GNU/Linux symbols are exported by default
when you build the shared library, but that's not the case of Windows
where you must export them explicitly.
Try changing
int plugin_is_GPL_compatible;
to
__declspec(dllimport) int plugin_is_GPL_compatible;
Probably you will also need to change
int
emacs_module_init(struct emacs_runtime *ert)
to
int __declspec(dllimport)
emacs_module_init(struct emacs_runtime *ert)
Hope this helps.