[add proper dependencies for external libraries
John Meacham <john@repetae.net>**20100724095108
 Ignore-this: a675a10cfc6523031e7774ed98b3b8ec
] hunk ./Makefile.am 57
-JHC_EXT_LIBS = containers-0.3.0.0.hl Diff-0.1.2.hl html-1.0.1.2.hl HUnit-1.2.2.1.hl pretty-1.0.1.1.hl \
-	safe-0.2.hl smallcheck-0.4.hl utility-ht-0.0.5.1.hl xhtml-3000.2.0.1.hl \
-	QuickCheck-1.2.0.0.hl parsec-2.1.0.1.hl
hunk ./Makefile.am 273
-libs: $(JHC_LIBS)
-elibs: $(JHC_EXT_LIBS)
-
-$(JHC_EXT_LIBS): lib/ext/*.cabal
-	perl utils/build_extlibs.prl $^
+libs: $(JHC_LIBS) $(JHC_EXT_LIBS)
hunk ./Makefile.am 281
-
hunk ./Makefile.am 320
+
+containers-0.3.0.0.hl: lib/ext/containers.cabal base-1.0.hl applicative-1.0.hl jhc-1.0.hl lib/ext/containers.patch
+	perl utils/build_extlibs.prl $<
+Diff-0.1.2.hl: lib/ext/Diff.cabal base-1.0.hl jhc-1.0.hl
+	perl utils/build_extlibs.prl $<
+html-1.0.1.2.hl: lib/ext/html.cabal jhc-1.0.hl
+	perl utils/build_extlibs.prl $<
+HUnit-1.2.2.1.hl: lib/ext/HUnit.cabal base-1.0.hl jhc-1.0.hl
+	perl utils/build_extlibs.prl $<
+parsec-2.1.0.1.hl: lib/ext/parsec.cabal base-1.0.hl jhc-1.0.hl
+	perl utils/build_extlibs.prl $<
+pretty-1.0.1.1.hl: lib/ext/pretty.cabal jhc-1.0.hl
+	perl utils/build_extlibs.prl $<
+QuickCheck-1.2.0.0.hl: lib/ext/QuickCheck.cabal base-1.0.hl jhc-1.0.hl
+	perl utils/build_extlibs.prl $<
+safe-0.2.hl: lib/ext/safe.cabal base-1.0.hl jhc-1.0.hl
+	perl utils/build_extlibs.prl $<
+smallcheck-0.4.hl: lib/ext/smallcheck.cabal base-1.0.hl haskell98-1.0.hl jhc-1.0.hl lib/ext/smallcheck.patch
+	perl utils/build_extlibs.prl $<
+utility-ht-0.0.5.1.hl: lib/ext/utility-ht.cabal base-1.0.hl jhc-1.0.hl
+	perl utils/build_extlibs.prl $<
+xhtml-3000.2.0.1.hl: lib/ext/xhtml.cabal base-1.0.hl jhc-1.0.hl
+	perl utils/build_extlibs.prl $<
+JHC_EXT_LIBS = containers-0.3.0.0.hl Diff-0.1.2.hl html-1.0.1.2.hl HUnit-1.2.2.1.hl parsec-2.1.0.1.hl \
+    pretty-1.0.1.1.hl QuickCheck-1.2.0.0.hl safe-0.2.hl smallcheck-0.4.hl utility-ht-0.0.5.1.hl \
+    xhtml-3000.2.0.1.hl
hunk ./utils/build_extlibs.prl 10
-our $opt_l;
-getopts('l') or die "unknown opt";
+our ($opt_l,$opt_d);
+getopts('ld') or die "unknown opt";
hunk ./utils/build_extlibs.prl 41
+    $options = "$options --deps tmp/$name-$version.yaml" if $opt_d;
+
hunk ./utils/build_extlibs.prl 54
-    mysystem "./jhc $options --build-hl $fn -L. -i$tmpdir/$name-$version$src" and die "$!: jhc";
+    mysystem "./jhc $options --build-hl $fn -L- -L. -i$tmpdir/$name-$version$src" and die "$!: jhc";
hunk ./utils/deps_to_make.prl 7
+use Getopt::Std;
+
+our $opt_e;
+getopts('e') or die;
hunk ./utils/deps_to_make.prl 14
-        for(my $i = 0; $i < 4; $i++) {
+        for(my $i = 0; $i < 5; $i++) {
hunk ./utils/deps_to_make.prl 23
+my @targets;
hunk ./utils/deps_to_make.prl 25
-for (@ARGV) {
+foreach (@ARGV) {
hunk ./utils/deps_to_make.prl 28
-    my @deps = values %{$y->{ModuleSource}};
-    my @libs = values %{$y->{LibraryDeps}} if exists $y->{LibraryDeps};
-    map { s/^\.\/// } @libs;
+    my @deps;
+    @deps = values %{$y->{ModuleSource}} if !$opt_e;
+    push @deps, values %{$y->{LibraryDeps}} if exists $y->{LibraryDeps};
hunk ./utils/deps_to_make.prl 32
+    map { s/^\.\/// } @deps;
+    foreach (@deps) {
+        my $patch = $_;
+        push @deps, $patch if $patch =~ s/\.cabal$/.patch/ and -e $patch;
+    }
+    push @targets, @{$y->{Target}} if $opt_e;
hunk ./utils/deps_to_make.prl 39
-        #print "$_: ";, join(" ",@deps,@libs), "\n";
hunk ./utils/deps_to_make.prl 40
-        pdeps(@deps,@libs);
+        pdeps(@deps);
+        print "\tperl utils/build_extlibs.prl \$<\n" if $opt_e;
hunk ./utils/deps_to_make.prl 44
+print "JHC_EXT_LIBS =" if @targets;
+pdeps(@targets) if @targets;