bug-gnulib
[Top][All Lists]
Advanced

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

Re: updating gnulib-tool.py


From: Bruno Haible
Subject: Re: updating gnulib-tool.py
Date: Wed, 10 Aug 2022 00:55:44 +0200

Today's changes:

2022-08-09  Bruno Haible  <bruno@clisp.org>

        gnulib-tool.py: Finish implementing option --conditional-dependencies.
        * gnulib-tool.py (main) Accept options --conditional-dependencies,
        --no-conditional-dependencies.
        * pygnulib/GLModuleSystem.py (GLModuleTable.addConditional): Use
        str(module), not module, as key. Fix logic bug.
        (GLModuleTable.getCondition): Simplify.
        (GLModuleTable.transitive_closure): Show a warning when there are
        duplicate dependencies. Fix logic bug.
        (GLModuleTable.transitive_closure_separately): Simplify.
        (GLModuleTable.add_dummy): Ignore tests modules. Cope with multiple
        lib_SOURCES augmentation lines. Cope with comments at the end of a
        lib_SOURCES augmentation line. Add the dummy module at the end of the
        modules list.
        * pygnulib/GLTestDir.py (GLTestDir.execute): Remove the code that forces
        the dummy module to the end of the list.
        * pygnulib/GLEmiter.py (GLEmiter.autoconfSnippets): Add code to
        terminate the shell functions. Add code for the dependencies from the
        unconditional to the conditional modules. Don't emit AM_CONDITIONAL for
        unconditional modules.

        gnulib-tool.py: Don't do license replacements in the autoconf snippets.
        * pygnulib/GLEmiter.py (GLEmiter.autoconfSnippet): Remove fileassistant
        argument. Don't invoke the 'aux' transformer here. Don't produce Windows
        CR-LFs on Windows.
        (GLEmiter.autoconfSnippets): Remove fileassistant argument.
        * pygnulib/GLImport.py (GLImport.gnulib_comp): Update all callers.
        * pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.

        gnulib-tool.py: Fix some code generation details.
        * pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): When removing a
        lib_LDFLAGS line, remove also the newline. Fix regex that matches
        lib_SOMETHING. Add a newline after each '## begin gnulib module' line.
        Don't emit 'endif' lines without corresponding 'if'. When emitting a
        '+=' augmentation, make sure it does not get emitted a second time.
        Don't emit a blank line when there is no AM_CPPFLAGS augmentation.
        Update after getLink() changed. In the value of DEFAULT_TEXT_DOMAIN,
        backslash-escape the double-quotes. Don't produce Windows CR-LFs on
        Windows. Simplify.
        (GLEmiter.tests_Makefile_am): When removing a lib_LDFLAGS line, remove
        also the newline. Fix regex that matches lib_SOMETHING. Don't remove a
        blank line before EXTRA_DIST. Add a newline after each
        '## begin gnulib module' line. Set uses_subdirs also when there is a .c
        file in a subdir of tests/. When emitting a '+=' augmentation, make sure
        it does not get emitted a second time. Don't produce Windows CR-LFs on
        Windows. Simplify.
        * pygnulib/GLImport.py (GLImport.execute): Update after getLink()
        changed.

        gnulib-tool.py: Fixes for conditional dependencies.
        * pygnulib/GLModuleSystem.py (GLModule.shell_id_chars): New constant.
        (GLModule.getShellFunc): Don't use md5 just because of an '_' character.
        (GLModule.getShellVar): Likewise.
        (GLModule.getConditionalName): Include a newline in the md5 input.
        * pygnulib/constants.py (ALPHANUMERIC): Remove constant.

        gnulib-tool.py: Refactor.
        * pygnulib/GLModuleSystem.py (GLModule.getLicense): Separate the warning
        logic from the result logic.

Attachment: 0001-gnulib-tool.py-Refactor.patch
Description: Text Data

Attachment: 0002-gnulib-tool.py-Fixes-for-conditional-dependencies.patch
Description: Text Data

Attachment: 0003-gnulib-tool.py-Fix-some-code-generation-details.patch
Description: Text Data

Attachment: 0004-gnulib-tool.py-Don-t-do-license-replacements-in-the-.patch
Description: Text Data

Attachment: 0005-gnulib-tool.py-Finish-implementing-option-conditiona.patch
Description: Text Data


reply via email to

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