This is the mail archive of the
gsl-discuss@sourceware.org
mailing list for the GSL project.
Small Changes Needed for Windows Build with Visual Studio
- From: Brian Gladman <brg at gladman dot plus dot com>
- To: "gsl-discuss at sourceware dot org" <gsl-discuss at sourceware dot org>
- Date: Thu, 29 Aug 2013 19:34:33 +0100
- Subject: Small Changes Needed for Windows Build with Visual Studio
- Authentication-results: sourceware.org; auth=none
Dear Rhys, Patrick and colleagues,
As you may know, I provide build files that allow GSL to be built with
the Microsoft and the Intel compilers on Windows. To do this requires
only a small number of changes to the GSL source code as follows:
In ieee-utils/env.c:
void
gsl_ieee_env_setup (void)
{
const char * p = getenv("GSL_IEEE_MODE") ;
int precision = 0, rounding = 0, exception_mask = 0 ;
int comma = 0 ;
#if defined( _MSC_VER ) /* BRG */
extern const char *fp_env_string;
p = fp_env_string;
#else
if (p == 0) /* GSL_IEEE_MODE environment variable is not set */
return ;
if (*p == '\0') /* GSL_IEEE_MODE environment variable is empty */
return ;
#endif
...
and early in matrix/test.c and vector/test.c:
#if defined( _MSC_VER ) && defined( GSL_DLL ) /* BRG */
#undef inline
#define inline __forceinline
#endif
With these changes it is possible to build GSL on Windows using the
Microsoft and Intel compilers with no
further source code changes (I do also add one file to read the floating
point control word).
Although I recognise that GSL on WIndows is not a priority, there is
nevertheless a substantial user community on this platform, some of whom
do make ongoing contributions to GSL.
Whilst writing I would like to thank Rhys for helping me get bzr on
windows working. The effort has paid off since it is now working very well.
with my regards,
Brian Gladman