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