consult GCC documentation for the GNU C Preprocessor https://gcc.gnu.org/onlinedocs/cppinternals/
it is NOT recommended to use this to pre-process C, C++, or OBJ-C code
such code can depend on internal macro's defined by the compiler
such as __cplusplus and __GNUC__ and others the compiler may pre-define
make -f makefile.linux clean ; make -f makefile.linuxlibcpp.a is generated in GCC_OBJECTS_DIRECTORY/libcpp/libcpp.a
building is recommended from cygwin
needed packages from cygwin installer: gcc, g++, make, bison, automake
make -f makefile.windows clean ; make -f makefile.windowslibcpp.a is generated in GCC_OBJECTS_DIRECTORY/libcpp/libcpp.a