New MAD-X header files seem to require features that are only available on C99. Unfortunately, this fix is specific to GCC.
setuptools is a dependency anyway, so it's fine to fail in case it's not available.
Including and using ez_setup.py is the officially recommended way to make sure setuptools is available (though not necessarily installed) during installation. See: https://pypi.python.org/pypi/setuptools/5.7#installation-instructions
This makes the created binary specific to only the python build. It can be used on target machines with different numpy versions than on the system which was used to create the binary. This significantly simplifies distribution of binaries for windows systems. Furthermore, the setup.py script becomes a little easier, since we don't require numpy to be installed in advance anymore.
The OS specific instructions contain additional remarks how the dependencies should best be installed and a reference to the dependency section anyway. So it's better that the user does not first install dependencies on his own and afterwards finds out that there is a better way.
- resources for python installations other than Python(x,y) - extending PATH for CMake - using MAD-X <latest revision> versus <latest version> - multiple extraction steps for madx source code - using cmd.exe instead of enhanced console - fix link location for prebuilt binaries