Major merge with Classpath.

Removed many duplicate files.
	* HACKING: Updated.x
	* classpath: Imported new directory.
	* standard.omit: New file.
	* Makefile.in, aclocal.m4, configure: Rebuilt.
	* sources.am: New file.
	* configure.ac: Run Classpath configure script.  Moved code around
	to support.  Disable xlib AWT peers (temporarily).
	* Makefile.am (SUBDIRS): Added 'classpath'
	(JAVAC): Removed.
	(AM_CPPFLAGS): Added more -I options.
	(BOOTCLASSPATH): Simplified.
	Completely redid how sources are built.
	Include sources.am.
	* include/Makefile.am (tool_include__HEADERS): Removed jni.h.
	* include/jni.h: Removed (in Classpath).
	* scripts/classes.pl: Updated to look at built classes.
	* scripts/makemake.tcl: New file.
	* testsuite/libjava.jni/jni.exp (gcj_jni_compile_c_to_so): Added
	-I options.
	(gcj_jni_invocation_compile_c_to_binary): Likewise.

From-SVN: r102082
This commit is contained in:
Tom Tromey 2005-07-16 01:27:14 +00:00 committed by Tom Tromey
parent ea54b29342
commit b0fa81eea9
2817 changed files with 11656 additions and 643398 deletions

View file

@ -1,153 +0,0 @@
/* Acl.java -- An access control list
Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package java.security.acl;
import java.security.Principal;
import java.util.Enumeration;
/**
* A Java access control list (ACL) is a group of individual ACL entries.
* These entries consist of a <code>Principal</code> and a list of
* permissions this <code>Principal</code> is either granted or denied.
* A given <code>Principal</code> can have at most one positive ACL entry
* (i.e., one that grants permissions) and one negative ACL entry (i.e., one
* that denies permissions). If a given permission is both granted and
* denied, the ACL treats it as if it were never granted or denied. If
* both a <code>Principal</code> and a <code>Group</code> to which the
* <code>Principal</code> belongs have an ACL entry, the permissions for
* the individual <code>Principal</code> take precedence over the
* permissions of the <code>Group</code> if there is a conflict.
* <p>
* Additionally, the ACL interface extends the <code>Owner</code> interface
* and so an ACL has owners. Actions which modify the ACL are restricted
* to owners.
*
* @version 0.0
*
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
public interface Acl extends Owner
{
/**
* This method returns the name of this ACL.
*
* @return The name of this ACL
*/
String getName();
/**
* This method sets the name of the ACL
*
* @param caller The <code>Principal</code> requesting the action.
* @param name The new name for this ACL.
*
* @exception NotOwnerException If the caller is not an owner of this ACL.
*/
void setName(Principal caller, String name)
throws NotOwnerException;
/**
* This method adds the specified entry to the ACL
*
* @param caller The <code>Principal</code> requesting the addition
* @param entry The ACL entry to add
*
* @return <code>true</code> if the entry was added, <code>false</code>
* if there is already an entry of the same type for the
* <code>Principal</code>.
*
* @exception NotOwnerException If the caller is not an owner of this ACL.
*/
boolean addEntry(Principal caller, AclEntry entry)
throws NotOwnerException;
/**
* This method delets the specified entry from the ACL
*
* @param caller The <code>Principal</code> requesting the deletion.
* @param entry The ACL entry to delete
*
* @return <code>true</code> if the entry was deleted, or <code>false</code>
* if this entry was not part of the ACL to begin with
*
* @exception NotOwnerException If the caller is not an owner of this ACL.
*/
boolean removeEntry(Principal caller, AclEntry entry)
throws NotOwnerException;
/**
* This method returns a list of all the entries in the ACL as an
* <code>Enumeration</code>.
*
* @return An enumeration of the ACL entries
*/
Enumeration entries();
/**
* This method tests whether or not the specified <code>Principal</code>
* has the specified <code>Permission</code>
*
* @param user The <code>Principal</code> to test
* @param perm The <code>Permission</code> to test for
*
* @return <code>true</code> if the user has been granted the permission,
* <code>false</code> otherwise
*/
boolean checkPermission(Principal user, Permission perm);
/**
* This method returns a list of <code>Permission</code>'s that are granted
* to a particular <code>Principal</code>. This includes any permissions
* that are granted to <code>Group</code>'s to which the <code>Principal</code>
* belongs unless they are overridden by a negative ACL. This permission
* list is returned as an <code>Enumeration</code>.
*
* @param user The <code>Principal</code> to retrieve permissions for.
*
* @return A list of permissions for the <code>Principal</code>.
*/
Enumeration getPermissions(Principal user);
/**
* This method returns the ACL as a <code>String</code>
*
* @return A <code>String</code> representation of this ACL
*/
String toString();
}

View file

@ -1,143 +0,0 @@
/* AclEntry.java -- An entry in an ACL list.
Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package java.security.acl;
import java.security.Principal;
import java.util.Enumeration;
/**
* This interface models an entry in an access control list (ACL). Java
* ACL's consist of a list of entries, where each consists of a
* <code>Principal</code> and a list of <code>Permission</code>'s which
* have been granted to that <code>Principal</code>. An ACL can also
* be <em>negative</em>, which indicates that the list of
* <code>Permission</code>'s is a list of permissions that are <em>not</em>
* granted to the <code>Principal</code>. A <code>Principal</code> can
* have at most one regular (or positive) ACL entry and one negative
* ACL entry.
*
* @version 0.0
*
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
public interface AclEntry extends Cloneable
{
/**
* This method returns the <code>Principal</code> associated with this
* ACL entry.
*
* @return The <code>Principal</code> for this ACL entry
*/
Principal getPrincipal();
/**
* This method sets ths <code>Principal</code> associated with this
* ACL entry. This operation will only succeed if there is not already
* a <code>Principal</code> assigned.
*
* @param user The <code>Principal</code> for this ACL entry
*
* @return <code>true</code> if the <code>Principal</code> was successfully set or <code>false</code> if this entry already has a <code>Principal</code>.
*/
boolean setPrincipal(Principal user);
/**
* This method sets this ACL entry to be a <em>negative</em> entry, indicating
* that it contains a list of permissions that are <em>not</em> granted
* to the entry's <code>Principal</code>. Note that there is no way to
* undo this operation.
*/
void setNegativePermissions();
/**
* This method tests whether or not this ACL entry is a negative entry or not.
*
* @return <code>true</code> if this ACL entry is negative, <code>false</code> otherwise
*/
boolean isNegative();
/**
* This method adds the specified permission to this ACL entry.
*
* @param perm The <code>Permission</code> to add
*
* @return <code>true</code> if the permission was added or <code>false</code> if it was already set for this entry
*/
boolean addPermission(Permission permission);
/**
* This method deletes the specified permission to this ACL entry.
*
* @param perm The <code>Permission</code> to delete from this ACL entry.
*
* @return <code>true</code> if the permission was successfully deleted or <code>false</code> if the permission was not part of this ACL to begin with
*/
boolean removePermission(Permission perm);
/**
* This method tests whether or not the specified permission is associated
* with this ACL entry.
*
* @param perm The <code>Permission</code> to test
*
* @return <code>true</code> if this permission is associated with this entry or <code>false</code> otherwise
*/
boolean checkPermission(Permission permission);
/**
* This method returns a list of all <code>Permission</code> objects
* associated with this ACL entry as an <code>Enumeration</code>.
*
* @return A list of permissions for this ACL entry
*/
Enumeration permissions();
/**
* This method returns this object as a <code>String</code>.
*
* @return A <code>String</code> representation of this object
*/
String toString();
/**
* This method returns a clone of this ACL entry
*
* @return A clone of this ACL entry
*/
Object clone();
}

View file

@ -1,60 +0,0 @@
/* AclNotFoundException.java -- thrown when an ACL is not found
Copyright (C) 1998, 2002, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package java.security.acl;
/**
* This exception is thrown when a requested access control list (ACL) is
* not found.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
* @status updated to 1.4
*/
public class AclNotFoundException extends Exception
{
/**
* Compatible with JDK 1.1+.
*/
private static final long serialVersionUID = 5684295034092681791L;
/**
* Initializes a new instance of this class with no descriptive message
*/
public AclNotFoundException()
{
}
}

View file

@ -1,90 +0,0 @@
/* Group.java -- Represents a group of Principals
Copyright (C) 1998, 2001 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package java.security.acl;
import java.security.Principal;
import java.util.Enumeration;
/**
* This interface represents a group of <code>Principals</code>. Note that
* since this interface extends <code>Principal</code>, a <code>Group</code>
* can be used where ever a <code>Principal</code> is requested. This
* includes arguments to the methods in this interface.
*
* @version 0.0
*
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
public interface Group extends Principal
{
/**
* This method adds a new <code>Principal</code> to this group.
*
* @param user The new <code>Principal</code> to add
*
* @return <code>true</code> if the user was successfully added or <code>false</code> if the user is already a member
*/
boolean addMember(Principal user);
/**
* This method deletes a member from the group.
*
* @param user The <code>Principal</code> to delete
*
* @return <code>true</code> if the user was successfully deleted or <code>false</code> if the user is not a member of the group
*/
boolean removeMember(Principal user);
/**
* This method tests whether or not a given <code>Principal</code> is a
* member of this group.
*
* @param user The <code>Principal</code> to test for membership
*
* @return <code>true</code> if the user is member, <code>false</code> otherwise
*/
boolean isMember(Principal member);
/**
* This method returns a list of all members of the group as an
* <code>Enumeration</code>.
*
* @return The list of all members of the group
*/
Enumeration members();
}

View file

@ -1,62 +0,0 @@
/* LastOwnerException.java -- User attempted to delete last ACL owner
Copyright (C) 1998, 2002, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package java.security.acl;
/**
* This exception is thrown when an attempt is made to delete the last owner
* of an access control list (ACL)
*
* @author Aaron M. Renn (arenn@urbanophile.com)
* @see Owner#deleteOwner(java.security.Principal, java.security.Principal)
* @status updated to 1.4
*/
public class LastOwnerException extends Exception
{
/**
* Compatible with JDK 1.1+.
*/
private static final long serialVersionUID = -5141997548211140359L;
/**
* Initialize a new instance of <code>LastOwnerException</code> that does
* not have a log message.
*/
public LastOwnerException()
{
}
}

View file

@ -1,62 +0,0 @@
/* NotOwnerException.java -- Attempt to modify an unowned ACL
Copyright (C) 1998, 2002, 2005 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package java.security.acl;
/**
* This exception is thrown whenever an operation is attempted that requires
* the caller to be the owner of the access control list (ACL) when the caller
* is in fact not the owner of the ACL.
*
* @author Aaron M. Renn (arenn@urbanophile.com)
* @status updated to 1.4
*/
public class NotOwnerException extends Exception
{
/**
* Compatible with JDK 1.1+.
*/
private static final long serialVersionUID = -5555597911163362399L;
/**
* Initializes a new instance of <code>NotOwnerException</code> that does
* not have a descriptive message.
*/
public NotOwnerException()
{
}
}

View file

@ -1,95 +0,0 @@
/* Owner.java -- ACL owner
Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package java.security.acl;
import java.security.Principal;
/**
* This interface provides a mechanism for maintaining a list of owners
* of an access control list (ACL). Since a <code>Principal</code> must
* be an owner in order to modify the owner list, a mechanism must be
* provided to specify the initial owner of the ACL. The proper way to do
* this is for the implementing class to specify the initial owner in
* the contructor for that class.
*
* @version 0.0
*
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
public interface Owner
{
/**
* This method adds an owner to the access control list (ACL). Only a
* <code>Principal</code> who is already an owner can perform this operation.
*
* @param caller The <code>Principal</code> who is requesting that an owner be added
* @param owner The <code>Principal</code> to add as a new owner
*
* @param <code>true</code> if the new owner was successfully added or <code>false</code> if the specified new owner is already an owner
*
* @exception NotOwnerException If the caller is not already an owner of this ACL
*/
boolean addOwner(Principal caller, Principal owner)
throws NotOwnerException;
/**
* This method delets an owner from the access control list (ACL). Only a
* <code>Principal</code> who is an owner can perform this operation. An
* owner can delete itself from the list. If there is only one
* owner remaining on this list, any attempt to delete it will throw an
* exception.
*
* @param caller The <code>Principal</code> who is requesting that an owner be deleted
* @param owner The <code>Principal</code> to delete as an owner
*
* @param <code>true</code> if the new owner was successfully deleted or <code>false</code> if the specified owner is not currently an owner
*
* @exception NotOwnerException If the caller is not already an owner of this ACL
* @exception LastOwnerException If completing the operation would delete the last ACL owner
*/
boolean deleteOwner(Principal caller, Principal owner)
throws NotOwnerException, LastOwnerException;
/**
* This method tests whether or not a given <code>Principal</code> is an
* owner of this access control list (ACL).
*
* @return <code>true</code> if the <code>Principal</code> is an owner, <code>false</code> otherwise
*/
boolean isOwner(Principal owner);
}

View file

@ -1,67 +0,0 @@
/* Permission.java -- Information about an ACL permission
Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
package java.security.acl;
/**
* This interface provides information about a permission that can be
* granted. Note that this is <em>not</em> the same as the class
* <code>java.security.Permission</code>.
*
* @version 0.0
*
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
public interface Permission
{
/**
* This method tests whether or not a specified <code>Permission</code>
* (passed as an <code>Object</code>) is the same as this permission.
*
* @param perm The permission to check for equality
*
* @return <code>true</code> if the specified permission is the same as this one, <code>false</code> otherwise
*/
boolean equals (Object perm);
/**
* This method returns this <code>Permission</code> as a <code>String</code>.
*
* @return A <code>String</code> representing this permission.
*/
String toString();
}