[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Dev builds broken on trunk? (was Re: svn commit: r9080 - in trunk: . build/generator subversion/bindings/swig/java/org/tigris/subversion/test)

From: Daniel L. Rall <dlr_at_collab.net>
Date: 2004-03-16 21:16:22 CET

Daniel L. Rall wrote:
> kfogel@collab.net wrote:
...
>> I'm no sure exactly what happened here, but I think r9080 broke dev
>> builds, at least for some people. Here is what happened when I ran
>> autogen.sh:
>>
>> $ ./autogen.sh
>> buildcheck: checking installation...
>> buildcheck: autoconf version 2.53 (ok)
>> buildcheck: autoheader version 2.53 (ok)
>> buildcheck: libtool version 1.4.3 (ok)
>> buildcheck: neon version 0.24.2 (ok)
>> Copying libtool helper: /usr/share/aclocal/libtool.m4
>> Creating build-outputs.mk...
>> Traceback (most recent call last):
>> File "./gen-make.py", line 167, in ?
>> main(conf, gentype, skip_depends=skip, other_options=rest.list)
>> File "./gen-make.py", line 43, in main
>> generator = gen_module.Generator(fname, verfname, other_options)
>> File "build/generator/gen_base.py", line 78, in __init__
>> self._extension_map)
>> File "build/generator/gen_base.py", line 737, in create_targets
>> target.add_dependencies(graph, cfg, extmap)
>> File "build/generator/gen_base.py", line 685, in add_dependencies
>> sources = _collect_paths(self.sources, self.path)
>> File "build/generator/gen_base.py", line 812, in _collect_paths
>> raise GenError('ERROR: "%s" found no files.' % pattern)
>> gen_base.GenError: ERROR:
>> "subversion/bindings/swig/java/org/tigris/subversion/swig/*.java"
>> found no files.
>> ERROR: gen-make.py failed
>> $
>> When I revert r9080, I can build again.
>>
>> Dan, if this isn't enough information to track it down, let me know.
>> I haven't investigated further yet.
>
> Karl and I have identified two problems:
>
> 1) autogen.sh is broken from my changes to gen_{base,make}.py if you
> haven't already run swig-java targets with --swig in your configure line.

I committed r9082 as a stopgap fix for this problem. Even though both `make`
and `make swig-java` now work, it's a total hack. Any thoughts on the .class
files corresponding to the SWIG-generated .java source files should be added
as dependencies using our Makefile generator? These .java sources aren't
available until after `make swig-java` has been run.

> 2) `make clean` doesn't remove SWIG-generated .java source files.

Karl and I were thinking of something along these lines:

Actually remove SWIG-generated .java source files when `make clean` is
run.

* Makefile.in
   (fast-clean): Enumerate the new swig-java-clean as a dependency.

   (swig-java-clean): Removed SWIG-generated .java source files and
     the directory for their associated Java package.

Index: Makefile.in
===================================================================
--- Makefile.in (revision 9082)
+++ Makefile.in (working copy)
@@ -248,7 +248,7 @@

  # clean everything but the bulky test output, returning the system back
  # to before 'make' was run.
-fast-clean: doc-clean
+fast-clean: doc-clean swig-java-clean
          @list='$(BUILD_DIRS)'; for i in $$list; do \
              echo "Cleaning $$i ..." ; \
              (cd $$i && rm -f *.o *.lo *.la *.la-a && rm -rf .libs) ; \
@@ -287,6 +287,9 @@
  check-javahl:
          $(JAVA) -Djava.library.path=$(libdir) -classpath
subversion/bindings/java/javahl/classes:$(javahl_tests_CLASSPATH)
org.tigris.subversion.javahl.tests.BasicTests

+swig-java-clean:
+ rm -rf $(SWIG_JAVA_DIR)/org/tigris/subversion/swig/
+
  # Different versions of SWIG generate the Java source files in
  # different directories.
  swig-java-setup:

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Mar 16 21:16:36 2004

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.