Skip to content

Conversation

@KaliAssistant
Copy link

Summary

This PR removes support for building the project with SCons and CMake, and introduces a full GNU Autotools build system. This simplifies build toolchain support and aligns better with standard packaging systems.

Changes

  • Removed:

    • CMakeLists.txt and all CMake-related files
    • SConstruct, SConscript, version.py, linux.py, and other SCons-related files
    • version.h.in, version, and related CMake-generated version headers
    • Legacy .pc.in file for CMake
  • Added:

    • Autotools files: configure.ac, Makefile.am, src/Makefile.am, autogen.sh
    • libws2811.pc.in moved and adapted for Autotools in src/
  • Updated:

    • .gitignore to ignore Autotools-generated files (e.g. configure, Makefile.in, autom4te.cache/, etc.)
    • All source and header files moved into src/ directory to align with Automake structure

Build Instructions

To build using Autotools:

./autogen.sh && ./configure && make

for cross-build:

./configure --host=aarch64-linux-gnu --disable-debug --disable-test --enable-shared=yes

Optional:

make install
make install DESTDIR=/path/to/root

Use ./configure --disable-test to skip building the test binary, or --disable-shared to build only static library.

Motivation

  • Simplifies the build process by using a single standardized system
  • Makes it easier to integrate with Debian packaging tools
  • Enables standard make, make install, make dist flows
  • Reduces duplication and maintenance burden across build systems

…DIR installs

- Replace absolute @CMAKE_INSTALL_FULL_* variables with relative prefixes in pkg-config.pc.in
- Use prefix and exec_prefix variables to allow relocatable installs
- Enables proper use of 'make install DESTDIR=...' without leaking build-time paths
- Improves packaging compatibility and security by not embedding local build paths
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant