Ero sivun ”Scons” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p Parempi ja luettavampi rakenne, myös malline
ohjauksen siirto
Merkkaus: Uusi ohjaus
 
Rivi 1: Rivi 1:
{{Ohjelma
#Ohjaus[[SCons]]
| nimi          = SCons
| logo          =
| kuva          =
| kuvateksti    =
| tekijä        = Steven Knight
| kehittäjä      = SCons Development Team
| moottori      =
| ensijulkaisu  = 13. joulukuuta 2001
| vakaaversio    = 4.9.1
| vakaapvm      = 27. maaliskuuta 2025
| kehitysversio  =
| kehityspvm    =
| ohjelmoitu    = [[Python]]
| käyttöliittymä = Komentorivi (CLI)
| tyyppi        = Rakennusautomaatiotyökalu, Kehitystyökalu
| lisenssi      = [[MIT]]-lisenssi
| kotisivu      = [http://scons.org/ scons.org]
| lähdekoodi    = [https://github.com/SCons/scons 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 ==
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:
** '''Ohjelmointikielet:''' [[C]], [[C++]], [[D]], [[Java,]] [[Fortran]], [[Objective-C]], [[Qt]] ja [[SWIG]].
** '''Muut:''' [[Yacc]], [[Lex]], [[TeX]]- ja [[LaTeX]]-dokumentit.
 
* '''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 ==
SConsin luotettavuus ja joustavuus ovat tehneet siitä suositun valinnan monissa merkittävissä sovelluksissa ja peleissä:
* [[The Battle for Wesnoth]]
* [[Doom 3]]
* [[MongoDB]]
* [[OpenNebula]]
* [[Wolfenstein: Enemy Territory]]
* [[Godot]] (pelimoottori)
 
[[Luokka:Kehitystyökalut]]

Nykyinen versio 13. marraskuuta 2025 kello 23.24

Ohjaus sivulle: