geoip: fix compile error using deps + autoreconf

geoip-1.4.8 always calls a form of autoreconf after configure,
then reruns configure.  This causes a build error on Lion when
it crafts a broken Makefile that is missing the rule to make the
target `../libGeoIP/libGeoIP.a`.

* Add deps on autoconf, automake, and libtool if XCode >= 4.3.
* Add a command to run `autoreconf -ivf` before configure, which
works on Lion and SL.  Previously, the autoreconf on SL would
fail to work because it tries to use shell `--missing` versions.

Both the universal and native builds compile and pass make check
using all five compilers from XCode-4.3.2 and 4.0.2, on both Lion
and 64bit Snow Leopard.

Fixes Homebrew/homebrew#11402.
Closes Homebrew/homebrew#11405.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
This commit is contained in:
nibbles 2bits 2012-04-02 18:55:58 -07:00 committed by Jack Nagel
parent 73a30cddba
commit 16773337b6

View file

@ -5,12 +5,25 @@ class Geoip < Formula
homepage 'http://www.maxmind.com/app/c'
md5 '05b7300435336231b556df5ab36f326d'
# These are needed for the autoreconf it always tries to run.
if MacOS.xcode_version.to_f >= 4.3
depends_on 'automake' => :build
depends_on 'libtool' => :build
end
def options
[["--universal", "Build a universal binary."]]
end
def install
ENV.universal_binary if ARGV.build_universal?
# Fixes a build error on Lion when configure does a variant of autoreconf
# that results in a botched Makefile, causing this error:
# No rule to make target '../libGeoIP/libGeoIP.la', needed by 'geoiplookup'
# This works on Snow Leopard also when it tries but fails to run autoreconf.
system "autoreconf", "-ivf"
system "./configure", "--prefix=#{prefix}", "--disable-dependency-tracking"
system "make install"
end