Skip to content

configure --enable-doc is broken by design #1037

@sprintersb

Description

@sprintersb

configure --enable-doc only works when there is already a working toolchain including AVR-LibC installed. Otherwise:

$ make
...
Making all in api
make[3]: Entering directory '$builddir/doc/api'
if test -n "$builddir/avr/lib/avr4/exit.o $builddir/avr/devices/atmega8/crtatmega8.o -lgcc" ; then \
	NODEFLIBS="-nostartfiles -nodefaultlibs" ; \
fi; \
cd $srcdir/doc/examples/demo && \
	make DEFS="-I$srcdir/include"  \
		LIBS="$NODEFLIBS $builddir/avr/lib/avr4/exit.o $builddir/avr/devices/atmega8/crtatmega8.o -lgcc" all
make[4]: Entering directory '$srcdir/doc/examples/demo'
avr-gcc -g -Wall -O2 -mmcu=atmega8 -I$srcdir/include   -c -o demo.o demo.c
In file included from demo.c:16:
$srcdir/include/avr/io.h:729:10: fatal error: avr/version.h: No such file or directory
  729 | #include <avr/version.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
make[4]: *** [<builtin>: demo.o] Error 1
make[4]: Leaving directory '$srcdir/doc/examples/demo'
make[3]: *** [Makefile:1209: demo] Error 2
make[3]: Leaving directory '$builddir/doc/api'
...

avr/version.h is not present in $srcdir of course, and is only available in $prefix after make install.

Possible work-arounds:

    1. configure and install without --enable-doc
    2. In $builddir/doc/api: make html ...; make install-dox-html ...
      When you want to install all flavours (HTML, PDF, man, ...) then just do make install.
      (Notice that the example sources have already been installed by the vanilla install.)
    1. First install a complete toolchain by whatever means.
    2. configure with --enable-doc etc.
Notice that A. is faster than configuring and building AVR-LibC twice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions