Skip to content

Conversation

@marekmaskarinec
Copy link
Owner

Adds a new build system, which removes the need to compile box dependencies inside of pre scripts. This change is made with the hope of making umbox build run on all platforms, not just our chosen version of Linux. In the future this can be used to change umbox to build locally instead of distributing pre-built binaries.

At the moment umbox will use whichever compiler is in the CC env var, or cc by default. Since not all machines ship with a compiler, it might be beneficial to ship umbox with a copy of tcc. This way builds will work on any machine, even if result is a bit slower.

The new build specification can look like this:

{
	"name": "test",
	"version": "v0.1.0",
	"author": "",
	"license": "",
	"description": "",
	"readme": "README.md",
	"dependencies": [
		"umka_api"
	],
	"include": [
	],
	"build": {
		"include": ["test.um"],
		"targets": {
			"test.umi": {
				"sources": "test.c",
				"cflags": "-Wall",
				"ldflags": { "windows": "-luser32" }
			}
		}
	}
}

The box can be built using umbox newbuild. By default it will output into out/ directory. This can be overridden using --output/-o with a name of another directory or a tar file.

Signed-off-by: Marek Maškarinec <marek@mrms.cz>
Signed-off-by: Marek Maškarinec <marek@mrms.cz>
Signed-off-by: Marek Maškarinec <marek@mrms.cz>
Signed-off-by: Marek Maškarinec <marek@mrms.cz>
Signed-off-by: Marek Maškarinec <marek@mrms.cz>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants