In our earlier “Boundary Meter 2.0 – Foundations” post, Brent included a section of discussion on how we currently build our meter software. Boundary’s customers run a multitude of operating systems (and various versions of those operating systems) and several different CPU architectures, which equates to effort and resources on Boundary’s engineering team to provide all the necessary meter variants. In addition to our current set of customers, the Boundary sales team perpetually engages with potential new customers, some of which have OS, OS version, and/or architecture requirements which we don’t currently have a meter build for.
In this post, we’ll explore the meter building process at Boundary and how it satisfies our business requirements while not overburdening engineering team resources.
Because Boundary’s meter is written in C, it requires proper compilation and linking to create a working executable for each platform we support. In this situation, one approach for supporting multiple OSes is to use the usual/native development toolchain for each OS. But this approach requires familiarity with each dev toolchain being used and can be difficult to automate in a consistent fashion across all build environments. And certainly this approach can grow more complex over time as new OSes are added.
To accommodate our need for supporting an ever-changing list of supported OSes/architectures, the Boundary meter build centers around the GNU build tools...
Continue reading Boundary Meter 2.0 – Build Methodology >>>