Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package makedepend for openSUSE:Factory checked in at 2026-08-28 19:46:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/makedepend (Old) and /work/SRC/openSUSE:Factory/.makedepend.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "makedepend" Fri Aug 28 19:46:16 2026 rev:15 rq:1374057 version:1.0.10 Changes: -------- --- /work/SRC/openSUSE:Factory/makedepend/makedepend.changes 2024-02-06 16:34:14.630392133 +0100 +++ /work/SRC/openSUSE:Factory/.makedepend.new.1265/makedepend.changes 2026-08-28 19:46:17.547690733 +0200 @@ -1,0 +2,7 @@ +Thu Aug 20 11:30:58 UTC 2026 - Stefan Dirsch <[email protected]> + +- Update to version 1.0.10 + * adds support for meson build +- switch to meson + +------------------------------------------------------------------- Old: ---- makedepend-1.0.9.tar.xz New: ---- makedepend-1.0.10.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ makedepend.spec ++++++ --- /var/tmp/diff_new_pack.Etnfhh/_old 2026-08-28 19:46:18.851736315 +0200 +++ /var/tmp/diff_new_pack.Etnfhh/_new 2026-08-28 19:46:18.852736350 +0200 @@ -1,7 +1,7 @@ # # spec file for package makedepend # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: makedepend -Version: 1.0.9 +Version: 1.0.10 Release: 0 Summary: Utility to create dependencies in makefiles License: MIT @@ -26,8 +26,7 @@ Source0: http://xorg.freedesktop.org/releases/individual/util/%{name}-%{version}.tar.xz # PATCH-FIX-UPSTREAM https://gitlab.freedesktop.org/xorg/util/makedepend/-/merge_requests/10 # For autogen.sh -BuildRequires: autoconf -BuildRequires: automake +BuildRequires: meson BuildRequires: pkgconfig(xorg-macros) >= 1.8 # This was part of the xorg-x11-util-devel package up to version 7.6 Conflicts: xorg-x11-util-devel <= 7.6 @@ -45,12 +44,11 @@ %autosetup -p1 %build -NOCONFIGURE=1 ./autogen.sh -%configure -%make_build +%meson +%meson_build %install -%make_install +%meson_install %files %license COPYING ++++++ makedepend-1.0.9.tar.xz -> makedepend-1.0.10.tar.xz ++++++ ++++ 10703 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/makedepend-1.0.9/ChangeLog new/makedepend-1.0.10/ChangeLog --- old/makedepend-1.0.9/ChangeLog 2024-02-05 00:07:13.000000000 +0100 +++ new/makedepend-1.0.10/ChangeLog 2026-08-17 03:58:25.000000000 +0200 @@ -1,3 +1,63 @@ +commit 2c03ef16e05c9eef6fcaf1fbd4b77356a17883b6 +Author: Alan Coopersmith <[email protected]> +Date: Sun Aug 16 17:41:07 2026 -0700 + + makedepend 1.0.10 + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit e6b69b245d1000b71bee61195b4307411f37fac1 +Author: Alan Coopersmith <[email protected]> +Date: Mon Jul 6 16:41:11 2026 -0700 + + meson: include headers when checking for functions + + Trying to workaround https://github.com/mesonbuild/meson/issues/3740 + which causes meson to fail to detect missing functions in some cases. + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/util/makedepend/-/merge_requests/16> + +commit 99537e20dcd2be7587dff6ecebd623933db267a0 +Author: Alan Coopersmith <[email protected]> +Date: Sat Apr 25 16:39:12 2026 -0700 + + meson: Add option to build with meson + + Also updates the gitlab CI config to test both build types + and compare the generated output/installed files. + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/util/makedepend/-/merge_requests/15> + +commit 7f7dca10bc13524b936fa888805374ee8c0df377 +Author: Alan Coopersmith <[email protected]> +Date: Sun Jan 11 11:20:41 2026 -0800 + + gitlab CI: drop the ci-fairy check-mr job + + The only thing this checked was the checkbox for allowing maintainers to + edit the MR. Changed permissions checks now fail this job but luckily + the setting it checked has been the default for years anyway so we can + drop it. + + https://gitlab.freedesktop.org/freedesktop/ci-templates/-/issues/81 + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/util/makedepend/-/merge_requests/15> + +commit 9b71c14eb7e95ca550ecb9cad00147515dccbf1d +Author: Alan Coopersmith <[email protected]> +Date: Sat Apr 26 15:18:11 2025 -0700 + + Improve man page formatting + + More closely follow common style as described on + https://man7.org/linux/man-pages/man7/man-pages.7.html + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/util/makedepend/-/merge_requests/14> + commit 4d8b529937da8d83691ad4b6d9fea7cb82801598 Author: Alan Coopersmith <[email protected]> Date: Sun Feb 4 15:04:20 2024 -0800 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/makedepend-1.0.9/Makefile.am new/makedepend-1.0.10/Makefile.am --- old/makedepend-1.0.9/Makefile.am 2024-02-05 00:07:04.000000000 +0100 +++ new/makedepend-1.0.10/Makefile.am 2026-08-17 03:58:15.000000000 +0200 @@ -14,7 +14,7 @@ AM_CPPFLAGS = -DOBJSUFFIX=\".${OBJEXT}\" -DINCLUDEDIR=\"/usr/include\" AM_CFLAGS = $(CWARNFLAGS) -EXTRA_DIST = autogen.sh makedepend.man README.md +EXTRA_DIST = autogen.sh makedepend.man README.md meson.build # Man page appmandir = $(APP_MAN_DIR) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/makedepend-1.0.9/compile new/makedepend-1.0.10/compile --- old/makedepend-1.0.9/compile 2024-02-05 00:07:08.000000000 +0100 +++ new/makedepend-1.0.10/compile 2026-08-17 03:58:19.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2018-03-07.03; # UTC +scriptversion=2025-06-18.21; # UTC -# Copyright (C) 1999-2021 Free Software Foundation, Inc. +# Copyright (C) 1999-2025 Free Software Foundation, Inc. # Written by Tom Tromey <[email protected]>. # # This program is free software; you can redistribute it and/or modify @@ -37,11 +37,11 @@ file_conv= -# func_file_conv build_file lazy +# func_file_conv build_file unneeded_conversions # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. +# type is listed in (the comma separated) UNNEEDED_CONVERSIONS, no +# conversion will take place. func_file_conv () { file=$1 @@ -51,9 +51,20 @@ # lazily determine how to convert abs files case `uname -s` in MINGW*) - file_conv=mingw + if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then + # MSYS2 environment. + file_conv=cygwin + else + # Original MinGW environment. + file_conv=mingw + fi ;; - CYGWIN* | MSYS*) + MSYS*) + # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell. + file_conv=cygwin + ;; + CYGWIN*) + # Cygwin environment. file_conv=cygwin ;; *) @@ -63,12 +74,14 @@ fi case $file_conv/,$2, in *,$file_conv,*) + # This is the optimization mentioned above: + # If UNNEEDED_CONVERSIONS contains $file_conv, don't convert. ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/* | msys/*) - file=`cygpath -m "$file" || echo "$file"` + cygwin/*) + file=`cygpath -w "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` @@ -143,7 +156,7 @@ # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in - *.o | *.[oO][bB][jJ]) + *.o | *.lo | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift @@ -248,14 +261,17 @@ right script to run: please start by reading the file 'INSTALL'. Report bugs to <[email protected]>. +GNU Automake home page: <https://www.gnu.org/software/automake/>. +General help using GNU software: <https://www.gnu.org/gethelp/>. EOF exit $? ;; -v | --v*) - echo "compile $scriptversion" + echo "compile (GNU Automake) $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + clang-cl | *[/\\]clang-cl | clang-cl.exe | *[/\\]clang-cl.exe | \ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; @@ -340,9 +356,9 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-format: "%Y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/makedepend-1.0.9/configure.ac new/makedepend-1.0.10/configure.ac --- old/makedepend-1.0.9/configure.ac 2024-02-05 00:07:04.000000000 +0100 +++ new/makedepend-1.0.10/configure.ac 2026-08-17 03:58:15.000000000 +0200 @@ -3,7 +3,7 @@ # Initialize Autoconf AC_PREREQ([2.70]) -AC_INIT([makedepend], [1.0.9], +AC_INIT([makedepend], [1.0.10], [https://gitlab.freedesktop.org/xorg/util/makedepend/-/issues]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([makedepend-config.h]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/makedepend-1.0.9/makedepend-config.h.in new/makedepend-1.0.10/makedepend-config.h.in --- old/makedepend-1.0.9/makedepend-config.h.in 2024-02-05 00:07:08.000000000 +0100 +++ new/makedepend-1.0.10/makedepend-config.h.in 2026-08-17 03:58:19.000000000 +0200 @@ -81,6 +81,10 @@ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif +/* Enable extensions on Cosmopolitan Libc. */ +#ifndef _COSMO_SOURCE +# undef _COSMO_SOURCE +#endif /* Enable general extensions on macOS. */ #ifndef _DARWIN_C_SOURCE # undef _DARWIN_C_SOURCE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/makedepend-1.0.9/makedepend.man new/makedepend-1.0.10/makedepend.man --- old/makedepend-1.0.9/makedepend.man 2024-02-05 00:07:04.000000000 +0100 +++ new/makedepend-1.0.10/makedepend.man 2026-08-17 03:58:15.000000000 +0200 @@ -23,51 +23,19 @@ .\" Open Group. .\" .\" -.TH MAKEDEPEND 1 __xorgversion__ -.UC 4 +.TH MAKEDEPEND 1 2002-12-14 __xorgversion__ .SH NAME makedepend \- create dependencies in makefiles .SH SYNOPSIS -.B makedepend -[ -.BI \-D name\fB=\fPdef -] [ -.BI \-D name -] [ -.BI \-I includedir -] [ -.BI \-Y includedir -] -.br - [ -.B \-a -] [ -.BI \-f makefile -] [ -.BI \-include \ file -] [ -.BI \-o objsuffix -] -.br - [ -.BI \-p objprefix -] [ -.BI \-s string -] [ -.BI \-w width -] [ -.B \-v -] [ -.B \-m -] -.br - [ -\-\^\- -.I otheroptions -\-\^\- -] -.I sourcefile -\&.\|.\|. +.nf +\fBmakedepend\fP [\fB\-D\fP\fIname\fP\fB=\fP\fIdef\fP] [\fB\-D\fP\fIname\fP] \ +[\fB\-I\fP\fIincludedir\fP] [\fB\-Y\fP\fIincludedir\fP] + [\fB\-a\fP] [\fB\-f\fP\fImakefile\fP] [\fB\-include\fP \fIfile\fP] \ +[\fB\-o\fP\fIobjsuffix\fP] + [\fB\-p\fP\fIobjprefix\fP] [\fB\-s\fP\fIstring\fP] [\fB\-w\fP\fIwidth\fP] \ +[\fB\-v\fP] [\fB\-m\fP] + [\fB\-\^\-\fP \fIotheroptions\fP \fB\-\^\-\fP] \fIsourcefile\fP \&.\|.\|. +.fi .SH DESCRIPTION The .B makedepend @@ -100,19 +68,19 @@ directly or indirectly, is what .B makedepend -calls a \fIdependency.\fP +calls a \fIdependency\fP. These dependencies are then written to a .I makefile in such a way that -.B make(1) +.BR make (1) will know which object files must be recompiled when a dependency has changed. .PP By default, .B makedepend places its output in the file named -.I makefile +.B makefile if it exists, otherwise -.I Makefile. +.BR Makefile . An alternate makefile may be specified with the .B \-f option. @@ -137,7 +105,9 @@ .B makedepend puts lines in the makefile of the form .sp +.nf sourcefile.o:\0dfile .\|.\|. +.fi .sp Where \fIsourcefile.o\fP is the name from the command line with its suffix replaced with ``.o'', @@ -162,7 +132,7 @@ The program will ignore any option that it does not understand so that you may use the same arguments that you would for -.B cc(1). +.BR cc (1). .TP 5 .B \-D\fIname\fP=\fIdef\fP \fRor\fP \-D\fIname\fP Define. @@ -172,10 +142,10 @@ .B makedepend's symbol table. Without -.I =def\| +.BI = def\| the symbol becomes defined as ``1''. .TP 5 -.B \-I\fIincludedir\fP +.BI \-I includedir Include directory. This option tells .B makedepend @@ -187,10 +157,11 @@ directive. By default, .B makedepend -only searches the standard include directories (usually /usr/include +only searches the standard include directories (usually +.B /usr/include and possibly a compiler-dependent directory). .TP 5 -.B \-Y\fIincludedir\fP +.BI \-Y includedir Replace all of the standard include directories with the single specified include directory; you can omit the .I includedir @@ -199,7 +170,7 @@ .B \-a Append the dependencies to the end of the file instead of replacing them. .TP 5 -.B \-f\fImakefile\fP +.BI \-f makefile Filename. This allows you to specify an alternate makefile in which .B makedepend @@ -213,32 +184,32 @@ affect as if the specified file is an include statement that appears before the very first line of the regular input file. .TP 5 -.B \-o\fIobjsuffix\fP +.BI \-o objsuffix Object file suffix. Some systems may have object files whose suffix is something other than ``.o''. This option allows you to specify another suffix, such as ``.b'' with -.I \-o.b +.B \-o.b or ``:obj'' with -.I \-o:obj +.B \-o:obj and so forth. .TP 5 -.B \-p\fIobjprefix\fP +.BI \-p objprefix Object file prefix. -The prefix is prepended to the name of the object file. This is -usually used to designate a different directory for the object file. +The prefix is prepended to the name of the object file. +This is usually used to designate a different directory for the object file. The default is the empty string. .TP 5 -.B \-s\fIstring\fP +.BI \-s string Starting string delimiter. This option permits you to specify a different string for .B makedepend to look for in the makefile. .TP 5 -.B \-w\fIwidth\fP +.BI \-w width Line width. Normally, .B makedepend @@ -256,22 +227,21 @@ Warn about multiple inclusion. This option causes .B makedepend -to produce a warning if any input file includes another file more than -once. In previous versions of +to produce a warning if any input file includes another file more than once. +In previous versions of .B makedepend -this was the default behavior; the default has been changed to better -match the behavior of the C compiler, which does not consider multiple -inclusion to be an error. This option is provided for backward -compatibility, and to aid in debugging problems related to multiple -inclusion. +this was the default behavior; +the default has been changed to better match the behavior of the C compiler, +which does not consider multiple inclusion to be an error. +This option is provided for backward compatibility, +and to aid in debugging problems related to multiple inclusion. .TP 5 .B "\-\^\- \fIoptions\fP \-\^\-" If .B makedepend encounters a double hyphen (\-\^\-) in the argument list, -then any unrecognized argument following it -will be silently ignored; a second double hyphen terminates this -special treatment. +then any unrecognized argument following it will be silently ignored; +a second double hyphen terminates this special treatment. In this way, .B makedepend can be made to safely ignore esoteric compiler arguments that might @@ -299,12 +269,11 @@ .PP Given these assumptions, .B makedepend -expects to be called once for each makefile, with -all source files that are maintained by the +expects to be called once for each makefile, +with all source files that are maintained by the makefile appearing on the command line. -It parses each source and include -file exactly once, maintaining an internal symbol table -for each. +It parses each source and include file exactly once, +maintaining an internal symbol table for each. Thus, the first file on the command line will take an amount of time proportional to the amount of time that a normal C preprocessor takes. But on subsequent files, if it encounters an include file @@ -314,18 +283,20 @@ imagine you are compiling two files, .I file1.c and -.I file2.c, +.IR file2.c , they each include the header file -.I header.h, +.IR header.h , and the file .I header.h in turn includes the files .I def1.h and -.I def2.h. +.IR def2.h . When you run the command .sp +.nf makedepend\0file1.c\0file2.c +.fi .sp .B makedepend will parse @@ -335,25 +306,28 @@ and then .I def1.h and -.I def2.h. +.IR def2.h . It then decides that the dependencies for this file are .sp +.nf file1.o:\0header.h\0def1.h\0def2.h +.fi .sp But when the program parses .I file2.c and discovers that it, too, includes -.I header.h, +.IR header.h , it does not parse the file, but simply adds -.I header.h, +.IR header.h , .I def1.h and .I def2.h to the list of dependencies for -.I file2.o. +.IR file2.o . .SH "SEE ALSO" -cc(1), make(1) +.BR cc (1), +.BR make (1) .SH BUGS .B makedepend parses, but does not currently evaluate, the SVR4 #predicate(token-list) @@ -366,9 +340,9 @@ say .I file1.c and -.I file2.c, +.IR file2.c , each includes the file -.I def.h. +.IR def.h . The list of files that .I def.h includes might truly be different when @@ -376,7 +350,7 @@ is included by .I file1.c than when it is included by -.I file2.c. +.IR file2.c . But once .B makedepend arrives at a list of dependencies for a file, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/makedepend-1.0.9/meson.build new/makedepend-1.0.10/meson.build --- old/makedepend-1.0.9/meson.build 1970-01-01 01:00:00.000000000 +0100 +++ new/makedepend-1.0.10/meson.build 2026-08-17 03:58:15.000000000 +0200 @@ -0,0 +1,131 @@ +# SPDX-License-Identifier: MIT +# +# Copyright (c) 2026, Oracle and/or its affiliates. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# + +project( + 'makedepend', + 'c', + version: '1.0.10', + license: 'MIT-open-group AND HPND-sell-variant', + license_files: 'COPYING', + meson_version: '>= 1.1.0', +) + +conf = configuration_data() +package_string = ' '.join(meson.project_name(), meson.project_version()) +conf.set_quoted('PACKAGE_STRING', package_string) + +# Replaces AC_USE_SYSTEM_EXTENSIONS +if host_machine.system() == 'sunos' + system_extensions = '-D__EXTENSIONS__' +elif host_machine.system() == 'netbsd' + system_extensions = '-D_OPENBSD_SOURCE' +else + system_extensions = '-D_GNU_SOURCE' +endif +add_project_arguments(system_extensions, language: ['c']) + +cc = meson.get_compiler('c') + +# Replacement for XORG_DEFAULT_OPTIONS +if cc.has_argument('-fno-strict-aliasing') + add_project_arguments('-fno-strict-aliasing', language: 'c') +endif + + +# Checks for functions +func_prefix = ['#include <stdio.h>', '#include <stdlib.h>', + '#include <unistd.h>', '#include <sys/stat.h>'] +funcs = ['rename', 'fchmod', 'reallocarray'] +foreach f: funcs + has_func = cc.has_function(f, args: system_extensions, prefix: func_prefix) + have_f_name = 'HAVE_' + f.to_upper().underscorify() + conf.set(have_f_name, has_func ? '1' : false, + description: f'Define to 1 if you have the \'@f@\' function.') +endforeach + +conf.set_quoted('OBJSUFFIX', host_machine.system() == 'windows' ? '.obj' : '.o') +conf.set_quoted('INCLUDEDIR', '/usr/include') + +config_h = configure_file(output: 'makedepend-config.h', configuration: conf) +add_project_arguments('-DHAVE_CONFIG_H', language: ['c']) + +makedepend_sources = [ + 'include.c', + 'main.c', + 'parse.c', + 'pr.c', + 'cppsetup.c', + 'ifparser.c', + 'ifparser.h', + 'def.h', + 'imakemdep.h', +] + +makedepend = executable( + 'makedepend', + [config_h, makedepend_sources], + install: true +) + +# Man page +prog_sed = find_program('sed') + +custom_target( + 'makedepend.man', + input: 'makedepend.man', + output: 'makedepend.1', + command: [ + prog_sed, + '-e', f's/__xorgversion__/"@package_string@" "X Version 11"/', + '@INPUT@', + ], + capture: true, + install: true, + install_dir: get_option('mandir') / 'man1', + install_tag: 'man', +) + + + +### Test cases - mostly for bug fixes submitted with a test case so far + +test_env = { + 'MAKEDEPEND': makedepend.full_path(), + 'test_srcdir': meson.current_source_dir() / 'tests', + 'test_builddir': meson.current_build_dir() / 'tests', +} + +# Test for https://bugs.freedesktop.org/show_bug.cgi?id=28045 +test ( + 'bugzilla-28045', + files('tests/28045/makedep.sh')[0], + env: test_env, +) + +# Test for https://gitlab.freedesktop.org/xorg/util/makedepend/issues/1 +test ( + 'gitlab-1', + files('tests/1/makedep.sh')[0], + env: test_env, +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/makedepend-1.0.9/missing new/makedepend-1.0.10/missing --- old/makedepend-1.0.9/missing 2024-02-05 00:07:08.000000000 +0100 +++ new/makedepend-1.0.10/missing 2026-08-17 03:58:19.000000000 +0200 @@ -1,9 +1,11 @@ #! /bin/sh -# Common wrapper for a few potentially missing GNU programs. +# Common wrapper for a few potentially missing GNU and other programs. -scriptversion=2018-03-07.03; # UTC +scriptversion=2025-06-18.21; # UTC -# Copyright (C) 1996-2021 Free Software Foundation, Inc. +# shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells + +# Copyright (C) 1996-2025 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <[email protected]>, 1996. # This program is free software; you can redistribute it and/or modify @@ -54,18 +56,20 @@ -v, --version output version information and exit Supported PROGRAM values: - aclocal autoconf autoheader autom4te automake makeinfo - bison yacc flex lex help2man +aclocal autoconf autogen autoheader autom4te automake autoreconf +bison flex help2man lex makeinfo perl yacc Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. -Send bug reports to <[email protected]>." +Report bugs to <[email protected]>. +GNU Automake home page: <https://www.gnu.org/software/automake/>. +General help using GNU software: <https://www.gnu.org/gethelp/>." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" + echo "missing (GNU Automake) $scriptversion" exit $? ;; @@ -108,7 +112,7 @@ program_details () { case $1 in - aclocal|automake) + aclocal|automake|autoreconf) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" @@ -123,6 +127,9 @@ echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; + *) + : + ;; esac } @@ -137,48 +144,55 @@ printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + autoheader_deps="'acconfig.h'" + automake_deps="'Makefile.am'" + aclocal_deps="'acinclude.m4'" case $normalized_program in + aclocal*) + echo "You should only need it if you modified $aclocal_deps or" + echo "$configure_deps." + ;; autoconf*) - echo "You should only need it if you modified 'configure.ac'," - echo "or m4 files included by it." - program_details 'autoconf' + echo "You should only need it if you modified $configure_deps." + ;; + autogen*) + echo "You should only need it if you modified a '.def' or '.tpl' file." + echo "You may want to install the GNU AutoGen package:" + echo "<$gnu_software_URL/autogen/>" ;; autoheader*) - echo "You should only need it if you modified 'acconfig.h' or" + echo "You should only need it if you modified $autoheader_deps or" echo "$configure_deps." - program_details 'autoheader' ;; automake*) - echo "You should only need it if you modified 'Makefile.am' or" - echo "$configure_deps." - program_details 'automake' - ;; - aclocal*) - echo "You should only need it if you modified 'acinclude.m4' or" + echo "You should only need it if you modified $automake_deps or" echo "$configure_deps." - program_details 'aclocal' ;; - autom4te*) + autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." - program_details 'autom4te' + ;; + autoreconf*) + echo "You should only need it if you modified $aclocal_deps or" + echo "$automake_deps or $autoheader_deps or $automake_deps or" + echo "$configure_deps." ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; - lex*|flex*) - echo "You should only need it if you modified a '.l' file." - echo "You may want to install the Fast Lexical Analyzer package:" - echo "<$flex_URL>" - ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." @@ -189,6 +203,12 @@ echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; + perl*) + echo "You should only need it to run GNU Autoconf, GNU Automake, " + echo " assorted other tools, or if you modified a Perl source file." + echo "You may want to install the Perl 5 language interpreter:" + echo "<$perl_URL>" + ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" @@ -197,6 +217,7 @@ echo "case some other package contains this missing '$1' program." ;; esac + program_details "$normalized_program" } give_advice "$1" | sed -e '1s/^/WARNING: /' \ @@ -207,9 +228,9 @@ exit $st # Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-format: "%Y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/makedepend-1.0.9/test-driver new/makedepend-1.0.10/test-driver --- old/makedepend-1.0.9/test-driver 2024-02-05 00:07:08.000000000 +0100 +++ new/makedepend-1.0.10/test-driver 2026-08-17 03:58:19.000000000 +0200 @@ -1,9 +1,9 @@ #! /bin/sh # test-driver - basic testsuite driver script. -scriptversion=2018-03-07.03; # UTC +scriptversion=2025-06-18.21; # UTC -# Copyright (C) 2011-2021 Free Software Foundation, Inc. +# Copyright (C) 2011-2025 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -44,11 +44,16 @@ Usage: test-driver --test-name NAME --log-file PATH --trs-file PATH [--expect-failure {yes|no}] [--color-tests {yes|no}] + [--collect-skipped-logs {yes|no}] [--enable-hard-errors {yes|no}] [--] TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] The '--test-name', '--log-file' and '--trs-file' options are mandatory. See the GNU Automake documentation for information. + +Report bugs to <[email protected]>. +GNU Automake home page: <https://www.gnu.org/software/automake/>. +General help using GNU software: <https://www.gnu.org/gethelp/>. END } @@ -57,15 +62,17 @@ trs_file= # Where to save the metadata of the test run. expect_failure=no color_tests=no +collect_skipped_logs=yes enable_hard_errors=yes while test $# -gt 0; do case $1 in --help) print_usage; exit $?;; - --version) echo "test-driver $scriptversion"; exit $?;; + --version) echo "test-driver (GNU Automake) $scriptversion"; exit $?;; --test-name) test_name=$2; shift;; --log-file) log_file=$2; shift;; --trs-file) trs_file=$2; shift;; --color-tests) color_tests=$2; shift;; + --collect-skipped-logs) collect_skipped_logs=$2; shift;; --expect-failure) expect_failure=$2; shift;; --enable-hard-errors) enable_hard_errors=$2; shift;; --) shift; break;; @@ -121,7 +128,7 @@ case $tweaked_estatus:$expect_failure in 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:*) col=$grn res=PASS recheck=no gcopy=no;; - 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; + 77:*) col=$blu res=SKIP recheck=no gcopy=$collect_skipped_logs;; 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; *:*) col=$red res=FAIL recheck=yes gcopy=yes;; @@ -145,9 +152,9 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-format: "%Y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End:
