This is the mail archive of the gcc-patches@gcc.gnu.org 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]

Re: Looking at the end of PR10996 [Take 2 for the *.7 files]


Patch at http://gcc.gnu.org/ml/gcc-patches/2003-10/msg01930.html

Nathanael Nerode wrote:
> 2003-10-22  Kelley Cook  <kcook@gcc.gnu.org>
>>
>> 	* Makefile.in: Define a vpath for .texi.  Add stmp-docobjdir to every
>> 	$(docobjdir) generated file.
>> 	(TEXI_CPP_FILES): Adjust for vpath.
>>  [snip]
>
> Please add a comment explaining the purpose and behavior of the vpath,
> which is not immediately obvious to me.
>

Will do.

> The use of $< is... touchy. The fact that it depends on the name of the
> 'first' prerequisite can cause ordering changes to screw the Makefile,
> which is extremely undesirable. Is there any reasonable way to avoid this?


What you say is true.

In my defense, I did not modify any of the build steps that are already present, just the dependencies. Mark Mitchell wrote the generic rules originally, so I cc:'d him to see if he has any input.

On the other hand, my patch would make the entire process marginally more fragile, since the input file name would have to be the first item on all the .{1,7,info,dvi} file.

On the plus side, This new way seems to be a good thing since I believe generic rules should allow us to eliminate most if not all the duplicated steps that are included in the multiple Make-lang.in fragments.

<quickly_checking>
The current generic rule works great with Java's gcj.info, but not so great for g77.info since it is built from multiple .texi in the f/ directory. Unless, of course, it is decided that it would be prudent to move the 18 .texi files in the ada, f, java and treelang directories to the doc directory. One point in favor of this is that objc.texi is already located there.


Java's man pages would need a bit thinking though since from the single gcj.texi file, eight different man pages are generated, cased on the -Dflag it is passed.
</quickly_checking>


Perhaps, a strongly worded comment above the doc rule section (and in each Make-lang.in section if/when those are converted to use generic rules) that reminds people that the main source file must be first in the dependency list for the doc files would alleviate your concerns.

>
> Please do not install unless we can resolve this.

I won't.

Kelley Cook


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