make-alpha
[Top][All Lists]
Advanced

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

[SCM] make branch, master, updated. 4.4.1-22-g0552b0ab


From: Paul D. Smith
Subject: [SCM] make branch, master, updated. 4.4.1-22-g0552b0ab
Date: Sun, 2 Apr 2023 10:07:08 -0400 (EDT)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "make".

The branch, master has been updated
       via  0552b0abc84d58ece15740fb95db0b405f1d0e37 (commit)
       via  c2792d6129fe9b13efba159126430d657f447033 (commit)
       via  a0d1e76d604df5bd006fd5ed6a69963d3c6b4d7a (commit)
       via  03ecd94488b85adc38746ec3e7c2a297a522598e (commit)
       via  2611e1991fabe2a3ae929c6ebd4afbd4f550f306 (commit)
       via  9db74434cd34b2b875b3f9bfbab4f1e0b682e27c (commit)
       via  23f70b0cb86208d3b9b47b0efa9707a1dac5360b (commit)
       via  78c8c44326f644da612088fa05c8a77c5ca17a5e (commit)
       via  caf1d4c28fd96f1b3efec10f3978c45e5cf57aa4 (commit)
       via  f99d0834184c97f162e965a603e88a3e10e22993 (commit)
       via  a367c0640fcbf9872cde1f8c79f4f11658807ad1 (commit)
       via  3088e3e69874f4f25349e1870da5eeeb8a88e1ca (commit)
       via  bf7f690202a78bc4e1588302f9ba6a10a4c273af (commit)
       via  5d1fe2b16db49f15fb8611e70221687cecb411bc (commit)
       via  8285852e553429021526d1a686fff290a5d469ef (commit)
       via  9b9f3351d1294b8e6d11f339f7b47d705c69e64f (commit)
       via  6f3e9e9b844cf5e9cd95e9af9ae5fa9409993bd7 (commit)
       via  6128c3e266940ebc3c5e5a4a54241354334d1ebc (commit)
       via  ceb52b5d1b10ce0f5a1ab090e1911cdde6f7d98a (commit)
       via  d4692df20de2db10c186d981ee04ce20487a79c3 (commit)
       via  e6bd61d949df4bde73d2f7c09d09df687c9283b2 (commit)
       via  fcefae5ec9743c6816fd3bbc896a05526fce9230 (commit)
      from  d66a65ad5a0e31b287f53930b0f09e31801f1613 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 0552b0abc84d58ece15740fb95db0b405f1d0e37
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Apr 2 10:01:04 2023 -0400

    * doc/make.texi: Clean up function and variable references
    
    Avoid unnecessary extra remarks in the index and remove duplicates.

commit c2792d6129fe9b13efba159126430d657f447033
Author: Paul Smith <psmith@gnu.org>
Date:   Sat Apr 1 15:57:04 2023 -0400

    Adjust output strings to be aligned
    
    Change error and fatal messages to start with lowercase and not
    end with a period.  Note a few very common messages were left
    as-is, just in case some other tools parse them.
    
    Also modify the test known-good-output to satisfy the messages.

commit a0d1e76d604df5bd006fd5ed6a69963d3c6b4d7a
Author: Paul Smith <psmith@gnu.org>
Date:   Sat Mar 18 17:24:45 2023 -0400

    Add support for .WARNINGS special variable
    
    Create a new special variable, .WARNINGS, to allow per-makefile
    control over warnings.  The command line settings will override
    this.
    
    Move the handling of warning flags to a new file: src/warning.c.
    Allow the decode to work with generic strings, and call it from
    decode_switches().
    
    * Makefile.am: Add new file src/warning.c.
    * build_w32.bat: Ditto.
    * builddos.bat: Ditto.
    * po/POTFILES.in: Ditto.
    * src/makeint.h: #define for the .WARNINGS variable name.
    * src/warning.h: Add declarations for methods moved from main.c.
    Rename the enum warning_state to warning_action.
    * src/warning.c: New file.  Move all warning encode/decode here
    from main.c.
    * src/main.c: Move methods into warning.c and call those methods
    instead.
    (main): Set .WARNINGS as a special variable.
    * src/job.c (construct_command_argv): Rename to warning_action.
    * src/read.c (tilde_expand): Ditto.
    * src/variable.c (set_special_var): Update warnings when the
    .WARNINGS special variable is set.
    * tests/scripts/options/warn: Check invalid warning options.
    * tests/scripts/variables/WARNINGS: Add tests for the .WARNINGS
    special variable.

commit 03ecd94488b85adc38746ec3e7c2a297a522598e
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Feb 26 18:24:30 2023 -0500

    Add new warnings invalid-var and invalid-ref
    
    The "invalid-var" warning triggers if the makefile attempts to assign
    a value to an invalid variable name (a name containing whitespace).
    The "invalid-ref" warning triggers if the makefile attempts to
    reference an invalid variable name.  Both new warnings have a default
    action of "warn".
    
    * NEWS: Add these new warnings.
    * doc/make.1: Document them in the man page.
    * doc/make.texi (Warnings): Document them in the user's manual.
    * src/warning.h: Add enum values for the new warning types.
    * src/main.c (initialize_warnings): Initialize the new warnings.
    * src/variable.h (undefine_variable_in_set, undefine_variable_global):
    Ask callers to provide a struct floc specifying where the variable
    is undefined.
    * src/read.c (do_undefine): Pass floc when undefining.
    * src/variable.c (check_valid_name): If invalid-var is enabled, check
    the variable name.
    (define_variable_in_set): Call it.
    (undefine_variable_in_set): Ditto.
    (check_variable_reference): If invalid-ref is enabled, check the
    variable reference.
    (lookup_variable): Call it.
    (lookup_variable_in_set): Ditto.
    * tests/scripts/options/warn: Add tests for the new warning types.

commit 2611e1991fabe2a3ae929c6ebd4afbd4f550f306
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Feb 26 18:04:14 2023 -0500

    Introduce a --warn command line option
    
    Replace the singleton --warn-undefined-variables with infrastructure
    to manage multiple warnings: the --warn option can take an action
    "ignore", "warn", or "error" (which will apply to all warnings), or
    a specific warning type and an action for that type.  Multiple
    options can be provided and are consolidated.
    
    * NEWS: Announce the new option.
    * doc/make.1: Document in the man page.
    * doc/make.texi (Warnings): Document in the user's manual.
    * Makefile.am: Add new header warning.h.
    * src/warning.h: Define enum for actions and warning types, and
    macros to test whether they are set.  Keep the default settings
    separate so that we can correctly reconstruct MAKEFLAGS.
    * src/makeint.h: Remove deprecated warn_undefined_variables_flag.
    * src/main.c: Create global variables to hold warning settings.
    (switches): Add a new switch for --warn.
    (initialize_warnings): Set the default warning actions.
    (main): Call initialize_warnings().
    (encode_warning_state, decode_warning_state): Convert warning states
    between strings and enums.
    (encode_warning_name, decode_warning_name): Convert warning names
    between strings and enums.
    (decode_warn_flags): Convert a --warn option into enum values.  If
    deprecated warn_undefined_variables_flag is set convert it to --warn.
    (decode_switches): Don't remove duplicates of --warn since order
    matters.  Call decode_warn_flags() to handle --warn.
    (define_makeflags): Special-case handling of --warn options written
    to MAKEFLAGS: write out the current settings.
    * src/read.c (tilde_expand): Use new warning control macros.
    * src/variable.c (warn_undefined): Ditto.
    * src/job.c (construct_command_argv): Ditto.
    * tests/scripts/options/warn: Rename from warn-undefined-variables
    and add tests for --warn.
    * tests/scripts/variables/MAKEFLAGS: Expect the new behavior.

commit 9db74434cd34b2b875b3f9bfbab4f1e0b682e27c
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Mar 26 15:35:00 2023 -0400

    Clean up memory leak warnings from ASAN and Valgrind
    
    * src/main.c (main): Add "sanitize" to .FEATURES if ASAN is enabled.
    * src/expand.c (expand_variable_output): Remember "recursive" setting
    in case it's changed by the expansion of the variable.
    * src/file.c (rehash_file): If we drop a file from the global 'files'
    hash, remember it in rehashed_files.  We can't free it because it's
    still being referenced (callers will invoke check_renamed()) but
    it will be a leak since it's no longer referenced by 'files'.
    * src/remake.c (update_file_1): If we drop a dependency, remember it
    in dropped_list.  We can't free it because it's still being referenced
    by callers but it will be a leak since it's no longer referenced as
    a prerequisite.
    * tests/scripts/functions/guile: Don't run Guile tests when ASAN is
    enabled.
    * tests/scripts/functions/wildcard: Enabling ASAN causes glob(3) to
    break!  Don't run this test.
    * tests/scripts/features/exec: Valgrind's exec() doesn't support
    scripts with no shbang.
    * tests/scripts/jobserver: Valgrind fails if TMPDIR is set to an
    invalid directory: skip those tests.
    * tests/scripts/features/output-sync: Ditto.
    * tests/scripts/features/temp_stdin: Ditto.

commit 23f70b0cb86208d3b9b47b0efa9707a1dac5360b
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Mar 26 17:29:50 2023 -0400

    Create helper functions for pushing file contexts
    
    * src/variable.h (install_file_context, restore_file_context): Add
    declarations for new functions.
    * src/variable.c (install_file_context, restore_file_context): Define
    the new functions.
    (lookup_variable_for_file): Call them.
    * src/expand.c (recursively_expand_for_file): Ditto.
    (allocated_expand_variable_for_file): Ditto.
    (expand_string_for_file): Ditto.

commit 78c8c44326f644da612088fa05c8a77c5ca17a5e
Author: Paul Smith <psmith@gnu.org>
Date:   Sat Mar 25 19:15:20 2023 -0400

    Add functions to directly expand variables by name
    
    Replace all locally-created "$("+varname+")" and similar constructs
    with calls to these new functions.
    
    * src/expand.c (expand_variable_output): Call expand_string_output()
    on the expansion of a variable value.  Replaces reference_variable().
    (expand_variable_buf): Like expand_variable_output() but return the
    starting location of the result.
    (allocated_expand_variable): Like expand_variable_buf() but return
    an allocated string.
    (expand_string_buf): Call expand_variable_output().
    * src/variable.h: Declare the new functions.
    * src/function.c (func_call): Call expand_variable_output() instead
    of expand_string_buf().
    * src/main.c (decode_env_switches): Call expand_variable() instead
    of expand_string().
    * src/remake.c (library_search): Call allocated_expand_variable()
    instead of expand_string() plus xstrdup().
    * src/vpath.c (build_vpath_lists): Expand VPATH and GPATH using
    expand_variable() instead of expand_string().
    * src/w32/subproc/sub_proc.c (process_begin): Use expand_variable()
    to expand SHELL.  Also use alloc() in case the result is larger than
    PATH_MAX.

commit caf1d4c28fd96f1b3efec10f3978c45e5cf57aa4
Author: Paul Smith <psmith@gnu.org>
Date:   Sat Mar 25 17:53:19 2023 -0400

    Clean up expand.c
    
    Clarify the naming and documentation on functions in src/expand.c:
    - variable_expand -> expand_string
    - variable_expand_string -> expand_string_buf
    - variable_expand_for_file -> expand_string_for_file
    - allocated_variable_expand -> allocated_expand_string
    - allocated_variable_expand_for_file ->
      allocated_expand_string_for_file
    Change all callers to use the new names.
    
    * src/variable.h: Rename the functions and macros.
    * src/expand.c: Ditto.
    * src/file.c: Use the new function names.
    * src/function.c: Ditto.
    * src/implicit.c: Ditto.
    * src/job.c: Ditto.
    * src/loadapi.c: Ditto.
    * src/main.c: Ditto.
    * src/read.c: Ditto.
    * src/remake.c: Ditto.
    * src/variable.c: Ditto.
    * src/vpath.c: Ditto.
    * src/w32/subproc/sub_proc.c: Ditto.

commit f99d0834184c97f162e965a603e88a3e10e22993
Author: Paul Smith <psmith@gnu.org>
Date:   Sat Mar 25 16:25:32 2023 -0400

    * src/expand.c (swap_variable_buffer): Swap two variable buffers
    
    Return the current buffer instead of freeing it.
    (variable_append): Use install/swap to handle variable buffers.
    (allocated_variable_expand_for_file): Ditto.
    * src/variable.c (shell_result): Ditto.
    * src/variable.h: Declare the new function.

commit a367c0640fcbf9872cde1f8c79f4f11658807ad1
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Mar 26 09:24:06 2023 -0400

    Ensure variable_buffer is always nul-terminated
    
    * src/expand.c (variable_buffer_output): Allocate an extra byte and
    set it to nul.  For safety, add assert() on PTR.
    (variable_expand_string): Don't call variable_buffer_output just to
    add a nul byte.
    (allocated_variable_append): Ditto.

commit 3088e3e69874f4f25349e1870da5eeeb8a88e1ca
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Mar 5 09:09:46 2023 -0500

    [SV 63867] Don't use --sort to generate error report tar files
    
    Older versions of GNU tar parse the TAR_OPTIONS variable, but do not
    accept the --sort option: remove it before creating the error report
    tar files.  Note we still require a modern GNU tar to create release
    tar files.  Reported by Dmitry Goncharov <dgoncharov@users.sf.net>
    
    * Makefile.am (check-regression): Remove --sort from TAR_OPTIONS

commit bf7f690202a78bc4e1588302f9ba6a10a4c273af
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Feb 26 17:30:15 2023 -0500

    Directly handle $\ line endings
    
    Previously we used the fact that this line ending expanded to "$ "
    which would then expand to the empty string.  This has problems if
    you enable warnings for undefined variables, so directly implement
    this special (but documented) trick in the GNU Make parser.
    
    As a side-effect this also removes all previous whitespace when
    in GNU Make mode (not in POSIX mode) just as it would without "$".
    
    * src/misc.c (collapse_continuations): Check for "$\" and remove it.
    * tests/scripts/variables/flavors: Add regression tests including
    with previous whitespace, and escaped/unescaped "$"

commit 5d1fe2b16db49f15fb8611e70221687cecb411bc
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Feb 26 17:15:56 2023 -0500

    * src/main.c (define_makefiles): Simplify by using variable_buffer
    
    Toss the previous implementation which first computed a locally
    allocated list of options, then used alloca() to create a buffer
    of the right size and populate it.  Instead, use variable_buffer
    to append to the string directly.  First add all single-letter
    options without arguments, then add options with arguments.

commit 8285852e553429021526d1a686fff290a5d469ef
Author: Paul Smith <psmith@gnu.org>
Date:   Mon Jan 16 13:01:09 2023 -0500

    Clean up some preprocessor operations

commit 9b9f3351d1294b8e6d11f339f7b47d705c69e64f
Author: Paul Smith <psmith@gnu.org>
Date:   Mon Jan 16 00:24:13 2023 -0500

    Use MK_OS_OS2 macro instead of __EMX__
    
    * src/makeint.h: Set MK_OS_OS2 to 1 if __EMX__ is set.
    * src/*: Convert #if refs to __EMX__, to use MK_OS_OS2.

commit 6f3e9e9b844cf5e9cd95e9af9ae5fa9409993bd7
Author: Paul Smith <psmith@gnu.org>
Date:   Mon Jan 16 00:03:13 2023 -0500

    Use MK_OS_DOS macro instead of __MSDOS__
    
    * src/configh.dos: Set MK_OS_DOS to 1
    * src/*: Convert #if refs to __MSDOS__, to use MK_OS_DOS.
    * gl/lib/*: Ditto.

commit 6128c3e266940ebc3c5e5a4a54241354334d1ebc
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Jan 15 18:27:13 2023 -0500

    Rename WINDOWS32 macro to MK_OS_W32
    
    * configure.ac: Set MK_OS_W32 to 1 if we're on Windows32.
    * src/config.h.W32: Ditto.
    * mk/Windows32.mk: Ditto.
    * src/makeint.h: Convert #if refs to WINDOWS32, to use MK_OS_W32.
    * src/*: Ditto.
    * src/w32/*: Ditto.
    * gl/lib/*: Ditto.

commit ceb52b5d1b10ce0f5a1ab090e1911cdde6f7d98a
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Jan 15 18:04:36 2023 -0500

    Rename VMS macro to MK_OS_VMS
    
    * src/makeint.h: Set MK_OS_VMS to 1 if we're on VMS.
    * src/*: Convert all #if references to VMS, to use MK_OS_VMS.
    * gl/lib/*: Ditto.

commit d4692df20de2db10c186d981ee04ce20487a79c3
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Jan 15 17:32:15 2023 -0500

    Remove support for AmigaOS
    
    There is a lot of specialized code for supporting AmigaOS and it has
    not been maintained for a number of years.  It's highly unlikely that
    the latest versions even compile properly on AmigaOS anymore.  After
    requesting that someone step forward to own the maintenance of the
    port in the GNU Make 4.4 release and getting no takers, I removed it.
    
    * NEWS: Announce the removal.
    * README.in: Remove README.Amiga reference.
    * README.Amiga: Remove unused file.
    * SCOPTIONS: Ditto.
    * src/amiga.c: Ditto.
    * src/amiga.h: Ditto.
    * src/config.ami: Ditto.
    * mk/Amiga.mk: Ditto.
    * Makefile.am: Remove references to deleted files.
    * Basic.mk.template: Ditto.
    * maintMakefile: Ditto.
    * src/commands.c: Remove ifdef'd Amiga code.
    * src/default.c: Ditto.
    * src/dir.c: Ditto.
    * src/file.c: Ditto.
    * src/function.c: Ditto.
    * src/job.c: Ditto.
    * src/job.h: Ditto.
    * src/main.c: Ditto.
    * src/os.h: Ditto.
    * src/read.c: Ditto.
    * src/remake.c: Ditto.

commit e6bd61d949df4bde73d2f7c09d09df687c9283b2
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Feb 26 15:52:25 2023 -0500

    * README.git: Clarify some release steps
    
    * README.in: Update some info and remove some obsolete notes.

commit fcefae5ec9743c6816fd3bbc896a05526fce9230
Author: Paul Smith <psmith@gnu.org>
Date:   Sun Feb 26 15:40:18 2023 -0500

    * NEWS: Update for the next release
    
    * configure.ac: Set the version for the next release.

-----------------------------------------------------------------------

Summary of changes:
 AUTHORS                                        |   4 +-
 Basic.mk.template                              |   1 -
 Makefile.am                                    |  10 +-
 NEWS                                           |  19 +
 README.Amiga                                   |  80 -----
 README.git                                     |  13 +-
 README.in                                      |  25 +-
 SCOPTIONS                                      |  13 -
 build_w32.bat                                  |   1 +
 builddos.bat                                   |   3 +-
 configure.ac                                   |   4 +-
 doc/make.1                                     |  40 ++-
 doc/make.texi                                  | 189 +++++++---
 gl/lib/glob.c                                  |  40 +--
 gl/lib/glob.in.h                               |   4 +-
 maintMakefile                                  |   1 -
 mk/Amiga.mk                                    |  45 ---
 mk/Windows32.mk                                |   2 +-
 po/POTFILES.in                                 |   1 +
 src/amiga.c                                    | 113 ------
 src/amiga.h                                    |  18 -
 src/ar.c                                       |  22 +-
 src/arscan.c                                   |  26 +-
 src/commands.c                                 |  36 +-
 src/config.ami                                 | 334 ------------------
 src/config.h-vms                               |   2 +-
 src/config.h.W32                               |   6 +-
 src/configh.dos                                |   2 +-
 src/default.c                                  |  62 ++--
 src/dep.h                                      |   2 +-
 src/dir.c                                      | 132 +++----
 src/expand.c                                   | 322 +++++++++--------
 src/file.c                                     |  49 +--
 src/function.c                                 | 181 ++--------
 src/getopt.c                                   |   2 +-
 src/hash.h                                     |   2 +-
 src/implicit.c                                 |   6 +-
 src/job.c                                      | 338 +++++++-----------
 src/job.h                                      |   6 +-
 src/load.c                                     |  12 +-
 src/loadapi.c                                  |   2 +-
 src/main.c                                     | 467 +++++++++++--------------
 src/makeint.h                                  |  69 ++--
 src/misc.c                                     |  49 ++-
 src/mkcustom.h                                 |   2 +-
 src/os.h                                       |   4 +-
 src/output.c                                   |  37 +-
 src/posixos.c                                  |   2 +-
 src/read.c                                     | 163 ++++-----
 src/remake.c                                   |  49 ++-
 src/rule.c                                     |   6 +-
 src/variable.c                                 | 167 ++++++---
 src/variable.h                                 |  48 +--
 src/vmsify.c                                   |   2 +-
 src/vpath.c                                    |  20 +-
 src/w32/compat/dirent.c                        |   4 +-
 src/w32/include/dirent.h                       |   2 +-
 src/w32/pathstuff.c                            |   2 +-
 src/w32/subproc/proc.h                         |   2 +-
 src/w32/subproc/sub_proc.c                     |   7 +-
 src/warning.c                                  | 235 +++++++++++++
 src/warning.h                                  |  80 +++++
 tests/scripts/features/double_colon            |   2 +-
 tests/scripts/features/exec                    |   6 +-
 tests/scripts/features/implicit_search         |   2 +-
 tests/scripts/features/include                 |   6 +-
 tests/scripts/features/jobserver               |  13 +-
 tests/scripts/features/mult_rules              |  14 +-
 tests/scripts/features/output-sync             |  18 +-
 tests/scripts/features/patternrules            |   6 +-
 tests/scripts/features/se_explicit             |  12 +-
 tests/scripts/features/temp_stdin              |  19 +-
 tests/scripts/functions/guile                  |   3 +-
 tests/scripts/functions/shell                  |   2 +-
 tests/scripts/functions/wildcard               |   3 +-
 tests/scripts/options/dash-B                   |   3 +-
 tests/scripts/options/dash-W                   |   5 +-
 tests/scripts/options/dash-k                   |   2 +-
 tests/scripts/options/shuffle                  |   2 +-
 tests/scripts/options/warn                     | 158 +++++++++
 tests/scripts/options/warn-undefined-variables |  49 ---
 tests/scripts/targets/DELETE_ON_ERROR          |   4 +-
 tests/scripts/variables/MAKEFLAGS              |  14 +-
 tests/scripts/variables/WARNINGS               | 180 ++++++++++
 tests/scripts/variables/flavors                |  30 +-
 tests/scripts/variables/negative               |  28 +-
 tests/test_driver.pl                           |  12 +-
 87 files changed, 2121 insertions(+), 2059 deletions(-)
 delete mode 100644 README.Amiga
 delete mode 100644 SCOPTIONS
 delete mode 100644 mk/Amiga.mk
 delete mode 100644 src/amiga.c
 delete mode 100644 src/amiga.h
 delete mode 100644 src/config.ami
 create mode 100644 src/warning.c
 create mode 100644 src/warning.h
 create mode 100644 tests/scripts/options/warn
 delete mode 100644 tests/scripts/options/warn-undefined-variables
 create mode 100644 tests/scripts/variables/WARNINGS


hooks/post-receive
-- 
make



reply via email to

[Prev in Thread] Current Thread [Next in Thread]