diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index 1db1158ff9a..a12288ce72c 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -1,3 +1,8 @@ +2010-05-04 Andrew Haley + + * lib/gen-classlist.sh.in: Use absolute pathnames for all the + directory names in the output file. + 2010-04-27 Andrew Haley * java/util/concurrent/CopyOnWriteArrayList.java: Fix for empty diff --git a/libjava/classpath/lib/gen-classlist.sh.in b/libjava/classpath/lib/gen-classlist.sh.in index 1768c15c7fb..a0971ff63b0 100755 --- a/libjava/classpath/lib/gen-classlist.sh.in +++ b/libjava/classpath/lib/gen-classlist.sh.in @@ -7,13 +7,17 @@ LC_ALL=C; export LC_ALL LANG=C; export LANG -echo "Adding java source files from srcdir '@top_srcdir@'." +abs_top_builddir=`cd "${top_builddir}"; pwd` +abs_top_srcdir=`cd "@top_srcdir@"; pwd` + +echo "Adding java source files from srcdir '${abs_top_srcdir}'." + # We construct 'classes.1' as a series of lines. Each line # has three fields, which are separated by spaces. The first # field is the package of this class (separated by "/"s). -# The second field is the name of the top-level directory for -# this file, relative to the build directory. E.g., it might -# look like "../../classpath/vm/reference". +# The second field is the absolute pathname of the top-level directory +# for this file. E.g., it might look like +# "/home/jezebel/classpath/vm/reference". # The third field is the file name, like "java/lang/Object.java". # We do this because it makes splitting for the gcj build much # cheaper. @@ -21,15 +25,15 @@ echo "Adding java source files from srcdir '@top_srcdir@'." @FIND@ java javax gnu org sun -follow -name '*.java' -print | sort -r | sed -e 's,/\([^/]*\)$, \1,' | while read pkg file; do - echo $pkg @top_srcdir@ $pkg/$file + echo $pkg ${abs_top_srcdir} $pkg/$file done) > ${top_builddir}/lib/classes.1 # The same, but for the external code. for dir in \ - @top_srcdir@/external/w3c_dom \ - @top_srcdir@/external/sax \ - @top_srcdir@/external/relaxngDatatype \ - @top_srcdir@/external/jsr166 \ + ${abs_top_srcdir}/external/w3c_dom \ + ${abs_top_srcdir}/external/sax \ + ${abs_top_srcdir}/external/relaxngDatatype \ + ${abs_top_srcdir}/external/jsr166 \ ; do (cd $dir for subdir in java javax gnu org sun; do @@ -62,8 +66,6 @@ for dir in $vm_dirlist; do done # Only include generated files once. -abs_top_builddir=`cd "${top_builddir}"; pwd` -abs_top_srcdir=`cd "@top_srcdir@"; pwd` if test "$abs_top_builddir" != "$abs_top_srcdir"; then echo "Adding generated files in builddir '${top_builddir}'." # Currently the only generated files are in gnu.*.