1
0
mirror of https://github.com/libretro/RetroArch synced 2024-07-08 12:15:49 +00:00

(Android) Define WANT_LIBXML2 - Griffin compiles in libxml2

This commit is contained in:
twinaphex 2012-11-20 04:15:12 +01:00
parent 68ca851156
commit 05d04e443d
55 changed files with 83 additions and 71 deletions

View File

@ -26,35 +26,15 @@ endif
LOCAL_MODULE := retroarch-activity
RARCH_PATH := ../../..
LIBXML_PATH := ../libxml2
LOCAL_LIBXML_SRC_FILES = $(LIBXML_PATH)/chvalid.c \
$(LIBXML_PATH)/dict.c \
$(LIBXML_PATH)/encoding.c \
$(LIBXML_PATH)/entities.c \
$(LIBXML_PATH)/error.c \
$(LIBXML_PATH)/globals.c \
$(LIBXML_PATH)/hash.c \
$(LIBXML_PATH)/list.c \
$(LIBXML_PATH)/parser.c \
$(LIBXML_PATH)/parserInternals.c \
$(LIBXML_PATH)/SAX2.c \
$(LIBXML_PATH)/threads.c \
$(LIBXML_PATH)/tree.c \
$(LIBXML_PATH)/uri.c \
$(LIBXML_PATH)/valid.c \
$(LIBXML_PATH)/xmlIO.c \
$(LIBXML_PATH)/xmlmemory.c \
$(LIBXML_PATH)/xmlreader.c \
$(LIBXML_PATH)/xmlsave.c \
$(LIBXML_PATH)/xmlstring.c
LOCAL_SRC_FILES = $(RARCH_PATH)/console/griffin/griffin.c $(LOCAL_LIBXML_SRC_FILES)
LIBXML_PATH := ../../../deps/libxml2
LOCAL_SRC_FILES = $(RARCH_PATH)/console/griffin/griffin.c
ifeq ($(PERF_TEST), 1)
LOCAL_CFLAGS += -DPERF_TEST
endif
LOCAL_CFLAGS += -O3 -fno-stack-protector -funroll-loops -DNDEBUG -DHAVE_GRIFFIN -DANDROID -DHAVE_DYNAMIC -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_VID_CONTEXT -DHAVE_OPENGLES2 -DGLSL_DEBUG -DHAVE_GLSL -DHAVE_XML -DHAVE_ZLIB -DWANT_RZLIB -DINLINE=inline -DLSB_FIRST -DHAVE_THREAD -D__LIBRETRO__ -DHAVE_CONFIGFILE=1 -DRARCH_PERFORMANCE_MODE -DRARCH_GPU_PERFORMANCE_MODE -DPACKAGE_VERSION=\"$(RARCH_VERSION)\" -std=gnu99
LOCAL_CFLAGS += -O3 -fno-stack-protector -funroll-loops -DNDEBUG -DHAVE_GRIFFIN -DANDROID -DHAVE_DYNAMIC -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_VID_CONTEXT -DHAVE_OPENGLES2 -DGLSL_DEBUG -DHAVE_GLSL -DHAVE_XML -DHAVE_ZLIB -DWANT_RZLIB -DWANT_LIBXML2 -DINLINE=inline -DLSB_FIRST -DHAVE_THREAD -D__LIBRETRO__ -DHAVE_CONFIGFILE=1 -DRARCH_PERFORMANCE_MODE -DRARCH_GPU_PERFORMANCE_MODE -DPACKAGE_VERSION=\"$(RARCH_VERSION)\" -std=gnu99
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -landroid -lEGL -lGLESv2 -llog -ldl
LOCAL_C_INCLUDES += $(LIBXML_PATH)

View File

@ -386,6 +386,32 @@ RZLIB
#include "../../deps/rzlib/rzlib.c"
#endif
/*============================================================
LIBXML2
============================================================ */
#ifdef WANT_LIBXML2
#include "../../deps/libxml2/error.c"
#include "../../deps/libxml2/chvalid.c"
#include "../../deps/libxml2/dict.c"
#include "../../deps/libxml2/encoding.c"
#include "../../deps/libxml2/entities.c"
#include "../../deps/libxml2/globals.c"
#include "../../deps/libxml2/libxml_hash.c"
#include "../../deps/libxml2/libxml_list.c"
#include "../../deps/libxml2/parser.c"
#include "../../deps/libxml2/parserInternals.c"
#include "../../deps/libxml2/SAX2.c"
#include "../../deps/libxml2/libxml_threads.c"
#include "../../deps/libxml2/tree.c"
#include "../../deps/libxml2/uri.c"
#include "../../deps/libxml2/valid.c"
#include "../../deps/libxml2/xmlIO.c"
#include "../../deps/libxml2/xmlmemory.c"
#include "../../deps/libxml2/xmlreader.c"
#include "../../deps/libxml2/xmlsave.c"
#include "../../deps/libxml2/xmlstring.c"
#endif
#ifdef __cplusplus
}
#endif
#endif

View File

@ -72,7 +72,7 @@ xmlSAX2ErrMemory(xmlParserCtxtPtr ctxt, const char *msg) {
* Handle a validation error
*/
static void
xmlErrValid(xmlParserCtxtPtr ctxt, xmlParserErrors error,
SAXxmlErrValid(xmlParserCtxtPtr ctxt, xmlParserErrors error,
const char *msg, const char *str1, const char *str2)
{
xmlStructuredErrorFunc schannel = NULL;
@ -102,7 +102,7 @@ xmlErrValid(xmlParserCtxtPtr ctxt, xmlParserErrors error,
}
/**
* xmlFatalErrMsg:
* SAXxmlFatalErrMsg:
* @ctxt: an XML parser context
* @error: the error number
* @msg: the error message
@ -112,7 +112,7 @@ xmlErrValid(xmlParserCtxtPtr ctxt, xmlParserErrors error,
* Handle a fatal parser error, i.e. violating Well-Formedness constraints
*/
static void
xmlFatalErrMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
SAXxmlFatalErrMsg(xmlParserCtxtPtr ctxt, xmlParserErrors error,
const char *msg, const xmlChar *str1, const xmlChar *str2)
{
if ((ctxt != NULL) && (ctxt->disableSAX != 0) &&
@ -529,7 +529,7 @@ xmlSAX2GetEntity(void *ctx, const xmlChar *name)
ctxt->myDoc->standalone = 0;
ret = xmlGetDocEntity(ctxt->myDoc, name);
if (ret != NULL) {
xmlFatalErrMsg(ctxt, XML_ERR_NOT_STANDALONE,
SAXxmlFatalErrMsg(ctxt, XML_ERR_NOT_STANDALONE,
"Entity(%s) document marked standalone but requires external subset\n",
name, NULL);
}
@ -556,7 +556,7 @@ xmlSAX2GetEntity(void *ctx, const xmlChar *name)
if (val == 0) {
xmlAddChildList((xmlNodePtr) ret, children);
} else {
xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_PROCESSING,
SAXxmlFatalErrMsg(ctxt, XML_ERR_ENTITY_PROCESSING,
"Failure to process entity %s\n", name, NULL);
ctxt->validate = 0;
return(NULL);
@ -648,7 +648,7 @@ xmlSAX2EntityDecl(void *ctx, const xmlChar *name, int type,
ent->URI = URI;
}
} else {
xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_PROCESSING,
SAXxmlFatalErrMsg(ctxt, XML_ERR_ENTITY_PROCESSING,
"SAX.xmlSAX2EntityDecl(%s) called while not in subset\n",
name, NULL);
}
@ -684,7 +684,7 @@ xmlSAX2AttributeDecl(void *ctx, const xmlChar *elem, const xmlChar *fullname,
* Raise the error but keep the validity flag
*/
int tmp = ctxt->valid;
xmlErrValid(ctxt, XML_DTD_XMLID_TYPE,
SAXxmlErrValid(ctxt, XML_DTD_XMLID_TYPE,
"xml:id : attribute type should be ID\n", NULL, NULL);
ctxt->valid = tmp;
}
@ -700,7 +700,7 @@ xmlSAX2AttributeDecl(void *ctx, const xmlChar *elem, const xmlChar *fullname,
name, prefix, (xmlAttributeType) type,
(xmlAttributeDefault) def, defaultValue, tree);
else {
xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
SAXxmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
"SAX.xmlSAX2AttributeDecl(%s) called while not in subset\n",
name, NULL);
xmlFreeEnumeration(tree);
@ -739,7 +739,7 @@ xmlSAX2ElementDecl(void *ctx, const xmlChar * name, int type,
elem = xmlAddElementDecl(&ctxt->vctxt, ctxt->myDoc->extSubset,
name, (xmlElementTypeVal) type, content);
else {
xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
SAXxmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
"SAX.xmlSAX2ElementDecl(%s) called while not in subset\n",
name, NULL);
return;
@ -767,7 +767,7 @@ xmlSAX2NotationDecl(void *ctx, const xmlChar *name,
if ((publicId == NULL) && (systemId == NULL)) {
xmlFatalErrMsg(ctxt, XML_ERR_NOTATION_PROCESSING,
SAXxmlFatalErrMsg(ctxt, XML_ERR_NOTATION_PROCESSING,
"SAX.xmlSAX2NotationDecl(%s) externalID or PublicID missing\n",
name, NULL);
return;
@ -778,7 +778,7 @@ xmlSAX2NotationDecl(void *ctx, const xmlChar *name,
nota = xmlAddNotationDecl(&ctxt->vctxt, ctxt->myDoc->extSubset, name,
publicId, systemId);
else {
xmlFatalErrMsg(ctxt, XML_ERR_NOTATION_PROCESSING,
SAXxmlFatalErrMsg(ctxt, XML_ERR_NOTATION_PROCESSING,
"SAX.xmlSAX2NotationDecl(%s) called while not in subset\n",
name, NULL);
return;
@ -844,7 +844,7 @@ xmlSAX2UnparsedEntityDecl(void *ctx, const xmlChar *name,
ent->URI = URI;
}
} else {
xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
SAXxmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
"SAX.xmlSAX2UnparsedEntityDecl(%s) called while not in subset\n",
name, NULL);
}
@ -1220,7 +1220,7 @@ xmlSAX2StartElementNs(void *ctx,
(ctxt->myDoc->intSubset->elements == NULL) &&
(ctxt->myDoc->intSubset->attributes == NULL) &&
(ctxt->myDoc->intSubset->entities == NULL)))) {
xmlErrValid(ctxt, XML_ERR_NO_DTD,
SAXxmlErrValid(ctxt, XML_ERR_NO_DTD,
"Validation failed: no DTD found !", NULL, NULL);
ctxt->validate = 0;
}

View File

@ -56,18 +56,21 @@ typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
const char *msg,
...) LIBXML_ATTR_FORMAT(2,3);
#ifdef IN_LIBXML
/**
* XML_CTXT_FINISH_DTD_0:
*
* Special value for finishDtd field when embedded in an xmlParserCtxt
*/
#ifndef XML_CTXT_FINISH_DTD_0
#define XML_CTXT_FINISH_DTD_0 0xabcd1234
#endif
/**
* XML_CTXT_FINISH_DTD_1:
*
* Special value for finishDtd field when embedded in an xmlParserCtxt
*/
#ifndef XML_CTXT_FINISH_DTD_1
#define XML_CTXT_FINISH_DTD_1 0xabcd1235
#endif

View File

@ -43,7 +43,10 @@
#include <libxml/xmlerror.h>
#include <libxml/globals.h>
#ifndef MAX_HASH_LEN
#undef MAX_HASH_LEN
#define MAX_HASH_LEN 8
#endif
#ifdef HASH_RANDOMIZATION
static int hash_initialized = 0;

View File

@ -338,7 +338,7 @@ xmlSplitQName3(const xmlChar *name, int *len) {
* *
************************************************************************/
#define CUR_SCHAR(s, l) xmlStringCurrentChar(NULL, s, &l)
#define TREE_CUR_SCHAR(s, l) xmlStringCurrentChar(NULL, s, &l)
#if defined(LIBXML_TREE_ENABLED)
/**
@ -384,27 +384,27 @@ try_complex:
* Second check for chars outside the ASCII range
*/
cur = value;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
if (space) {
while (IS_BLANK(c)) {
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
}
}
if ((!IS_LETTER(c)) && (c != '_'))
return(1);
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') ||
(c == '-') || (c == '_') || IS_COMBINING(c) ||
IS_EXTENDER(c)) {
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
}
if (space) {
while (IS_BLANK(c)) {
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
}
}
if (c != 0)
@ -471,41 +471,41 @@ try_complex:
* Second check for chars outside the ASCII range
*/
cur = value;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
if (space) {
while (IS_BLANK(c)) {
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
}
}
if ((!IS_LETTER(c)) && (c != '_'))
return(1);
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') ||
(c == '-') || (c == '_') || IS_COMBINING(c) ||
IS_EXTENDER(c)) {
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
}
if (c == ':') {
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
if ((!IS_LETTER(c)) && (c != '_'))
return(1);
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') ||
(c == '-') || (c == '_') || IS_COMBINING(c) ||
IS_EXTENDER(c)) {
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
}
}
if (space) {
while (IS_BLANK(c)) {
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
}
}
if (c != 0)
@ -555,26 +555,26 @@ try_complex:
* Second check for chars outside the ASCII range
*/
cur = value;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
if (space) {
while (IS_BLANK(c)) {
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
}
}
if ((!IS_LETTER(c)) && (c != '_') && (c != ':'))
return(1);
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') || (c == ':') ||
(c == '-') || (c == '_') || IS_COMBINING(c) || IS_EXTENDER(c)) {
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
}
if (space) {
while (IS_BLANK(c)) {
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
}
}
if (c != 0)
@ -626,27 +626,27 @@ try_complex:
* Second check for chars outside the ASCII range
*/
cur = value;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
if (space) {
while (IS_BLANK(c)) {
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
}
}
if (!(IS_LETTER(c) || IS_DIGIT(c) || (c == '.') || (c == ':') ||
(c == '-') || (c == '_') || IS_COMBINING(c) || IS_EXTENDER(c)))
return(1);
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
while (IS_LETTER(c) || IS_DIGIT(c) || (c == '.') || (c == ':') ||
(c == '-') || (c == '_') || IS_COMBINING(c) || IS_EXTENDER(c)) {
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
}
if (space) {
while (IS_BLANK(c)) {
cur += l;
c = CUR_SCHAR(cur, l);
c = TREE_CUR_SCHAR(cur, l);
}
}
if (c != 0)

View File

@ -92,7 +92,7 @@ static void xmlCleanURI(xmlURIPtr uri);
* Skip to next pointer char, handle escaped sequences
*/
#define NEXT(p) ((*p == '%')? p += 3 : p++)
#define URI_NEXT(p) ((*p == '%')? p += 3 : p++)
/*
* Productions from the spec.
@ -222,7 +222,7 @@ xmlParse3986Fragment(xmlURIPtr uri, const char **str)
while ((ISA_PCHAR(cur)) || (*cur == '/') || (*cur == '?') ||
(*cur == '[') || (*cur == ']') ||
((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur))))
NEXT(cur);
URI_NEXT(cur);
if (uri != NULL) {
if (uri->fragment != NULL)
xmlFree(uri->fragment);
@ -258,7 +258,7 @@ xmlParse3986Query(xmlURIPtr uri, const char **str)
while ((ISA_PCHAR(cur)) || (*cur == '/') || (*cur == '?') ||
((uri != NULL) && (uri->cleanup & 1) && (IS_UNWISE(cur))))
NEXT(cur);
URI_NEXT(cur);
if (uri != NULL) {
if (uri->query != NULL)
xmlFree(uri->query);
@ -329,7 +329,7 @@ xmlParse3986Userinfo(xmlURIPtr uri, const char **str)
cur = *str;
while (ISA_UNRESERVED(cur) || ISA_PCT_ENCODED(cur) ||
ISA_SUB_DELIM(cur) || (*cur == ':'))
NEXT(cur);
URI_NEXT(cur);
if (*cur == '@') {
if (uri != NULL) {
if (uri->user != NULL) xmlFree(uri->user);
@ -442,7 +442,7 @@ not_ipv4:
* then this should be a hostname which can be empty
*/
while (ISA_UNRESERVED(cur) || ISA_PCT_ENCODED(cur) || ISA_SUB_DELIM(cur))
NEXT(cur);
URI_NEXT(cur);
found:
if (uri != NULL) {
if (uri->authority != NULL) xmlFree(uri->authority);
@ -526,7 +526,7 @@ xmlParse3986Segment(const char **str, char forbid, int empty)
return(1);
}
while (ISA_PCHAR(cur) && (*cur != forbid))
NEXT(cur);
URI_NEXT(cur);
*str = cur;
return (0);
}

View File

@ -171,13 +171,13 @@ static void xmlTextReaderFreeNode(xmlTextReaderPtr reader, xmlNodePtr cur);
static void xmlTextReaderFreeNodeList(xmlTextReaderPtr reader, xmlNodePtr cur);
/**
* xmlFreeID:
* ReaderxmlFreeID:
* @not: A id
*
* Deallocate the memory used by an id definition
*/
static void
xmlFreeID(xmlIDPtr id) {
ReaderxmlFreeID(xmlIDPtr id) {
xmlDictPtr dict = NULL;
if (id == NULL) return;
@ -439,7 +439,7 @@ xmlTextReaderFreeNode(xmlTextReaderPtr reader, xmlNodePtr cur) {
*/
static void
xmlTextReaderFreeIDTable(xmlIDTablePtr table) {
xmlHashFree(table, (xmlHashDeallocator) xmlFreeID);
xmlHashFree(table, (xmlHashDeallocator) ReaderxmlFreeID);
}
/**