> Date: Mon, 24 Nov 2014 11:21:51 +0000 > From: Gisle Vanem <gva...@yahoo.no> > > Another thing that puzzles me with Gnulib's math-functions for MSVC. > MSVC v18 (VS Express 2013, Vista+) has more math functions than MSVC v16. > For example "exp2()". So if a Gnulib imp-lib built with MSVC v18 is linked > to a program an run on Win-XP, the program will not run; missing exp2() > in Win-XP's MSVCRT.dll. And vice-versa; possibly multiple symbols during link. > Does this mean a Gnulib DLL must be rebuilt for each Windows/MSVC version?
If you want XP compatibility, you need to arrange things so that the configure-time test for exp2 etc. fails. One way of doing so is to set shell variables that feed the configure script with the results of the test that you control. Typically, the variable ac_cv_func_FOO is set to "yes" or "no" depending on whether the test succeeded or not. Gnulib frequently uses variables whose names are gl_cv_func_FOO. Similar variables exist for testing headers and structs. You will find their names by reading the portions of the script that perform the tests you want to override. Once you find out the names of the variables and the values you want to give them, you can do things like gl_cv_func_exp2=no ./configure ... Alternatively, put all those variable assignments in a file and submit it to configure like this: CONFIG_SITE=/path/to/file ./configure ... HTH