Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New work that allows darwin/arm64 support
Why I have introduced this change is so that we may be able to produce Juju binaries for darwin/arm64. But the ultimate point of this work is to make the changes necessary so a Juju developer can work on Juju from any Darwin machine with either x86 or arm64 instruction sets. The changes being done in this PR are: - The first changed introduced is 3 new Makefile variables that define the set of platforms to compile various aspects of Juju for. These variables can be defined by the user from the command line to have make build Juju for multiple platforms. If not supplied it will default to the values of GOOS & GOARCH. - Build targets for all of the Juju packages have been broken out into their own separate targets. Previously one target would do all the building of Juju packages. Having seperate targets allows for a variable list platforms to build packages for to be established. It also provides a way to build specific packages and targets without the building over everything else. make build still exists and executes. - Install targets for all of the Juju packages. This is the same change as build and now you can type make juju jujuc or make install. - Updates the operator-image build target to also build juju for only the packages that are needed for the OCI image. - Update of the Docker image so that the context it operates from is know longer a context directory with pre package binaries. It now expects the context has directories available for each arch that the Docker image is being built for. - Have added a new version cmd that can be run with go run version/helper/main.go that will print the current version of juju. - Moved .PHONY targets above their respective targets for better tracking and consistency. Before this the targets were not being maintained with their .PHONY status.
- Loading branch information