The fix to get a C99 compliant strtod() in MinGW mistakenly set the LDFLAGS value rather than appending to it. This meant that a LDFLAGS supplied by the user on the configure command line would be ignored.
MinGW has reverted to using the Microsoft msvcrt0 implementation of the strtod() function. This implementation doesn't accept "INF" "NaN". MinGW does provide a C99 compliant implementation of this function called __strtod(). We need to force the linker to replace all references to strtod() with references to __strtod().
Starting in autoconf 2.68, "the macros AC_PREPROC_IFELSE, AC_COMPILE_IFELSE, AC_LINK_IFELSE, and AC_RUN_IFELSE now warn if the first argument failed to use AC_LANG_SOURCE or AC_LANG_PROGRAM to generate the conftest file contents."
Use the time stamp file technique recommended by the autoconf manual to prevent unneccesary rebuilds because of an unchanged config.h. Uses the automake trick of generating the stamp files in the _AC_AM_CONFIG_HEADER_HOOK macro instead of littering the source directory with stamp-h.in files. Add an extra ./config.status run after ./config.status --recheck because with --recheck it doesn't actually try to remake the generated files (and thus doesn't make the timestamp files). Thus without the extra run, each stamp-*-h target would need to independently run ./config.status to make sure it wasn't changed by the configuration change. An orthogonal fix of how config.status is called in subdirectories. When in a subdirectory and config.status is called with ../config.status and $(srcdir) is a relative path, config.status gets confused. Fixed by replacing '../config.status --file=Makefile.in' with 'cd ..; ./config.status --file=<dir>/Makefile.in'
It is recommended that AC_CYGWIN not be used and under MinGW the previous test was complaining about multiple calls to AC_CANONICAL_HOST. The new test performs the same function and also displays the MinGW status if we are compiling on windows. Also removed a AX_CCP_IDENT call in the vpi directory and tgt-null is built by the top configure so there is no need to try to run configure in that directory.
A native MinGW compile was not setting these to the correct value. This patch makes them match what Cygwin uses. Adding the -Wl,--enable-auto-image-base should make vvp load slightly faster since it loads multiple DLL files.
This configure option causes the installed commands to have a suffix string that makes them distinct from other versions that also have a suffix string. This allows for multiple installed versions of Icarus Verilog. Also, move installed C/C++ header files into a subdirectory of their own under the target include directory, to make clearer the purpose and source of those files.