Make changes necessary for stopping the build if a cyclic library
authorReid Spencer <rspencer@reidspencer.com>
Wed, 26 Jul 2006 17:10:54 +0000 (17:10 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Wed, 26 Jul 2006 17:10:54 +0000 (17:10 +0000)
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29290 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm-config/Makefile
tools/llvm-config/find-cycles.pl

index 16d8ba739feb2ef612aa0b3cd081456b7b3d53cd..2f8998eb8b2cd27f482436f953464b7cfd513698 100644 (file)
@@ -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
index a280887217ab1a02c1aa1c3176b531d58db703f9..eec79c95c959de65de17adbc58a8b8dbefcce7b1 100755 (executable)
@@ -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