# New build system pushed to Git repo

**URL:** <https://racket.discourse.group/t/new-build-system-pushed-to-git-repo/873>\
**Category:** Announcements\
**Created:** [April 11, 2022, 7:07pm UTC](https://racket.discourse.group/t/new-build-system-pushed-to-git-repo/873 "2022-04-11T19:07:12Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mflatt](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/mflatt/32/6_2.png) [@mflatt](https://racket.discourse.group/u/mflatt)\
**Post date:** [April 11, 2022, 7:07pm UTC](https://racket.discourse.group/t/new-build-system-pushed-to-git-repo/873/1 "2022-04-11T19:07:12Z")

</div>

For anyone who builds from source from a Git checkout, beware that the build system has changed. Ideally, you won't notice any difference, but there are bound to be some problems in the next few days and weeks.

The change involves replacing most of the old makefiles with new build scripts. The new scripts use a Racket-like language ([GitHub - racket/zuo: A tiny Racket for scripting](https://github.com/racket/zuo/)) that builds especially easily, so it can be used to build Racket. Makefiles and configure scripts still serve as the main points to start a Racket build, so you can still use `make` and `configure` as before. The makefiles mostly just ensure that `zuo` is built and then bounce requests to a Zuo script.

If you're curious about the details, see [replacing the makefiles and other build scripts by mflatt · Pull Request #4179 · racket/racket · GitHub](https://github.com/racket/racket/pull/4179).

This change is not part of the upcoming v8.5 release. It will affect v8.6 and later.

---

<div class="post-metadata">

**Author:** ![gknauth](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/gknauth/32/142_2.png) [@gknauth](https://racket.discourse.group/u/gknauth)\
**Post date:** [April 12, 2022, 8:35am UTC](https://racket.discourse.group/t/new-build-system-pushed-to-git-repo/873/2 "2022-04-12T08:35:54Z")

</div>

Sounds cool, I look forward to learning about zuo!

---

<div class="post-metadata">

**Author:** ![Decabytes](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/decabytes/32/54_2.png) [@Decabytes](https://racket.discourse.group/u/Decabytes)\
**Post date:** [April 14, 2022, 9:25pm UTC](https://racket.discourse.group/t/new-build-system-pushed-to-git-repo/873/3 "2022-04-14T21:25:33Z")

</div>

This reminds of me the post @greghendershott made about [Exploding Frog](https://www.greghendershott.com/2019/04/exploding-frog.html) and switching from `Racket->Make`. I wonder if there is a place for Zuo outside of building Racket for general configuration in certain Racket libraries. Something that could fit between Racket and Make.
