<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=SCons</id>
	<title>SCons - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=SCons"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=SCons&amp;action=history"/>
	<updated>2026-05-23T22:47:56Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=SCons&amp;diff=648179&amp;oldid=prev</id>
		<title>imported&gt;Intruder: /* Geschichte und verwandte Projekte */ WAF ist eine Begriffklärungsseite; dort findet sich die Software nicht; siehe auch Disk.</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=SCons&amp;diff=648179&amp;oldid=prev"/>
		<updated>2025-08-04T10:19:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Geschichte und verwandte Projekte: &lt;/span&gt; WAF ist eine Begriffklärungsseite; dort findet sich die Software nicht; siehe auch Disk.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Software&lt;br /&gt;
|Name= SCons&lt;br /&gt;
|Screenshot= &lt;br /&gt;
|Maintainer = The SCons Foundation&lt;br /&gt;
|AktuelleVersion= &amp;lt;!-- Wikidata --&amp;gt;&lt;br /&gt;
|AktuelleVersionFreigabeDatum=&lt;br /&gt;
|Betriebssystem= [[Unix]], [[Linux]], [[Windows]], [[POSIX]]&lt;br /&gt;
|Programmiersprache = [[Python (Programmiersprache)|Python]]&lt;br /&gt;
|Kategorie= [[Programmierwerkzeug]]&lt;br /&gt;
|Lizenz= [[MIT-Lizenz]]&lt;br /&gt;
|Deutsch= nein&lt;br /&gt;
|Website= [http://www.scons.org www.scons.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SCons&amp;#039;&amp;#039;&amp;#039; ist ein [[Freie Software|freies]] Werkzeug für die Entwicklung und Erstellung von [[Software]].&lt;br /&gt;
Es ist ein Ersatz für das klassische [[make]]-Programm und integriert dabei die Funktionalität von Werkzeugen wie [[Autoconf]], [[Automake]] und Compiler-Caches wie [[ccache]]. SCons basiert auf der Programmiersprache [[Python (Programmiersprache)|Python]], Konfigurationsdateien können als normale Python-Skripte den vollen Umfang der Sprache nutzen.&lt;br /&gt;
&lt;br /&gt;
Standardmäßig wird [[C (Programmiersprache)|C]], [[C++]], [[D (Programmiersprache)|D]], [[Java (Programmiersprache)|Java]], [[Fortran]], [[Objective-C]], [[Yacc]], [[Lex (Informatik)|Lex]], [[Qt (Bibliothek)|Qt]], [[SWIG]] und das Bauen von [[TeX]]- und [[LaTeX]]-Dokumenten unterstützt. Andere Sprachen oder [[Dateiformat]]e können durch den Benutzer mittels sogenannter „Builder“ hinzugefügt werden.&lt;br /&gt;
&lt;br /&gt;
== Beispiel SCons Datei ==&lt;br /&gt;
Die folgende sehr einfache SConstruct-Datei kompiliert die c-Datei &amp;#039;&amp;#039;hello-world.c&amp;#039;&amp;#039; mit dem plattformspezifischen Compiler.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
Program(&amp;#039;hello-world.c&amp;#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das folgende etwas kompliziertere Beispiel erzeugt eine Umgebung, die für das Bauen des Programms &amp;#039;&amp;#039;hello&amp;#039;&amp;#039; genutzt wird.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
env = Environment()&lt;br /&gt;
env.Append(CPPFLAGS=Split(&amp;#039;-Wall -g&amp;#039;))&lt;br /&gt;
env.Program(&amp;#039;hello&amp;#039;,&lt;br /&gt;
            [&amp;#039;hello.c&amp;#039;, &amp;#039;main.c&amp;#039;])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Wird in SCons ein Build angestoßen, so werden zunächst die Abhängigkeiten ermittelt. Dabei werden noch keine Build-Artefakte (z.&amp;amp;nbsp;B. Objekt-Dateien, Bibliotheken oder Executables) erzeugt oder verändert. Im zweiten Schritt werden diese Abhängigkeiten genutzt, um gemäß der Abhängigkeiten die Buildartefakte zu erzeugen, wenn sich dessen abhängige Dateien seit der letzten SCons Ausführung verändert haben.&lt;br /&gt;
&lt;br /&gt;
== Geschichte und verwandte Projekte ==&lt;br /&gt;
SCons’ [[Softwarearchitektur]] basiert auf dem 1999 in [[Perl (Programmiersprache)|Perl]] geschriebenen &amp;#039;&amp;#039;Cons&amp;#039;&amp;#039; von Bob Sidebotham.&amp;lt;ref&amp;gt;{{Internetquelle |url=http://www.dsmit.com/cons/ |titel=CONS: A Make replacement |archiv-url=https://web.archive.org/web/20110221005250/http://www.dsmit.com/cons |archiv-datum=2011-02-21 |zugriff=2016-02-01}}&amp;lt;/ref&amp;gt; SCons wurde ursprünglich von Steven Knight und Chad Austin, Charles Crain, Steve Leblanc, Anthony Roach geschrieben.&amp;lt;ref&amp;gt;[http://www.scons.org/wiki/FrequentlyAskedQuestions#SCons_History_and_Background FAQ SCons History and Background] scons.org&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SCons inspirierte wiederum WAF.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Anwendungsbeispiele ==&lt;br /&gt;
* [[Ardour]]&lt;br /&gt;
* [[Battlefield 1942]]&lt;br /&gt;
* [[id Software]]&lt;br /&gt;
* [[MongoDB]]&amp;lt;ref&amp;gt;[http://www.mongodb.org/display/DOCS/Building mongodb.org]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Nullsoft Scriptable Install System]]&lt;br /&gt;
* [[SuperCollider]]&lt;br /&gt;
* [[VMware]]&lt;br /&gt;
&lt;br /&gt;
== Alternativen ==&lt;br /&gt;
* [[GNU Build System]] (Autotools)&lt;br /&gt;
* [[qmake]]&lt;br /&gt;
* [[CMake]]&lt;br /&gt;
* [[Make, Project and Workspace Creator]]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freies Programmierwerkzeug]]&lt;br /&gt;
[[Kategorie:Unix-Software]]&lt;br /&gt;
[[Kategorie:Linux-Software]]&lt;br /&gt;
[[Kategorie:Solaris-Software]]&lt;br /&gt;
[[Kategorie:Windows-Software]]&lt;br /&gt;
[[Kategorie:Build-Management]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Intruder</name></author>
	</entry>
</feed>