Actually, regarding ftconfig.h generation. There are two files (plus two
more for Amiga and VMS...):
./include/freetype/config/ftconfig.h
./builds/unix/ftconfig.in
The first is called "ANSI-specific configuration file", the second "UNIX
[...]". Why are there two files? The configure/Makefile system seems to
always install the second on Linux. Why do we need the first then, for
everything else? There are various #define differences between the two
-- is this... intended? What would it take to unify the config.h files
for all platforms?
Is it necessary to have HAVE_UNISTD_H, HAVE_FCNTL_H and HAVE_STDINT_H
#define'd in ftconfig.h (I know the Makefiles do this) or would this
suffice:
```
if (UNIX)
if (HAVE_UNISTD_H)
target_compile_definitions(freetype PRIVATE HAVE_UNISTD_H=1)
endif ()
if (HAVE_FCNTL_H)
target_compile_definitions(freetype PRIVATE HAVE_FCNTL_H=1)
endif ()
if (HAVE_STDINT_H)
target_compile_definitions(freetype PRIVATE HAVE_STDINT_H=1)
endif ()
endif ()
```
Also, CMake comes with the configure_file() command[1], which
substitutes ${VAR} or @VAR@ with stuff or (un)defines things with
#cmakedefine. We can't really use it here because the ftconfig.* files
don't contain variables to expand. I guess because we aren't using the
(full) Autotools stack? I'd like to have one config.h for all platforms
that I can fill in from all build systems.
Also also, do we still need the macOS Framework stuff? Is it maybe
redundant in later versions?
[1]: https://cmake.org/cmake/help/v3.11/command/configure_file.html
_______________________________________________
Freetype-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/freetype-devel