mirror of
https://github.com/openzfs/zfs.git
synced 2025-10-01 19:56:28 +00:00

We need dependent packages to be able to include zfs_config.h to build properly. This was partially solved previously be using AH_BOTTOM to #undef common #defines (PACKAGE, VERSION, etc) which autoconf always adds and cannot be easily removed. This solution works as long as the zfs_config.h is included before your projects config.h. That turns out to be easier said than done. In particular, this is a problem when your package includes its config.h using the -include gcc option which ensures the first thing included is your config.h. To handle all cases cleanly I have removed the AH_BOTTOM hack and replaced it with an AC_CONFIG_HEADERS command. This command runs immediately after zfs_config.h is written and with a little awk-foo it strips the offending #defines from the file. This eliminates the problem entirely and makes header safe for inclusion.
16 lines
334 B
Awk
16 lines
334 B
Awk
# Remove default preprocessor define's from config.h
|
|
# PACKAGE
|
|
# PACKAGE_BUGREPORT
|
|
# PACKAGE_NAME
|
|
# PACKAGE_STRING
|
|
# PACKAGE_TARNAME
|
|
# PACKAGE_VERSION
|
|
# STDC_HEADERS
|
|
# VERSION
|
|
|
|
BEGIN { RS = "" ; FS = "\n" } \
|
|
!/.#define PACKAGE./ && \
|
|
!/.#define VERSION./ && \
|
|
!/.#define STDC_HEADERS./ \
|
|
{ print $0"\n" }
|