summaryrefslogtreecommitdiff
path: root/lib/gen-classlist.sh.in
blob: 6b08da2909a1bc14bf123acdfffcd1b21412d3ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#! @SH@
# @configure_input@

# Make sure sorting is done the same on all configurations
LC_ALL=C; export LC_ALL
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@/external/w3c_dom @top_srcdir@/external/sax \
       -follow -type f -print | sort | grep '\.java$' \
       > ${top_builddir}/lib/classes.1

# Only include generated files once.
if test ! "${top_builddir}" -ef "@top_srcdir@"; then
  echo "Adding generated files in builddir '${top_builddir}'."
  @FIND@ ${top_builddir}/gnu ${top_builddir}/java -follow -type f -print \
  | 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

new=
if test -e ${top_builddir}/lib/classes; then
  p=`diff ${top_builddir}/lib/classes ${top_builddir}/lib/classes.1`
  if test "$p" != ""; then
    new="true"
    cp ${top_builddir}/lib/classes.1 ${top_builddir}/lib/classes
  fi
else
  new="true"
  cp ${top_builddir}/lib/classes.1 ${top_builddir}/lib/classes
fi

if test "$new" = "true"; then
  echo "JAVA_SRCS = \\" > ${top_builddir}/lib/java.dep
  for i in `cat ${top_builddir}/lib/classes` ; do
    echo $i "\\" >> ${top_builddir}/lib/java.dep
  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