SCons

Linux.fista
(Ohjattu sivulta Scons)
Siirry navigaatioon Siirry hakuun
SCons
Tekijä(t) Steven Knight
Kehittäjä(t) SCons Development Team
Ensijulkaisu 13. joulukuuta 2001
Vakaa versio 4.9.1  / 27. maaliskuuta 2025
Ohjelmoitu Python
Käyttöliittymä Komentorivi (CLI)
Tyyppi Rakennusautomaatiotyökalu, Kehitystyökalu
Lisenssi MIT-lisenssi
Kotisivu scons.org
Lähdekoodi github.com/SCons/scons

SCons – Moderni ohjelmiston rakennustyökalu

SCons on tietotekniikassa käytetty alustariippumaton ohjelmistojen rakennustyökalu. Sen päätehtävä on automatisoida ja hallita ohjelmistoprojektien käännös- ja rakennusprosesseja. Se analysoi lähdekooditiedostojen riippuvuudet ja generoi lopulliset binääritiedostot asennettavaksi kohdekäyttöjärjestelmäalustalle.

SConsin tärkein ero perinteisiin työkaluihin, kuten GNU:n make-järjestelmään, on sen perustuminen Python-skripteihin sekä luotettavaan riippuvuuksien hallintaan.

Keskeiset ominaisuudet

[muokkaa]

SCons korvaa perinteiset make- ja autoconf-työkalut tarjoamalla yhtenäisen ja tehokkaamman ratkaisun.

  • Python-skriptit konfiguraationa: Konfiguraatiotiedostot ovat Python-skriptejä (SConstruct ja SConscript). Tämä antaa käyttäjälle mahdollisuuden hyödyntää yleiskäyttöisen ohjelmointikielen logiikkaa, ehtoja ja tietorakenteita monimutkaisten rakennusvaatimusten kuvaamiseen.
  • Sisällönperusteinen uudelleenrakennus (MD5): SCons tunnistaa tiedostojen muutokset MD5-tunnisteiden (hash-summien) avulla. Tämä eroaa make:sta, joka tarkistaa vain tiedoston aikaleiman. MD5-tunnisteiden käyttö takaa, että:
    • Vain aidosti muuttuneet tiedostot käännetään uudelleen.
    • Käännökset ovat luotettavia myös siirrettäessä projekteja tai tiedostojärjestelmän muutosten jälkeen.
  • Automaattinen riippuvuusanalyysi: Työkalussa on sisäänrakennettu, älykäs riippuvuusanalyysi C-, C++- ja Fortran-koodille. Se skannaa automaattisesti lähdekoodin #include-lauseet, eikä kehittäjän tarvitse ylläpitää riippuvuuksia manuaalisesti. Riippuvuusanalyysiä voidaan helposti laajentaa myös muille kielille tai tiedostotyypeille.
  • Alustariippumattomuus ja monikielituki: Koska SCons on Python-pohjainen, se on helposti asennettavissa ja toimii suoraan kaikilla yleisillä käyttöjärjestelmillä (Linux, Windows, macOS). Se tukee sisäänrakennettuna laajaa valikoimaa kieliä ja teknologioita, mukaan lukien:
  • Kehitysympäristöjen tuki: SCons pystyy käyttämään ja generoimaan konfiguraatiotiedostoja suosituille IDE-ympäristöille, kuten Microsoft Visual Studiolle (.dsp-, .dsw-, .sln- ja .vcproj-tiedostojen generointi).
  • Muut Edut:
    • Tukee rinnakkaista ohjelman kääntämistä hyödyntäen nykyaikaisia moniydinprosessoreita.
    • Rakennusprosessiin voidaan lisätä omia käyttäjän määrittelemiä rakennusvaiheita.

Käyttökohteet

[muokkaa]

SConsin luotettavuus ja joustavuus ovat tehneet siitä suositun valinnan monissa merkittävissä sovelluksissa ja peleissä: