pkgsrc-Users archive

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

Re: devel/doxygen + MacOS



Brook Milligan <brook%nmsu.edu@localhost> writes:

> The culprit is that the logic in mk/tools/flex.mk does not correctly
> identify the version of the native flex (which is 2.5.35) and
> incorrectly chooses the bad pkgsrc version, even though devel/doxygen
> is marked as requiring flex v2.5.35.  Specifically, the relevant
> portion of mk/tools/flex.mk is the following
>
> _TOOLS_VERSION.flex!=							\
> 	${TOOLS_PLATFORM.flex} --version |				\
> 	${SED} -e 's/\(.*\) \(.*\)$$/\2/'
>
> which extracts the last word from the version string to use as the
> version number.  Unfortunately, the MacOS flex does not follow that
> pattern; /usr/bin/flex —version yields the following string:
>
> 	flex 2.5.35 Apple(flex-31)
>
> If the sed command is changed to capture the correct, i.e., second not
> last, word, all is well and doxygen builds correctly with the native
> flex.

While picking the second word might work for all native flex versions,
in general it seems that such an approach is unsound.  This makes me
think that perhaps we should set a TOOLS_PLATFORM_VERSION.flex to a sed
pattern, or something, in each OS makefile, that is able to determine
the version from the native tool.  But, we have to be careful not to add
lots of execution time when we don't need to know about flex, and
particularly not on other platforms.

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index