Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mk-configure for openSUSE:Factory 
checked in at 2026-10-17 21:25:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mk-configure (Old)
 and      /work/SRC/openSUSE:Factory/.mk-configure.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mk-configure"

Sat Oct 17 21:25:41 2026 rev:21 rq:1385266 version:0.40.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/mk-configure/mk-configure.changes        
2026-05-06 19:24:17.332902235 +0200
+++ /work/SRC/openSUSE:Factory/.mk-configure.new.3698736/mk-configure.changes   
2026-10-17 21:25:47.783866422 +0200
@@ -1,0 +2,15 @@
+Fri Oct 16 17:01:12 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 0.40.1:
+  * Remove the .res file when the compiler check fails, so mkcmake can
+    be rerun after fixing PATH, CC or CXX
+  * USE_FORT: undefine _FORTIFY_SOURCE before setting it to 2
+  * posix_getopt: fix memory leak
+  * New example/test: efun2
+- Drop gcc16-compatibility.patch: upstream replaced the strstr(3)
+  prototype tests with execve(2) in this release
+- Add bmake-error-location-format.patch: the tests and their helper knew
+  only bmake's old diagnostic location format, so the check failed from
+  bmake 20260824 on
+
+-------------------------------------------------------------------

Old:
----
  gcc16-compatibility.patch
  mk-configure-mk-configure-0.40.0.tar.gz

New:
----
  bmake-error-location-format.patch
  mk-configure-mk-configure-0.40.1.tar.gz

----------(Old B)----------
  Old:  * New example/test: efun2
- Drop gcc16-compatibility.patch: upstream replaced the strstr(3)
  prototype tests with execve(2) in this release
----------(Old E)----------

----------(New B)----------
  New:  prototype tests with execve(2) in this release
- Add bmake-error-location-format.patch: the tests and their helper knew
  only bmake's old diagnostic location format, so the check failed from
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mk-configure.spec ++++++
--- /var/tmp/diff_new_pack.WQKfwG/_old  2026-10-17 21:25:48.438893747 +0200
+++ /var/tmp/diff_new_pack.WQKfwG/_new  2026-10-17 21:25:48.440893831 +0200
@@ -17,17 +17,16 @@
 
 
 Name:           mk-configure
-Version:        0.40.0
+Version:        0.40.1
 Release:        0
 Summary:        A build system on top of bmake
 License:        BSD-2-Clause AND MIT AND ISC
-Group:          Development/Tools/Building
 URL:            https://github.com/cheusov/mk-configure/
 Source:         
https://github.com/cheusov/mk-configure/archive/refs/tags/mk-configure-%{version}/%{name}-%{name}-%{version}.tar.gz
 Source1:        mkcmake.macros
 Source9:        mk-configure-rpmlintrc
-# PATCH-FIX-UPSTREAM gcc16-compatibility.patch -- based on commit 
e7bbef7aabb9e7d2b715fb829771c7016aee9359
-Patch0:         gcc16-compatibility.patch
+# PATCH-FIX-OPENSUSE bmake-error-location-format.patch -- tests and test 
helper know only bmake's old diagnostic location format
+Patch0:         bmake-error-location-format.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  bison
@@ -58,7 +57,6 @@
 
 %package doc
 Summary:        Mk-configure documentation
-Group:          Documentation/Other
 Requires:       %{name}
 
 %description doc

++++++ bmake-error-location-format.patch ++++++
bmake prints the location of a diagnostic as `<file>:<line>:` since
bmake-20260824; it used to print `"<file>" line <n>:`.

tests/reqd, reqd2, reqd3 and reqd4 strip that location off the nested
make's error line before diffing it against expect.out, and
examples/helpers/mkc_test_helper strips it off every test's output (the
test_subprj_dash, reqd_clean_cache and reqd_clean_cache2 recipes, and
every example, pipe through it).  Both know only the old spelling, so
with the new one the location survived and the message was then cut off
by the trailing `s/".*//`, or was compared away from its expected bare
form; %check failed on every arch.

Strip up to the last `: "` instead, which matches both spellings.  The
old expression is kept so the helper still copes with older bmake.

--- a/examples/helpers/mkc_test_helper  2026-10-14 22:42:43.000000000 +0200
+++ b/examples/helpers/mkc_test_helper  2026-10-16 19:06:41.314760620 +0200
@@ -46,5 +46,6 @@
     -e 's,lua/[0-9]*[.][0-9]*,lua/X.Y,' \
     -e 's,//,/,g' \
     -e 's,^bmake:.*line [0-9][0-9]*: "\(.*\)".*$,\1,g' \
+    -e 's,^bmake:[^"]*:[0-9][0-9]*: "\(.*\)".*$,\1,g' \
     -e 's/[.]sl/.so/' -e /so_locations/d |
 $SORT_CMD
--- a/tests/reqd/test.mk        2026-10-14 22:42:43.000000000 +0200
+++ b/tests/reqd/test.mk        2026-10-16 18:57:17.823552977 +0200
@@ -5,7 +5,7 @@
        rm -f $$tmp_out; \
        ${MAKE} all MKC_REQD=999.0.0 2>&1 | head -1 | \
        sed -e 's/ [0-9][0-9]*[.][0-9][0-9]*[.][0-9][0-9]*/ N.N.N/' \
-               -e 's/^.* line[^"]*"//' -e 's/".*//' > $$tmp_out; \
+               -e 's/^.*: "//' -e 's/".*//' > $$tmp_out; \
        diff ${.CURDIR}/expect.out $$tmp_out && \
        echo '      succeeded' 1>&2 || \
        { echo '      FAILED' 1>&2; false; }
--- a/tests/reqd2/test.mk       2026-10-14 22:42:43.000000000 +0200
+++ b/tests/reqd2/test.mk       2026-10-16 18:57:17.831553875 +0200
@@ -5,7 +5,7 @@
        rm -f $$tmp_out; \
        ${MAKE} all MKC_REQD=999.0.0 2>&1 | head -1 | \
        sed -e 's/ [0-9][0-9]*[.][0-9][0-9]*[.][0-9][0-9]*/ N.N.N/' \
-               -e 's/^.* line[^"]*"//' -e 's/".*//' > $$tmp_out; \
+               -e 's/^.*: "//' -e 's/".*//' > $$tmp_out; \
        diff ${.CURDIR}/expect.out $$tmp_out && \
        echo '      succeeded' 1>&2 || \
        { echo '      FAILED' 1>&2; false; }
--- a/tests/reqd3/test.mk       2026-10-14 22:42:43.000000000 +0200
+++ b/tests/reqd3/test.mk       2026-10-16 18:57:17.839554773 +0200
@@ -5,7 +5,7 @@
        rm -f $$tmp_out; \
        ${MAKE} all MKC_REQD=999.0.0 2>&1 | head -1 | \
        sed -e 's/ [0-9][0-9]*[.][0-9][0-9]*[.][0-9][0-9]*/ N.N.N/' \
-               -e 's/^.* line[^"]*"//' -e 's/".*//' > $$tmp_out; \
+               -e 's/^.*: "//' -e 's/".*//' > $$tmp_out; \
        diff ${.CURDIR}/expect.out $$tmp_out && \
        echo '      succeeded' 1>&2 || \
        { echo '      FAILED' 1>&2; false; }
--- a/tests/reqd4/test.mk       2026-10-14 22:42:43.000000000 +0200
+++ b/tests/reqd4/test.mk       2026-10-16 18:57:17.847555670 +0200
@@ -9,10 +9,10 @@
          ${MAKE} -j3 all MKC_REQD=999.0.0 2>&1 | \
          grep ERROR: | \
          sed -e 's/ [0-9][0-9]*[.][0-9][0-9]*[.][0-9][0-9]*/ N.N.N/' \
-               -e 's/^.* line[^"]*"//' -e 's/".*//'; \
+               -e 's/^.*: "//' -e 's/".*//'; \
          ${MAKE} -j3 all MAKE_VERSION=00000000 2>&1 | \
          grep ERROR: | \
-         sed -e 's/^.*"bmake/"bmake/' -e 's/^.* line[^"]*"//' -e 's/".*//'; \
+         sed -e 's/^.*"bmake/"bmake/' -e 's/^.*: "//' -e 's/".*//'; \
          echo =========== all ============; \
          find ${.OBJDIR} -type f -o -type l | \
          mkc_test_helper ${PREFIX:Q} ${.OBJDIR:Q} ${.CURDIR:Q}; \

++++++ mk-configure-mk-configure-0.40.0.tar.gz -> 
mk-configure-mk-configure-0.40.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mk-configure-mk-configure-0.40.0/Makefile.inc 
new/mk-configure-mk-configure-0.40.1/Makefile.inc
--- old/mk-configure-mk-configure-0.40.0/Makefile.inc   2024-10-06 
11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/Makefile.inc   2026-10-14 
22:42:43.000000000 +0200
@@ -1,4 +1,4 @@
-VERSION   =            0.40.0
+VERSION   =            0.40.1
 
 BIRTHDATE =            2009-02-21
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mk-configure-mk-configure-0.40.0/doc/NEWS 
new/mk-configure-mk-configure-0.40.1/doc/NEWS
--- old/mk-configure-mk-configure-0.40.0/doc/NEWS       2024-10-06 
11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/doc/NEWS       2026-10-14 
22:42:43.000000000 +0200
@@ -1,4 +1,26 @@
 ======================================================================
+Version 0.40.1, by Aleksey Cheusov, Thu, 15 Oct 2026 00:41:49 +0400
+
+  Remove .res file if checking for compiler failed. This allows to
+  rerun mkcmake after fixing in PATH, CC or CXX, for examples.
+
+  Replace tests for strstr(3) prototype with prototype for execve(2)
+  (github issue #33)
+
+  USE_FORT: undefine _FORTIFY_SOURCE before set it to 2
+
+  Fizxes in tests:
+    * examples/lexer (failed on some systems due to -Wunused-function)
+    * posix_getopt (memory leak)
+
+  New tests/examples:
+    * examples/efun2
+
+  mkc_check_decl: minor improvement
+
+  Sxome fixes and improvements for recent Darwin
+
+======================================================================
 Version 0.40.0, by Aleksey Cheusov, Sun,  6 Oct 2024 12:31:47 +0400
 
   Fix build failure with bmake-20240909
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mk-configure-mk-configure-0.40.0/doc/TODO 
new/mk-configure-mk-configure-0.40.1/doc/TODO
--- old/mk-configure-mk-configure-0.40.0/doc/TODO       2024-10-06 
11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/doc/TODO       2026-10-14 
22:42:43.000000000 +0200
@@ -1,3 +1,4 @@
+============================================================
 Rename SCRIPTSNAME to SCRIPTNAME
 
 feature posix_getopt: use bsd_getopt from libbsd
@@ -12,32 +13,6 @@
 USE_LEX and USE_LEXLIB -- default LEX and LEXLIB
 
 ============================================================
-If checking for compiler fails, remove .res files
-
-   cheusov@illumos 
-   1 dictd>git status --ignored
-   On branch master
-   Your branch is up to date with 'origin/master'.
-
-   Ignored files:
-     (use "git add -f <file>..." to include in what will be committed)
-        _mkc_cc_type.err
-        _mkc_cc_type.res
-
-   nothing to commit, working tree clean
-
-   cheusov@illumos 
-   0 dictd>cat _mkc_cc_type.res
-   unknown i86pc-unknown-SunOS
-
-   cheusov@illumos 
-   0 dictd>cat _mkc_cc_type.err 
-   /opt/local/bin/mkc_check_compiler: line 78: cc: not found
-
-   cheusov@illumos 
-   0 dictd>
-
-============================================================
 SUBPRJ_DFLT vs. LIB, see libmaa,
 try to set environment SUBPRJ_DFLT
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/examples/efun2/Makefile 
new/mk-configure-mk-configure-0.40.1/examples/efun2/Makefile
--- old/mk-configure-mk-configure-0.40.0/examples/efun2/Makefile        
1970-01-01 01:00:00.000000000 +0100
+++ new/mk-configure-mk-configure-0.40.1/examples/efun2/Makefile        
2026-10-14 22:42:43.000000000 +0200
@@ -0,0 +1,11 @@
+PROGS        =         cprog cxxprog
+SRCS.cxxprog =         cxxprog.cc
+
+WARNS     =            4
+
+MKC_FEATURES +=        efun
+
+MKC_REQD  =            0.34.99
+
+.include "test.mk"
+.include <mkc.prog.mk>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/examples/efun2/cprog.c 
new/mk-configure-mk-configure-0.40.1/examples/efun2/cprog.c
--- old/mk-configure-mk-configure-0.40.0/examples/efun2/cprog.c 1970-01-01 
01:00:00.000000000 +0100
+++ new/mk-configure-mk-configure-0.40.1/examples/efun2/cprog.c 2026-10-14 
22:42:43.000000000 +0200
@@ -0,0 +1,15 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <mkc_efun.h>
+
+#define BUF_SIZE 100
+
+int main (int argc, char **argv)
+{
+       char *buffer = ecalloc(BUF_SIZE, 1);
+       printf("cprog: ecalloc succeded\n");
+       free(buffer);
+
+       return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/examples/efun2/cxxprog.cc 
new/mk-configure-mk-configure-0.40.1/examples/efun2/cxxprog.cc
--- old/mk-configure-mk-configure-0.40.0/examples/efun2/cxxprog.cc      
1970-01-01 01:00:00.000000000 +0100
+++ new/mk-configure-mk-configure-0.40.1/examples/efun2/cxxprog.cc      
2026-10-14 22:42:43.000000000 +0200
@@ -0,0 +1,15 @@
+#include <iostream>
+#include <cstdlib>
+
+#include <mkc_efun.h>
+
+#define BUF_SIZE 100
+
+int main (int argc, char **argv)
+{
+       void *buffer = ecalloc(BUF_SIZE, 1);
+       std::cout << "cxxprog: ecalloc succeded\n";
+       free(buffer);
+
+       return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/examples/efun2/expect.out 
new/mk-configure-mk-configure-0.40.1/examples/efun2/expect.out
--- old/mk-configure-mk-configure-0.40.0/examples/efun2/expect.out      
1970-01-01 01:00:00.000000000 +0100
+++ new/mk-configure-mk-configure-0.40.1/examples/efun2/expect.out      
2026-10-14 22:42:43.000000000 +0200
@@ -0,0 +1,2 @@
+cprog: ecalloc succeded
+cxxprog: ecalloc succeded
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/examples/efun2/test.mk 
new/mk-configure-mk-configure-0.40.1/examples/efun2/test.mk
--- old/mk-configure-mk-configure-0.40.0/examples/efun2/test.mk 1970-01-01 
01:00:00.000000000 +0100
+++ new/mk-configure-mk-configure-0.40.1/examples/efun2/test.mk 2026-10-14 
22:42:43.000000000 +0200
@@ -0,0 +1,7 @@
+.PHONY : test_output
+test_output:
+       @${.OBJDIR}/cprog; \
+       ${.OBJDIR}/cxxprog; \
+       ${MAKE} cleandir > /dev/null
+
+.include <mkc.minitest.mk>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/examples/helpers/mkc_test_helper 
new/mk-configure-mk-configure-0.40.1/examples/helpers/mkc_test_helper
--- old/mk-configure-mk-configure-0.40.0/examples/helpers/mkc_test_helper       
2024-10-06 11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/examples/helpers/mkc_test_helper       
2026-10-14 22:42:43.000000000 +0200
@@ -39,6 +39,8 @@
     -e '/export[.]sym[.]tmp/ d' \
     -e '/pod2htmd.tmp/ d' \
     -e '/pod2htmi.tmp/ d' \
+    -e '/[.]dSYM/ d' \
+    -e '/was built for newer/ d' \
     -e 's,lib64,lib,' \
     -e 's,lib/[^/]*/lua,lib/lua,' \
     -e 's,lua/[0-9]*[.][0-9]*,lua/X.Y,' \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/examples/helpers/mkc_test_helper2 
new/mk-configure-mk-configure-0.40.1/examples/helpers/mkc_test_helper2
--- old/mk-configure-mk-configure-0.40.0/examples/helpers/mkc_test_helper2      
2024-10-06 11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/examples/helpers/mkc_test_helper2      
2026-10-14 22:42:43.000000000 +0200
@@ -11,6 +11,9 @@
 LC_ALL=C
 export LC_ALL
 
-sed -e '/checking C\([+]\)* compiler type/ s|[.][.][.] .*|... mmm nnn|' "$@" |
+sed \
+    -e '/checking C\([+]\)* compiler type/ s|[.][.][.] .*|... mmm nnn|' \
+    -e '/was built for newer/ d' \
+    "$@" |
 grep -Ev 'ld: warning:.*was built for newer macOS version'
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/examples/lexer/Makefile 
new/mk-configure-mk-configure-0.40.1/examples/lexer/Makefile
--- old/mk-configure-mk-configure-0.40.0/examples/lexer/Makefile        
2024-10-06 11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/examples/lexer/Makefile        
2026-10-14 22:42:43.000000000 +0200
@@ -3,7 +3,9 @@
 
 DPSRCS =       lexer.c
 
-MKC_FEATURES = libl
+MKC_FEATURES  =        libl
+
+CFLAGS.check +=        -Wno-unused-function
 
 .include "test.mk"
 .include <mkc.prog.mk>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/examples/lexer/expect.out 
new/mk-configure-mk-configure-0.40.1/examples/lexer/expect.out
--- old/mk-configure-mk-configure-0.40.0/examples/lexer/expect.out      
2024-10-06 11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/examples/lexer/expect.out      
2026-10-14 22:42:43.000000000 +0200
@@ -1,6 +1,8 @@
 # of lines = 2, # of chars = 26
 =========== all ============
 /objdir/Makefile
+/objdir/_mkc_cc_option_-Wno-unused-function.err
+/objdir/_mkc_cc_option_-Wno-unused-function.res
 /objdir/_mkc_cc_type.err
 /objdir/_mkc_cc_type.res
 /objdir/_mkc_funclib_yywrap.c
@@ -28,6 +30,8 @@
 ======== uninstall =========
 ========== clean ===========
 /objdir/Makefile
+/objdir/_mkc_cc_option_-Wno-unused-function.err
+/objdir/_mkc_cc_option_-Wno-unused-function.res
 /objdir/_mkc_cc_type.err
 /objdir/_mkc_cc_type.res
 /objdir/_mkc_funclib_yywrap.c
@@ -48,6 +52,8 @@
 ========== depend ===========
 /objdir/.depend_lexer
 /objdir/Makefile
+/objdir/_mkc_cc_option_-Wno-unused-function.err
+/objdir/_mkc_cc_option_-Wno-unused-function.res
 /objdir/_mkc_cc_type.err
 /objdir/_mkc_cc_type.res
 /objdir/_mkc_funclib_yywrap.c
@@ -77,6 +83,8 @@
 LD: lexer
 /objdir/.depend_lexer
 /objdir/Makefile
+/objdir/_mkc_cc_option_-Wno-unused-function.err
+/objdir/_mkc_cc_option_-Wno-unused-function.res
 /objdir/_mkc_cc_type.err
 /objdir/_mkc_cc_type.res
 /objdir/_mkc_funclib_yywrap.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/examples/posix_getopt/expect.out 
new/mk-configure-mk-configure-0.40.1/examples/posix_getopt/expect.out
--- old/mk-configure-mk-configure-0.40.0/examples/posix_getopt/expect.out       
2024-10-06 11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/examples/posix_getopt/expect.out       
2026-10-14 22:42:43.000000000 +0200
@@ -1,6 +1,10 @@
 flags=1; tfnd=1; nsecs=123; optind=4
-name argument = freeargument
+free argument = freeargument
 flags=1; tfnd=0; nsecs=0; optind=2
-name argument = freeargument
+free argument = freeargument
 flags=0; tfnd=1; nsecs=123; optind=4
-name argument = -n
+free argument = -n
+flags=0; tfnd=1; nsecs=123; optind=3
+free argument = freeargument
+flags=0; tfnd=0; nsecs=0; optind=1
+free argument = freeargument
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/examples/posix_getopt/prog.c 
new/mk-configure-mk-configure-0.40.1/examples/posix_getopt/prog.c
--- old/mk-configure-mk-configure-0.40.0/examples/posix_getopt/prog.c   
2024-10-06 11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/examples/posix_getopt/prog.c   
2026-10-14 22:42:43.000000000 +0200
@@ -34,7 +34,7 @@
                   flags, tfnd, nsecs, optind);
 
        if (argc > 0)
-               printf("name argument = %s\n", argv[0]);
+               printf("free argument = %s\n", argv[0]);
 
        exit(EXIT_SUCCESS);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/examples/posix_getopt/test.mk 
new/mk-configure-mk-configure-0.40.1/examples/posix_getopt/test.mk
--- old/mk-configure-mk-configure-0.40.0/examples/posix_getopt/test.mk  
2024-10-06 11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/examples/posix_getopt/test.mk  
2026-10-14 22:42:43.000000000 +0200
@@ -3,6 +3,8 @@
        @${.OBJDIR}/prog -t 123 -n freeargument; \
        ${.OBJDIR}/prog -n freeargument -t 123; \
        ${.OBJDIR}/prog -t 123 -- -n freeargument; \
+       ${.OBJDIR}/prog -t 123 freeargument -n; \
+       ${.OBJDIR}/prog freeargument -t 123 -n; \
        ${MAKE} cleandir > /dev/null
 
 .include <mkc.minitest.mk>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mk-configure-mk-configure-0.40.0/examples.mk 
new/mk-configure-mk-configure-0.40.1/examples.mk
--- old/mk-configure-mk-configure-0.40.0/examples.mk    2024-10-06 
11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/examples.mk    2026-10-14 
22:42:43.000000000 +0200
@@ -7,7 +7,7 @@
    tools2 pkgconfig3 SLIST RBTREE errwarn fgetln \
    autotools autoconf libdeps compatlib \
    require_tools check_compiler_opts help_target \
-   arc4random bswap dprintf efun strsep errc posix_getopt \
+   arc4random bswap dprintf efun efun2 strsep errc posix_getopt \
    raise_default_signal reallocarray fparseln vis \
    fts humanize_number shquote tiny_id c99 reallocarr \
    strtoi multilibs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/features/posix_getopt/mkc_posix_getopt.c 
new/mk-configure-mk-configure-0.40.1/features/posix_getopt/mkc_posix_getopt.c
--- 
old/mk-configure-mk-configure-0.40.0/features/posix_getopt/mkc_posix_getopt.c   
    2024-10-06 11:05:05.000000000 +0200
+++ 
new/mk-configure-mk-configure-0.40.1/features/posix_getopt/mkc_posix_getopt.c   
    2026-10-14 22:42:43.000000000 +0200
@@ -26,6 +26,7 @@
 #include <mkc_efun.h>
 
 #include <string.h>
+#include <stdlib.h>
 
 #ifdef getopt
 #undef getopt
@@ -44,5 +45,7 @@
        if (ret != '?')
                optopt = ret;
 
+       free(new_optstr);
+
        return ret;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/mk-configure-mk-configure-0.40.0/mk/mkc.init.mk 
new/mk-configure-mk-configure-0.40.1/mk/mkc.init.mk
--- old/mk-configure-mk-configure-0.40.0/mk/mkc.init.mk 2024-10-06 
11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/mk/mkc.init.mk 2026-10-14 
22:42:43.000000000 +0200
@@ -26,18 +26,18 @@
 .MAIN:         all
 
 ###########
-
-.for p in ${PROGS}
-SRCS.${p} ?=   ${p}.c
-SRCS.${p} +=   ${SRCS} # SRCS may be changed by mkc.conf.mk
-_srcsall +=    ${SRCS.${p}}
-.endfor
-
 .if defined(PROG)
 PROGS         ?=       ${PROG}
 SRCS          ?=       ${PROG}.c
-SRCS.${PROG}  ?=       ${SRCS}
-_srcsall +=    ${SRCS}
+SRCS.${PROG}   =       ${SRCS}
+_srcsall      +=       ${SRCS.${PROG}}
+.elif PROGS
+. for p in ${PROGS}
+SRCS.${p}     ?=       ${p}.c
+SRCS.${p}     +=       ${SRCS} # SRCS may be changed by mkc.conf.mk
+_srcsall      +=       ${SRCS.${p}}
+. endfor
+#_srcsall +=   ${SRCS}
 .elif ${.CURDIR:T} == ${COMPATLIB:U}
 SRCS     ?=    ${FEATURESDIR}/_mkcfake.c
 _srcsall +=    ${SRCS}
@@ -302,7 +302,7 @@
 .endif
 
 .if ${USE_FORT:U:tl} == "yes"
-CPPFLAGS +=    -D_FORTIFY_SOURCE=2
+CPPFLAGS +=    -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
 CFLAGS   +=    -O
 .endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/mk/mkc_imp.compiler_config.mk 
new/mk-configure-mk-configure-0.40.1/mk/mkc_imp.compiler_config.mk
--- old/mk-configure-mk-configure-0.40.0/mk/mkc_imp.compiler_config.mk  
2024-10-06 11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/mk/mkc_imp.compiler_config.mk  
2026-10-14 22:42:43.000000000 +0200
@@ -4,6 +4,7 @@
 .for c in ${src_type}
   _full_type         !=        env ${mkc.cc_type.environ} mkc_check_compiler 
${"${c}" == "cxx":?-x:}
 .   if empty(_full_type)
+      _ != env ${mkc.cc_type.environ} mkc_check_compiler -D ${"${c}" == 
"cxx":?-x:}
 .     error "Compiler is not found"
 .   endif
   ${c:tu}_TYPE       :=        ${_full_type:[1]}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/scripts/mkc_check_decl.in 
new/mk-configure-mk-configure-0.40.1/scripts/mkc_check_decl.in
--- old/mk-configure-mk-configure-0.40.0/scripts/mkc_check_decl.in      
2024-10-06 11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/scripts/mkc_check_decl.in      
2026-10-14 22:42:43.000000000 +0200
@@ -77,7 +77,7 @@
 argscnt=`echo "$1" | sed 's/[^0-9]//g'`
 shift
 
-declwhat=`echo "$1" | @AWK@ '{gsub(/-/, " "); gsub(/ +[(]/, "("); $1=$1; 
print}'`
+declwhat=`echo "$1" | @AWK@ '{$1=$1; gsub(/-/, " "); gsub(/ +[(]/, "("); 
print}'`
 shift
 
 typemsg="$decltype $declwhat"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/tests/configure_test/expect.out 
new/mk-configure-mk-configure-0.40.1/tests/configure_test/expect.out
--- old/mk-configure-mk-configure-0.40.0/tests/configure_test/expect.out        
2024-10-06 11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/tests/configure_test/expect.out        
2026-10-14 22:42:43.000000000 +0200
@@ -86,9 +86,9 @@
 1
 HAVE_MEMBER.struct_mkc_test_t_b_c.include_mkc_test_h:
 1
-HAVE_PROTOTYPE.strstr_ok:
+HAVE_PROTOTYPE.execve_ok:
 1
-HAVE_PROTOTYPE.strstr_bad:
+HAVE_PROTOTYPE.execve_bad:
 0
 HAVE_PROTOTYPE.function_absent:
 0
@@ -159,7 +159,7 @@
 -DHAVE_FUNC5_MKC_TEST_FUNC_INCLUDE_MKC_TEST_H=1
 -DCUSTOM_CUSTOM_CHECK1=1
 -DCUSTOM_CUSTOM_CHECK5=1
--DHAVE_PROTOTYPE_STRSTR_OK=1
+-DHAVE_PROTOTYPE_EXECVE_OK=1
 MKC_AUTO_SRCS:
 /somewhere/superfunc1.c
 /somewhere/superfunc2.c
@@ -274,9 +274,9 @@
 1
 HAVE_MEMBER.struct_mkc_test_t_b_c.include_mkc_test_h:
 1
-HAVE_PROTOTYPE.strstr_ok:
+HAVE_PROTOTYPE.execve_ok:
 0
-HAVE_PROTOTYPE.strstr_bad:
+HAVE_PROTOTYPE.execve_bad:
 1
 HAVE_PROTOTYPE.function_absent:
 0
@@ -351,7 +351,7 @@
 -DCUSTOM_CUSTOM_CHECK2=2
 -DCUSTOM_CUSTOM_CHECK2_LINK=3
 -DCUSTOM_CUSTOM_CHECK5=1
--DHAVE_PROTOTYPE_STRSTR_BAD=1
+-DHAVE_PROTOTYPE_EXECVE_BAD=1
 MKC_AUTO_SRCS:
 /somewhere/superfunc1.c
 /somewhere/superfunc2.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/tests/configure_test/mkc_test.mk 
new/mk-configure-mk-configure-0.40.1/tests/configure_test/mkc_test.mk
--- old/mk-configure-mk-configure-0.40.0/tests/configure_test/mkc_test.mk       
2024-10-06 11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/tests/configure_test/mkc_test.mk       
2026-10-14 22:42:43.000000000 +0200
@@ -102,12 +102,12 @@
 
 MKC_REQUIRE_CUSTOM+=   custom_check3
 
-MKC_CHECK_PROTOTYPES = strstr_ok strstr_bad function_absent
-MKC_PROTOTYPE_FUNC.strstr_ok  = char* strstr   (const  char*,  const char* )
-MKC_PROTOTYPE_FUNC.strstr_bad = char* strstr(const char*, const char*, int 
lalala)
+MKC_CHECK_PROTOTYPES = execve_ok execve_bad function_absent
+MKC_PROTOTYPE_FUNC.execve_ok  = int  execve (  const  char  *,  char  *  const 
*, char * const *   )
+MKC_PROTOTYPE_FUNC.execve_bad = int execve(const char*, const char*, int 
lalala)
 MKC_PROTOTYPE_FUNC.function_absent = int absent_function(int lalala)
-MKC_PROTOTYPE_HEADERS.strstr_ok  = string.h
-MKC_PROTOTYPE_HEADERS.strstr_bad = string.h
+MKC_PROTOTYPE_HEADERS.execve_ok  = unistd.h
+MKC_PROTOTYPE_HEADERS.execve_bad = unistd.h
 MKC_PROTOTYPE_HEADERS.function_absent = string.h
 
 MKC_CHECK_CC_OPTS =    -DMACRO=zzz --zzz
@@ -144,7 +144,7 @@
        HAVE_VAR.mkc_test_var.include_mkc_test_h \
        HAVE_MEMBER.struct_mkc_test_t_a.include_mkc_test_h \
        HAVE_MEMBER.struct_mkc_test_t_b_c.include_mkc_test_h \
-       HAVE_PROTOTYPE.strstr_ok HAVE_PROTOTYPE.strstr_bad 
HAVE_PROTOTYPE.function_absent \
+       HAVE_PROTOTYPE.execve_ok HAVE_PROTOTYPE.execve_bad 
HAVE_PROTOTYPE.function_absent \
        HAVE_CC_OPT.-DMACRO_zzz HAVE_CXX_OPT.-DMACRO_zzz \
        HAVE_CCLD_OPT.-DMACRO_zzz HAVE_CXXLD_OPT.-DMACRO_zzz \
        HAVE_CC_OPT.--zzz HAVE_CXX_OPT.--zzz \
@@ -185,6 +185,6 @@
                sed "s/^.*-DSYSTEM_.*$$/KNOWN_SYSTEM/"
        @printf "%s\n" "${CPPFLAGS}" | \
                sed 's/^.*\(MKC_COMMON_DEFINES_WORKS_FINE\).*$$/\1/'
-       @ls -1 _mkc_* | grep -E 'cache2|cc_opt|cxx_opt|ccld_opt|cxxld_opt' | 
sort
+       @ls -1 _mkc_* | grep -v '[.]dSYM' | grep -E 
'cache2|cc_opt|cxx_opt|ccld_opt|cxxld_opt' | sort
 
 .include <mkc.mk>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/tests/configure_test/mkc_test_preset.mk 
new/mk-configure-mk-configure-0.40.1/tests/configure_test/mkc_test_preset.mk
--- 
old/mk-configure-mk-configure-0.40.0/tests/configure_test/mkc_test_preset.mk    
    2024-10-06 11:05:05.000000000 +0200
+++ 
new/mk-configure-mk-configure-0.40.1/tests/configure_test/mkc_test_preset.mk    
    2026-10-14 22:42:43.000000000 +0200
@@ -27,8 +27,8 @@
 CUSTOM.custom_check2_link=3
 PROG.awk=
 PROG.megaprog-x34=/bad/path
-HAVE_PROTOTYPE.strstr_ok=0
-HAVE_PROTOTYPE.strstr_bad=1
+HAVE_PROTOTYPE.execve_ok=0
+HAVE_PROTOTYPE.execve_bad=1
 HAVE_CC_OPT.-DMACRO_zzz=5
 HAVE_CXX_OPT.-DMACRO_zzz=5
 HAVE_CCLD_OPT.-DMACRO_zzz=5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/mk-configure-mk-configure-0.40.0/tests/mkc_check_custom/test.mk 
new/mk-configure-mk-configure-0.40.1/tests/mkc_check_custom/test.mk
--- old/mk-configure-mk-configure-0.40.0/tests/mkc_check_custom/test.mk 
2024-10-06 11:05:05.000000000 +0200
+++ new/mk-configure-mk-configure-0.40.1/tests/mkc_check_custom/test.mk 
2026-10-14 22:42:43.000000000 +0200
@@ -6,40 +6,40 @@
        CXXFLAGS=${CXXFLAGS:Q}; export CXXFLAGS; \
        LDFLAGS=${CFLAGS:Q}\ ${LDFLAGS:Q}; export LDFLAGS; \
        echo ============= common tests ============; \
-       rm -f _mkc_*; \
+       rm -rf _mkc_*.dSYM; rm -f _mkc_*; \
        mkc_check_custom ${SRCDIR_configure_test}/custom/custom_check1.c 2>&1 | 
head -1; \
        echo =========== custom_check1.c ===========; \
-       rm -f _mkc_*; \
+       rm -rf _mkc_*.dSYM; rm -f _mkc_*; \
        mkc_check_custom -t check1 
${SRCDIR_configure_test}/custom/custom_check1.c 2>&1; \
-       rm -f _mkc_*; \
+       rm -rf _mkc_*.dSYM; rm -f _mkc_*; \
        MKC_VERBOSE=1; export MKC_VERBOSE; \
        mkc_check_custom -t check1 
${SRCDIR_configure_test}/custom/custom_check1.c 2>&1; \
        mkc_check_custom -t check1 
${SRCDIR_configure_test}/custom/custom_check1.c 2>&1; \
        env MKC_NOCACHE=1 mkc_check_custom -t check1 
${SRCDIR_configure_test}/custom/custom_check1.c 2>&1; \
        env MKC_SHOW_CACHED=1 mkc_check_custom -t check1 
${SRCDIR_configure_test}/custom/custom_check1.c 2>&1; \
        env MKC_SHOW_CACHED=1 mkc_check_custom -t check1 -b 
${SRCDIR_configure_test}/custom/custom_check1.c 2>&1; \
-       rm -f _mkc_*; \
+       rm -rf _mkc_*.dSYM; rm -f _mkc_*; \
        env mkc_check_custom -t check1 -b 
${SRCDIR_configure_test}/custom/custom_check1.c 2>&1; \
-       rm -f _mkc_*; \
+       rm -rf _mkc_*.dSYM; rm -f _mkc_*; \
        env mkc_check_custom -t check1 -bl 
${SRCDIR_configure_test}/custom/custom_check1.c 2>&1; \
-       rm -f _mkc_*; \
+       rm -rf _mkc_*.dSYM; rm -f _mkc_*; \
        env LDFLAGS="$$CFLAGS --zzz" mkc_check_custom -t check1 -bl 
${SRCDIR_configure_test}/custom/custom_check1.c 2>&1; \
-       rm -f _mkc_*; \
+       rm -rf _mkc_*.dSYM; rm -f _mkc_*; \
        env LDFLAGS="$$LDLAGS --zzz" mkc_check_custom -t check1 -b 
${SRCDIR_configure_test}/custom/custom_check1.c 2>&1; \
-       rm -f _mkc_*; \
+       rm -rf _mkc_*.dSYM; rm -f _mkc_*; \
        env CFLAGS="$$CFLAGS --zzz" mkc_check_custom -e -t check1 -b 
${SRCDIR_configure_test}/custom/custom_check1.c 2>&1; \
        echo =========== custom_check3.c ===========; \
-       rm -f _mkc_*; \
+       rm -rf _mkc_*.dSYM; rm -f _mkc_*; \
        mkc_check_custom -t check3 
${SRCDIR_configure_test}/custom/custom_check3.c 2>&1; \
        echo =========== my_check2.c ===========; \
-       rm -f _mkc_*; \
+       rm -rf _mkc_*.dSYM; rm -f _mkc_*; \
        mkc_check_custom -t check2 -b 
${SRCDIR_configure_test}/custom/my_check2.c 2>&1; \
-       rm -f _mkc_*; \
+       rm -rf _mkc_*.dSYM; rm -f _mkc_*; \
        mkc_check_custom -t check2 -lb 
${SRCDIR_configure_test}/custom/my_check2.c 2>&1; \
        echo =========== my_check4.c ===========; \
-       rm -f _mkc_*; \
+       rm -rf _mkc_*.dSYM; rm -f _mkc_*; \
        mkc_check_custom -t check4 ${SRCDIR_configure_test}/custom/my_check4.c 
2>&1; \
-       rm -f _mkc_*; \
+       rm -rf _mkc_*.dSYM; rm -f _mkc_*; \
        mkc_check_custom -lb -t check4 
${SRCDIR_configure_test}/custom/my_check4.c 2>&1; \
        mkc_check_custom -lbd -t check4 
${SRCDIR_configure_test}/custom/my_check4.c 2>&1; \
        mkc_check_custom -t custom_check4 -m 'trying to build my_check4 
application' -lb ${SRCDIR_configure_test}/custom/my_check4.c 2>&1; \

Reply via email to