Re: [GIT PULL v5] Trial of labeling lines in code snippets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 06, 2018 at 08:26:03AM +0900, Akira Yokosawa wrote:
> On 2018/08/05 15:47:19 -0700, Paul E. McKenney wrote:
> > On Mon, Aug 06, 2018 at 06:58:20AM +0900, Akira Yokosawa wrote:
> >> On 2018/08/05 09:54:48 -0700, Paul E. McKenney wrote:
> >>> On Sun, Aug 05, 2018 at 09:35:08AM -0700, Paul E. McKenney wrote:
> >>>> On Sun, Aug 05, 2018 at 09:06:27AM +0900, Akira Yokosawa wrote:
> >>>>> Hi Paul,
> >>>>>
> >>>>> This is hopefully the final version of this trial branch.
> >>>>>
> >>>>> Changes since v4:
> >>>>>
> >>>>>     o Instead of generating CodeSamples/snippets.mk and calling it from
> >>>>>       main Makefile, generate CodeSamples/snippets.d which contains
> >>>>>       only dependencies and include it in the Makefile.
> >>>>>
> >>>>> This change can fix the error you encountered in the previous version.
> >>>>> I'm just hoping...
> >>>>
> >>>> Hmmmm...
> >>>>
> >>>> 	$ make
> >>>> 	sh ./utilities/gen_snippet_d.sh
> >>>> 	CodeSamples/toolsoftrade/pcreate.c --> CodeSamples/toolsoftrade/pcreate@xxxxxxxxxxxx
> >>>>
> >>>> But "make 2c" works.  This might be because I don't have the
> >>>> PERFBOOK_DEFAULT environment variable set?  Except that the Makefile code
> >>>> looks like this would have the default "make all" have the same effect as
> >>>> "make 2c".  Color me confused.
> >>
> >> No. It was my fault. I failed to test the simple "make".
> >> To override my env variable setting of "PERFBOOK_DEFUALT=msnt 1csf",
> >> I tend to use one of "make msnt" or "make msnt 1csf" or "make 2c".
> >>
> >> I see the same behavior when I do simple "make" regardless
> >> of PERFBOOK_DEFAULT is set or unset.
> > 
> > Been there, done that!  ;-)
> > 
> >>>> Anyway, yes, when I do "make 2c" it correctly reacts to moving labels
> >>>> around in CodeSamples/toolsoftrade/forkjoinvar.c, so that is good!
> >>>>
> >>>> Here is the output of "make -v", in case that matters:
> >>>>
> >>>> 	GNU Make 3.81
> >>>> 	Copyright (C) 2006  Free Software Foundation, Inc.
> >>>> 	This is free software; see the source for copying conditions.
> >>>> 	There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
> >>>> 	PARTICULAR PURPOSE.
> >>>>
> >>>> 	This program built for x86_64-pc-linux-gnu
> >>>
> >>> And the diff below restores the behavior I would expect for "make",
> >>> even when modifying tags in CodeSamples/toolsoftrade/forkjoinvar.c,
> >>> though of course it might well break something else.  (And the diff
> >>> happens to include my test change to forkjoinvar.c.)
> >>>
> >>> Thoughts?
> >>>
> >>> 							Thanx, Paul
> >>>
> >>> ------------------------------------------------------------------------
> >>>
> >>> diff --git a/Makefile b/Makefile
> >>> index fe9f63f43e55..3e9e2c2ebf3c 100644
> >>> --- a/Makefile
> >>> +++ b/Makefile
> >>> @@ -85,13 +85,6 @@ endif
> >>>  SOURCES_OF_SNIPPET := $(shell grep -r -l -F '\begin{snippet}' CodeSamples)
> >>>  GEN_SNIPPET_D  = utilities/gen_snippet_d.pl utilities/gen_snippet_d.sh
> >>>  
> >>> -ifeq ($(MAKECMDGOALS),clean)
> >>> -else ifeq ($(MAKECMDGOALS),distclean)
> >>> -else ifeq ($(MAKECMDGOALS),neatfreak)
> >>> -else
> >>> --include CodeSamples/snippets.d
> >>> -endif
> >>> -
> >>>  default = $(PERFBOOK_DEFAULT)
> >>>  
> >>>  ifeq ($(default),)
> >>> @@ -103,6 +96,13 @@ endif
> >>>  .PHONY: all touchsvg clean distclean neatfreak 2c ls-unused $(ABBREVTARGETS) mslm perfbook-mslm.pdf mslmmsg help
> >>>  all: $(targ)
> >>>  
> >>> +ifeq ($(MAKECMDGOALS),clean)
> >>> +else ifeq ($(MAKECMDGOALS),distclean)
> >>> +else ifeq ($(MAKECMDGOALS),neatfreak)
> >>> +else
> >>> +-include CodeSamples/snippets.d
> >>> +endif
> >>> +
> >>>  2c: perfbook.pdf
> >>>  
> >>>  mslm: perfbook-mslm.pdf
> >>
> >> This change works for me too.
> >>
> >> Do you want me to add the change to the trial branch?
> >> I don't mind if you add the change yourself with my
> >>
> >> Acked-by: Akira Yokosawa <akiyks@xxxxxxxxx>
> >>
> >> Of course, the following diff should be omitted.
> > 
> > I pushed out an akiyks.2018.08.05a branch with the commit (but without
> > the forkjoinvar.c change), and with your ack.
> > 
> > When you say it is ready, I will bring my master branch out to that
> > commit.  Or if you have another pull request for an updated version
> > of this series, I will replace it with that.
> 
> I amended the commit log.
> Appended is the pull request. See below.

Looks good, thank you!  I have pulled this and pushed it as my
master branch.

							Thanx, Paul

>         Thanks, Akira
> 
> > 
> > Either way, please let me know!
> > 
> > 							Thanx, Paul
> > 
> >>         Thanks, Akira
> >>
> >>> diff --git a/CodeSamples/toolsoftrade/forkjoinvar.c b/CodeSamples/toolsoftrade/forkjoinvar.c
> >>> index 1580478fe2f9..642451d9e880 100644
> >>> --- a/CodeSamples/toolsoftrade/forkjoinvar.c
> >>> +++ b/CodeSamples/toolsoftrade/forkjoinvar.c
> >>> @@ -35,11 +35,11 @@ int main(int argc, char *argv[])
> >>>  	if (pid == 0) { /* child */
> >>>  		x = 1;					//\lnlbl{setx}
> >>>  		printf("Child process set x=1\n");	//\lnlbl{print:c}
> >>> -		exit(EXIT_SUCCESS);			//\lnlbl{exit:s}
> >>> +		exit(EXIT_SUCCESS);
> >>>  	}
> >>>  	if (pid < 0) { /* parent, upon error */
> >>>  		perror("fork");
> >>> -		exit(EXIT_FAILURE);
> >>> +		exit(EXIT_FAILURE);			//\lnlbl{exit:s}
> >>>  	}
> >>>  
> >>>  	/* parent */
> >>>
> >>
> > 
> 
> --- 
> The following changes since commit 3b62f67a76e15f8d8f8190a4252362d4ac0cdf23:
> 
>   Regenerating the atomic counter graph on a more modern CPU (2018-07-23 13:47:51 -0700)
> 
> are available in the git repository at:
> 
>   https://github.com/akiyks/perfbook.git trial-fancyvrb-20180805a
> 
> for you to fetch changes up to 78141e64d4629b29643634fc1d334233f108f656:
> 
>   Makefile: Fix "make" behavior (2018-08-06 08:18:49 +0900)
> 
> ----------------------------------------------------------------
> Akira Yokosawa (12):
>       toolsoftrade: Add labels in code samples as comments
>       Add script to extract code snippet from code sample
>       toolsoftrade: Reference line in code snippets by label
>       Update hyphen2endash
>       Add *.fcv to .gitignore
>       Automate sub makefile update
>       Specify lmtt font for VerbatimM env
>       toolsoftrade: Use \lnlbl in inline code snippet
>       Add 'linelabel' and 'lineref' environment
>       Catch failure in genaration of CodeSamples/snippets.mk
>       Add dependencis to scripts for extracting code snippets
>       Add dependencies of perfbook_flat.tex to CodeSamples/.../*.fcv files
> 
> Paul E. McKenney (1):
>       Makefile: Fix "make" behavior
> 
>  .gitignore                              |   2 +
>  CodeSamples/api-pthreads/api-pthreads.h |  18 +--
>  CodeSamples/toolsoftrade/forkjoinvar.c  |  12 +-
>  CodeSamples/toolsoftrade/pcreate.c      |   7 +-
>  Makefile                                |  25 +++-
>  perfbook.tex                            |  21 ++++
>  toolsoftrade/toolsoftrade.tex           | 211 +++++++++++---------------------
>  utilities/fcvextract.pl                 | 168 +++++++++++++++++++++++++
>  utilities/gen_snippet_d.pl              |  65 ++++++++++
>  utilities/gen_snippet_d.sh              |   8 ++
>  utilities/hyphen2endash.sh              |   3 +
>  11 files changed, 382 insertions(+), 158 deletions(-)
>  create mode 100755 utilities/fcvextract.pl
>  create mode 100755 utilities/gen_snippet_d.pl
>  create mode 100644 utilities/gen_snippet_d.sh
> 
> 

--
To unsubscribe from this list: send the line "unsubscribe perfbook" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux