Radu Serban wrote:
I've added this to my implementation (attached to this message). If
successful, the name mangling scheme is encoded in two (cached,
internal) variables: SCHEME_NO_UNDERSCORES is the mangled name of the
symbol "mysub" and SCHEME_WITH_UNDERSCORES is the mangled name of the
symbol "my_sub". The way I use them is by further defining two
substitution variables which I use to generate a configuration header
(using CONFIGURE_FILE). These variables (DEFINE_F77_FUNC and
DEFINE_F77_FUNC_) contain the #define lines for two C preprocessor
macros, F77_FUNC and F77_FUNC_ which can then be used in the C code.
As an example, using the GNU compilers (without any of the g77 flags
you mention) these two macros will be:
#define F77_FUNC(name,NAME) name ## _
#define F77_FUNC_(name,NAME) name ## __
I've tested this with the GNU compilers (with and without the flags
you mentioned), as well as with PGI and Intel compilers (all under
Linux). I hope it's portable but, unfortunately, I don't have a
Windows machine to try it on...
Hi Radu,
I took a look at this new version of the script. It seems indeed more
portable than
the first version, but I must warn you that there are a few other issues
on Windows
that you need to take care of (there is the matter of the calling
convention, indicated
by the special keyword stdcall__ or the like and the positioning of the
implicit
string length argument). I am not sure how these can be automatically
determined.
Regards,
Arjen
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake