2006-09-22  Pablo Oliveira  <oliveira@adacore.com>
	* xe_back-polyorb.adb:
	When generating the body of Partition_Elaboration.Full_Launch always
	add a null statement, even in the main partition.
	This fixes a bug with single partition applications 
	for which a bodyless Full_Launch procedure was generated.
	For 0008-204.
	
2006-09-05  Pablo Oliveira  <oliveira@adacore.com>
	* xe_back-polyorb.adb:
	For each partition add a new configuration section labeled "DSA_Local_RCIs".
	This section contains for each RCI instantiated in the local partition,
	a parameter with the RCI name, set to true.
	This section allows the PCS to tell if a RCI is local even if the RCI 
	in question has not yet registered its receiving stub.
	For F605-015.
	
2006-09-01  Pablo Oliveira  <oliveira@adacore.com>
	* xe_back-polyorb.adb:
	(Generate_Elaboration_File): 
	 Only generate a semantic dependency upon PolyORB.DSA_P.Remote_Launch
	 when using the Ada Starter and in the main partition, this avoids
	 dragging sockets (which Remote_Launch depends upon) unnecesarily.
	 For F831-006.
	 
2006-08-21  Pablo Oliveira  <oliveira@adacore.com>
	* xe_back, xe_back-garlic.adb, xe_back-polyorb.adb: 
	 In Shell Starter's script, polyORB PCS
	 should use the flag '--polyorb-dsa-detach' instead
	 of '--detach'.

	 (Get_Detach_Flag): Dispatching operation to select the 
	 appropriate detach flag without violating abstraction.
	 
	* xe_back-polyorb.adb:
	 New procedure 'Full_Launch' in polyorb-partition_elaboration.adb
	 from which all the calls to Launch_Partition are made.
	 PolyORB PCS can control when remote partitions are launched,
	 in particular it can wait for the configuration parameters
	 for polyorb-dsa_p-remote_launch to be available.
	 Add missing call to Decrement_Indentation.
	 
2006-08-11  Pablo Oliveira  <oliveira@adacore.com>
	* xe_back-polyorb.adb:
	 Added new field 'Shutdown' for Module_Info so 
	 generated file polyorb-parameters-partitions.adb
	 is compatible with polyORB change #10315.

	 Call PolyORB.Initialization.Shutdown_World instead
	 of PolyORB.ORB.Shutdown.

2006-08-04  Thomas Quinot  <quinot@adacore.com>

	* xe_sysdep.ads, xe_sysdep-std.adb, xe_sysdep-nt.adb: Remove.
	* xe_io.adb: Use GNAT.OS_Lib.Set_Executable to portably set
	executable permissions on generated starter.

2006-08-02  Pablo Oliveira  <oliveira@adacore.com>

	* xe_back-polyorb.adb:
	Move code generated for Ada starter from partition.adb to
	polyorb-partition_elaboration.adb to avoid deadlocks in elaboration.

2006-07-31  Pascal Obry  <obry@adacore.com>

	* xe_io.adb:
	(Normalize_CWD): Use Is_Directory_Separator instead of the
	 Directory_Separator constant as required on Windows. The
	 pathnames are converted to UNIX format.
	Fixes 0008-203.

2006-07-06  Pablo Oliveira  <oliveira@adacore.com>

	* xe_list.adb, xe_back_polyorb.adb:
	PCS_Conf_Unit was not taken into account when using project files.
	This resulted in gnatmake complaining about PCS_Conf_Unit not belonging
	to any project file.
	We therefore generate a project file which extends the one provided by 
	the user, and includes PCS_Conf_Unit path in its source dir.
	For F706-005.
	Fixes 4617-G02 for PCS=polyorb.

	* xe_back_polyorb.adb:
	(Generate_Ada_Starter_Code): If Remote_Host is not present, pass 
	localhost as the default value for the starter host.

2006-07-04  Pablo Oliveira  <oliveira@adacore.com>

	* xe_back.adb:
	(Generate_Partition_Project_File):
	  Added a missing trailing slash to exec directory name.
	  Fixes 4617-G02 for PCS=garlic.

2006-07-03  Pablo Oliveira  <oliveira@adacore.com>

	* xe_back-polyorb.adb:
	- Generate an elaboration file (polyorb-partition_elaboration.adb)
	  which has dependencies upon the required packages in the PCS for
	  each partition.
	- Remove initialization of the PCS of partition main file (it is now
	  done during elaboration of s-parint)

	For F621-010.
	
2006-06-20  Pablo Oliveira  <oliveira@adacore.com>

	* xe_back-polyorb.adb:
	- Generate calls to System.Partition_Interface.Check, to ensure 
	consistent RCI versions, fixes lxe3001.
	
2006-06-15  Pablo Oliveira  <oliveira@adacore.com>

	* xe_back.ads, xe_back.adb, xe_back-polyorb.adb, xe_back-garlic.adb:
	- Added procedures Generate_All_Stubs_And_Skels and Prepare_Directories
	  to factor common backend code in xe_back.
	- Corrected comment (referencing garlic) in xe_back-polyorb.adb.
	- Added support for exporting environment variables to the remote
	  partitions.
	- Added termination manager config parameters in PolyORB backend
	- Added Starter (Ada) support in polyorb backend.
	Fix for F421-007.
	
2006-06-14  Pablo Oliveira  <oliveira@adacore.com>

	* xe_back.ads, xe_back.adb, xe_back-polyorb.adb, xe_back-garlic.adb:
	Factor identical Generate_Stub in garlic and polyorb backends.
	Remove duplicated code block in Run_Backend. 

2006-06-05  Pablo Oliveira  <oliveira@adacore.com>

	* xe_back-polyorb.adb: Changed RU_PolyORB_Binding_Data_IIOP with the 
	correct name: RU_PolyORB_Binding_Data_GIOP_IIOP.
	Changed enumeration order of RU_Id, so that packages names are 
	interpreted correctly.
	
	Fixed for F605-002. 
	
2006-06-02  Pablo Oliveira  <oliveira@adacore.com>

	* xe_back.adb: Report a pertinent error message when unknown PCS 
	is passed on the command line. 
	
	Fixed for F602-035. 
	
2006-06-01  pautet  <pautet@enst.fr>

	* xe.adb, xe.ads, xe_back.adb, xe_front.adb: Restore
	Deferred_Termination policy as it is now established that it can
	be easily implemented on both GARLIC and PolyORB.

	Fixed F601-009.
	
2006-03-10  Laurent Pautet  <pautet@enst.fr>

	* xe_back-polyorb.adb:
	For CA22-003: Generate PolyORB.Parameters.Partition accordingly to
	the GLADE configuration file. In the previous approach,
	PO.Parameters.Partition was using PO.Parameters.Partition_Conf
	which was automatically generated. It was decided to simplify the
	design and to generate PO.Parameters.Partition instead.

2006-02-16  Laurent Pautet <pautet@enst.fr>

	* xe_back-polyorb.adb:
	For CA22-003: Generate PolyORB.Parameters.Partition_Conf
	accordingly to the GLADE configuration file. For the time being,
	only task pool attributes are taken into account.

2005-09-18  Pascal Obry  <obry@adacore.com>

	* xe.adb:
	Update Copyright notice
	Remove redundant with and use of Xe_Types
	Uncovered by E804-013
	
	* xe_back-garlic.adb:
	Remove redundant With and use of Xe_Types and Xe_Units
	Uncovered by E804-013
	
	* xe_back-polyorb.adb:
	Remove redundant with and use of Xe_Types and Xe_Units
	Uncovered by E804-013
	
	* xe_back.adb:
	Remove redundant with and use of Xe_Types
	Uncovered by E804-013
	
	* xe_front.adb:
	Remove redundant with and use of XE, XE_Types and XE_Units
	Uncovered by E804-013
	
	* xe_io.adb:
	Remove redundant with and use of GNAT.OS_Lib
	Remove redundant use of GNAT_Directory_Operations
	Uncovered by E804-013
	
	* xe_list.adb:
	Update Copyright notice
	Remove redundant with and use of XE_Types
	Uncovered by E804-013
	
	* xe_parse.adb:
	Remove redundant with and use of XE, XE_Types and XE_Scan
	Uncovered by E804-013
	
	* xe_scan.adb:
	Update Copyright notice
	Remove redundant with and use of XE and XE_Types
	Uncovered by E804-013
	
2005-09-18  Pascal Obry  <obry@adacore.com>

	* xe_utils.adb:
Remove redundant with and use of GNAT.OS_Lib and XE_Types
Uncovered by E804-013
	
2005-07-28  pautet  <pautet@enst.fr>

	* xe_back.ads: Define PCS_Conf_Unit as a PCS unit that gnatdist
	has to automatically configure on the main partition.

	* xe_back-polyorb.adb: Set PCS_Conf_Unit to PolyORB.DSA_P.Partitions
	and so configure this RCI unit on the main partition.
	
	* xe_sem.adb: Configure a PCS unit when required (PolyORB)

	* xe_front.adb: Hide to the user any unit automatically configured
	for the PCS.

	* xe_main.adb: Configure backend before analysing configuration
	since the backend may require a PCS unit to be configured on the
	main partition.
	
2005-05-09  Pascal Obry  <obry@adacore.com>

	* xe_usage.adb: Fix a memory corruption in the check for the
	 version number. Bump version to 5.04w and update copyright
	 notice. Slightly update the usage output layout to match the
	 format used by other tools.
	Fixes E509-013.

2005-02-18  Laurent Pautet  <pautet@enst.fr>

	* xe_front.adb, xe_front.ads : Detect undefined partitions in
	channel definition.
	Fixes D301-006.

2004-10-30  Laurent Pautet  <pautet@enst.fr>

	* xe_sem.adb: Change selection of tasking policy for a
	partition. The units collocated to a unit explicitely configured
	on a partition were found by a recursive algorithm. We use now a
	stack on which we push the units implicitely assigned to a
	partition. Once the closure is computed, we can select the tasking
	policy (full PCS / tasking, light PCS / tasking, no tasking).
	Fixes DA30-001.
	The previous approach was erroneous since it was possible to loop
	forever since two units may have cross references to each other.

2004-10-18  Laurent Pautet  <pautet@enst.fr>

	* xe_back-polyorb.adb, xe_back-garlic.adb: Do not build partitions
	in silent mode as link errors may occur. Such error are not
	detected when the monolithic application is built as it is only a
	compilation step.
	Fix DA15-012.

2004-10-11  Laurent Pautet  <pautet@enst.fr>

	* Makefile.am, Makefile.in: Build xe_back.adb depending on PCSNAME
	(either garlic or polyorb). Provide two implementations.
	For CA22-003.

	* b_xe_defs.adb: Replace PCS_NAME with PCSNAME.
	For CA22-003.

	* xe_back.adb, xe_back-polyorb.adb, xe_back-garlic.adb: Add a
	rtsfind-like mecanism to describe the run-time API and to generate
	internal packages. Remove xe_back.adb to make two versions of it:
	a default one for garlic, and another one for polyorb. Reinject
	xe_stubs-polyorb.adb into xe_back.adb.
	For CA22-003.
	
	* xe_utils.adb: Do not add GARLIC link flags in gnatdist anymore.
	For CA22-003.

	* xe_flags.ads: Add flag -t which prevents from removing temporary
	files.
	For CA22-003.

	* xe_io.adb: Allow not to remove temporary files for debugging
	purpose.
	For CA22-003.

2004-09-08  Laurent Pautet  <pautet@enst.fr>

	* xe_list.adb: Call Compile and Build with the proper Silent
	parameter in order to preserve the usual output. Remove monolithic
	partition main subprograms used to compile the overall system (as
	well as its ali and object files).
	For CA22-003 (inconsistency of exception mode).
	
	* xe_back.adb: Invoke gnat make instead of gnat compile to compile
	the partition main subprogram. Therefore, an inconsistency of
	exception mode results in recompiling garlic. However, gnat make
	may think that the partition is incomplete (bodies from
	non-collocated RCI units may be missing). Keep gnat make
	silent. Then bind and link as usual.
	For CA22-003 (inconsistency of exception mode).

	* xe_main.adb: Do not forget to remove temporary files in case of
	unknown exceptions.
	For CA22-003 (inconsistency of exception mode).

	* xe_utils.adb, xe_utils.ads: Add to subprograms Compile and Build
	a parameter Silent in order to keep gnat compile and gnat make
	really silent (especially in case of an already known error).
	For CA22-003 (inconsistency of exception mode).

	* xe_io.adb: Output an error message when we cannot create a
	directory.
	For CA22-003 (inconsistency of exception mode).

2004-09-05  Laurent Pautet  <pautet@enst.fr>

	* xe_main.adb: Do not catch unknown exceptions in order to get the
	backtrace.
	For CA22-003.

	* xe_utils.adb: Pass -f flag to gnat make.
	For CA22-003.

	* xe_back.adb: Move Normalize_CWD in the package dedicated to
	IOs. Remove the executable suffix from the partition executable
	in the launching command in order to have a platform independant
	code.
	For CA22-003.
 
	* xe_io.adb, xe_io.ads: Add Normalize_CWD. Compute Program_Name in
	such a way that it is platform independant (no executable suffix).
	Format pathname in order to be platform independant (always in
	Unix style). Add a function to remove the executable suffix.
	For CA22-003.

	* xe_list.adb: Skip unknown tokens or empty lines. Format pathname
	in order to be platform independant (always in Unix style).
	For CA22-003.

2004-09-01  Laurent Pautet  <pautet@enst.fr>

	* xe_back.adb: Generate internal files to take into account
	project files (internal project files to build stubs and skels).
	Part of the work needed for CA22-003.

	* xe_flags.ads: Add flags related to project files and to very
	verbose gnatls output.
	Part of the work needed for CA22-003.

	* xe_front.adb: Make Get_ALI_Id, Get_Unit_Id and Get_Channel_Id
	more restrictive.
	Part of the work needed for CA22-003.

	* xe_io.adb: Strip directory in function To_Afile.
	Part of the work needed for CA22-003.

	* xe_list.adb: Parse new gnatls output (very verbose mode). Load
	several ali files in once.
	Part of the work needed for CA22-003.

	* xe_sem.adb: Use With info from new gnatls output which is more
	accurate than those provided by dependencies.
	Part of the work needed for CA22-003.

	* xe_units.ads: Add Withs table and all the related types.
	Part of the work needed for CA22-003.
	
	* xe_utils.adb, xe_utils.ads: Add few internal filenames. Allow to
	list several ali files in once. Take into account the use of user
	project files (in List, Build and Compile). Parse new flags from
	the command line (mostly related to project files). Introduce a
	machinery to deal with temporary files.
	Part of the work needed for CA22-003.

2004-08-13  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.adb: Close Dup'ed files.
	Part of the work needed for CA22-003.

2004-08-11  Laurent Pautet  <pautet@enst.fr>

	* b_xe_defs.adb, Makefile.am, Makefile.in: do not depend on gnat
	sources anymore.
	Part of the work needed for CA22-003.

	* xe_utils.adb, xe_utils.ads: provides several global variables,
	routines and exceptions of general use.
	Part of the work needed for CA22-003.

	* xe_usage.adb, xe_usage.ads: Output usage.

	* xe_units.adb, xe_units.ads: provides all the types and tables
	needed to represent the configuration of the distributed system
	like Ada units, configured units, partitions, channels, locations.
	Part of the work needed for CA22-003.

	* xe_types.adb, xe_types: provides all the basic types used in
	gnatdist.
	Part of the work needed for CA22-003.

	* xe_stdcnf.adb, xe_stdcnf.ads: contains predefined entities
	needed to described a configuration like types, pragmas,
	attributes.
	Part of the work needed for CA22-003.

	* xe_sem.adb, xe_sem.ads: provides the routines to analyze the
	consistency of configurations. Replace xe_check.
	Part of the work needed for CA22-003.

	* xe_scan.adb, xe_scan.ads: provides routines to scan the
	configuration file. Same functions as before.
	Part of the work needed for CA22-003.

	* xe_parse.ads, xe_parse.ads: contains routines to parse the
	configuration file. Same functions as before.

	* xe_names.adb, xe_names.ads: This package contains routines to
	handle a name table. Very close to Namet.
	Part of the work needed for CA22-003.

	* xe_list.adb, xe_list.ads: contains all the routines to parse the
	gnatls output and to load the ALI files.
	Part of the work needed for CA22-003.

	* xe_io.adb, xe_io.ads: contains all the routines needed to handle
	input and output operations.
	Part of the work needed for CA22-003.

	* xe_front.adb, xe_front.ads: contains all the data structures
	needed to represent the configuration of the distributed
	system. These structures provide the intermediate data required to
	produce stubs, skels and automatically generated PCS packages.
	Part of the work needed for CA22-003.

	* xe_flags.ads: contains the flags available for gnatdist as well
	as those used by gnatdist and passed to gnatmake and gnatls.
	Part of the work needed for CA22-003.

	* xe_back.adb, xe_back.ads: contains all the routines to generate
	stubs (object files), skeleton files (object files), PCS units
	(source and object files) and eventually executable files.
	Part of the work needed for CA22-003.

	* xe.adb, xe.ads: contains the routines used by the parser to
	handle nodes corresponding to the configuration file. Same
	functions as before.
	Part of the work needed for CA22-003.
	
	* xe_build.adb, xe_build.ads, xe_check.adb, xe_check.ads,
	xe_lead.adb, xe_lead.ads, xe_stubs.adb, xe_stubs.ads: Removed.
	Part of the work needed for CA22-003.

2004-07-10  Laurent Pautet  <pautet@enst.fr>

	* b_xe_defs.adb, xe.adb, xe.ads, xe_back.adb, xe_back.ads,
	xe_build.adb, xe_check.adb, xe_stubs-polyorb.adb, xe_stubs.adb,
	xe_utils.adb: Replave Table with GNAT.Table. Part of CA22-003.

2004-06-22  Laurent Pautet  <pautet@enst.fr>

	* xe_usage.adb: Get GNAT version from gnatvsn.
	Fix for D617-008.

2004-03-26  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.adb, xe_utils.ads: Fix a glitch between the two
	previous checkins.

2004-03-25  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.adb, xe_utils.ads, config.sdefault: Set Exec_Name to
	"gnatmake" instead of "gnatdist" in order to configure paths
	correctly.
	For D309-019

2004-03-24  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.ads, xe_utils.adb, xe_stubs.adb: Introduce function
	Split_String to split a string in several substrings when it is
	too large. Use it to pass string parameter in subprogram calls
	when an unit is compiled with -gnatg.
	Fix D317-009.

2004-02-13  Laurent Pautet  <pautet@enst.fr>

	* Makefile.am, Makefile.in (clean): Add b_xe_defs$(EXEEXT) to the
	list of files to clean.
	Part of work for D211-003.

	* Makefile.am, Makefile.in (xe_defs.adb): Fix typo (incorrect
	leading character '=') and pass PSNAME like the other parameters.
	Part of work for D211-003.

	* b_xe_defs.adb: Parse parameter PSNAME like the other parameters
	otherwise on Unix it is incorreclty interpreted.
	Part of work for D211-003.

2004-02-12  Pascal Obry  <obry@gnat.com>

	* Makefile.in, Makefile.am:
	(xe_sysdep.adb): Fix typo in Windows/NT reference.
	(xe_defs.adb): Properly pass $(PSNAME) to b_xe_defs as
	 expected. This is needed to check for the running platform.
	Part of work for D211-003.

	* b_xe_defs.adb:
	Properly generate the code on Windows to look for the registry
	 information.
	Minor reformatting.
	Part of work for D211-003.

	* xe_reg.adb:
	(Get_GNAT_Version): New routine, returns the GNAT version.
	(Get_Garlic_Dir): Fix the registry key.
	Part of work for D211-003.

	* xe_reg.ads:
	Fix registry key reference in comment.
	Part of work for D211-003.

2004-02-11  Pascal Obry  <obry@gnat.com>

	* xe_check.adb:
	(Check): Fix obvious typo in generated unit name.
	Fixes for D211-003.

2003-03-03  Pascal Obry  <obry@gnat.com>

	* xe_build:
	Change some variables to constant to fix warnings.
	
2003-11-18  Laurent Pautet  <pautet@enst.fr>

	* xe_back.adb, xe_back.ads, xe_stubs.adb, xe_stubs.ads,
	xe_check.adb, xe_usage.adb, xe_defs.ads, xe.ads, xe_utils.ads,
	xe_utils.adb, xe_build.adb: Update copyright for 2003.

2003-11-17  Laurent Pautet  <pautet@enst.fr>

	* xe_check.adb: Fix the fix previously done. We report an error
	when the protocol major name is a Name_Id containing an empty
	string (it cannot be equal to No_Name as assumed in the first fix).
	Fix for B725-G04.

2003-11-11  Laurent Pautet  <pautet@enst.fr>

	* b_xe_defs.adb: Add -I arguments to both binder and compiler list
	when no program is specified.
	Part of work for CA22-003.
	
	* xe_back.adb, xe_back.ads: Add Is_RCI_Unit function.
	Part of work for CA22-003.

	* xe_check.adb: Fix bug that occurs when GNATDIST outputs storage
	name with a default value set to null. This does not happen with
	GNATDIST/GLADE since the default value is set to "dfs" but it can
	occur with GNATDIST/PolyORB.
	Part of work for CA22-003.

	* xe_stubs-polyorb.adb: Remove most of the code dedicated to
	GNATDIST/GLADE. As for a first step, generate only one
	configuration file <partition_main_file>. Do not generate any code
	for shared passive packages since this feature is not handled by
	PolyORB but by GNAT. This is really a minimal version. Most of the
	polyorb configuration code is hard-coded or static. The only
	preserved configuration feature concerns the lightweight
	communication subsystem which results in binding with the
	no-tasking policy when the partition is a pure client with no
	tasking dragged by user.
	Part of work for CA22-003.

2003-11-06  Laurent Pautet  <pautet@enst.fr>

	* xe_build.adb: Initialize XE_Stubs.
	Part of work for CA22-003.

	* xe_utils.ads, xe_utils.adb: Move functions specific to GARLIC
	communication subsystem from XE_Utils to XE_Stubs in order
	to have only one such specific package.
	Add To_Lower function for characters.
	Part of work for CA22-003.

	* xe_stubs.ads, xe_stubs.adb: Get PCS name from XE_Defs and do not
	assume GARLIC anymore.
	Add Initialize procedure to setup GNATDIST for a given PCS.
	Part of work for CA22-003.

	* xe_defs.ads, b_xe_defs.adb: Add Get_PCS_Name and generate
	Get_PCS_Name function body for xe_defs.adb.
	Part of work for CA22-003.

	* Makefile.am, Makefile.in: Define PCS_NAME to designate the
	partition communication subsystem.
	Part of work for CA22-003.

2003-11-04  Laurent Pautet  <pautet@enst.fr>

	* b_xe_defs.adb: Build xe_defs.adb and in particular procedure
	Initialize to install the used by GNATDIST to get access to the
	communication subsystem (GARLIC or PolyORB).
	Continued work for CA22-003.

	* xe_defs.ads: Add a procedure Initialize to install the flags
	used by GNATDIST.
	Continued work for CA22-003.

	* xe.ads: Add tables to store the flags used by GNATDIST.
	Continued work for CA22-003.

	* xe_utils.adb: Use new scheme to install the flags used by
	GNATDIST.
	Continued work for CA22-003.

	* Makefile.am, Makefile.in: Use new scheme to build xe_defs.adb.
	Continued work for CA22-003.
	
2003-09-02  Samuel Tardieu  <sam@gnat.com>

	* config.sdefault: Use pragma Style_Checks (Off) to prevent long-line
	problems.

	* Makefile.am: Do not compile sdefault.adb with special options.

2003-03-03  Pascal Obry  <obry@gnat.com>

	* xe_utils.adb:
	(Copy_With_File_Stamp): Correctly copy file in overwrite mode.
	Fixes for C303-002.
	Update copyright notice.
	
2003-02-03  Pascal Obry  <obry@gnat.com>

	* xe_usage.adb:
	Update the copyright notice.

2002-10-14  Laurent Pautet  <pautet@enst.fr>

	* xe.ads, xe_ack.adb, xe_back.ads, xe_stdcnf.adb, xe_stubs.adb:
	Add new attribute Allow_Light_PCS which is intended to prevent
	GLADE from configuring with a light PCS. For instance, using DSM
	storage support does not work with a light PCS, but this cannot be
	automatically determined at configuration time. By forcing
	Allow_Light_PCS to false, we prevent this optimization. Fix B930-014.
  
2002-07-25  Laurent Pautet  <pautet@enst.fr>

	* xe_lead.adb: In starter shell mode, use first the main partition
	location and then the default boot location as boot location. Fix
	B725-004.

	* xe_check.adb: Check that location name is not empty string. Fix
	B725-004.

2002-07-11  Pascal Obry  <obry@gnat.com>

	* xe_utils.ads, xe_utils.adb:
	(Create): File parameter is set to mode out. Avoid GNAT warnings
	 about entity referenced before it has a value.
	Work for B711-005.

	* xe_parse.ads, xe_parse.adb:
	(Search_Matching_Parameter): Formal_Type set to mode out to avoid
	 GNAT warnings about entity referenced before it has a value.
	Work for B711-005.

2002-05-28  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.adb: Fix style.

2002-05-11  Pascal Obry  <p.obry@wanadoo.fr>

	* xe_sysdep.ads, xe_sysdep-nt.adb, xe_sysdep-std.adb: Force_Remove
	removed. This code is not anymore platform dependant. 
	Work for B509-009.

	* xe_utils.ads:
	(Delete): Add comment.
	(Unlink_File): Removed, same as Delete.
	Work for B509-009.
	
	* xe_utils.adb:
	(Copy_With_File_Stamp): Use OS_Lib.Delete_File. Raise Fatal_Error if
	the file cannot be copied.
	(Delete): Minor code clean-up.
	(Unlink_File): Removed, same as Delete above.
	Work for B509-009.

	* xe_lead.adb:
	(XE_Lead): Call Delete_File instead of Unlink_File.
	Work for B509-009.

2002-05-09  Pascal Obry  <p.obry@wanadoo.fr>

	* xe_sysdep.ads, xe_sysdep-nt.adb, xe_sysdep-std.adb: Copy_File
	removed.

	* xe_utils.adb: (Copy_With_File_Stamp) Use Copy_File from GNAT.OS_Lib.
	Fix 9930-004.
	
2002-04-02  Laurent Pautet  <pautet@enst.fr>

	* xe.adb: In the GLADE configuration language, an Ada unit has no
	attribute. But we should not raise an assertion failure when
	accessing to a non-existing attribute. Fix
	First_Variable_Component and First_Type_Component for 9916-002.

2002-01-28  Laurent Pautet  <pautet@enst.fr>

	* Makefile.am, Makefile.in: Add -bargs -static to fix 9728-002.

2002-01-25  Laurent Pautet  <pautet@enst.fr>

	* xe_sysdep-nt.adb: Add a pragma Unreferenced to an unused
	procedure parameter in the NT version of XE_Sysdep.

2002-01-13  Pascal Obry  <p.obry@wanadoo.fr>

	* Makefile.in, Makefile.am:
	(gnatdist): Handle -largs with LIBS make variable.
	Needed to build GLADE on Windows with GNAT 5 (8603-003).

2002-01-04  Laurent Pautet  <pautet@enst.fr>

	* xe_parse.adb, xe_parse.ads: Remove unused subprograms
	Search_Variable (9704-003).

	* xe_stubs.adb : Remove usued subprograms SGP_Initialize
	(9704-003).

2001-08-20  Pascal Obry  <obry@gnat.com>

        * xe_utils.adb:
       (Dir_Sep): renaming for GNAT.OS_Lib.Directory_Separator. 
       Use Dir_Sep instead of Directory_Separator to avoid ambiguity.
       Continued work for 8928-003.

2001-07-11  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Split storage_dir string into substrings to fix
	9109-011.

	* xe_utils.adb, xe_utils.adb: Split strings into substrings to
	compile with -gnatg.

2001-06-05  Pascal Obry  <obry@gnat.com>

	* xe_reg.adb: Check for GCC_ROOT environment variable before
	looking in the registry. Fix 9004-005.
	
2001-05-30  Laurent Pautet  <pautet@enst.fr>

	* xe.ads, xe.adb, xe_stubs.adb, xe_back.adb, xe_back.ads,
	xe_stdcnf.adb: Add pragma Priority_Policy to choose between
	Client_Propagated and Server_Declared priority policy. Add
	partition attribute priority to set anonymous tasks priority.

	* all: Update copyright.
	
2001-02-08  Laurent Pautet  <pautet@enst.fr>

	* xe.ads, xe_back.adb, xe_back.ads, xe_lead.adb, xe_stubs.adb: Add
	pragma Remote_Shell to configure the remote shell command and
	options to use when we launch a remote partition. Fix 8607-013.

2001-01-26  Laurent Pautet  <pautet@enst.fr>

	* xe_lead.adb: Do not embrace executable name with quotes. It
	does not help on NT and it fails on SGI.

	* xe_stubs.adb: Use remote shell command and options from
	platform_specific instead of those from xe_defs. Fix differences
	between platforms in regression test.

2001-01-24  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Move partition launching code from partition.adb
	to s-garela.adb in order to execute system() before activating any
	garlic tasks.

	* Makefile.in: Updated.

2001-01-19  Laurent Pautet  <pautet@enst.fr>

	* xe_check.adb: in (Recompile), when we decide to discard a
	compilation error because the unit is not needed to build the
	partition, check that the unit name extracted by
	Make.Extract_Failure is not No_Name.

2000-12-11  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Call initialization procedure of each filter
	package in System.Garlic.Elaboration.Initialize. The problem was
	that the filter initialization code was executed during filter
	package elaboration. As Name_Table depends on tasking
	configuration and as the filter packages depend on Name_Table, we
	have to postpone the filter initialization after the Name_Table
	initialization. Note that Name_Table depends on the initialization
	of the GARLIC tasking. First, we initialize the tasking packages
	of GARLIC (No_Tasking or Tasking), then Name_Table and finaly the
	filter packages.

	* xe_utils.adb, xe_utils.ads: Add procedures to deal with Filters
	units.
   
2000-12-07  Laurent Pautet  <pautet@enst.fr>

	* Makefile.am, Makefile.in: Add b~* files to the CLEANFILES

	* xe_check.adb: Add System.Partition_Interface and System.RPC
	units to the unit check list. They may not appear in the
	dependencies of user units (only the stubs and skels will always
	depend on these units). For this reason, if an internal GARLIC
	unit is in the path, it may not be recompiled even with flag
	-a. We add these two units to force consistency check in such
	situation.

	* xe_stubs.adb: Remove useless -I flags. Remove directory
	information issued by garlic compilation flags cooking.

	* xe_utils.adb, xe_utils.ads: Define configuration suffix. Remove
	useless -I flags. Cook garlic compilation flags. Add garlic in src
	and lib search dir, add -I- to enable garlic unit local
	recompilation and also to mimic gnatmake behaviour, add primary
	dir to src and lib search dir.

	* xe_build.adb: Use configuration suffix from XE_Utils.

2000-11-14  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.adb: Set new parameter And_Save for procedure
 	Scan_Make_Arg to False.

2000-11-09  Pascal Obry  <obry@gnat.com>

	* config.sdefault: change to use files instead of pipe to work
	around a bug under NT (using the MKS toolkit).

2000-09-21  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: register shared passive units even when they are
	configured on active partitions (bug found by reading). Do not
	load any storage support when no passive units are present. Load a
	default storage support when a shared passive unit is present or
	visible on a partition with no data storage location. Otherwise,
	load the storage support when configured.

	* xe_utils.adb: add print_flags procedure. Fix 8111-007.

2000-09-08  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb, xe_utils.ads, xe_utils.adb: Move storage supports
 	like DFS into the Storages hierarchy in order to have a model
 	similar to the Protocoles one.

2000-09-07  Laurent Pautet  <pautet@enst.fr>

	* xe_check.adb: Remove use of Get_File_Name.

2000-09-06  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.adb, xe_check.adb: Use immediate fix to solve problem
 	of incorrect use of Get_File_Name, File_Name_Of_Spec and
	File_Name_Of_Body.

2000-07-03  Laurent Pautet  <pautet@enst.fr>

	* xe_defs.ads, Makefile.am, Makefile.in: Create two functions to
 	return default protocol data and name.

	* xe_back.adb, xe_back.ads: Add fields RCI_Or_RACW and Use_Tasking
 	to partition info with their accessors. Export Add_Location.

	* xe_check.adb: Compute whether a unit needs tasking and store the
 	result in ali info.

	* xe_stubs.adb: Factorize code and define new subprograms
 	Build_Location_String, Add_Protocol, Create_File and
 	Close_File. Compute whether partition is a pure client partition -
 	that is a partition which partition id can be recycled - and then
 	whether partition may have a light pcs - that is a pure client
 	partition without tasking. Generate partition elaboration code
 	according Use_Tasking and RCI_Or_RACW flags. With Tasking or
 	No_Tasking unit depending on Light_PCS flag. With Server child of
 	some units like protocol units or rpc unit when partition has not
 	a light PCS.

	* xe_utils.adb, xe_utils.ads: Add a function to detect a child of
 	system.tasking.
	
2000-05-26  Laurent Pautet  <pautet@enst.fr>

	* header.txt: Update copyright.

	* make-ada-dir, Makefile.am: Remove RCS keyword.

	* all files: Update copyright.

2000-05-24  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Use Has_RACW to set correctly Light_PCS. Fix
 	7722-014.

	* xe.adb: Fix a problem when we restore an empty context - this is
 	used to resolve overloading in gnatdist. When the context is
 	empty, the first node is the configuration itself and this is a
	special case.

	* xe_back.adb, xe_stdcnf.adb: Overload pragma Boot_Location for a
 	signature with a location. We still have a pragma Boot_Location
 	with two parameters (protocol name and data) and another one with
 	a location list.

	* xe_parse.adb: Add a procedure Print_Node to dump the tree.

	* xe_stubs.adb: Fix a code generation problem for shared passive
 	partitions. Set the data location for data storage support
 	correctly.

2000-05-12  Samuel Tardieu  <sam@inf.enst.fr>

	* Makefile.am (xe_defs.adb): Generate the code for
	Get_Default_Optimization.

	* Makefile.am: xe_sysdep.adb was VPATH-unfriendly.

	* xe_defs.ads (Get_Default_Optimization): new function.

	* xe_utils.adb: Take the value of the default optimization to be added
	from XE_Defs instead of an hardcoded value.

2000-04-21  Laurent Pautet  <pautet@enst.fr>

	* Makefile.am, Makefile.in, xe_defs.ads: Add info on support name
 	and specific data of default data storage in xe_defs.

	* xe.adb, xe.ads, xe_back.adb, xe_back.ads, xe_stdcnf.adb: Define
 	new attributes Passive and Storage. Replace attribute Storage_Dir
 	with Directory to avoid confusion with data storage for passive
 	partition. Keep Storage_Dir working for backward
 	compatibility. Minor reformatting.

	* xe_build.adb, xe_check.adb, xe_usage.adb: Minor reformating.

	* xe_lead.adb: Replace BOOT_SERVER with BOOT_LOCATION.

	* xe_stubs.adb: Move file and string operations to
 	xe_utils. Create a garlic storage configuration file like protocol
 	configuration file. If as a default, tcp is automatically loaded
 	on a partition, no storage support is automacally loaded for an
 	active partition. dfs is automatically loaded for a passive
 	partition. 

	* xe_utils.adb, xe_utils.ads: Get some procedures from
 	xe_stubs. Sort procedures in alphabetic order. Add names and
 	procedures to deal with data storages.

2000-03-25  Laurent Pautet  <pautet@enst.fr>

	* Makefile.am: Fix the previous fix. Makefile.in is automatically
	built so the fix should appear in Makefile.am.

2000-03-24  Pascal Obry  <obry@gnat.com>

	* Makefile.in: Do not check for build directory for NT version
	xe_defs.adb. This was wrong anyway. Fixes 7524-002.

2000-03-15  Pascal Obry <obry@gnat.com>

	* xe_usage.adb: Update copyright notice
	
2000-03-01  Laurent Pautet  <pautet@enst.fr>

	* xe_usage.adb: Replace @gnat_version@ and @glade_version@ with
 	__gnat_version and __glade_version__.

2000-03-01  Laurent Pautet  <pautet@enst.fr>

	* xe_stdcnf.adb, xe_back.adb, xe_back.ads: Add attribute Passive
 	to type Partition in order to provide passive partitions and not
 	only active partitions.

2000-01-31  Laurent Pautet  <pautet@enst.fr>

	* Makefile.am: Do not fail when removing a non-existing file when
 	using a non-GNU make (HPUX).

2000-01-27  Laurent Pautet  <pautet@enst.fr>

	* xe_lead.adb: Run remote command in background (a '&' was missing 
	in the generated shell script).

2000-01-26  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_lead.adb: Use the same scheme for starter Shell as for
	starter Ada.

	* xe_stubs.adb: Remove trailing space to allow for quoting.

2000-01-25  Laurent Pautet  <pautet@enst.fr>

	* xe_lead.adb: Remove some quote on the remote shell command line.

2000-01-24  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Provide a new parameter Rsh_Options to Launch.

	* xe_lead.adb: Provide a new command line argument of the remote
	shell command.

	* Makefile.am, Makefile.in: Substitute RSH to RSH_CMD and define a 
	new variable RSH_OPT.

1999-12-21  Laurent Pautet  <pautet@enst.fr>

	* xe_back.adb: Do not allow nultiple definitions of application
	main subprogram. Fix part of 7221-002.

1999-12-01  Laurent Pautet  <pautet@enst.fr>

	* xe.adb, xe.ads: Revisit configuration node structure. Revisit
 	the way literals and array components are handled. Declare new
 	attribute Self_Location that allows to define the locations to use
 	to contact a partition. Accept two notations for attribute
 	Self_Location (overloading). Define two new predefined types. A
 	record type composed of two string components Protocol_Name and
 	Protocol_Data to specify a location like (<protocol_name>,
 	<protocol_data>). An array type of Location to specify several
 	locations. Add a new pragma Boot_Location which is supposed to
 	replace Boot_Server which is not really meaningful and not
 	consistent with Self_Location attribute. Accept two notations for
 	this pragma (same as attribute Self_Location). Define a context
 	type to preserve and restore the parsing context before resolving
 	overloaded pragmas and attributes.

	* xe_back.adb, xe_backs.ads: New procedure Add_Location to add a
 	new location <protocol_name>://<protocol_data> to a partition. New
 	function Get_Location to get the first location assigned to a
 	partition. The locations of a partition are linked and the first
 	location is the root of this list. Define a new type LID_Type for
 	Location Index and add a first and last location id in a partition
 	record to store the location list. Define a location record and a
 	location table. Handle attribute Self_Location and pragma
 	Boot_Location. Define a boot location list with
 	Def_Boot_Location_First and Def_Boot_Location_First.

	* xe_parse.adb, xe_parse.ads: Fix a typo. Improve
 	P_Aggregate_Assignment to parse an array of records. Handle
 	overloading of pragmas and attributes. Improve the way we deal
 	with unconstrained arrays. Warn user that the configuration body
 	is now an obsolete feature.

	* xe_stdcnf.adb: Add an anonymous location record type composed of
 	two strings and an anonymous location unconstrained array
 	type. Add an attribute Self_Location to partition type and a
 	pragma Boot_Location.

	* xe_stubs.adb: New procedure Create_Protocol_Conf_File. This
 	procedure creates a s-gaprco.adb file which contains a protocol
 	configuration for a given partition. This unit contains an
 	initialization procedure which registers all the protocols needed
 	by the location attribute plus the replay protocol. By default,
 	tcp and replay are registered. Force the naming convention of
 	system protocol files to follow gnat style. Compile this new file
 	if needed. Modify s-garela to initialize a partition self location
 	configuration. Call to Set_Self_Location with a string which can
 	be a list of locations (<protocol_name>://<protocol_data>)
 	separated by spaces.

	* xe_utils.adb, xe_utils.ads: Declare the protocol configuration
 	file name and unit name.

	* xe_build.adb, xe_lead.adb: Changes due to specification changes
 	above.
	
	* Makefile.in: Rebuild because of configure.in changes.
	
	* config.sdefault: Update to new sdefault specification. Fix
 	7201-001.

1999-10-09  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Remove occurrences of -gnaty* and -gnatg when
 	compiling GLADE generated files. Fix 7001-009.
	
	* xe_utils.ads, xe_utils.adb: Enhance Remove_GNAT_Flag in order to 
	remove any gnat flag beginning with a given string.
	
1999-10-07  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.adb: Remove occurences of -gnaty when compiling
	GLADE generated files. Fix 7001-009.

	* xe_utils.ads, xe_utils.adb: Add new procedure Remove_GNAT_Flag.

1999-09-07  Laurent Pautet  <pautet@enst.fr>

	* xe.adb, xe.ads: Change reconnection terminology.

1999-08-14  Pascal Obry <obry@gnat.com>

	* xe_sysdep.ads, xe_sysdep-std.adb, xe_sysdep-nt.adb: System
	dependant functions to copy or remove a file, and to set the
	executable file's attribute. These files are needed to have a
	standalone (rely only on the standard system tools) gnatdist tool
	under NT.

	* xe_utils.adb: remove all usage of external tools here (rm, cp,
	mkdir and chmod), xe_utils now use the xe_sysdep services. Remove
	declaration of Chdir and use Directory_Operations.Change_Dir.

	* Makefile.am, Makefile.in: add missing parentheses around PSNAME
	variable. Add rules to select the right xe_sysdep unit and to
	build it.
	
1999-07-23  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: gnatdist was supposed to remove object and ali
 	files of rci units that are not configured on a partition. This
 	could happen when the user modifies the configuration file and
 	when rci units previously configured on a given partition are no
 	longer configured on it. The deletion was incorrect because the
 	filenames were incorrect.
	
1999-07-20  Pascal Obry  <obry@gnat.com>

	* xe_utils.ads: add some comments.

1999-07-07  Laurent Pautet  <pautet@enst.fr>

	* xe_stdcnf.adb, xe.ads, xe_back.adb: Add a new pragma Priority to
 	allow a user to enable priority propagation or not. This pragma is
 	just declared in the configuration language. Nothing is generated
 	yet.

	* xe_utils.adb: When -bargs and -largs are passed on the command
 	line, Scan_Make_Arg switches into Binder or Linker mode. It is not
 	possible to add glade internal compiler arguments. Fix this
 	bug. This bug was detected in several regression tests in which
 	-bargs -f (ask gnatbind to follow ada rules) is needed.

1999-07-01  Laurent Pautet  <pautet@enst.fr>

	* xe_stdcnf.adb: Change Link_Name into External_Name for pragma
 	Import.

	* xe_check.adb: Update Get_File_Name usage. We do not have
	subunits.
	
1999-05-20  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_stubs.adb: Simulate --nolaunch on the command line when the
	starter is Shell or None. Fixes recent regressions.

1999-05-18  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.adb: Fix from Bart Nickerson for VMS (incorrect
	executable lookup).

1999-05-15  Laurent Pautet  <pautet@enst.fr>

	* xe_parse.adb: Main subprogram cannot be a child subprogram (fix
	6510-G02 or 6510-006). Check configuration name conflict (fix
	6510-G01 or 6510-005).

1999-05-06  Laurent Pautet  <pautet@enst.fr>

	* xe_check.adb, xe_back.adb: Resolve a visibility conflict.

1999-04-12  Samuel Tardieu  <sam@inf.enst.fr>

	* Makefile.am: Remove the GNATMAKE alias as it will be defined by
	configure.
	Replace ${} by $() so that it doesn't confuse automake any longer.

1999-04-08  Laurent Pautet  <pautet@enst.fr>

	* xe_back.adb, xe_back.ads, xe_check.adb, xe_stubs.adb,
	xe_utils.adb, xe_utils.adb: the previous check-in was taking a
	slightly un-synchronized version of the gnat sources.

1999-04-07  Laurent Pautet  <pautet@enst.fr>

	* xe_check.adb, xe_back.adb: Update in regard to gnat changes.

1999-03-23  Pascal Obry <obry@gnat.com>

	* xe_reg.ads, xe_reg.adb: New package to handle the NT registry.
	This is needed for the NT binary release. There is one function
	exported, Get_GARLIC_Dir that will return the directory where the
	GARLIC runtime is to be found.

	* Makefile.in, Makefile.am: Change xe_defs.adb generation when
	under Windows NT. In the NT case, xe_defs.adb will use xe_reg
	to find the GARLIC library.
	
1999-02-02  Laurent Pautet  <pautet@enst.fr>

	* config.sdefault: Fix installation on NT (Arno's suggestion).

1999-01-20  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.adb: Use GLADE_LIBRARY_DIR env. var. to search GARLIC
	lib. This enhancement allows binary release.

1999-01-14  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_stubs.adb: Fix spelling mistake in generated file, which
	prevented the Task_Pool attribute from working.

1999-01-07  Laurent Pautet  <pautet@enst.fr>

	* xe_check.adb: Final fix for 6023-G01. Set filename info back to
 	zero.

1999-01-03  Laurent Pautet  <pautet@enst.fr>

	* xe_check.adb: Deallocate ali test buffer once scanned. Part of
	fix for 6023-G01. Remove typo.

1998-12-08  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Change stub generation because one of the Garlic
 	subprograms has changed of profile.

1998-10-23  Laurent Pautet  <pautet@enst.fr>

	* xe_lead.adb: Generate at run-time a default boot server address
	when Starter is a shell script.

1998-10-16  Samuel Tardieu  <sam@inf.enst.fr>

	* All files: update headers.

1998-10-15  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Fix stub generation for SP units. Use the body
	file when it exits to generate a SP caller stub (cxe2001).

1998-10-14  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_stubs.adb: Qualify Free procedure so that it doesn't clash
	with GNAT 3.12w GNAT.OS_Lib.Free.

1998-10-07  Laurent Pautet  <pautet@enst.fr>

	* xe_back.adb, xe_back.ads: New function Is_RCI_Or_SP_unit.

	* xe_check.adb: Substitute any access to Units.Table (U).RCI by
	Is_RCI_Or_SP_Unit in order to handle SP units the same way we
	handle RCI units.

	* xe_stubs.adb: Same as above. Modify Callers table which now
	stores unit ids rather than unit names. Modify call to Check to
	take new parameter RCI into account.

1998-10-05  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_lead.adb: Use correct file name for Ada starter. Checked in
	for Pascal Obry.

1998-09-24  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_stubs.adb: Use -s for linking to strip an executable rather
	than calling Execute_Strip.

	* xe_utils.ads, xe_utils.adb: Remove procedure Execute_Strip since 
	we do now stripping using the -s flag (strip does not work well on 
	Windows NT and erases the resources).

1998-08-20  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_utils.adb: Change instances of Dont_Execute by Do_Not_Execute 
	to match GNAT sources.

	* xe_check.adb: Likewise.

	* xe_parse.adb: Minor reformatting.

1998-08-18  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Don't check version on RCI generic unit. Bug
	introduced by latest checkins.

1998-08-17  Laurent Pautet  <pautet@enst.fr>

	* Makefile.am, Makefile.in: Remove flag -a as we are not supposed
	to check gnat library.

	* xe_back.adb: Provide 'Image to some GLADE enuerate types.

	* xe.ads: Add new reconnection attribute and reconnection
	enumerate type.

	* xe_back.adb: Reformat some output messages and handle
 	reconnection attribute. Add function To_Build which returns True
 	when an unit has to be built because it explictly mapped on a
	partition in the configuration file.

	* xe_back.ads: Add a set of subprograms to handle reconnection
 	attribute.

	* xe_build.adb: Improve the way packages are initiliazed in order
 	to initialize GLADE enumerate type images. Evaluate a new boolean
 	Build_Full_Configuration.

	* xe_check.adb: Rewrite everything to handle the case where the
 	user builds only a part of the configuration with an incomplete
 	set of sources (all the sources to build the distributed
 	application are not available). Improve the checks to perform when
 	we don't build the full configuration.
	
	* xe_lead.adb: Reformat some output messages.

	* xe_parse.adb: Improve the way packages are initiliazed.

	* xe_scan.adb: Reformat some output messages.

	* xe_stdcnf.adb: Improve the way enumerate types are handled. Add
	attribute reconnection.

	* xe_stubs.adb: Generate appropriate call when reconnection
 	attribute is used. Find RCI caller packages in a less tricky
 	way. Improve the way the partition closure is computed. Improve
 	the checks to perform when we don't build the full
 	configuration. Use enumeration type images.

	* xe_utils.adb: Export No_Args. Provide new procedures (see
 	below). Skip parameter Object in Execute_Gcc when this parameter
 	is No_File. Don't exit when GCC fails to compile. Reformat some
 	output messages. Improve procedure Find_Source in order to use
 	%[bs] when it is available..

	* xe_utils.ads: Add new procedures Compilation_Error and
	Source_File_Error to print a message and raise an exception. Add
	Is_Spec_Name and Is_Body_Name (same as uname, but do not drag this 
	unit). Add To_Spec to get an encoded spec name. Add To_String.
	
1998-08-05  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_lead.adb: Do not issue -n inconditionnally when building
	shell starter.

1998-08-03  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_stubs.adb: Add System.Garlic.Locking to the list of included
	units.

1998-07-31  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.ads, xe_utils.adb: Improve GNAT_Style format procedure
 	and add No_Str constant.

	* xe_stubs.adb: Add two functions to capitalize a string or a
 	name_id. Add a procedure Dwrite_Call to write a procedure call
 	easily. Use No_Str instead of "". Add comments. Make some major
 	cleanup in the code generated to handle elaboration, main
 	subprogram execution, version consistency and termination. 
	
	* xe_back.ads, xe_back.adb: Add a function Image for
 	Termination_Type.

1998-07-29  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Handle exception in the partition main subprogram
	in order to start termination. We should clean up this part of the 
	code.

1998-07-28  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.adb, xe_utils.ads: Add a new procedure Execute_Strip to
 	strip an executable. Change optimization level for gnatdist. When
 	nothing (-g or -O?) is specified, use -O2.

	* xe.ads: Add a new flag Optimization_Mode (-ds). This allows to
	strip an executable. Useful to pass regressions tests when we
	don't have enough space left in /tmp. This flag is not documented
	in purpose.

	* xe_stubs.adb: Strip when needed.

1998-07-22  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Use Global_Termination to trigger global
 	termination at the end of the main subprogram of the main
 	partition.

1998-07-21  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_stubs.adb: Style fix.

1998-07-20  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Move Sam's 1998-06-16 fix to the right
	place. Fix regressions in ACVC tests.

1998-07-16  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Insert pragma Warnings (On) a little bit later.

1998-07-15  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Add pragma Warnings (Off) to compile s-garela.adb
 	safely.

1998-07-02  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_stubs.adb: Check for RACW even on non-RCI units.

1998-06-16  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_stubs.adb: Choose the right termination package depending on
	the context.
	Write a with clause for System.Garlic.Types to get the termination
	types.

1998-06-16  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Force termination to local when light PCS, termination
	not already defined and not main partition.

	* xe_back.adb, xe_back.ads: Add new procedure Set_Termination.

1998-06-12  Laurent Pautet <pautet@enst.fr>

	* xe_stubs.ads, xe_stubs.adb: Spec *and* body of a RCI are now
	marked as RCI in an ali file. This new behaviour arose a
	bug in the version check code.

	* xe_check.adb: We reload ali files after a first step of
	compilation. Unfortunatly, this reload was also done on Ada lib.

1998-06-08  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_utils.adb: (Has_Standard_Extension): new function.
	Do not issue "-x ada" when the file dealt with has a standard (ads 
	or adb) extension.

1998-05-12  Samuel Tardieu  <sam@inf.enst.fr>

	* make-ada-dir: Updated.

	* xe.adb: Remove unused with of ALI.

	* xe_lead.adb: Remove unused with of Namet and Osint.

	* xe_parse.adb: Remove unused with of GNAT.OS_Lib, Osint and Table.

	* xe_scan.adb: Remove unused with of Csets.

	* xe_stubs.adb: Remove unused with of Unchecked_Deallocation.

1998-05-11  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Change Partition_Interface.Startup into
 	Partition_Interface. To get a fake PCS in GNAT.

1998-04-20  Laurent Pautet  <pautet@enst.fr>

	* config.sdefault: Fix some problems with NT (????)

1998-04-17  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Compute partition checksum. Move code to compute
	most recent stamp from xe_check.adb to xe_stubs.adb.

	* xe_check.adb: Remove code to compute most recent stamp.

	* xe_back.ads, xe_back.adb: Add checksum component to a partition
 	record.

1998-04-05  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Skip Ascii.CR to please DOS/Windows.

	* xe_utils.adb: (Locate) When locating executable, add executable
 	suffix. (Initialize) Add include GARLIC flag before -largs, -cargs 
	and -bargs but after other flags.

1998-03-31  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_utils.ads: Remove useless with of ALI.

1998-03-30  Laurent Pautet  <pautet@enst.fr>

	* xe_check.adb: Two major problems have been detected. First,
 	gnatmake has two problems. First, it doesn't detect when an ali
 	has already been loaded. Second, when an obsolete ali is loaded,
 	it is not replaced by the good one that has just been
 	compiled. Second, file stamp comparisons are completly wrong
 	because of the new implementation (x = y iff |x - y| <=
 	2). Compile_Sources gets confused because of this. For all these
 	reasons, we don't use file stamp comparisons from osint. To load
 	the ali files in the ali table, we recompile everything using
 	Compile_Sources, we reset all the tables and then we reload
 	everything. During reload, we compute the most recent file from
 	which a unit depend. For this, we use Ofile_Full_Name from
	ALIs_Record to store the more recent file.
	
	* xe_stubs.adb: Move some verbose messages into debug
	messages. Don't use Ofile_Full_Name anymore in Create_Stub.

	* xe_back.adb: Move some verbose messages into debug messages.

1998-03-24  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Call Establish_RPC_Receiver from partition.adb
	in order to prevent GARLIC from having to do it itself and to
	introduce a dependency from System.RPC.

1998-03-23  Laurent Pautet  <pautet@enst.fr>

	* xe_check.adb: Improve recompilation mode (Ada lib).

Sat Mar 21 22:38:35 1998  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.adb: Don't include GARLIC as Ada library.

	* xe_usage.adb: Update usage.

	* xe_stubs.adb: Rename object file when RCI spec and body file
	name are different (gnat.adc).

1998-03-20  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.ads, xe_utils.adb: Add Dir to build concatenate several
	strings and name_ids with directory separator in between. Change
	way of handling time stamps. Remove some variables that were not
	very usefull.

	* xe_stubs.adb: Store configuration and executable file stamps
	into glade.sta. Use XE_Utils.Dir. Add several procedures to help
	the partition main subprogram generation. Same for elaboration
	package body. Use of new unit System.Partition_Interface.Startup.

	* xe_back.ads, xe_back.adb: Remove Load_All_Units (no longer
	used).

	* xe_check.adb: Improve recompilation mode especially to handle
	non regular filenames (from gnat.adc). Use the fact that u%[bs]
	info contains the index into Unit table. Load distributed
	application main subprogram first to take into account gnat.adc
	informations using main subprogram ali. Use XE_Utils.Dir.

	* xe_parse.adb, xe_stdcnf.adb: Use XE_Utils.Dir.

1998-03-11  Laurent Pautet  <pautet@enst.fr>

	* xe_check.adb: Some units are explicitly loaded (comes from
	configuration file). If its library is a readonly library, it
	won't be loaded by gnatmake. So, we have to load this library
	ourself in the ALI table.

1998-03-09  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.adb: Use Scan_Make_Arg from Make unit. Re-organize
	Initialize to use a copy of Make.Initialize which includes
	-A<GARLIC> flag.

	* xe_build.adb: Re-organize code because of changes above.

1998-03-08  Laurent Pautet  <pautet@enst.fr>

	* config.sdefault: Change output when argument is pathtolib. This
	script is used now in several cases in GARLIC.

1998-02-25  Laurent Pautet  <pautet@enst.fr>

	* xe_utils.adb, xe_utils.ads: Add a new function GNAT_Style to
 	retrieve proper casing for a unit.

	* xe_stubs.adb: Use GNAT_Style for filtering unit.

1998-02-19  Laurent Pautet  <pautet@enst.fr>

	* Makefile.am, Makefile.in: gnatdist is no longer a script. Use
	$(EXEEXT) to build a platform independent executable.
	
	* gnatdist.in: No longer needed.

	* xe_utils.adb: Add GARLIC flags directly in Ada code rather than
	in gnatdist script (-I${GARLIC}, -L${GARLIC}, -lgarlic).

1998-02-19  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_utils.ads: Fix capitalization of OS_Lib.

	* xe_check.adb: Likewise.

	* xe_utils.adb: Likewise.

1998-02-19  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Use Exe_Suffix to build executable.

	* xe_utils.adb, xe_utils.ads: Add Obj_Suffix and Exe_Suffix.

1998-02-17  Laurent Pautet  <pautet@enst.fr>

	* xe_back.adb: Remove trailing spaces in configuration screen
 	output.

	* xe_check.adb: Add units already configured on partition type
	(default_partition) to every partition.

	* xe_back.adb: New procedure Show_Partition (extracted from
 	Show_Configuration).
	
1998-02-16  Laurent Pautet  <pautet@enst.fr>

	* xe_back.adb: Declare Default_Partition as a normal
 	partition. This way it is properly initialized.

	* xe_parse.adb: A declared subprogram ('Main) can be the main
 	procedure of the distributed application. Declare it twice
	caused gnatdist to yell.

1998-02-16  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_build.adb: Remove useless with clauses.

	* xe_check.adb: Likewise.

	* xe_lead.adb: Likewise.

	* xe.ads: Likewise.

	* xe_utils.ads: Likewise.

	* xe_stubs.adb: Likewise.

1998-02-15  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_back.adb: Remove unused variables.

1998-01-08  Laurent Pautet  <pautet@enst.fr>

	* xe_back.adb: Convert filter names to all lower in order to have
	the same convention between GNATDIST and GARLIC.

	* xe_scan.adb, xe_utils.ads, xe_utils.adb: Move
	To_Lower procedure from xe_scan body to xe_utils.
	Add a version of To_Lower for name_id.

1998-01-03  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_stubs.adb: Use String_Access from System.Garlic.Types

1998-01-02  Samuel Tardieu  <sam@inf.enst.fr>

	* xe_usage.adb: Remove references to -V

	* gnatdist.in: Remove handling of -V

	* Makefile.am: Remove references to glade_version.txt

1997-12-15  Samuel Tardieu  <sam@inf.enst.fr>

	* gnatdist.in: Add special handling for -V.

	* xe_usage.adb: Update copyright notice. Add documentation for -V.

	* Makefile.am (data_DATA): Install glade_version.txt.

	* glade_version.txt: New wording.

1997-12-14  Samuel Tardieu  <sam@inf.enst.fr>

	* glade_version.txt: New file containing versioning information.

1997-12-11  Laurent Pautet  <pautet@enst.fr>

	* xe_stubs.adb: Fix 4911-G01. Handle properly the case in which a
	RCI has only a spec.

1997-11-27  Laurent Pautet <pautet@enst.fr>
        
        * xe_stubs.adb: When an exception is raised from the user code,
        some finalization code has to executed (for instance, local
        termination). Catch exception, execute finalization code and
        re-raise exception. Fix partially 4827-G01.
        
1997-11-18  Laurent Pautet <pautet@enst.fr>
        
        * xe_check.adb: Fix incorrect test concerning configuration of
        generic unit.
        
        * xe_stubs.adb: Fix incorrect caller object filename. Should be
        computed from source spec file name (gnat.adc).
        
1997-11-17  Laurent Pautet <pautet@enst.fr>
        
        * xe_stubs.adb: Fix incorrect test which skipped a debugging
        message.
        
        * xe_check.adb: Search through unit U hierarchy to find a RCI
        parent and check whether this unit is configured on its child
        partition. Fix 4814-G01.
        
        * xe_back.adb: Change Get_Parent to return No_Name when there is
        no parent.
        
1997-10-30  Samuel Tardieu <sam@inf.enst.fr>
        
        * xe_check.adb: Pass the value of -jN flag to Compile_Sources.
        
1997-10-29  Samuel Tardieu <sam@inf.enst.fr>
        
        * gnatdist.in: Use EXTRA_LIBS from configure.
        
1997-10-29  Laurent Pautet <pautet@enst.fr>
        
        * xe_utils.adb, xe_utils.ads: Remove unused subprograms (basically
        xe-gcc stuff). Change function Strip_Uname_Suffix into U_To_N.
        
        * xe_stubs.adb: Change to new stub generation. Handle generic
        packages.
        
1997-10-24  Laurent Pautet <pautet@enst.fr>
        
        * xe_utils.ads: Add a procedure Free (to deallocate a
        string_access variable). Add Configuration parameter in procedure
        Produce_Partition_Executable (compilation, binding and linking are
        executed in current directory and no longer in
        dsa/<conf>/<part>). Add Object parameter in Compile_RCI_Receiver
        and Compile_RCI_Caller for same reason.
        
        * xe_utils.adb: Add -x ada systematically. Add -o <object>
        systematically to save object file in place. Compile, bind and
        link in current directory to honor gnat.adc.
        
        * xe_stubs.adb: Use previous changes and honor gnat.adc. Fix
        4617-G02.
        
1997-10-23  Laurent Pautet <pautet@enst.fr>
        
        * xe_stubs.adb: Bad command order. Fix a problem with 0003-G00.
        
        * xe_back.adb, xe_back.ads: Add new procedure Get_Parent
        which extracts the root parent from a unit name.
        
        * xe_check.adb: Check that a RCI package and its children are on
        the same partition. Fix 0002-G09.
        
1997-10-17  Laurent Pautet <pautet@enst.fr>
        
        * xe_stubs.adb: Change s-garela.adb generation. Move s-garela
        generation code into a procedure Initialize.
        
1997-10-16  Laurent Pautet <pautet@enst.fr>
        
        * xe_stubs.adb: Update caused by System.Garlic.Options changes.
        
1997-09-17  Laurent Pautet <pautet@enst.fr>
        
        * xe_lead.adb: Pipe standard error and output to /dev/null for
        a pragma Starter (Shell) because some systems output the pid of
        the background process.
        
        * xe_stubs.adb: Fix Mark_Unit_On_Partition when unit is generic.
        
1997-09-13  Samuel Tardieu <sam@inf.enst.fr>
        
        * config.sdefault: Use output of gnatls to find the right include
        and object directories. Also output the path to libgnat.a when
        used with the 'pathtolib' argument. Make it work with a
        non-standard or cross installation.
        
1997-09-12  Laurent Pautet <pautet@enst.fr>
        
        * xe_utils.adb, xe_scan.adb, xe_lead.adb, xe_build.adb,
        xe_back.adb, xe_stubs.adb, xe_check.adb: Fix output message.
        
1997-09-03  Laurent Pautet <pautet@enst.fr>
        
        * xe_utils.ads, xe_utils.adb: Add Message procedure and remove
        Write_Message (more general). Add Strip_Unit_Suffix to remove
        %[bs] suffixes in a unit name.
        
        * xe_back.ads, xe_back.adb: Change More_Recent_Stamp into
        Most_Recent_Stamp. Add a boolean parameter to Set_Light_PCS. Use
        new Message procedure to reduce code.
        
        * xe_build.adb, xe_lead.adb, xe_scan.adb, xe_check.adb: Use new
        Message procedure.
        
        * xe_stubs.adb, xe_stubs.adb: Use new Message
        procedure. Optimization of recompilation due to stamp
        inconsistency. Add procedure Mark_Units_On_Partition.
        
1997-08-29  Laurent Pautet <pautet@enst.fr>
        
        * xe_stubs.adb, xe_back.adb, xe_back.ads, xe_check.adb,
        xe_stubs.ads: Move the code such a way that gnatdist output
        indicates that a light PCS is used.
        
1997-08-29  Laurent Pautet <pautet@enst.fr>
        
        * xe_stubs.adb: Detect if a partition includes a RCI package or
        may declare a RACW variable. If this is not the case, then set
        Has_RCI_Pkg_Or_RACW_Var to false.
        
1997-08-12  Laurent Pautet <pautet@enst.fr>
        
        * xe_back.ads, xe_back.adb: Remove Default_Host which was not
        initialized but still used.
        
        * xe_lead.adb, xe_stubs.adb: Suppress useless function calls.
        
        * xe_parse.adb: Add some tree debugging information.
        
1997-08-12  Samuel Tardieu <sam@inf.enst.fr>
        
        * config.sdefault: libgnat.a is now located under adalib.
        
        * Makefile.am: gnatdist is now generated from gnatdist.in.
        
1997-06-04  Laurent Pautet <pautet@enst.fr>
        
        * xe_back.adb: Fix problems in Set_Partition_Attribute due to
        switch from Null_PID to Default_Partition as predefined partition
        PID.
        
1997-05-20  Laurent Pautet <pautet@enst.fr>
        
        * xe_back.adb: Use first slot of tables to store the default type
        attributes.
        
1997-05-14  Laurent Pautet <pautet@enst.fr>
        
        * xe_stubs.adb: Generate task pool bounds
        assignment. Part of Task_Pool attribute implementation.
        
1997-05-05  Samuel Tardieu <sam@inf.enst.fr>
        
        * xe_utils.adb: Changed "delete" into "deleting" and format output
        correctly.
        
1997-05-02  Laurent Pautet <pautet@enst.fr>
        
        * xe.ads: Add numeric literal token.
        
        * xe_back.adb: Use Default_Partition = Partitions.Table
        (Partitions.First) to store Partition_Type default values. Same
        thing for Channels. Add new procedure Initialize to initialize
        these defaults. Handle Attribute_Task_Pool in
        Set_Partition_Attribute.
        
        * xe_build.adb: Invoke XE_Back.Initialize;
        
        * xe_check.adb, xe_lead.adb: Change loop range for Partitions
        (resp. Channels) to skip the first as it corresponds to the
        default values for the type Partition_Type (resp. Channel_Type).
        Use Default_Partition (resp. Default_Channel) to get the default
        of Partition_Type (resp. Channel_Type).
        
        * xe_stdcnf.adb: Add new type declaration _task_pool (internal use
        only) defined as an array of 3 integers (low, high, max). Declare
        an attribute task_pool for partition_type.
        
        * xe_scan.adb: Scan numeric literals.
        
        * xe_parse.adb: Allow a representation clause to have an aggregate
        as right operand. Add new function Tmp_Name to generate internal
        temporary names.
        
1997-04-30  Laurent Pautet <pautet@enst.fr>
        
        * xe_back.adb, xe.ads, xe_stdcnf.adb: Hooks to be able to specify
        task pool marks (low, high, max). These three integers would
        specify the low, high and max bounds of anonymous tasks in Garlic.
        
1997-04-29  Laurent Pautet <pautet@enst.fr>
        
        * xe_utils.ads, xe_utils.adb: Change More_Recent into ">" to avoid
        confusion.
        
        * xe_stubs.adb, xe_back.adb: Fix a problem with file stamp on very
        fast machines (stamp (.o) = stamp (.adb)).
        
1997-04-23  Laurent Pautet <pautet@enst.fr>
        
        * xe_stubs.adb: Corrected major typo in procedure
        Create_Elaboration_File: condition to generate calls to
        Set_Channel_Filter was inverted. Bug reported and fixed by T. Wolf
        
1997-04-22  Laurent Pautet <pautet@enst.fr>
        
        * xe_check.adb: Use Check_Internal_Files in Compile_Sources as a
        workaround to gnatmake -a bug on Linux platform (no object file
        present with the shared library)
        
1997-04-07  Samuel Tardieu <sam@inf.enst.fr>
        
        * xe_utils.adb: Removed references to xe-gcc.
        
        * Makefile.am: Ditto.
        
1997-04-01  Laurent Pautet <pautet@enst.fr>
        
        * Makefile.am, Makefile.in: Add GNATSRC dependency for xe_defs.adb
        
1997-03-28  Laurent Pautet <pautet@enst.fr>
        
        * xe.adb, xe_back.ads: Adapt to new Table package.
        
1997-03-27  Laurent Pautet <pautet@enst.fr>
        
        * xe_utils.ads: Fix bad renaming that was not detected before.
        
1997-03-21  Laurent Pautet <pautet@enst.fr>
        
        * xe_check.adb: Always load internal files. Otherwise, a partition
        containing explicitly only predefined units are detected as empty.
        
1997-03-21  Samuel Tardieu <sam@zaphod.enst.fr>
        
        * Makefile.am: Make xe_defs.adb and sdefault.adb depend from the
        Makefile.
        
1997-03-08  Laurent Pautet <pautet@enst.fr>
        
        * xe_lead.adb: Use Get_Rsh_Command to build shell script.
        
1997-03-07  Laurent Pautet <pautet@enst.fr>
        
        * xe_defs.ads, Makefile.am, Makefile.in: Add function
        Get_Rsh_Command which is determined at configuration time and set
        in the body of xe_defs.adb.
        
        * xe_stubs.adb: Use the previous new feature.
        
1997-02-27  Laurent Pautet <pautet@enst.fr>
        
        * xe_check.adb: Check that a channel has not been declared twice
        (wuth a different name like (C1, C2 : Channel := (P1, P2)). Check
        that the pair of partitions is a real pair, and not twice the same
        partition.
        
        * xe_stubs.adb: Predefined type partition filer was incorrectly
        generated. The peer partition name was also incorrect.  Forgot to
        check that the default filter was not null => illegal with.
        
        xe.ads, xe.adb: Add Get_Filter for a partition.
        
1997-02-26  Laurent Pautet <pautet@enst.fr>
        
        * xe.ads: Change attribute filter into CFilter (Channel) and add a
        new one PFilter (Partition). When this attribute applies to
        predefined type Partition, then a partition always communicates
        with another one using the given filter. When this attribute
        applies to predefined channel type, any communication channel
        declared in the configuration language uses the given filter. At
        last, when this attributeapplies to a communication channel, the
        filter used is the filter given.
        
        * xe_stdcnf.adb: Propagate changes mentionned above.
        
        * xe.ads: Add pragma Registration_Filter. When a partition
        registers its filters (and data) to the lead partition or when a
        partition queries filters (and data) of another partition, then a
        default filter can be used. In some way, it is similar to the
        Boot_Server pragma. This feature is usefull for encryption when
        two partitions have to exchange (for instance) a DES key encrypted
        with public and private keys.
        
        * xe_back.adb: Channels table has been redefined. In Partitions
        table, First_Channel and Last_Channel are head and tail of a
        linked list of channels. In Channels, a channel is a peer (L, R)
        of Channel Partition, which contains the partition P and the next
        channel of this partition P.
        
        * xe_back.adb: P'Filter has been forbidden. I can't see the
        possible usage of this feature. Only Partition'Filter is
        meaningul.
        
        * xe_back.adb: Change error messsages ("type bla" -> "predefined
        type bla").
        
        * xe_back.ads: Add several default variables and define Channel
        Partition Type.
        
        * xe_build.adb: Fix a bug concerning ".cfg" suffix.
        
        * xe_check.adb: Filenames were not properly translated from unit
        names. Call to the wrong routine. Write_Compile_Command was
        invoked with the wrong parameter.
        
        * xe_lead.adb, xe_utils.ads, xe_utils.adb, xe_scan.ads: Reorganize
        code (alphabetical order).
        
1997-02-24  Laurent Pautet <pautet@enst.fr>
        
        * xe_parse.adb: Add a general Write_Error_Message procedure.
        Update Declare_Subprogram to handle new subprogram definition.
        
        * xe.ads, xe.adb: Add function Is_Variable_Initialized and include
        is Set_Variable_* Variable_Is_Initialized.
        
        * xe_parse.adb, xe_parse.ads: Rewrite tree output. Remove junk
        code.
        
        * xe_scan.adb: Fix a bug (string without end delimiter).
        
        * xe.ads, xe.adb: Change xxx_Parameter_Mark into
        xxx_Parameter_Initialized.
        
        * xe.ads, xe.adb: Remove Starter_Method_Type and use
        Import_Method_Type instead (Ada and Shell were both used).
        
        * xe_parse.ads, xe_parse.adb, xe_stdcnf.ads, xe_stdcnf.adb: Export
        xe_parse internal subprograms and move standard configuration into
        xe_stdcnf. Reorganize code.
        
        * xe_utils.ads: Fix a bug due to a typo (">" was "=")
        
        * xe_back.adb: Fix bugs (concerning 'host and 'main) due to the
        new way subprograms are handled (pragma and ada subprogram). The
        non dist. main procedure is converted into a P'main and
        P'_leader. _leader is an internal attribute to signal a main
        partition.
        
        * xe_back.ads: Remove some unused stuff.
        
        * xe_lead.adb, xe_check.adb, xe_stubs.adb: Same as above
        (concerning 'host and 'main).
        
1997-02-22  Laurent Pautet <pautet@enst.fr>
        
        * xe_check.adb, xe_utils.ads, xe_utils.adb: Change partition
        subprogram main name from partition name to "partition". Suppress
        checks of conflicts.
        
        * xe_utils.ads: Fix a bug due to a bad renaming.
        
        * xe.ads, xe.adb, xe_parse.adb, xe_back.adb: Cleaner organisation
        of configuration language predefined types.
        
        * xe_stubs.adb: A Change_Dir was mislocated. Don't generate
        Set_Default_Filter when Default_Filter is null string.
        
1997-02-21  Laurent Pautet <pautet@enst.fr>
        
        * xe_back.ads: Add tree node in configuration table items to
        report error messages.
        
1997-02-20  Laurent Pautet <pautet@enst.fr>
        
        * xe_stubs.adb: Integration of filtering.
        
        * xe_build.adb, xe_lead.adb, xe_stubs.adb, xe.adb, xe_check.adb,
        xe_parse.adb, xe_usage.adb, xe_back.adb, xe_defs.adb, xe_scan.adb,
        xe_utils.adb: Reorganize code.
        
        * xe_utils.ads: Include all kind of renamaing of GNAT entities.
        
1997-02-17  Laurent Pautet <pautet@enst.fr>
        
        * xe_back.adb: Fixed a bug in Set_Attribute_Type.
        
        * xe.adb, xe.ads, xe_back.adb, xe_parse.adb, xe_parse.ads,
        xe_scan.adb: Move all enumeration types into int constants. Add
        comments into xe spec.
        
1997-02-15  Laurent Pautet <pautet@enst.fr>
        
        * xe.adb: Add function Get_Filter.
        
        * xe_build.adb: Add information on channels in configuration
        report.
        
        * xe_back.adb: Channels table is now generated from tree.
        
        * xe_parse.adb: Several changes when procedures were dedicated to
        Ada units. They need to be generalized to at least Ada units and
        channels.
        
        * xe.adb, xe.ads, xe_parse.adb: Definition of Arrays and Lists (ie
        Channel and Partition). Definition of extensible enumeration type
        (sets) (Ada units).
        
        * xe_back.adb: Definition of all channel stuff.
        
        * xe_build.adb: Add a new error message when file cannot be
        found. Use package xe_stubs (was a procedure).
        
        * xe_parse.adb: Change termination variable from X to
        X_Termination to avoid conflicts. Change some error messages.
        
        * xe_build.adb, xe_lead.adb, xe_stubs.adb, xe.adb, xe_check.adb,
        xe_parse.adb, xe_usage.adb, xe_back.adb, xe_defs.adb, xe_scan.adb,
        xe_utils.adb: Reorganize all code (alphabetical order).
        
        * xe.ads: Reorganize specification and change
        Update_Partition_Stamp into More_Recent_Stamp.
        
1997-02-13  Laurent Pautet <pautet@enst.fr>
        
        * xe.adb: Minor reformating
        
        * xe_stubs.adb, xe_back.adb, xe_parse.adb, xe.ads, xe.adb: Move
        Permanent into Termination. Three modes are allowed : Local (Don't
        bother with other partitions), Global (Default), Deferred (Same as
        Global but at the end, do not terminate).
        
        * xe_stubs.adb: When Local_Termination, once we exit the main
        subprogram
        
1997-02-13  Samuel Tardieu <sam@inf.enst.fr>
        
        * xe.adb: Recognize '/' as well as the system's default separator.
        
        * xe_utils.adb: Ditto.
        
1997-02-12  Laurent Pautet <pautet@enst.fr>
        
        * xe_utils.adb: Fix bug in Is_Relative_Dir with No_Name.
        Try to suppress '/' occurrences to futur port to Windows.
        
        * xe_stubs.adb: Fix bug that occurs when building executable file
        name with No_Storage_Dir. String "../../.." appended twice.
        
        * xe_check.adb, xe_util.adb: Clean error message. Use
        All_Lower_Case in Write_Unit_Name.
        
        * xe.ads: Minor reformatting.
        
        * xe_back.adb: Reorganize code (alphabetical order).
        
1997-02-11  Laurent Pautet <pautet@enst.fr>
        
        * xe_check.adb: Do not try to recompile internal units. This code
        was taken from an old version of gnatmake.
        
1997-02-11  Laurent Pautet <pautet@enst.fr>
        
        * xe.adb, xe_stubs.adb: Use of Write_Missing_File.
        
1997-02-10  Laurent Pautet <pautet@enst.fr>
        
        * xe_stubs.adb: Reorganize code (alphabetical order) and change
        some parameter names.
        
        * xe_stubs.adb: Use the two new procedures of XE.
        
        * xe_stubs.adb: Improve recompilation and time stamp
        operations. Fix a bug as well. Now, Mark_RCI_Callers has a new
        capability which allows to compute the most recent ali file in the
        partition sub-tree.
        
        * xe_check.adb: Add some debugging messages.
        
        * xe_utils.ads, xe_utils.adb: Reorganize code (alphabetical order)
        and change some parameter names.
        
        * xe_utils.ads, xe_utils.adb : Add two new procedures :
        Write_Stamp_Comparison and Write_Missing_File (Debugging messages).
        
        * xe.ads, xe.adb, xe_parse.adb: Add a new configuration language
        type : Channel.
        
        * xe.ads, xe.adb: Add a new procedure Get_Partition_Dir which
        returns the directory where all the partition sources are stored.
        
        * xe.ads, xe.adb: Add a new field in Partition_Type : Most_Recent
        which denotes the most recent file of a partition.
        
        * xe.ads, xe.adb: Add a new procedure Update_Partition_Stamp to
        have more informations to decide when to rebuild a partition. Get
        rid of Maybe_Most_Recent_Stamp which was not precise enough.
        
1997-02-10  Samuel Tardieu <sam@inf.enst.fr>
        
        * Makefile.am: Add support for gnatmake -s
        
1997-02-07  Laurent Pautet <pautet@enst.fr>
        
        * xe.ads: Add a new parameter File in Maybe_Most_Recent_Stamp to
        save the file that causes the update of Most_Recent_Stamp.
        
        * xe.adb, xe_utils.adb, xe_check.adb, xe.adb, xe_parse.adb :
        Update the calls to Maybe_Most_Recent_Stamp.
        
        * config.sdefault: Break S1, S2 and S3 declaration lines.
        
        * xe_usage.adb: gnatmake -l has been changed into -M. Propagates
        this change to gnatdist.
        
1997-02-05  Samuel Tardieu <sam@inf.enst.fr>
        
        * make-ada-dir: New file used to track what's needed in dist1.
        
        * Makefile.am: Added -a to gnatmake flags to allow the use of our
        own library.
        
1997-01-22  Laurent Pautet <pautet@enst.fr>
        
        * xe_check.adb: Get rid of debugging information.
        
        * xe_build.adb : Use of new version of Gnatmake.
        
        * xe_back.adb: Fix a bug that didn't occur until 3.09w.
        The first host used to be a dummy host, but was no longer
        used. This incorrect host was causing the current bug.
        
1996-12-19  Laurent Pautet <pautet@enst.fr>
        
        * xe-gcc-filter.in: Get rid of some generated pieces of
        code in client stubs.
        
1996-12-19  Samuel Tardieu <sam@inf.enst.fr>
        
        * xe-gcc-filter.in: Changed bogus test.
        Changed RCI_Info into System.Partition_Interface.RCI_Info.
        
1996-12-16  Laurent Pautet <pautet@enst.fr>
        
        * xe-gcc-filter.in: Compatibility test (do we use gnat >= 3.09w).
        
1996-11-30  Laurent Pautet <pautet@enst.fr>
        
        * xe_stubs.adb, xe_utils.ads, xe_utils.adb: Change DSA
        hierarchy. dsa/private contains stubs (as caller and receiver can
        designate a configuration name or a partition
        name). dsa/<configuration>/<partition> contains all the files (or
        links) to build a partition. Move compilation of s-garela into
        Build_Partition to keep consistent. Check that s-garela is
        up-to-date and recompile when Force_Compilation is set.
        
1996-11-29  Laurent Pautet <pautet@enst.fr>
        
        * xe_parse.adb: Incorrect Cut/Paste.
        
1996-11-29  Laurent Pautet <pautet@enst.fr>
        
        * xe.ads, xe.adb, xe_parse.adb, xe_stubs.adb, xe_back.adb: Add a
        new partition attribute Permanent and all the needed operations.
        
        * xe.ads, xe.adb, xe_build.adb: Use XE subprograms to build
        GNATDIST report.
        
1996-11-29  Samuel Tardieu <sam@inf.enst.fr>
        
        * xe_stubs.adb: Generate a call to Set_Boot_Server in elaboration
        file if protocol has been specified in configuration file.
        
        * xe.ads: Default starter is now Ada instead of Shell.
        
1996-11-28  Samuel Tardieu <sam@inf.enst.fr>
        
        * xe_utils.ads: New flags.
        
        * xe_utils.adb: Compile with -gnatg.
        
        * xe_stubs.adb: Generation and compilation of new elaboration file.
        
1996-11-27  Samuel Tardieu <sam@inf.enst.fr>
        
        * xe_utils.ads: New argument to Write_* functions with file
        descriptors to allow duplicate output when generating scripts.
        
        * xe_utils.adb: Fixed the way script output was handled.
        
        * xe_stubs.adb: Write on standard out (if needed) as well as in
        generated file.
        
        * xe_lead.adb: Use "__EOF__" instead of "EOF" and do not
        unconditionnally close output.
        
        * xe_check.adb: Generates "gnatmake -c ..." commands.
        
        * xe_build.adb: Add "#! /bin/sh" at the beginning of the script.
        
1996-11-20  Laurent Pautet <pautet@enst.fr>
        
        * xe.ads: Move Write_SLOC from xe_back.adb to xe.ads.
        
        * xe_check.adb: Fix an error message.
        
        * xe_back.adb: Use SLOC to print a more usefull error message.
        
        * xe_parse.adb: Check in P_Configuration_End that the
        configuration name is known before checking that it matches.
        
        * xe_stubs.adb: Create_Main_Unit rebuilds the partition main
        subprogram when Most_Recent_Stamp is more recent than the current
        partition main subprogram file stamp.
        
1996-11-08  Laurent Pautet <pautet@enst.fr>
        
        * xe_check.adb: Check that partition name does not conflict with
        any other ada units (not present in the configuration file).
        
        
        * xe_parse.adb, xe.ads, xe.adb: Add some stuff to store SLOC on a
        GNATDIST node.
        
1996-10-22  Samuel Tardieu <sam@inf.enst.fr>
        
        * Makefile.am: Changed gnatmake into ${GNATMAKE} to allow gnatmake
        redefinition (for example: make GNATMAKE="gnatmake -j2")
        
1996-10-18  Laurent Pautet <pautet@enst.fr>
        
        * xe.ads, xe_stubs.adb, xe_back.adb, xe_parse.adb: Add pragma
        Version (Checks => [False | True])
        
1996-10-07  Laurent Pautet <pautet@enst.fr>
        
        * xe_stubs.adb, xe.adb, xe.ads: Fix some problems with child units
        and file naming (a.b was translated in to a.b.adb rather than
        a-b.adb). There are still problems due to a.b'version.
        
1996-09-30  Laurent Pautet <pautet@enst.fr>
        
        * xe_stubs.adb, xe_utils.adb: Use configuration name as partition
        main subprogram. File stamp checking has been a little bit
        improved.
        
1996-09-29  Laurent Pautet <pautet@enst.fr>
        
        * xe_utils.adb: Later has been changed to More_Recent.
        
1996-09-23  Laurent Pautet <pautet@enst.fr>
        
        * xe.adb: Get_Host, Get_Command_Line, Get_Absolute_Exec,
        Get_Relative_Exec and Get_Main_Subprogram return default values
        when no specific value has been specified.
        
1996-09-11  Samuel Tardieu <sam@inf.enst.fr>
        
        * xe_parse.adb: Give proper error message on undeclared variable.
        
1996-09-11  Laurent Pautet <pautet@enst.fr>
        
        * xe_scan.adb, xe.ads : Don't tolerate reserved keywords anymore.
        
        * xe_back.adb: New error message when no main program has been
        defined in the configuration file.
        
1996-09-11  Samuel Tardieu <sam@inf.enst.fr>
        
        * config.sdefault: Replaced which by type.
