diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2006-07-26 17:10:54 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2006-07-26 17:10:54 +0000 |
commit | 5fd1180d71da1df0b5feeda926b706d121061f14 (patch) | |
tree | 48fe7deec2846068c760b8949ec1c4cc8f1dddcf | |
parent | 1c937fe25746fbe78e6cc367382cb81006632b19 (diff) | |
download | llvm-5fd1180d71da1df0b5feeda926b706d121061f14.tar.gz |
Make changes necessary for stopping the build if a cyclic library
dependency is found. The find-cycles.pl script now exits with a return code
that equals the number of cycles found. The Makefile was changed to ignore
the status code of find-cycles.pl. This should be removed once the libraries
are free of cyclic dependencies.
llvm-svn: 29290
-rw-r--r-- | llvm/tools/llvm-config/Makefile | 2 | ||||
-rwxr-xr-x | llvm/tools/llvm-config/find-cycles.pl | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/llvm/tools/llvm-config/Makefile b/llvm/tools/llvm-config/Makefile index 16d8ba739feb..2f8998eb8b2c 100644 --- a/llvm/tools/llvm-config/Makefile +++ b/llvm/tools/llvm-config/Makefile @@ -39,7 +39,7 @@ $(LibDeps): $(GenLibDeps) $(LibDir) $(wildcard $(LibDir)/*.a $(LibDir)/*.o) # don't have to process them at runtime. $(FinalLibDeps): find-cycles.pl $(LibDeps) $(Echo) "Finding cyclic dependencies between LLVM libraries." - $(Verb) $(PERL) $< < $(LibDeps) > $@ + -$(Verb) $(PERL) $< < $(LibDeps) > $@ # Rerun our configure substitutions as needed. ConfigInIn = $(PROJ_SRC_DIR)/llvm-config.in.in diff --git a/llvm/tools/llvm-config/find-cycles.pl b/llvm/tools/llvm-config/find-cycles.pl index a280887217ab..eec79c95c959 100755 --- a/llvm/tools/llvm-config/find-cycles.pl +++ b/llvm/tools/llvm-config/find-cycles.pl @@ -40,6 +40,7 @@ find_all_cycles(); # Print out the finished cycles, with their dependencies. my @output; +my $cycles_found = 0; foreach my $cycle (@CYCLES) { my @modules = sort keys %{$cycle}; @@ -57,6 +58,7 @@ foreach my $cycle (@CYCLES) { # Warn about possible linker problems. my @archives = grep(/\.a$/, @modules); if (@archives > 1) { + $cycles_found = $cycles_found + 1; print STDERR "find-cycles.pl: Circular dependency between *.a files:\n"; print STDERR "find-cycles.pl: ", join(' ', @archives), "\n"; print STDERR "find-cycles.pl: Some linkers may have problems.\n"; @@ -68,7 +70,7 @@ foreach my $cycle (@CYCLES) { join(' ', sort keys %dependencies) . "\n"); } print sort @output; - +exit $cycles_found; #========================================================================== # Depedency Cycle Support |