summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSumit Semwal <sumit.semwal@linaro.org>2019-05-08 21:59:00 +0530
committerSumit Semwal <sumit.semwal@linaro.org>2019-05-10 11:19:41 +0530
commitf5898aa62a3e836b01e1ed06b119005b7f404036 (patch)
tree7a8cc69aab5666048fb7e86fbb4ba8b1dcccceed
parentf2c583eec3291a1d2b40dbecbe760aaeab10dc9a (diff)
HACK: Provide dummy expat replacement for gen_decoder
As part of TREBLE, libexpat linking is prohibited; this patch allows us to build mesa3d while enabling TREBLE. It is a HACK, in that it doesn't provide replacement functionality for gen_decoder, just empty dummies. Change-Id: I6de9092b1a7618cc769a6ea92b5128ea645a3adc Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
-rw-r--r--src/intel/Android.common.mk8
-rw-r--r--src/intel/common/gen_decoder.c79
2 files changed, 82 insertions, 5 deletions
diff --git a/src/intel/Android.common.mk b/src/intel/Android.common.mk
index 79d9f1284a0..a6216d38829 100644
--- a/src/intel/Android.common.mk
+++ b/src/intel/Android.common.mk
@@ -40,11 +40,9 @@ LOCAL_C_INCLUDES := \
LOCAL_SHARED_LIBRARIES := libz liblog
-# If Android version >=8 MESA should static link libexpat else should dynamic link
-ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0)
-LOCAL_STATIC_LIBRARIES := \
- libexpat
-else
+# If Android version <8 MESA should dynamic link libexpat
+# version >= 8 would use altxmlconfig instead
+ifneq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0)
LOCAL_SHARED_LIBRARIES += \
libexpat
endif
diff --git a/src/intel/common/gen_decoder.c b/src/intel/common/gen_decoder.c
index 50ef2c4204f..153ba9db858 100644
--- a/src/intel/common/gen_decoder.c
+++ b/src/intel/common/gen_decoder.c
@@ -26,7 +26,86 @@
#include <stdint.h>
#include <stdarg.h>
#include <string.h>
+
+#ifndef ANDROID
#include <expat.h>
+#else
+#include <stdlib.h>
+/* define dummy XML_Parser stuff
+ */
+#define XML_Parser char *
+#define XML_Char char
+
+static XML_Parser temp;
+
+static XML_Parser * XML_ParserCreate(const XML_Char *encoding) {
+ return &temp;
+}
+
+static unsigned long XML_GetCurrentLineNumber(XML_Parser parser) {
+ return 1;
+}
+
+static unsigned long XML_GetCurrentColumnNumber(XML_Parser parser){
+ return 1;
+}
+
+static long XML_GetCurrentByteIndex(XML_Parser parser){
+ return 1;
+}
+
+static void XML_SetUserData(XML_Parser parser, void *userData){
+ return;
+}
+
+typedef void ( *XML_StartElementHandler) (void *userData,
+ const XML_Char *name,
+ const XML_Char **atts);
+
+typedef void ( *XML_EndElementHandler) (void *userData,
+ const XML_Char *name);
+
+typedef void ( *XML_CharacterDataHandler) (void *userData,
+ const XML_Char *s,
+ int len);
+static void
+XML_SetElementHandler(XML_Parser parser,
+ XML_StartElementHandler start,
+ XML_EndElementHandler end) {
+ return;
+}
+
+static void
+XML_SetCharacterDataHandler(XML_Parser parser,
+ XML_CharacterDataHandler handler) {
+ return;
+}
+
+static void *
+XML_GetBuffer(XML_Parser parser, int len) {
+ return NULL;
+}
+
+static int XML_ParseBuffer(XML_Parser parser, int len, int isFinal) {
+ return 1;
+}
+
+static XML_Char * error_str = "error";
+static const XML_Char *
+XML_ErrorString(int code) {
+ return error_str;
+}
+
+static void
+XML_ParserFree(XML_Parser parser) {
+ return;
+}
+
+static int XML_GetErrorCode(XML_Parser parser) {
+ return 1;
+}
+#endif // ANDROID
+
#include <inttypes.h>
#include <zlib.h>