The patch use-system-gnulib.diff depends upon an m4 macro which was omitted. Please find attached a patch for it below.

On 10/13/25 01:07, Andrew L. Moore wrote:
Please find attached patches that allow building GNU Global v6.6.14 on
Fedora GNU/Linux v42 and v43. The first three are straight forward:

1. When looking for Universal Ctags, use option `--extras'. The code
    does this, but configure was using `--extra'.

2. When looking for libsqlite3, add /usr/lib64 to the search path.

3. Address a GNU C v15 compilation error: assignment from incompatible
    pointer type 'int (*)(void)'. The fix is to conditionally add
    prototypes to dberr masks.

Many modern systems come with Gnulib. So either GNU Global could link
against the system Gnulib, or, alternatively, the Gnulib `bootstrap'
script could be added to the GNU Global distribution. Gnulib bootstrap
downloads Gnulib modules as needed. See:

https://cgit.git.savannah.gnu.org/cgit/gnulib.git/tree/top/bootstrap

One complication is that the function hash_string is no longer
included in Gnulib.

4. So the final patch is an attempt to address these issues in
    minimalist (lazy) way: If the system provides regcomp and
    getopt_long, then the system-provided functions are used by
    default. To override this, use the configure option
    `--with-included-regex'. An updated version of the hash_string
    function by Bruno Haible is added directly to libutil/strhash.c.
    The function is described in the article:

    https://www.haible.de/bruno/hashfunc.html

A more correct approach might be to leverage Gnulib's bootstrap script
and update strhash.c to use current Gnulib hash functions. If I had
more time, I would have liked to offer an alternative patch for this.
The current Gnulib does have lots of overhead, so maybe the included
patch will be acceptable compromise.

Attachment: ax_func_getopt_long.m4
Description: application/m4

Reply via email to