From 02f385b9eafe7172727cf8cdd2d9c86540cdf275 Mon Sep 17 00:00:00 2001 From: Michael Meeks Date: Thu, 29 Mar 2012 17:27:08 +0100 Subject: [PATCH] deal with symlinks in your PWD breaking gnumake dependencies --- autogen.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/autogen.sh b/autogen.sh index 78a6f6734bc5..6f997124f794 100755 --- a/autogen.sh +++ b/autogen.sh @@ -3,6 +3,7 @@ if 0; use strict; +use Cwd ('cwd', 'realpath'); sub clean() { @@ -131,6 +132,16 @@ chomp $system; sanity_checks ($system) unless($system eq 'Darwin'); +# since this looks crazy, if you have a symlink on a path up to and including +# the current directory, we need our configure to run in the realpath of that +# such that compiled (realpath'd) dependency filenames match the filenames +# used in our makefiles - ie. this gets dependencies right via SRC_ROOT +my $cwd_str = realpath(cwd()); +chdir ($cwd_str); +# more amazingly, if you don't clobber 'PWD' shells will re-assert their +# old path from the environment, not cwd. +$ENV{PWD} = $cwd_str; + my $aclocal_flags = $ENV{ACLOCAL_FLAGS}; if ($aclocal_flags eq "")