Add a --enable-dev-mode to enable everything #975

pull elichai wants to merge 2 commits into bitcoin-core:master from elichai:dev-mode changing 1 files +13 −1
  1. elichai commented at 9:24 am on September 15, 2021: contributor

    When modifying the internals I usually want to run all the tests and make sure that I don’t break any of the modules. but I never remember exactly if module comes before or after the module name (i.e. --enable-module-ecdh vs --enable-ecdh-module) and it’s a lot to enable all modules.

    So I added a short simple flag --enable-dev-mode that enables everything. (If we want to make it more configurable, we can set all default values before, then process dev-mode, and then process the rest of the flags without any action-if-not-given, so that further flags can override the default dev-mode, but because it’s for development I think this is currently enough)

    This also fixes the fact that we’ve assigned use_experimental but used enable_experimental.

  2. in configure.ac:132 in f5306736a7 outdated
    127@@ -128,8 +128,8 @@ AC_ARG_ENABLE(openssl_tests,
    128 
    129 AC_ARG_ENABLE(experimental,
    130     AS_HELP_STRING([--enable-experimental],[allow experimental configure options [default=no]]),
    131-    [use_experimental=$enableval],
    132-    [use_experimental=no])
    133+    [enable_experimental=$enableval],
    134+    [enable_experimental=no])
    


    real-or-random commented at 10:27 am on September 15, 2021:

    Hm I was wondering why this has been working then since ever. The reason is that enable_experimental is automatically assigned, and so we don’t need to set this at all here…

    See https://www.gnu.org/software/autoconf/manual/autoconf-2.70/html_node/Package-Options.html or https://autotools.io/autoconf/arguments.html .

    And there’s no reason to have sometimes use and sometimes enable. we may want to do some cleanup in our configure.ac. That does not need to happen in this PR but to keep it consistent for now, it may be cleaner to check for use_experimental below instead of making the change here.

  3. real-or-random commented at 10:29 am on September 15, 2021: contributor
    Concept ACK
  4. sipa commented at 1:41 pm on September 24, 2021: contributor
    Concept ACK
  5. jonasnick commented at 7:36 pm on September 26, 2021: contributor

    concept ACK

    (even more useful in secp-zkp)

  6. elichai renamed this:
    Add a `--dev-mode` to enable everything
    Add a `--enable-dev-mode` to enable everything
    on Oct 4, 2021
  7. use use_experimental instead of enable_experimental when checking if
    experimental modules are enabled
    99aebc8d18
  8. Add a --dev-mode flag that enables all modules bb40f48630
  9. elichai force-pushed on Oct 4, 2021
  10. practicalswift commented at 10:35 am on October 5, 2021: contributor
    Concept ACK
  11. real-or-random changes_requested
  12. real-or-random commented at 3:26 pm on October 8, 2021: contributor

    This currently disables all the options if you pass --disable-dev-mode or equivalently --enable-dev-mode=no. But these should just be noops. (https://autotools.io/autoconf/arguments.html is a nice document explaining how autoconf works here)

    I think it would also be nice to first handle dev-mode and then other options, so you can enable all modules but then disable a particular one.

  13. Rogelio165 approved
  14. real-or-random commented at 10:00 am on January 25, 2022: contributor
    @elichai I still think this very useful. Are you planning to work on this? If not, maybe someone could take over.
  15. real-or-random cross-referenced this on Feb 23, 2022 from issue configure: Add hidden --enable-dev-mode to enable all the stuff by real-or-random
  16. real-or-random commented at 8:32 pm on February 23, 2022: contributor
    Closing in favor of #1079.
  17. real-or-random closed this on Feb 23, 2022


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/secp256k1. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-24 07:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me