Subject: Re: Re* OS X Yosemite make all doc fails

From: Torsten Bögershausen <[email-masked]>
Date: Wed, 26 Aug 2015 21:40:03 +0200

On 2015-08-26 19.42, Junio C Hamano wrote:
> Jeff S <[email-masked]> writes:
> 
>> Brian thanks for responding! I'm finally able to build git completely.
>> Would it be possible to add the OS X dependency to the git/INSTALL
>> file?
>>
>> OSX Yosemite 10.10.5
>> Xcode 6.4 (6E35b)
>> …
>> $ brew install autoconf
>> $ brew install asciidoc
>> $ brew install xmlto
>> $ brew install docbook
>> $ export XML_CATALOG_FILES=/usr/local/etc/xml/catalog
>> $ brew install docbook-xsl
> 
> It may not be a bad idea to add a whole section at the end of the
> document to list the prerequisite packages for various common
> platforms, whose beginning perhaps would look like this?
> 
> diff --git a/INSTALL b/INSTALL
> index ffb071e..84fa5cf 100644
> --- a/INSTALL
> +++ b/INSTALL
> @@ -221,3 +221,23 @@ Issues of note:
>           http://www.oasis-open.org/docbook/xml/4.5/xsl/current \
>           /usr/share/sgml/docbook/xml-dtd-4.5 \
>       /etc/xml/catalog
> +
> +
> +Platform specific hints:
> +
> +You would need to install prerequiste tools and libraries to compile
> +and use Git from the source.
> +
> + - OSX needs the following packages installed with 'brew install'
> +   (in addition to the usual make and C compiler suite):
> +
> +   autoconf, asciidoc, xmlto, docbook, docbook-xsl
> +
> + - Linux distributions derived from Debian need the following packages
> +   instaslled via 'apt-get install' or similar (in addition to the
> +   usual 'make' and C compiler suite that come as part of
> +   build-essential):
> +
> +   autoconf, asciidoc, xmlto, docbook, libz-dev, livcurl4-openssl-dev,
> +   ...
> +
I like this.

This is what I have been using for Debian (and RHEL 6.5 or so)
(But it doesn't include "make doc")

#!/bin/sh
if type apt-get; then
  APTGET="sudo apt-get install"
fi
if type yum; then
  APTGET="sudo /usr/bin/yum install"
fi
export APTGET

type gcc || $APTGET gcc
type curl-config || $APTGET libcurl4-openssl-dev || $APTGET libcurl-devel
test -r /usr/include/expat.h || $APTGET libexpat1-dev || $APTGET expat-devel
test -r /usr/include/ssl.h || test -r /usr/include/openssl/ssl.h || $APTGET
openssl-devel
type msgfmt || $APTGET gettext
type make || $APTGET make