Hello all, I'm hoping a long-time Swift contributor can help shed some light on how the apple/swift repository ended up with a utils/build-script, a utils/build-script-impl, and CMake files.
Based on the Git history, I've pieced together the following: - July 17, 2010: Chris Lattner first adds a Makefile to apple/swift in his initial checkin. Until its eventual removal in 2014, the Makefile only ever built apple/swift, and it required users to have built LLVM in advance. [1]. - July 14, 2011: Doug Gregor adds CMake files to build apple/swift [2]. - February 6, 2013: Joe Groff adds utils/buildbot-script.sh. This appears very similar to the modern-day uitls/build-script-impl. It configures and builds LLVM, Clang, and Swift [3]. - February 25, 2014: Ted Kremenek removes the original Makefile Chris added in 2010. I believe only CMake-based builds became possible as of this point [4]. - December 23, 2014: Dmitri Gribenko (now no longer working on the project at Apple) rewrites a large portion of the CMake files, and deletes utils/buildbot-script.sh [5]. - October 30, 2015: Ashley Gardland "adds back" a bunch of build files, including utils/build-script and utils/build-script-impl [6]. Could someone familiar with the apple/swift project during the years 2010 until 2015 shed some light on how the project was built during this time? Specifically: - Did most developers use the Makefile? What replaced the Makefile? Did developers configure and build LLVM and Clang themselves, manually, without using a script? - Was the utils/buildbot-script.sh the precursor for utils/build-script and utils/build-script-impl? - What were the files that were "added back" in [6]? Did they exist in some form internally to Apple? Were they used by project developers at the time, or were they written solely for the benefit of external, open-source contributors? - Why do both utils/build-script and utils/build-script-impl exist? The fact that they were "added back" makes me think that they grew over time, and so were not written for the first time as part of the commit in [6]. Thanks in advance to anyone who can indulge my curiosity here! :) - Brian Gesiak [1] https://github.com/apple/swift/commit/afc81c1855bf711315b8e5de02db138d3d487eeb [2] https://github.com/apple/swift/commit/86ab76d62468241e03029e3e0790e4a0c8fbe3c1 [3] https://github.com/apple/swift/commit/482826925812c8aa6d7ef861adbe36b26a4dedda [4] https://github.com/apple/swift/commit/f383eb90abc0afd6f78c7589005b61916e314870 [5] https://github.com/apple/swift/commit/6670bb76ecc71a35ac5fa8f54cb81de6f555072f [6] https://github.com/apple/swift/commit/4ac9c80809450e4566946f40bbdb639b2ba745d8 _______________________________________________ swift-dev mailing list swift-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-dev