]> git.proxmox.com Git - mirror_spl-debian.git/commit
Allow spl_config.h to be included by dependant packages (updated)
authorBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 22 Mar 2010 21:45:33 +0000 (14:45 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 22 Mar 2010 21:45:33 +0000 (14:45 -0700)
commit16b719f0066047aaf404756a0b4fe8c74eec6a2a
tree054c7b8867d597e02bf3494c75f4c0f5a514d5ba
parentaa600d8a3843755be1dd621ecd00401f26f3bb49
Allow spl_config.h to be included by dependant packages (updated)

We need dependent packages to be able to include spl_config.h to
build properly.  This was partially solved in commit 0cbaeb1 by 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 spl_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 spl_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.

Also in this change I have removed the few places in the code where
spl_config.h is included.  It is now added to the gcc compile line
to ensure the config results are always available.

Finally, I have also disabled the verbose kernel builds.  If you
want them back you can always build with 'make V=1'.  Since things
are working now they don't need to be on by default.
14 files changed:
Makefile.am
Makefile.in
cmd/Makefile.in
config/Rules.am
config/config.awk [new file with mode: 0644]
config/spl-build.m4
configure
configure.ac
include/sys/types.h
lib/Makefile.in
lib/list.c
module/spl/spl-generic.c
spl_config.h.in
spl_unconfig.h [deleted file]