อ่าน 3 นาที
สคอนส์
SCons เป็น เครื่องมือพัฒนาซอฟต์แวร์ ที่วิเคราะห์ ความสัมพันธ์ ของซอร์สโค้ด และ ข้อกำหนดการปรับใช้ กับระบบปฏิบัติการ จากคำอธิบายโครงการซอฟต์แวร์...
สคอนส์
| สคอนส์ | |
|---|---|
![]() | |
| ผู้เขียนต้นฉบับ | สตีเวน ไนท์ |
| ปล่อย | 13 ธันวาคม พ.ศ. 2544 [ 1 ] |
| เวอร์ชันเสถียร | 4.10.1 [ 2 ] / 16 พฤศจิกายน 2025 |
| เขียนเป็น | ไพธอน |
| ระบบปฏิบัติการ | ข้ามแพลตฟอร์ม |
| พิมพ์ | เครื่องมือพัฒนาซอฟต์แวร์ |
| ใบอนุญาต | ใบอนุญาต MIT |
| เว็บไซต์ | scons.org |
| ที่เก็บข้อมูล | github.com/SCons/scons |
SConsเป็นเครื่องมือพัฒนาซอฟต์แวร์ที่วิเคราะห์ ความสัมพันธ์ ของซอร์สโค้ดและ ข้อกำหนดการปรับใช้ กับระบบปฏิบัติการ จากคำอธิบายโครงการซอฟต์แวร์ และสร้างไฟล์ปฏิบัติการไบนารีขั้นสุดท้ายสำหรับการติดตั้งบนแพลตฟอร์มระบบปฏิบัติการเป้าหมาย ฟังก์ชันการทำงานของมันคล้ายกับ ระบบสร้างโปรแกรม GNUที่ ได้รับความนิยมมากกว่า
เครื่องมือนี้สร้าง สคริปต์ Pythonสำหรับการกำหนดค่าโปรเจ็กต์และตรรกะการสร้าง
ประวัติศาสตร์
โปรแกรมสร้างซอฟต์แวร์Cons ซึ่งเขียนด้วยภาษา Perlถูกสร้างขึ้นโดย Bob Sidebotham ในปี 1999 [ 3 ]โดยทำหน้าที่เป็นพื้นฐานสำหรับ เครื่องมือสร้าง ScConsซึ่งเป็นการออกแบบที่ชนะการแข่งขัน SC Build ของ โครงการ Software Carpentryในเดือนสิงหาคม 2000 [ 4 ] ScCons เป็นรากฐานของ SCons
SCons เป็นแรงบันดาลใจให้เกิดการสร้างWafซึ่งเดิมรู้จักกันในชื่อSCons/BKsysซึ่งเกิดขึ้นใน ชุมชน KDE ระยะหนึ่งเคยมีแผนที่จะใช้มันเป็นเครื่องมือสร้างสำหรับ KDE 4 และเวอร์ชันต่อๆ ไป แต่ความพยายามนั้นถูกยกเลิกไปและหันมา ใช้CMakeแทน[ 5 ]
โครงการ ที่โดดเด่น ที่ใช้ SCons (หรือเคยใช้) ได้แก่: The Battle for Wesnoth [ 6 ] Battlefield 1942 , Doom 3 [ 7 ] gem5 [ 8 ] gpsd [ 9 ] GtkRadiant [ 10 ] Madagascar [ 11 ] Nullsoft Scriptable Install System [ 12 ] OpenNebula [ 13 ] VMware , Wolfenstein : Enemy Territory [ 14 ] XORPและ MCA2 [ 15 ] openpilot [ 16 ]และGodot [ 17 ]
.csig คือรูปแบบไฟล์ลายเซ็นเนื้อหาของ SCons
คุณสมบัติ
คุณสมบัติหลักประกอบด้วย:
- ไฟล์การกำหนดค่าเขียนด้วยภาษา Python; การสร้างที่เขียนโดยผู้ใช้สามารถใช้ประโยชน์จากภาษาโปรแกรมอเนกประสงค์ที่ใช้งานได้บนหลายแพลตฟอร์ม
- การวิเคราะห์ความสัมพันธ์ ของภาษา C , C++และFortran
- การวิเคราะห์การพึ่งพาของไฟล์สามารถขยายได้โดยใช้สแกนเนอร์ที่ผู้ใช้กำหนดเองสำหรับภาษาหรือประเภทไฟล์อื่นๆ ซึ่งแตกต่างจาก การวิเคราะห์การพึ่งพา ของ GNU Compiler Collection (GCC) ตรงที่ SCons ใช้ การสแกนด้วย นิพจน์ปกติสำหรับไฟล์ต้นฉบับที่รวมอยู่
- รองรับภาษาโปรแกรม C, C++, D , Java , Fortran , Objective-C , Yacc , Lex , QtและSWIGรวมถึงเอกสารTeXและLaTeX ในตัว
- รองรับภาษาอื่นๆ ผ่านเครื่องมือสร้างแบบกำหนดเอง
- สร้างจากแหล่งเก็บซอร์สโค้ดส่วนกลางและเป้าหมายที่สร้างไว้ล่วงหน้า
- ความสามารถในการใช้งานVisual Studioรวมถึงการสร้างไฟล์ .dsp, .dsw, .sln และ .vcproj
- การตรวจจับการเปลี่ยนแปลงเนื้อหาไฟล์โดยใช้ ลายเซ็น MD5 ; สามารถเลือกใช้งานการประทับเวลาแบบดั้งเดิมได้ (เป็นตัวเลือกเสริม)
- ความสามารถในการสร้างแบบขนาน โดยรักษาจำนวนงานที่กำหนดไว้ให้ทำงานพร้อมกันโดยไม่คำนึงถึงลำดับชั้นของไดเร็กทอรี
- รองรับการค้นหาไฟล์ #include, ไลบรารี, ฟังก์ชัน และtypedefs ในลักษณะเดียวกับ Autoconf
- ภาพรวมของความสัมพันธ์ระหว่างส่วนประกอบต่างๆ ทำให้ไม่จำเป็นต้องสร้างบิลด์หลายรอบหรือจัดลำดับเป้าหมายใหม่
- ความสามารถในการแชร์ไฟล์ที่สร้างเสร็จแล้วในแคชเพื่อเร่งความเร็วในการสร้างหลายๆ ไฟล์พร้อมกัน - คล้ายกับccacheแต่ใช้ได้กับไฟล์เป้าหมายทุกประเภท ไม่ใช่แค่การคอมไพล์ C/C++ เท่านั้น
- ออกแบบมาตั้งแต่เริ่มต้นเพื่อรองรับการใช้งานข้ามแพลตฟอร์ม เป็นที่ทราบกันดีว่าใช้งานได้บนระบบPOSIX (รวมถึง Linux , AIXและOS/2 , *BSD Unices , HP-UX , SGI IRIX , Solaris , illumos ), Windows NTและOS X
ตัวอย่าง
ต่อไปนี้เป็นไฟล์ SConstruct ที่สร้าง โปรแกรม C "hello world"โดยใช้คอมไพเลอร์เริ่มต้นของแพลตฟอร์ม:
โปรแกรม( "hello-world.c" )ต่อไปนี้เป็นไฟล์ SConstruct สำหรับโปรเจ็กต์ที่ประกอบด้วยไฟล์ต้นฉบับสองไฟล์และระบุตัวเลือกเครื่องมือสร้าง:
env = Environment ( ) env.Append ( CPPFLAGS = [ " - Wall" , " -g" ]) env.Program ( "hello" , [ "hello.c" , "main.c" ])ดูเพิ่มเติม
- การก่อสร้าง
- qmake – เฟรมเวิร์กเชิงวัตถุสำหรับการพัฒนาซอฟต์แวร์
- Qbs (เครื่องมือสร้าง)
- Premake – เครื่องมือสร้างแอปพลิเคชันแบบข้ามแพลตฟอร์ม สำหรับกำหนดค่าการสร้างแอปพลิเคชันเฉพาะแพลตฟอร์ม
- รายชื่อซอฟต์แวร์การสร้างอัตโนมัติ
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ สคอนส์
SCons เป็น เครื่องมือพัฒนาซอฟต์แวร์ ที่วิเคราะห์ ความสัมพันธ์ ของซอร์สโค้ด และ ข้อกำหนดการปรับใช้ กับระบบปฏิบัติการ จากคำอธิบายโครงการซอฟต์แวร์...
ประวัติศาสตร์
โปรแกรมสร้างซอฟต์แวร์ Cons ซึ่งเขียนด้วยภาษา Perl ถูกสร้างขึ้นโดย Bob Sidebotham ในปี 1999 [ 3 ] โดยทำหน้าที่เป็นพื้นฐานสำหรับ เครื่องมือสร้าง ScCons ซึ่งเป็นการออกแบบที่ชนะการแข่งขัน SC Build ของ โครงการ Software Carpentry ในเดือนสิงหาคม 2000 [ 4 ] ScCons...
ตัวอย่าง
ต่อไปนี้เป็นไฟล์ SConstruct ที่สร้าง โปรแกรม C "hello world" โดยใช้คอมไพเลอร์เริ่มต้นของแพลตฟอร์ม:
ดูเพิ่มเติม
การก่อสร้าง qmake – เฟรมเวิร์กเชิงวัตถุสำหรับการพัฒนาซอฟต์แวร์ หน้าเว็บที่แสดงคำอธิบายสั้น ๆ ของเป้าหมายการเปลี่ยนเส้นทาง Qbs (เครื่องมือสร้าง) Premake – เครื่องมือสร้างแอปพลิเคชันแบบข้ามแพลตฟอร์ม สำหรับกำหนดค่าการสร้างแอปพลิเคชันเฉพาะแพลตฟอร์ม...
