Jonathan Nieder [off-list ref] writes:
John Keeping wrote:
quoted
Documentation/Makefile: fix inherited {html,info,man}dir
This doesn't seem to have hit the list.
More importantly,
quoted
When using the top-level install-doc target the html, info and man
target directories are inherited from the top-level Makefile by the
documentation Makefile as relative paths, which is not expected and
results in the files being installed in an unexpected location.
I am not sure what problem it is trying to address. During every
cycle "make doc && make install-man install-html" is run for all
integration branches and it didn't cause any problems.
A wild guess. John, are you using config.mak.autogen?
I _think_ exporting mandir/html/infodir from the top-level Makefile
is wrong to begin with. We should drop the "export mandir" from
there.
Giving them unusual meaning (e.g. "mandir = share/man") is already
bad and that needs to be fixed by limiting this "oh, on some
platforms we compile-in GIT_MAN_PATH as a relative path to an
unspecified place" insanity only to where -DGIT_MAN_PATH=<path> is
defined. The path used there does not help the building and
installation of the documentation at all, so the variable used for
the purpose of giving that <path> should not be named the same way
as the variable used on Documentation/Makefile to name the real path
in the first place.
Perhaps rename these to runtime_{man,html,info}dir or something and
make sure {man,html,info}dir are defined as the real paths whose
default values begin with $(prefix)?
On Tue, Feb 12, 2013 at 02:45:34PM -0800, Junio C Hamano wrote:
Jonathan Nieder [off-list ref] writes:
quoted
John Keeping wrote:
quoted
Documentation/Makefile: fix inherited {html,info,man}dir
This doesn't seem to have hit the list.
More importantly,
quoted
quoted
When using the top-level install-doc target the html, info and man
target directories are inherited from the top-level Makefile by the
documentation Makefile as relative paths, which is not expected and
results in the files being installed in an unexpected location.
I am not sure what problem it is trying to address. During every
cycle "make doc && make install-man install-html" is run for all
integration branches and it didn't cause any problems.
A wild guess. John, are you using config.mak.autogen?
Close - plain config.mak.
I set $prefix there and ran "make install-doc". That installed the man
pages in Documentation/share/man/ in my Git source directory.
I _think_ exporting mandir/html/infodir from the top-level Makefile
is wrong to begin with. We should drop the "export mandir" from
there.
Giving them unusual meaning (e.g. "mandir = share/man") is already
bad and that needs to be fixed by limiting this "oh, on some
platforms we compile-in GIT_MAN_PATH as a relative path to an
unspecified place" insanity only to where -DGIT_MAN_PATH=<path> is
defined. The path used there does not help the building and
installation of the documentation at all, so the variable used for
the purpose of giving that <path> should not be named the same way
as the variable used on Documentation/Makefile to name the real path
in the first place.
Perhaps rename these to runtime_{man,html,info}dir or something and
make sure {man,html,info}dir are defined as the real paths whose
default values begin with $(prefix)?
Would it be sensible to define the values for these variables (with
absolute paths) in a separate top-level file like config.mak.uname
(defaults.mak maybe?) and include that in both Documentation/Makefile
and Makefile, then calculate the relative path from $(prefix) to
$({man,html,info}dir) for the compiled-in values.
John