summaryrefslogtreecommitdiff
path: root/lib/gen-classlist.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gen-classlist.sh.in')
-rwxr-xr-xlib/gen-classlist.sh.in57
1 files changed, 47 insertions, 10 deletions
diff --git a/lib/gen-classlist.sh.in b/lib/gen-classlist.sh.in
index 6b08da290..c091caa20 100755
--- a/lib/gen-classlist.sh.in
+++ b/lib/gen-classlist.sh.in
@@ -7,11 +7,29 @@ LANG=C; export LANG
echo "Adding java source files from srcdir '@top_srcdir@'."
@FIND@ @top_srcdir@/java @top_srcdir@/javax @top_srcdir@/gnu \
- @top_srcdir@/org @top_srcdir@/vm/reference \
+ @top_srcdir@/org \
@top_srcdir@/external/w3c_dom @top_srcdir@/external/sax \
-follow -type f -print | sort | grep '\.java$' \
> ${top_builddir}/lib/classes.1
+# Generate files for the VM classes.
+: > vm.omit
+: > vm.add
+vm_dirlist=`echo "@vm_classes@" | sed -e 's/:/ /g'`
+echo "Adding java source files from VM directory $vm_dirlist"
+for dir in $vm_dirlist; do
+ (cd $dir
+ for subdir in java javax gnu org; do
+ if test -d $subdir; then
+ @FIND@ $subdir -name '*.java' -print
+ fi
+ done) |
+ while read f; do
+ echo $dir/$f >> vm.add
+ echo $f >> vm.omit
+ done
+done
+
# Only include generated files once.
if test ! "${top_builddir}" -ef "@top_srcdir@"; then
echo "Adding generated files in builddir '${top_builddir}'."
@@ -19,7 +37,33 @@ if test ! "${top_builddir}" -ef "@top_srcdir@"; then
| sort | grep '\.java$' >> ${top_builddir}/lib/classes.1
fi
-for filexp in `cat @top_srcdir@/lib/$1.omit` ; do { grep -v ${filexp} < ${top_builddir}/lib/classes.1 > ${top_builddir}/lib/classes.2 ; mv ${top_builddir}/lib/classes.2 ${top_builddir}/lib/classes.1 ; } ; done
+
+cat @top_srcdir@/lib/$1.omit vm.omit > tmp.omit
+for dir in $vm_dirlist; do
+ if test -f $dir/$1.omit; then
+ cat $dir/$1.omit >> tmp.omit
+ fi
+done
+
+for filexp in `cat tmp.omit`; do
+ grep -v ${filexp} < ${top_builddir}/lib/classes.1 > ${top_builddir}/lib/classes.2
+ mv ${top_builddir}/lib/classes.2 ${top_builddir}/lib/classes.1
+done
+
+
+for dir in $vm_dirlist; do
+ if test -f $dir/$1.omit; then
+ for filexp in `cat $dir/$1.omit`; do
+ grep -v $filexp < vm.add > vm.add.1
+ mv vm.add.1 vm.add
+ done
+ fi
+done
+cat vm.add >> classes.1
+
+rm vm.omit
+rm vm.add
+rm tmp.omit
new=
if test -e ${top_builddir}/lib/classes; then
@@ -40,11 +84,4 @@ if test "$new" = "true"; then
done
fi
-# Split in multiple parts for gcj
-grep -v /javax/ classes | grep -v /awt/ \
- | grep -v /beans/ \
- | grep -v /xml/ > classes.standard
-grep /awt/ classes > classes.awt
-grep /beans/ classes >> classes.awt
-grep /xml/ classes > classes.xml
-grep /javax/ classes | grep -v /xml/ > classes.standardx
+exit 0