Skip to content

📦 RFP: Replace Autobuild with Modern Dependency Management System #4390

@bennettgoble

Description

@bennettgoble

We are requesting proposals for removing autobuild from the Second Life Viewer build process and replacing it with a modern, maintainable dependency management system such as vcpkg, Conan, or direct embedded dependencies.

Autobuild was developed in-house to solve a real problem at the time, but it has become a maintenance burden and is now limiting our ability to quickly iterate, support new platforms, update dependencies, and simplify build tooling.

✅ Acceptance Criteria

  • A detailed written proposal is submitted (as a comment linking to a Gist, Google Doc, or similar)
  • Proof of concept featuring a building indra/llcommon
  • The proposal includes a recommended replacement for autobuild (e.g., vcpkg, Conan, embedded libraries)
  • The proposed solution:
    • Simplifies local development environment setup
    • Offers native or improved integration with CMake
    • Reduces the effort needed to update or patch third-party libraries
    • Improves or maintains code signing compatibility (especially for Windows)
    • Supports all current Viewer platforms (Windows and macOS)
    • Easily supports platforms supported by forks: (Linux, arm64 builds)
  • The proposal includes:
    • CI/CD migration strategy
    • High-level timeline and migration plan
    • Identification of high-risk dependencies or steps
    • Tradeoffs between proposed options

🧪 Evaluation

  • Build verification across Windows and macOS
  • CI pass with the new dependency management system
  • Comparison of build time, dependency footprint, and setup complexity (before vs. after)
  • Developer experience feedback during migration

📎 Resources


Please post your proposal as a comment on this issue by linking to a document (Gist, Google Doc, etc.).

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions