GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    alcinnz (alcinnz@floss.social)'s status on Thursday, 14-Nov-2024 03:27:05 JST alcinnz alcinnz

    Meson is a frontend to a lower-level backend build system. Usually this backend is Ninja, but Apple's & Microsoft's IDEs are also supported. Meson's interface to these backends all share a common baseclass.

    So how does Meson's interface to Ninja work? In brief it constructs an AST to serialize, with the aid of some text-escaping utils.

    After some writing version check into the low-level buildfiles, doing some validation, & determining exactly which file to atomically-write to...

    1/2?

    In conversation about a year ago from floss.social permalink

    Attachments


    • Embed this notice
      alcinnz (alcinnz@floss.social)'s status on Thursday, 14-Nov-2024 03:50:54 JST alcinnz alcinnz
      in reply to

      Meson writing a Ninja buildfile will (whilst generating comments) insert rules to tell Ninja when to reinvoke Meson, iterates over all compilations (within an iteration over all configured machines) to generate their build rules (generating a single extra one for Clang), generates configured-machine static-linking rule, do the same for dynamic linking, & adds a handful of boilerplate rules. A dict is used to deduplicate, as we populate a list.

      It creates an out-of-date "phony" build target.
      2/3

      In conversation about a year ago permalink

      Attachments


    • Embed this notice
      alcinnz (alcinnz@floss.social)'s status on Thursday, 14-Nov-2024 04:06:03 JST alcinnz alcinnz
      in reply to

      Meson creates a mapping from file extensions to compile commands, whilst rendering a progress bar it lowers all the targets, it creates a target to build & run the testsuite, a target to install the files into their destinations, & one to generate a distro package. Maybe a target to analyze test coverage, followed by targets to integrate a few additional utils. And finally it generates a target to tidyup.

      Before writing this all out, possibly run Ninja, & generating a couple more files.

      3/3!

      In conversation about a year ago permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.