Knowledge

Waf (build system)

Source 📝

696: 200: 380: 29: 446: 130: 353:
development cycle. BKsys/SCons was chosen by the KDE community as their new standard build system. When Thomas Nagy decided that SCons's fundamental issues (most notably the poor scalability) were too complex and time-consuming to fix, he started a complete
656:. However, Nagy's intent is that Waf is to be included as part of an individual software project rather than installed as a system-wide build system. To that effect, the documentation which is shipped as part of the Waf release is under the 664:
project from including Waf as a system-wide software package. While Debian initially simply refrained from including documentation, a direct request from Nagy made Debian remove Waf and discourage its use as a build system.
899: 366:
instead; however, Waf continued to be maintained as an individual project and has since seen prolific development and adoption by other communities.
904: 701: 684:
copy of its original source code rather than the "preferred form for modification", as is required by the GPL's wording on build systems.
401: 524:
XML script front-end and a dedicated, easy-to-parse "IDE output" mode to ease the interaction with integrated development environments
709: 427: 112: 93: 591: 405: 65: 50: 43: 621: 599: 299: 213: 177: 72: 660:
license, which forbids both modification and commercial redistribution: this change was made in order to obstruct the
151: 673: 350: 244: 79: 889: 291: 894: 595: 556: 390: 61: 409: 394: 39: 815: 681: 584: 321:
license, which forbids both modification and commercial redistribution: this prevents vendors such as the
625: 355: 792: 310: 17: 769: 239: 633: 295: 228: 86: 851: 833: 287: 251: 220: 672:
opined that using Waf as distributed in a build system for software under the terms of the
680:
GPL) would be in breach of the terms of that license, as the unpacking script produces an
653: 502: 314: 256: 199: 512:
Support for standard targets: configure, build, clean, distclean, install, and uninstall
883: 640:, intended to be run to unpack the Waf sources within a project's own source tree. 637: 528: 471: 349:
away from Autotools to a more modern build system in the beginning stages of the
669: 657: 649: 614: 379: 318: 306: 260: 28: 691: 137: 610: 460: 342: 225: 814:
Nagy, Thomas (2 Oct 2009), "Configuration environment in custom targets",
628:
as a prerequisite piece of system software, as with build systems such as
850:
Jackson, Ian (7 Feb 2012), "Doesn't contain source for waf binary code",
724: 719: 629: 456: 606: 566: 362:. With BKsys being recognized as a dead end, KDE decided to switch to 661: 538: 322: 129: 832:
Falavigna, Luca (27 Feb 2010), "Intent to remove waf from Debian",
560: 544:
Support for global object cache to avoid unnecessary recompilations
714: 577: 573: 506: 363: 338: 232: 186: 325:
project from including Waf documentation in their distributions.
677: 439: 373: 346: 22: 743: 569:
is supported with automated detection of Module dependencies
547:
Support for unit tests run on programs at the end of builds
341:, providing higher-level functionality similar to that of 467: 793:"The Road to KDE 4: CMake, a New Build System for KDE" 317:, though its accompanying documentation is under the 333:Thomas Nagy created a build automation tool called 267: 250: 238: 219: 209: 176: 150: 136: 872: 272: 527:Modular configuration scheme with customizable 8: 770:"KDE to Migrate to bksys/SCons Build System" 345:. This was part of an effort for switching 408:. Unsourced material may be challenged and 198: 128: 124: 428:Learn how and when to remove this message 290:tool designed to assist in the automatic 113:Learn how and when to remove this message 534:Daemon mode for background recompilation 768:Riddell, Jonathan (11 September 2005). 735: 563:preprocessor for computing dependencies 518:Colored output and progress bar display 605:Provides various tools for processing 49:Please improve this article by adding 495:Portable to Unix and non-Unix systems 7: 702:Free and open-source software portal 406:adding citations to reliable sources 337:which was designed to sit on top of 652:is released under the terms of the 624:. Rather than being intended to be 900:Free software programmed in Python 313:, released under the terms of the 14: 710:List of build automation software 541:-like) to ease script maintenance 537:Find source files intelligently ( 505:programming language (similar to 791:Unrau, Troy (22 February 2007). 694: 587:(both gdc and dmd are supported) 444: 378: 157:2.0.25 / January 1, 2023 27: 302:and maintained by Thomas Nagy. 905:Software using the BSD license 459:format but may read better as 1: 576:and hybrid programs, and for 51:secondary or tertiary sources 921: 674:GNU General Public License 521:Scripts are Python modules 245:Software development tools 15: 632:, it is distributed as a 172: 146: 127: 468:converting this section 159:; 21 months ago 62:"Waf" build system 856:(mailing list), Debian 838:(mailing list), Debian 636:including an embedded 585:D programming language 38:relies excessively on 402:improve this section 311:open source software 294:and installation of 16:For other uses, see 298:. It is written in 620:Waf is written in 470:, if appropriate. 668:Debian developer 489: 488: 438: 437: 430: 296:computer software 281: 280: 123: 122: 115: 97: 912: 890:Build automation 876: 875: 873:Official website 859: 857: 847: 841: 839: 829: 823: 821: 811: 805: 804: 802: 800: 788: 782: 781: 779: 777: 765: 759: 758: 756: 755: 748:Analysis Summary 740: 704: 699: 698: 697: 583:Support for the 484: 481: 475: 466:You can help by 448: 447: 440: 433: 426: 422: 419: 413: 382: 374: 288:build automation 277: 274: 221:Operating system 202: 197: 194: 192: 190: 188: 167: 165: 160: 132: 125: 118: 111: 107: 104: 98: 96: 55: 31: 23: 920: 919: 915: 914: 913: 911: 910: 909: 895:Compiling tools 880: 879: 871: 870: 867: 862: 849: 848: 844: 831: 830: 826: 813: 812: 808: 798: 796: 790: 789: 785: 775: 773: 767: 766: 762: 753: 751: 742: 741: 737: 733: 700: 695: 693: 690: 654:New BSD License 646: 615:intltool/msgfmt 515:Parallel builds 503:Turing-complete 485: 479: 476: 465: 449: 445: 434: 423: 417: 414: 399: 383: 372: 358:which he named 331: 315:New BSD License 271: 263:(documentation) 259:(source code), 257:New BSD License 205: 185: 168: 163: 161: 158: 119: 108: 102: 99: 56: 54: 48: 44:primary sources 32: 21: 12: 11: 5: 918: 916: 908: 907: 902: 897: 892: 882: 881: 878: 877: 866: 865:External links 863: 861: 860: 842: 824: 820:(mailing list) 806: 795:. KDE Dot News 783: 772:. KDE Dot News 760: 734: 732: 729: 728: 727: 722: 717: 712: 706: 705: 689: 686: 645: 642: 618: 617: 603: 588: 581: 570: 564: 551:Waf supports: 549: 548: 545: 542: 535: 532: 525: 522: 519: 516: 513: 510: 499: 496: 491:Waf features: 487: 486: 452: 450: 443: 436: 435: 386: 384: 377: 371: 368: 330: 327: 279: 278: 269: 265: 264: 254: 248: 247: 242: 236: 235: 223: 217: 216: 211: 207: 206: 204: 203: 182: 180: 174: 173: 170: 169: 156: 154: 152:Stable release 148: 147: 144: 143: 140: 134: 133: 121: 120: 35: 33: 26: 13: 10: 9: 6: 4: 3: 2: 917: 906: 903: 901: 898: 896: 893: 891: 888: 887: 885: 874: 869: 868: 864: 855: 854: 846: 843: 837: 836: 828: 825: 819: 818: 810: 807: 794: 787: 784: 771: 764: 761: 749: 745: 739: 736: 730: 726: 723: 721: 718: 716: 713: 711: 708: 707: 703: 692: 687: 685: 683: 679: 675: 671: 666: 663: 659: 655: 651: 643: 641: 639: 635: 631: 627: 623: 616: 612: 608: 604: 601: 597: 593: 589: 586: 582: 579: 575: 571: 568: 565: 562: 558: 554: 553: 552: 546: 543: 540: 536: 533: 530: 526: 523: 520: 517: 514: 511: 508: 504: 500: 497: 494: 493: 492: 483: 480:February 2012 474:is available. 473: 469: 463: 462: 458: 453:This section 451: 442: 441: 432: 429: 421: 411: 407: 403: 397: 396: 392: 387:This section 385: 381: 376: 375: 369: 367: 365: 361: 357: 352: 348: 344: 340: 336: 328: 326: 324: 320: 316: 312: 308: 303: 301: 297: 293: 289: 285: 276: 270: 266: 262: 258: 255: 253: 249: 246: 243: 241: 237: 234: 230: 227: 224: 222: 218: 215: 212: 208: 201: 196: 184: 183: 181: 179: 175: 171: 155: 153: 149: 145: 141: 139: 135: 131: 126: 117: 114: 106: 103:February 2012 95: 92: 88: 85: 81: 78: 74: 71: 67: 64: –  63: 59: 58:Find sources: 52: 46: 45: 41: 36:This article 34: 30: 25: 24: 19: 853:Debian devel 852: 845: 835:Debian devel 834: 827: 816: 809: 797:. Retrieved 786: 774:. Retrieved 763: 752:. Retrieved 747: 738: 667: 647: 638:archive file 619: 590:Support for 572:Support for 550: 529:command-line 490: 477: 472:Editing help 454: 424: 415: 400:Please help 388: 359: 334: 332: 304: 283: 282: 138:Developer(s) 109: 100: 90: 83: 76: 69: 57: 37: 670:Ian Jackson 658:CC-BY-NC-ND 650:source code 498:Lightweight 418:August 2012 319:CC-BY-NC-ND 307:source code 292:compilation 261:CC-BY-NC-ND 142:Thomas Nagy 884:Categories 754:2010-12-19 731:References 682:obfuscated 210:Written in 178:Repository 164:2023-01-01 73:newspapers 40:references 817:Waf users 626:installed 611:man pages 501:Offers a 389:does not 343:Autotools 725:Buildout 720:Buildbot 688:See also 630:GNU make 580:programs 370:Features 191:/ita1024 750:. Ohloh 644:License 607:DocBook 602:project 567:Fortran 531:parsing 410:removed 395:sources 356:rewrite 329:History 268:Website 252:License 229:Windows 162: ( 87:scholar 662:Debian 648:Waf's 634:script 622:Python 600:Python 539:glob() 455:is in 323:Debian 305:Waf's 300:Python 214:Python 187:gitlab 89:  82:  75:  68:  60:  799:9 May 776:9 May 744:"Waf" 715:SCons 578:GNOME 574:OCaml 507:SCons 461:prose 364:CMake 351:KDE 4 339:SCons 335:BKsys 286:is a 233:POSIX 94:JSTOR 80:books 801:2012 778:2012 596:Java 457:list 393:any 391:cite 240:Type 193:/waf 189:.com 66:news 678:GNU 561:C++ 404:by 360:Waf 347:KDE 309:is 284:Waf 275:.io 273:waf 42:to 18:WAF 886:: 746:. 613:, 609:, 598:, 594:, 592:C# 555:A 231:, 226:MS 53:. 858:. 840:. 822:. 803:. 780:. 757:. 676:( 559:/ 557:C 509:) 482:) 478:( 464:. 431:) 425:( 420:) 416:( 412:. 398:. 195:/ 166:) 116:) 110:( 105:) 101:( 91:· 84:· 77:· 70:· 47:. 20:.

Index

WAF

references
primary sources
secondary or tertiary sources
"Waf" build system
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message

Developer(s)
Stable release
Repository
gitlab.com/ita1024/waf/
Edit this at Wikidata
Python
Operating system
MS
Windows
POSIX
Type
Software development tools
License
New BSD License
CC-BY-NC-ND
waf.io
build automation

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.