Merge branch 'msvc' into maint
[platform/upstream/automake.git] / tests / java-empty-classpath.test
1 #! /bin/sh
2 # Copyright (C) 2011 Free Software Foundation, Inc.
3 #
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 # Java compilation works also when CLASSPATH is unset or empty at
18 # compilation time.  See automake bug#9306.
19
20 required=javac
21 . ./defs || Exit 1
22
23 set -e
24
25 cat >> configure.in <<'END'
26 AC_CONFIG_SRCDIR([org/gnu/bug/Library.java])
27 AC_CONFIG_FILES([
28     org/Makefile
29     org/gnu/Makefile
30     org/gnu/bug/Makefile
31 ])
32 AC_OUTPUT
33 END
34
35 mkdir org org/gnu org/gnu/bug
36 cat > Makefile.am <<END
37 CLEANFILES = *.class
38 SUBDIRS = org
39 END
40 echo SUBDIRS = gnu > org/Makefile.am
41 echo SUBDIRS = bug > org/gnu/Makefile.am
42 cat > org/gnu/bug/Makefile.am <<'END'
43 JAVAROOT = ../../..
44 dist_noinst_JAVA = Library.java Application.java
45 END
46
47 cat > org/gnu/bug/Library.java <<'END'
48 package org.gnu.bug;
49 public class Library
50 {
51     public Library ()
52     {
53       // Nothing to do.
54     }
55     public static void doSomethingUseful (String arg)
56     {
57       System.out.println (arg);
58     }
59 }
60 END
61
62 cat > org/gnu/bug/Application.java <<'END'
63 import org.gnu.bug.*;
64 public class Application
65 {
66     public static void main (String args[])
67     {
68         Library lib = new Library ();
69         lib.doSomethingUseful ("PLUGH");
70     }
71 }
72 END
73
74 $ACLOCAL
75 $AUTOCONF
76 $AUTOMAKE
77 ./configure
78
79 unset CLASSPATH || :
80 $MAKE
81 $MAKE clean
82
83 CLASSPATH=''; export CLASSPATH
84 $MAKE
85 $MAKE clean
86
87 unset CLASSPATH || :
88 $MAKE distcheck
89
90 :