aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Howell2012-02-27 00:41:17 +0000
committerMax Howell2012-02-27 03:35:11 +0000
commitb0c81fcc5d5744fdad7b1eb0f8ccbf455b2573d3 (patch)
treefcde6ef2c5ebc23259d01ac7ecb892e835519b25
parent28f7e01875b3d56b1c4ac720f7e4f9add77e7d31 (diff)
downloadhomebrew-b0c81fcc5d5744fdad7b1eb0f8ccbf455b2573d3.tar.bz2
Autoconf, Automake and Libtool
We need these now for Xcode-4.3/CLT4X installations. Also prevent m4 error in installer. And prevent brew doctor complaining if we're Xcode 4.3 or above. Closes #10349. Fixes #10423. Refs #9179.
-rw-r--r--Library/Formula/autoconf.rb20
-rw-r--r--Library/Formula/automake.rb33
-rw-r--r--Library/Formula/libtool.rb31
-rw-r--r--Library/Homebrew/cmd/doctor.rb2
-rw-r--r--Library/Homebrew/formula_installer.rb2
5 files changed, 88 insertions, 0 deletions
diff --git a/Library/Formula/autoconf.rb b/Library/Formula/autoconf.rb
new file mode 100644
index 000000000..6b30a21a1
--- /dev/null
+++ b/Library/Formula/autoconf.rb
@@ -0,0 +1,20 @@
+require 'formula'
+
+class Autoconf < Formula
+ url 'http://ftpmirror.gnu.org/autoconf/autoconf-2.68.tar.gz'
+ homepage 'http://www.gnu.org/software/autoconf'
+ md5 'c3b5247592ce694f7097873aa07d66fe'
+
+ if MacOS.xcode_version.to_f < 4.3 or File.file? "/usr/bin/autoconf"
+ keg_only "Xcode (up to and including 4.2) provides (a rather old) Autoconf."
+ end
+
+ def install
+ system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}"
+ system "make install"
+ end
+
+ def test
+ system "#{HOMEBREW_PREFIX}/bin/autoconf --version"
+ end
+end
diff --git a/Library/Formula/automake.rb b/Library/Formula/automake.rb
new file mode 100644
index 000000000..e271fc048
--- /dev/null
+++ b/Library/Formula/automake.rb
@@ -0,0 +1,33 @@
+require 'formula'
+
+class Automake < Formula
+ homepage 'http://www.gnu.org/software/automake/'
+ url 'http://ftpmirror.gnu.org/automake/automake-1.11.tar.gz'
+ md5 'fab0bd2c3990a6679adaf9eeac0c6d2a'
+
+ depends_on "autoconf"
+
+ if MacOS.xcode_version.to_f < 4.3 or File.file? "/usr/bin/automake"
+ keg_only "Xcode (up to and including 4.2) provides (a rather old) Automake."
+ end
+
+ def install
+ system "./configure", "--disable-debug", "--disable-dependency-tracking",
+ "--prefix=#{prefix}"
+ system "make install"
+
+ share/"aclocal-#{version}/dirlist".write <<-EOS.undent
+ /usr/share/aclocal
+ #{HOMEBREW_PREFIX}/share/aclocal
+ EOS
+ end
+
+ def test
+ # This test will fail and we won't accept that! It's enough to just
+ # replace "false" with the main program this formula installs, but
+ # it'd be nice if you were more thorough. Test the test with
+ # `brew test automake`. Remove this comment before submitting
+ # your pull request!
+ system "#{HOMEBREW_PREFIX}/bin/automake --version"
+ end
+end
diff --git a/Library/Formula/libtool.rb b/Library/Formula/libtool.rb
new file mode 100644
index 000000000..ca569b96d
--- /dev/null
+++ b/Library/Formula/libtool.rb
@@ -0,0 +1,31 @@
+require 'formula'
+
+# Xcode 4.3 provides the Apple libtool
+# This is not the same, but as a result we must install these as glibtool etc.
+
+class Libtool < Formula
+ homepage 'http://www.gnu.org/software/libtool/'
+ url 'http://ftpmirror.gnu.org/libtool/libtool-2.4.tar.gz'
+ md5 'b32b04148ecdd7344abc6fe8bd1bb021'
+
+ if MacOS.xcode_version.to_f < 4.3 or File.file? "/usr/bin/libtoolize"
+ keg_only "Xcode (up to and including 4.2) provides (a rather old) Autoconf."
+ end
+
+ def install
+ system "./configure", "--disable-debug", "--disable-dependency-tracking",
+ "--prefix=#{prefix}", "--program-prefix=g",
+ "--enable-ltdl-install"
+ system "make install"
+ end
+
+ def caveats; <<-EOS.undent
+ In order to prevent conflicts with Apple's own libtool we have prepended a "g"
+ so, you have instead: glibtool and glibtoolize.
+ EOS
+ end
+
+ def test
+ system "#{HOMEBREW_PREFIX}/bin/glibtoolize --version"
+ end
+end
diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb
index 0a833add3..eff374366 100644
--- a/Library/Homebrew/cmd/doctor.rb
+++ b/Library/Homebrew/cmd/doctor.rb
@@ -620,6 +620,8 @@ def check_git_newline_settings
end
def check_for_autoconf
+ return if MacOS.xcode_version >= "4.3"
+
autoconf = `/usr/bin/which autoconf`.chomp
safe_autoconfs = %w[/usr/bin/autoconf /Developer/usr/bin/autoconf]
unless autoconf.empty? or safe_autoconfs.include? autoconf
diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb
index 9a4801184..486a4655f 100644
--- a/Library/Homebrew/formula_installer.rb
+++ b/Library/Homebrew/formula_installer.rb
@@ -319,6 +319,8 @@ class FormulaInstaller
end
def check_m4
+ return if MacOS.xcode_version.to_f >= 4.3
+
# Check for m4 files
if Dir[f.share+"aclocal/*.m4"].length > 0 and not in_aclocal_dirlist?
opoo 'm4 macros were installed to "share/aclocal".'