Makefile: Put VERSION info into version.texi rather than using -D

Message ID 1487344340-30471-1-git-send-email-peter.maydell@linaro.org
State Accepted
Commit fea346f569d4132296f7c26367374fcace80e096
Headers show

Commit Message

Peter Maydell Feb. 17, 2017, 3:12 p.m.
Unfortunately some older versions of makeinfo don't correctly
handle the -D command line option and fail to set the variable.
This then causes them to complain
 docs/qemu-ga-ref.texi:41: warning: undefined flag: VERSION

Work around this by doing as the autotools do, and writing
the information into a version.texi file which we then
include from the .texi files that need it.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

---
 Makefile               | 17 ++++++++++-------
 docs/qemu-ga-ref.texi  |  2 ++
 docs/qemu-qmp-ref.texi |  2 ++
 3 files changed, 14 insertions(+), 7 deletions(-)

-- 
2.7.4

Comments

Marc-André Lureau Feb. 17, 2017, 3:47 p.m. | #1
Hi

----- Original Message -----
> Unfortunately some older versions of makeinfo don't correctly

> handle the -D command line option and fail to set the variable.

> This then causes them to complain

>  docs/qemu-ga-ref.texi:41: warning: undefined flag: VERSION

> 

> Work around this by doing as the autotools do, and writing

> the information into a version.texi file which we then

> include from the .texi files that need it.

> 

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

> ---

>  Makefile               | 17 ++++++++++-------

>  docs/qemu-ga-ref.texi  |  2 ++

>  docs/qemu-qmp-ref.texi |  2 ++

>  3 files changed, 14 insertions(+), 7 deletions(-)


looks good,
version.texi should probably be in .gitignore though

> diff --git a/Makefile b/Makefile

> index 830fa5a..1c4c04f 100644

> --- a/Makefile

> +++ b/Makefile

> @@ -516,7 +516,7 @@ distclean: clean

>  	rm -f qemu-doc.vr qemu-doc.txt

>  	rm -f config.log

>  	rm -f linux-headers/asm

> -	rm -f qemu-ga-qapi.texi qemu-qapi.texi

> +	rm -f qemu-ga-qapi.texi qemu-qapi.texi version.texi

>  	rm -f docs/qemu-qmp-ref.7 docs/qemu-ga-ref.7

>  	rm -f docs/qemu-qmp-ref.txt docs/qemu-ga-ref.txt

>  	rm -f docs/qemu-qmp-ref.pdf docs/qemu-ga-ref.pdf

> @@ -663,21 +663,24 @@ ui/console-gl.o: $(SRC_PATH)/ui/console-gl.c \

>  

>  # documentation

>  MAKEINFO=makeinfo

> -MAKEINFOFLAGS=--no-split --number-sections -D 'VERSION $(VERSION)'

> -TEXIFLAG=$(if $(V),,--quiet) --command='@set VERSION $(VERSION)'

> +MAKEINFOFLAGS=--no-split --number-sections

> +TEXIFLAG=$(if $(V),,--quiet)

>  

> -%.html: %.texi

> +version.texi: $(SRC_PATH)/VERSION

> +	$(call quiet-command,echo "@set VERSION $(VERSION)" > $@,"GEN","$@")

> +

> +%.html: %.texi version.texi

>  	$(call quiet-command,LC_ALL=C $(MAKEINFO) $(MAKEINFOFLAGS) --no-headers \

>  	--html $< -o $@,"GEN","$@")

>  

> -%.info: %.texi

> +%.info: %.texi version.texi

>  	$(call quiet-command,$(MAKEINFO) $(MAKEINFOFLAGS) $< -o $@,"GEN","$@")

>  

> -%.txt: %.texi

> +%.txt: %.texi version.texi

>  	$(call quiet-command,LC_ALL=C $(MAKEINFO) $(MAKEINFOFLAGS) --no-headers \

>  	--plaintext $< -o $@,"GEN","$@")

>  

> -%.pdf: %.texi

> +%.pdf: %.texi version.texi

>  	$(call quiet-command,texi2pdf $(TEXIFLAG) -I $(SRC_PATH) -I . $< -o

>  	$@,"GEN","$@")

>  

>  qemu-options.texi: $(SRC_PATH)/qemu-options.hx $(SRC_PATH)/scripts/hxtool

> diff --git a/docs/qemu-ga-ref.texi b/docs/qemu-ga-ref.texi

> index 87cc8d0..ddb76ce 100644

> --- a/docs/qemu-ga-ref.texi

> +++ b/docs/qemu-ga-ref.texi

> @@ -1,6 +1,8 @@

>  \input texinfo

>  @setfilename qemu-ga-ref.info

>  

> +@include version.texi

> +

>  @exampleindent 0

>  @paragraphindent 0

>  

> diff --git a/docs/qemu-qmp-ref.texi b/docs/qemu-qmp-ref.texi

> index 818e525..0a00569 100644

> --- a/docs/qemu-qmp-ref.texi

> +++ b/docs/qemu-qmp-ref.texi

> @@ -1,6 +1,8 @@

>  \input texinfo

>  @setfilename qemu-qmp-ref.info

>  

> +@include version.texi

> +

>  @exampleindent 0

>  @paragraphindent 0

>  

> --

> 2.7.4

> 

>
Eric Blake Feb. 17, 2017, 3:50 p.m. | #2
On 02/17/2017 09:12 AM, Peter Maydell wrote:
> Unfortunately some older versions of makeinfo don't correctly

> handle the -D command line option and fail to set the variable.

> This then causes them to complain

>  docs/qemu-ga-ref.texi:41: warning: undefined flag: VERSION

> 

> Work around this by doing as the autotools do, and writing

> the information into a version.texi file which we then

> include from the .texi files that need it.


Autotools defines a few more macros, but we can always beef up our
version.texi if we find ourselves needing any of them.

> 

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

> ---

>  Makefile               | 17 ++++++++++-------

>  docs/qemu-ga-ref.texi  |  2 ++

>  docs/qemu-qmp-ref.texi |  2 ++

>  3 files changed, 14 insertions(+), 7 deletions(-)


Missing a change to .gitignore for version.texi.  With that fixed, you
can add:

Reviewed-by: Eric Blake <eblake@redhat.com>


-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org
Peter Maydell Feb. 17, 2017, 3:52 p.m. | #3
On 17 February 2017 at 15:50, Eric Blake <eblake@redhat.com> wrote:
> On 02/17/2017 09:12 AM, Peter Maydell wrote:

>> Unfortunately some older versions of makeinfo don't correctly

>> handle the -D command line option and fail to set the variable.

>> This then causes them to complain

>>  docs/qemu-ga-ref.texi:41: warning: undefined flag: VERSION

>>

>> Work around this by doing as the autotools do, and writing

>> the information into a version.texi file which we then

>> include from the .texi files that need it.

>

> Autotools defines a few more macros, but we can always beef up our

> version.texi if we find ourselves needing any of them.

>

>>

>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

>> ---

>>  Makefile               | 17 ++++++++++-------

>>  docs/qemu-ga-ref.texi  |  2 ++

>>  docs/qemu-qmp-ref.texi |  2 ++

>>  3 files changed, 14 insertions(+), 7 deletions(-)

>

> Missing a change to .gitignore for version.texi.


Should be

right?

thanks
-- PMM--- a/.gitignore
+++ b/.gitignore
@@ -107,6 +107,7 @@ docs/qemu-ga-ref.info*
 docs/qemu-qmp-ref.info*
 /qemu-ga-qapi.texi
 /qemu-qapi.texi
+/version.texi
 *.tps
 .stgit-*
 cscope.*

Eric Blake Feb. 17, 2017, 3:55 p.m. | #4
On 02/17/2017 09:52 AM, Peter Maydell wrote:

>>>  Makefile               | 17 ++++++++++-------

>>>  docs/qemu-ga-ref.texi  |  2 ++

>>>  docs/qemu-qmp-ref.texi |  2 ++

>>>  3 files changed, 14 insertions(+), 7 deletions(-)

>>

>> Missing a change to .gitignore for version.texi.

> 

> Should be

> --- a/.gitignore

> +++ b/.gitignore

> @@ -107,6 +107,7 @@ docs/qemu-ga-ref.info*

>  docs/qemu-qmp-ref.info*

>  /qemu-ga-qapi.texi

>  /qemu-qapi.texi

> +/version.texi

>  *.tps

>  .stgit-*

>  cscope.*

> 

> right?


Yes, that looks right.

(Hmm - another file stuck in the top-level directory; a separate patch
might be worth sticking some of these generated .texi files under docs/
instead)

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Patch hide | download patch | download mbox

diff --git a/Makefile b/Makefile
index 830fa5a..1c4c04f 100644
--- a/Makefile
+++ b/Makefile
@@ -516,7 +516,7 @@  distclean: clean
 	rm -f qemu-doc.vr qemu-doc.txt
 	rm -f config.log
 	rm -f linux-headers/asm
-	rm -f qemu-ga-qapi.texi qemu-qapi.texi
+	rm -f qemu-ga-qapi.texi qemu-qapi.texi version.texi
 	rm -f docs/qemu-qmp-ref.7 docs/qemu-ga-ref.7
 	rm -f docs/qemu-qmp-ref.txt docs/qemu-ga-ref.txt
 	rm -f docs/qemu-qmp-ref.pdf docs/qemu-ga-ref.pdf
@@ -663,21 +663,24 @@  ui/console-gl.o: $(SRC_PATH)/ui/console-gl.c \
 
 # documentation
 MAKEINFO=makeinfo
-MAKEINFOFLAGS=--no-split --number-sections -D 'VERSION $(VERSION)'
-TEXIFLAG=$(if $(V),,--quiet) --command='@set VERSION $(VERSION)'
+MAKEINFOFLAGS=--no-split --number-sections
+TEXIFLAG=$(if $(V),,--quiet)
 
-%.html: %.texi
+version.texi: $(SRC_PATH)/VERSION
+	$(call quiet-command,echo "@set VERSION $(VERSION)" > $@,"GEN","$@")
+
+%.html: %.texi version.texi
 	$(call quiet-command,LC_ALL=C $(MAKEINFO) $(MAKEINFOFLAGS) --no-headers \
 	--html $< -o $@,"GEN","$@")
 
-%.info: %.texi
+%.info: %.texi version.texi
 	$(call quiet-command,$(MAKEINFO) $(MAKEINFOFLAGS) $< -o $@,"GEN","$@")
 
-%.txt: %.texi
+%.txt: %.texi version.texi
 	$(call quiet-command,LC_ALL=C $(MAKEINFO) $(MAKEINFOFLAGS) --no-headers \
 	--plaintext $< -o $@,"GEN","$@")
 
-%.pdf: %.texi
+%.pdf: %.texi version.texi
 	$(call quiet-command,texi2pdf $(TEXIFLAG) -I $(SRC_PATH) -I . $< -o $@,"GEN","$@")
 
 qemu-options.texi: $(SRC_PATH)/qemu-options.hx $(SRC_PATH)/scripts/hxtool
diff --git a/docs/qemu-ga-ref.texi b/docs/qemu-ga-ref.texi
index 87cc8d0..ddb76ce 100644
--- a/docs/qemu-ga-ref.texi
+++ b/docs/qemu-ga-ref.texi
@@ -1,6 +1,8 @@ 
 \input texinfo
 @setfilename qemu-ga-ref.info
 
+@include version.texi
+
 @exampleindent 0
 @paragraphindent 0
 
diff --git a/docs/qemu-qmp-ref.texi b/docs/qemu-qmp-ref.texi
index 818e525..0a00569 100644
--- a/docs/qemu-qmp-ref.texi
+++ b/docs/qemu-qmp-ref.texi
@@ -1,6 +1,8 @@ 
 \input texinfo
 @setfilename qemu-qmp-ref.info
 
+@include version.texi
+
 @exampleindent 0
 @paragraphindent 0