Software Packaging and Build Systems
Software Build Systems, Packaging and Distribution
Software development includes not only software design, programming, testing and debugging, it also extends to packaging and distribution.
The build process and other tasks differ, depending on the programming language used.
Python (e.g. GGCGen):
Step | recommended tool | alternative tools |
---|---|---|
build system | none (CPython interpreter) | py2exe, cyton |
compilation toolchain: | interpreted (CPython interpreter) | py2exe, cyton |
Packaging | PyPa build plus setuptools with setup.cfg, setup.py and MANIFEST.in | d2to1, distutils2 |
Distribution | PyPa, pip | git repository + pip |
C/C++ (e.g. tutaconvert and direction_indicator):
Step | recommended tool | alternative tools |
---|---|---|
build system | gitlab-CI with _config.yml, Microsoft Visual Studio code + PlatformIO IDE + MSYS2 with base-devel option (git, make, cmake, gcc, g++) ) | Microsoft Visual Studio code + CMake tools + MSYS2 with base-devel option, travis-CI |
compilation toolchain: | PlatformIO platform avr (avr-toolchain with avr-gcc) | GCC |
Packaging | CMake, CPack, NSIS | PlatformIO |
Distribution | ? | ? |
Copyright 2022 DerAndere