AUDIT: r21570 - gnucash/trunk - Fix clean targets and DIST_SOURCES
John Ralls
jralls at ceridwen.us
Mon Nov 21 12:12:31 EST 2011
On Nov 21, 2011, at 8:37 AM, Derek Atkins wrote:
> John Ralls <jralls at code.gnucash.org> writes:
>
>> Some Makefile.ams used an AC_SUBSTed variable to define an
>> optionally-compiled subdirectory, then included the variable in
>> SUBDIRS and the actual directory name in DIST_SUBDIRS. This breaks the
>> distclean and maintainer-clean targets when the optional directory is
>> built, because it is then processed twice, and there is no Makefile
>> the second time so make halts. Replaced the AC_SUBSTed variables with
>> ones local to the Makefile.am, switched with an AM_CONDITIONAL. That
>> way automake can figure out the dist_subdirs on its own.
>
> Have you verified that this works right and includes ALL subdirs in
> "make dist", even ones that are disabled during configure? The reason
> to have DIST_SUBDIRS is to make sure that all code is included in the
> tarball, even if you don't include that code in your configure.
>
> For example, if you --disable-gui, or --disable-python and then run
> "make dist" it should still include the GUI and Python subdirs.
>
>> Modified: gnucash/trunk/src/Makefile.am
>> ===================================================================
>> --- gnucash/trunk/src/Makefile.am 2011-11-14 21:28:32 UTC (rev 21569)
>> +++ gnucash/trunk/src/Makefile.am 2011-11-17 21:27:40 UTC (rev 21570)
>> @@ -1,4 +1,8 @@
>> # These directories do not contain any gtk dependencies
>> +if WITH_PYTHON
>> + PYTHON_DIR = python
>> +endif
>> +
>
> Where is PYTHON_DIR referenced?
>
>> Modified: gnucash/trunk/src/backend/Makefile.am
>> ===================================================================
>> --- gnucash/trunk/src/backend/Makefile.am 2011-11-14 21:28:32 UTC (rev 21569)
>> +++ gnucash/trunk/src/backend/Makefile.am 2011-11-17 21:27:40 UTC (rev 21570)
>> @@ -1,3 +1,5 @@
>> +if WITH_DBI
>> + DBI_DIR=dbi
>> +endif
>> +SUBDIRS = xml sql ${DBI_DIR}
>>
>> -SUBDIRS = xml sql ${DBI_DIR}
>> -DIST_SUBDIRS = xml sql dbi
>
> Have you tested the 'dbi' is included in the results of "make dist" even
> if you do not --enable-dbi, or if you explicitly --disable-dbi?
>
Boy, you don't trust autotools to work, do you? It does, as advertised, as long as you use AM_CONDITIONAL to control what gets compiled. Yes, I made that change in each directory where it was done with AC_SUBST (which requires one to manually set DIST_SUBDIRS) and checked each one to make sure that it worked as advertised.
PYTHON_DIR is used on line 26 of that Makefile.am. I'll move the definition down next to it so it's more obvious.
Regards,
John Ralls
More information about the gnucash-devel
mailing list