Skip to content

Use of bundled http-parser due to change in cmake integration #6923

@dvzrv

Description

@dvzrv

Hi! 👋

I package libgit2 for Arch Linux.
With 1.8.1 I noticed, that the library is no longer built using the system-provided http-parser, when using the relevant cmake option as documented:

set(USE_HTTP_PARSER "" CACHE STRING "Specifies the HTTP Parser implementation; either system or builtin.")

Instead -D USE_HTTP_PARSER=http-parser must be used to build against a system-provided http-parser.

This regression was introduced in d396819 (from what I can tell).

It would be good to a) consolidate the documentation accordingly, or change the way the new integration interacts with USE_HTTP_PARSER, b) fail if a wrong value is provided to an option and c) not silently choose a bundled version but instead hard fail (silently building with something different is never what downstreams want, if they explicitly selected to build against a system version).

Reproduction steps

Use cmake option -D USE_HTTP_PARSER=system to build with system provided http-parser, as documented in CMakeLists.txt.

Expected behavior

libgit2 is built with system provided http-parser.

Actual behavior

libgit2 is (silently!) built with bundled http-parser.

Version of libgit2 (release number or SHA1)

1.8.2 (1.8.1 is also affected).

Operating system(s) tested

Arch Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions