[Scons-users] .def file generation issue with SCons
mats at wichmann.us
Fri Jul 9 11:04:48 EDT 2021
On 7/8/21 9:13 PM, Sumit Kothari wrote:
> I am facing an issue while generating .def file using SCons. I created
> simple f1.c file and Sconstruct file as mentioned below.
> int fun()
> int i=10;
> return i;
> env = Environment()
> env.SharedLibrary('f1', source = ['f1.c'],
> Error message
> scons: *** [f1.dll] Source `f1.def' not found, needed by target `f1.dll'.
> As per scons doc, it should create .def file but I am getting error. Can
> you please give some hints on this.
Took a look, best I can tell in the code this isn't intended to
*generate* the .def file, but rather to add a .def file based on the dll
name to the list of sources so you don't have to specify it manually
(which would be a pain for portable builds expected to work on
non-Windows as well, where module-definition files of this type are not
used). The manpage entry says what you mention, but seems (to my look
at least) to be wrong.
=== internal details, feel free to ignore:
Only the windows-native and the mingw linkers touch this, the former
does only this:
'%sPREFIX' % paramtp, '%sSUFFIX' % paramtp,
later, the mslink tool scans the sources and if it finds what looks like
a .def file it then adds the proper syntax to the actual link line with
while the mingw one just adds it directly to the cmdline options using
the proper syntax.
More information about the Scons-users