Android: Fixes for Q and R

Fix Android-Q build:
- Use AOSP prebuilt bison by specifying $(BISON) variable
- Use AOSP prebuilt flex by specifying $(LEX) variable

Fix Android-R build:
- Add M4 environmet variable for Android R and higher (See [1])

[1] - https://cs.android.com/android/_/android/platform/build/+/2bfffb9f48a78de12faf5da77424c0cecb70d6eb:Changes.md;dlc=997661002af1282d938e88c3c723037e42e5d283

Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Tested-by: Mauro Rossi <issor.oruam@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5894>
diff --git a/Android.mk b/Android.mk
index c15c2b7..6181bbe8 100644
--- a/Android.mk
+++ b/Android.mk
@@ -44,6 +44,11 @@
 MESA_COMMON_MK := $(MESA_TOP)/Android.common.mk
 MESA_PYTHON2 := python
 MESA_PYTHON3 := python3
+ifeq ($(filter 5 6 7 8 9 10, $(MESA_ANDROID_MAJOR_VERSION)),)
+MESA_LEX     := M4=$(M4) $(LEX)
+else
+MESA_LEX     := $(LEX)
+endif
 
 # Lists to convert driver names to boolean variables
 # in form of <driver name>.<boolean make variable>
diff --git a/src/compiler/Android.glsl.gen.mk b/src/compiler/Android.glsl.gen.mk
index 1308de2..a32c4ca 100644
--- a/src/compiler/Android.glsl.gen.mk
+++ b/src/compiler/Android.glsl.gen.mk
@@ -53,7 +53,7 @@
 define local-l-or-ll-to-c-or-cpp
 	@mkdir -p $(dir $@)
 	@echo "Mesa Lex: $(PRIVATE_MODULE) <= $<"
-	$(hide) $(LEX) --nounistd -o$@ $<
+	$(hide) $(MESA_LEX) --nounistd -o$@ $<
 endef
 
 define glsl_local-y-to-c-and-h
diff --git a/src/freedreno/Android.ir3.mk b/src/freedreno/Android.ir3.mk
index dec2517..3ae72df 100644
--- a/src/freedreno/Android.ir3.mk
+++ b/src/freedreno/Android.ir3.mk
@@ -73,7 +73,7 @@
 $(intermediates)/ir3/ir3_lexer.c: $(ir3_lexer_deps)
 	@mkdir -p $(dir $@)
 	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
-	$(hide) flex -o $@ $<
+	$(hide) $(MESA_LEX) -o $@ $<
 
 $(intermediates)/ir3/ir3_nir_imul.c: $(ir3_nir_imul_deps)
 	@mkdir -p $(dir $@)
@@ -86,12 +86,12 @@
 $(intermediates)/ir3/ir3_parser.c: $(ir3_parser_deps)
 	@mkdir -p $(dir $@)
 	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
-	$(hide) bison $< --name-prefix=ir3_yy --output=$@
+	$(hide) $(BISON) $< --name-prefix=ir3_yy --output=$@
 
 $(intermediates)/ir3/ir3_parser.h: $(ir3_parser_deps)
 	@mkdir -p $(dir $@)
 	@echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
-	$(hide) bison $< --name-prefix=ir3_yy --defines=$@
+	$(hide) $(BISON) $< --name-prefix=ir3_yy --defines=$@
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
diff --git a/src/mesa/program/Android.mk b/src/mesa/program/Android.mk
index c6470e6..6b4e191 100644
--- a/src/mesa/program/Android.mk
+++ b/src/mesa/program/Android.mk
@@ -23,7 +23,7 @@
 define local-l-to-c
 	@mkdir -p $(dir $@)
 	@echo "Mesa Lex: $(PRIVATE_MODULE) <= $<"
-	$(hide) $(LEX) -o$@ $<
+	$(hide) $(MESA_LEX) -o$@ $<
 endef
 
 define mesa_local-y-to-c-and-h