This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Make gen-classlist.sh use absolute pathnames
- From: Andrew Haley <aph at redhat dot com>
- To: GCJ-patches <java-patches at gcc dot gnu dot org>, classpath-patches at gnu dot org
- Date: Tue, 04 May 2010 18:14:07 +0100
- Subject: Make gen-classlist.sh use absolute pathnames
This changes the list of source files from relative filenames to
absolute ones. We need this in the gcj build because the same list of
source files is used from more than one place; the alternative of
fixing up the file is too messy.
I don't think this will affect anything but gcj.
Andrew.
2010-05-04 Andrew Haley <aph@redhat.com>
* lib/gen-classlist.sh.in: Use absolute pathnames for all the
directory names in the output file.
Index: libjava/classpath/lib/gen-classlist.sh.in
===================================================================
--- libjava/classpath/lib/gen-classlist.sh.in (revision 158610)
+++ libjava/classpath/lib/gen-classlist.sh.in (working copy)
@@ -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 @@
@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 @@
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.*.