This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] gprmake improvements

Tested on i686-linux, committed on trunk.

When path names of non-Ada sources include spaces,gprmake always
these sources, even if the object file is up to date. This patch ensures
that these sources are not recompiled when their object file is up to
The test for this is to build a C/C++ project in a directory with spaces
in its name. An attempt to rebuild immediately should not result in any

As the source path without resolving symbolic links are the one stored
in the dependency files, resolving symbolic links when checking a source
will result in another path, triggering recompilation of the source
every time.
The test for this is to invoke gprmake on a project file with a C source
that is a symbolic link. Once the project has been built, another
invocation of gprmake should not result in recompilation of the source.

When not in verbose mode, no object files were displayed on the "ar cr"
line. This fix add the first object file path to the line, then "...".
It shows that object files are put in the archive, but does not clutter
the log with the full list of object file, which may be quite long.

2006-10-31  Vincent Celier  <>

	* makegpr.adb (Check_Compilation_Needed): Take into account path names
	with spaces.
	(Check_Compilation_Needed): When checking a C or C++ source, do not
	resolve symbolic links.
	(Display_Command): New Boolean parameter Ellipse, defaulted to False.
	When not in verbose mode and Ellipse is True, display "..." for the
	first argument with Display set to False.
	(Build_Global_Archive): Always set Display True for the first object
	file. Call Display_Command with Ellipse set to True.

Attachment: difs
Description: Text document

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]