mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-19 12:59:21 +08:00
2339979934
The machine configure scripts are all effectively stub scripts that pass the higher level options to its own makefile. The only one doing any custom tests was nds32. The rest were all effectively the same as the libm/ configure script. So instead of recursively running configure in all of these subdirs, generate their makefiles from the top-level configure. For nds32, deploy a pattern of including subdir logic via m4: m4_include([machine/nds32/acinclude.m4]) Even its set of checks are very small -- it does 2 preprocessor tests and sets up 2 makefile conditionals. Some of the generated machine makefiles have a bunch of extra stuff added to them, but that's because they were inconsistent in their configure libtool calls. The top-level has it, so it exports some new vars to the ones that weren't already.
This directory was an experiment to use floating-point operations to implement the math library when a processor had a floating-point instruction set. The experiment was a failure in that some of the algorithms chosen (e.g. recursive algorithms for sin/cos, etc..) are too simple and do not provide proper accuracy nor handle very large or very small inputs adequately. The code is considered moth-balled. The stable math library routines can be found in libm/math and the configuration option to use this has been removed. If you wish to experiment with the concept, please feel free and report back if you have major improvements.