Permalink
Browse files

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 #11402.
Closes #11405.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
  • Loading branch information...
1 parent 89b562e commit 1eaa107520d03a3b3080bcda2f4b9248c951871a nibbles 2bits committed with jacknagel Apr 3, 2012
Showing with 13 additions and 0 deletions.
  1. +13 −0 Library/Formula/geoip.rb
View
@@ -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

0 comments on commit 1eaa107

Please sign in to comment.