diff options
Diffstat (limited to 'lib/gen-classlist.sh.in')
-rwxr-xr-x | lib/gen-classlist.sh.in | 57 |
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 |