Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated version #3

Open
vegarringdal opened this issue Sep 22, 2022 · 1 comment
Open

Updated version #3

vegarringdal opened this issue Sep 22, 2022 · 1 comment

Comments

@vegarringdal
Copy link

I tried to make new version of a updated version of libxml2
Did not go well, making old version was ok. but looks like libxml2 have changed.

I just tried to manually add the xmlvalidate.c to libxml2_la_SOURCES in the makefile.am.
But no xmlvalidate.o gets generated.

Figured I could ask if you see what is needed, so I get a better start.

@vegarringdal
Copy link
Author

vegarringdal commented Sep 22, 2022

Think i actually go it working...

Hint to myself for later, if validation works and I need to clean this up..

post.js -> rename addOnPreMain to addOnInit

emmake.sh (commented the path and updated exported functions

#! /bin/sh

cp xmlvalidate.c libxml2

cd libxml2

#patch -N < ../Makefile.am.patch
[ -f ./Makefile ] || emconfigure ./autogen.sh --with-minimum --with-schemas --disable-shared
emmake make

OBJECTS="SAX.o entities.o encoding.o error.o parserInternals.o  \
		parser.o tree.o hash.o list.o xmlIO.o xmlmemory.o uri.o  \
		valid.o xlink.o HTMLparser.o HTMLtree.o debugXML.o xpath.o  \
		xpointer.o xinclude.o nanohttp.o nanoftp.o \
		catalog.o globals.o threads.o c14n.o xmlstring.o buf.o \
		xmlregexp.o xmlschemas.o xmlschemastypes.o xmlunicode.o \
		xmlreader.o relaxng.o dict.o SAX2.o \
		xmlwriter.o legacy.o chvalid.o pattern.o xmlsave.o \
		xmlmodule.o schematron.o xzlib.o"

emcc -Os xmlvalidate.o $OBJECTS -o xmlvalidate.js -s ALLOW_MEMORY_GROWTH=1 -s EXPORTED_FUNCTIONS='["_validate", "_init", "_malloc", "_free"]' -s EXPORTED_RUNTIME_METHODS='["cwrap"]' -s 'ENVIRONMENT=worker' --pre-js ../pre.js --post-js ../post.js

mv xmlvalidate.wasm xmlvalidate.js ../dist
cd ..

int the makefile.am of newest libxml2 I added this to xmlCatalog?sources

xmlcatalog_SOURCES=xmlcatalog.c buf.c chvalid.c dict.c entities.c encoding.c error.c xmlmodule.c \
		     globals.c hash.c list.c parser.c parserInternals.c relaxng.c xmlwriter.c legacy.c pattern.c xmlsave.c schematron.c xzlib.c \
		     SAX2.c threads.c tree.c uri.c valid.c xmlIO.c xmlschemas.c xmlschemastypes.c xmlunicode.c xmlreader.c \
		     xmlmemory.c xmlstring.c xmlvalidate.c SAX.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c xpointer.c xinclude.c nanohttp.c nanoftp.c catalog.c c14n.c xmlregexp.c
			 ```


feel free to tell me what I could do better :smile:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant