Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2bfffb9f authored by Dan Willemsen's avatar Dan Willemsen
Browse files

Document the m4 prebuilts

Test: view in gitiles
Change-Id: I2defdb433313fb6744b09685d289e16d094cffdc
parent 99766100
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
# Build System Changes for Android.mk Writers

## `m4` is not available on `$PATH`

There is a prebuilt of it available in prebuilts/build-tools, and a make
variable `M4` that contains the path.

Beyond the direct usage, whenever you use bison or flex directly, they call m4
behind the scene, so you must set the M4 environment variable (and depend upon
it for incremental build correctness):

```
$(intermediates)/foo.c: .KATI_IMPLICIT_OUTPUTS := $(intermediates)/foo.h
$(intermediates)/foo.c: $(LOCAL_PATH)/foo.y $(M4) $(BISON) $(BISON_DATA)
	M4=$(M4) $(BISON) ...
```

## Rules executed within limited environment

With `ALLOW_NINJA_ENV=false` (soon to be the default), ninja, and all the