~ubuntu-branches/ubuntu/intrepid/parted/intrepid

« back to all changes in this revision

Viewing changes to gnulib/lib/javacomp.h

  • Committer: Bazaar Package Importer
  • Author(s): Colin Watson
  • Date: 2008-06-24 14:31:05 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20080624143105-rd7yw67a9qnvh51i
Tags: 1.8.8.git.2008.03.24-7ubuntu1
* Resynchronise with Debian (LP: #237568). Remaining changes:
  - swap-uuid.dpatch: Create UUIDs on new swap partitions.
  - gptsync.dpatch: On Intel Mac systems, write a synced MBR rather than a
    protective MBR.
  - Add -fno-stack-protector on sparc.
  - sparc-new-label.dpatch: Fix sparc disk label generation. This is
    required for LDOM and parallel installations with Solaris 10.
  - loop-partitions.dpatch: Loop devices can only have one partition, so
    don't generate device names such as "/dev/loop0p1".
  - unpartitioned-disks.dpatch: Don't try to call BLKPG ioctls on
    unpartitionable disks (only implemented for loop devices at the
    moment), as they will always fail.
  - When building with gcc-4.3, add -Wno-array-bounds to CFLAGS.
  - Cell partition tables are misdetected as pc98, so disable pc98 support
    on powerpc.
  - array-bounds.dpatch: Backport patch from git to allow building with
    gcc-4.3.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Compile a Java program.
 
2
   Copyright (C) 2001-2002, 2006 Free Software Foundation, Inc.
 
3
   Written by Bruno Haible <haible@clisp.cons.org>, 2001.
 
4
 
 
5
   This program is free software; you can redistribute it and/or modify
 
6
   it under the terms of the GNU General Public License as published by
 
7
   the Free Software Foundation; either version 2, or (at your option)
 
8
   any later version.
 
9
 
 
10
   This program is distributed in the hope that it will be useful,
 
11
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
   GNU General Public License for more details.
 
14
 
 
15
   You should have received a copy of the GNU General Public License
 
16
   along with this program; if not, write to the Free Software Foundation,
 
17
   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
18
 
 
19
#ifndef _JAVACOMP_H
 
20
#define _JAVACOMP_H
 
21
 
 
22
#include <stdbool.h>
 
23
 
 
24
/* Compile a Java source file to bytecode.
 
25
   java_sources is an array of source file names.
 
26
   classpaths is a list of pathnames to be prepended to the CLASSPATH.
 
27
 
 
28
   source_version can be:    support for
 
29
             1.3             inner classes
 
30
             1.4             assert keyword
 
31
             1.5             generic classes and methods
 
32
             1.6             (not yet supported)
 
33
   target_version can be:  classfile version:
 
34
             1.1                 45.3
 
35
             1.2                 46.0
 
36
             1.3                 47.0
 
37
             1.4                 48.0
 
38
             1.5                 49.0
 
39
             1.6                 50.0
 
40
   target_version can also be given as NULL. In this case, the required 
 
41
   target_version is determined from the found JVM (see javaversion.h).
 
42
   Specifying target_version is useful when building a library (.jar) that is
 
43
   useful outside the given package. Passing target_version = NULL is useful
 
44
   when building an application.
 
45
   It is unreasonable to ask for:
 
46
     - target_version < 1.4 with source_version >= 1.4, or
 
47
     - target_version < 1.5 with source_version >= 1.5, or
 
48
     - target_version < 1.6 with source_version >= 1.6,
 
49
   because even Sun's javac doesn't support these combinations.
 
50
   It is redundant to ask for a target_version > source_version, since the
 
51
   smaller target_version = source_version will also always work and newer JVMs
 
52
   support the older target_versions too. Except for the case
 
53
   target_version = 1.4, source_version = 1.3, which allows gcj versions 3.0
 
54
   to 3.2 to be used.
 
55
 
 
56
   directory is the target directory. The .class file for class X.Y.Z is
 
57
   written at directory/X/Y/Z.class. If directory is NULL, the .class
 
58
   file is written in the source's directory.
 
59
   use_minimal_classpath = true means to ignore the user's CLASSPATH and
 
60
   use a minimal one. This is likely to reduce possible problems if the
 
61
   user's CLASSPATH contains garbage or a classes.zip file of the wrong
 
62
   Java version.
 
63
   If verbose, the command to be executed will be printed.
 
64
   Return false if OK, true on error.  */
 
65
extern bool compile_java_class (const char * const *java_sources,
 
66
                                unsigned int java_sources_count,
 
67
                                const char * const *classpaths,
 
68
                                unsigned int classpaths_count,
 
69
                                const char *source_version,
 
70
                                const char *target_version,
 
71
                                const char *directory,
 
72
                                bool optimize, bool debug,
 
73
                                bool use_minimal_classpath,
 
74
                                bool verbose);
 
75
 
 
76
#endif /* _JAVACOMP_H */