GithubHelp home page GithubHelp logo

Support Meson about opus HOT 4 CLOSED

xiph avatar xiph commented on June 25, 2024
Support Meson

from opus.

Comments (4)

rillian avatar rillian commented on June 25, 2024

So in general we're happy to take contributions for other build systems if they're helpful to downstream library users. The main issue is ongoing maintenance.

  • The core development team doesn't have much time to maintain all the different build systems, so if there isn't a community of people available to keep it running, we'll just have to remove it again, which is disappointing for users.

  • We have a single source for the list of source files, in *_sources.mk and *_headers.mk that the current build systems use, except for Visual Studio. We'd like any new additions to build on those, to minimize the number of places people adding/removing source files have to update.

If you can address both of those, then a meson config, with integration tests so we know when it breaks, is fine. I don't know much about meson, I guess you'd have to shell out to a custom generator script or upstream a makefile module to address the second?

Note there's already a PR open to add CMake support, and VS2017 has native CMake build support, so that will probably be more immediately popular if you just want an alternative to autotools.

from opus.

Timmmm avatar Timmmm commented on June 25, 2024

Good points. Unfortunately it doesn't seem like it is possible to read & parse a makefile from Meson like that at the moment.

Given that Meson is probably not at the point where I would have it as the only option for a project like this, and you don't want to support more than one build system, I would say entirely moving from Autotools to CMake is probably the best option. True, CMake is crazy, but not quite as crazy as Autotools, and it works quite well on Windows.

from opus.

andreaskem avatar andreaskem commented on June 25, 2024

I took a stab at this out of boredom:
https://github.com/andreaskem/opus/commit/f7ade90143e58078ed5e342a136516e6996156a3

There are several caveats mentioned in the commit message so this might not be useful for anybody. Provided without warranty, your mileage may vary, yadda yadda yadda.

from opus.

Timmmm avatar Timmmm commented on June 25, 2024

Nice, though I think using Python to parse the .mk files shouldn't be part of the meson.build. Probably would be better as a pre-generation step that writes a meson.build file with the correct filenames.

Also you probably want to use target_machine in most places you have used host_machine.

from opus.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.