2004-11-16 Alain Magloire

	Fix for 27663, allow to exec with pty emulation.
	* library/Makefile
	* library/openpty.c(set_noecho): new function
	* library/opentpty.h: update header.
	* library/pty.c: refactor forkpyt to openMaster()
	* library/PTY.h: regenerate
	* library/spawner.c: add exec2() support
	* library/Spawner.h: regenerate

	* os/linux/x86/libpty.so
	* os/linux/x86/libspawner.so

2004-07-12  Tom Tromey  <tromey@redhat.com>

	* library/Makefile (CFLAGS): Define _GNU_SOURCE.

2004-03-25 David Inglis
	
	Added platform attribute to processlist extension
	
	* plugin.xml

2004-03-02 James Ciesielski
	
	Marked strings as non-translatable.

	* src/org/eclipse/cdt/internal/core/linux/Processlist.java

2003-02-01 Alain Magloire

	* library/ptyio.c: Do not throw any exception.
	* os/linux/x86/libpty.so: Rebuild.
	* os/linux/x86/libspawner.so: Rebuild.

2003-01-31  Tom Tromey 

	* library/Makefile (OS): New macro.
	(ARCH): Likewise.
	(JDK_INCLUDES, JDK_OS_INCLUDES): Define; don't check to see if
	they are set externally.
	(INSTALL_DIR): New macro.
	(LIB_NAME_FULL_SPAWNER): Use it.
	(LIB_NAME_FULL_PTY): Likewise.
	($(LIB_NAME_FULL_SPAWNER)): Make output directory.
	($(LIB_NAME_FULL_PTY)): Likewise.

2002-10-15 Alain Magloire

	Runtime.getRuntime().exec(..) would throw an exception
	if the program does not exist or is not an executabe.
	Spawner should do the same.
	
	library/pfind.c (pfind): Check also for fullpath
	with access() system call.

	library/exec_unix.c (exec0): Always call pfind()
	to check if the program exists.
	
	os/linux/x86/libspawner.so: Rebuild.

