diff options
author | Ralf Wildenhues <Ralf.Wildenhues@gmx.de> | 2009-04-22 22:13:05 +0200 |
---|---|---|
committer | Ralf Wildenhues <Ralf.Wildenhues@gmx.de> | 2009-04-22 22:13:35 +0200 |
commit | 4f2950ac63faad47c4640eb56fade7d6b1d74307 (patch) | |
tree | 8122833bac71fd5fb9debba7bcae22917dcacb81 /m4/depend.m4 | |
parent | 07939c25e5c3c442bc81366118067df92c5ce6ba (diff) | |
download | automake-4f2950ac63faad47c4640eb56fade7d6b1d74307.tar.gz |
Avoid racy depmodes with universal builds.
* m4/depend.m4 (_AM_DEPENDENCIES): If universal builds are used,
avoid racy depmodes.
* lib/depcomp: Ignore `-arch' argument for makedepend depmode.
Report by Bruno Haible, analysis by Bruno Haible, Peter O'Gorman,
and Eric Blake.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Diffstat (limited to 'm4/depend.m4')
-rw-r--r-- | m4/depend.m4 | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/m4/depend.m4 b/m4/depend.m4 index 451312a37..efe86436a 100644 --- a/m4/depend.m4 +++ b/m4/depend.m4 @@ -63,6 +63,16 @@ AC_CACHE_CHECK([dependency style of $depcc], if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and @@ -87,6 +97,10 @@ AC_CACHE_CHECK([dependency style of $depcc], am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested |