16.45 KB, application/octet-stream
These are some Makefile.exe.in and configure, configure.in scripts. Building in separate dir does not work, that needs a different building scheme. But at least compiler and options are passed to all steps of compiling.
17.75 KB, application/octet-stream
Andreas Otte has submitted patches to make Transformiix buildable on Linux which I'll attach to this bug report. I haven't had time to do this myself so I'm putting this task into Bugzilla to make sure I don't forget about it. Axel Hecht expressed a desire to work on getting Transformiix to build on Solaris. Andreas and Axel, do you want to become the Linux and Solaris platform owners for Transformiix? Do either of you have CVS write access to the mozilla repository? Here's Andreas's email: *** Hi Nisheeth! Here are my changes to the tree to get transformiix building as a lib under linux: 1. Makefiles.zip Unpack under mozilla/extensions/transformiix. This includes the Makefile.in that bring it on the same level as the windows makefiles. The original Makefile in this directorys have to be removed or at least renamed. Makefile.org or something like that. 2. Makefiles2.zip Unpack under mozilla/layout/xsl. This includes the Makefile.in for the xsl directory. 3. allmakefiles.sh.diff This adds the transformiix and xsl makefiles to the list. When configure is called the next time this will create the real Makefile in the directorys. 4. mozilla/extensions/transformiix/source/xml/dom/DOM.H has to be renamed to dom.h 5. Double.cpp.diff I had to change #ifdef MOZILLA into #ifdef WIN32. I think this has to go into nspr. carefully testing is necessary. 6. NodeSet.h.diff Adapt another version of dom.h writing 7. nsIDocumentTransformer.h.diff I fixed and used this one for unix because I could not fix the idl one. Maybe you can take a look at the xpidl version. 8. nsXMLContentSink.cpp.diff make #include <windows.h> conditional and adapt to latest necko changes. 9. nsXSLContentSink.h.diff #include nsITransformMediator.h 10. XSLProcessorFactory.cpp.diff remove the string.h hack for non windows 11. various changes to layout and rdf Makefiles to get the xsl components conditionaly build (MOZ_XSL) 12. configure.in.diff and autoconf.mk.in get a --enable-xsl switch into configure and autoconf. This sets MOZ_XSL which is used in the makefiles There are a huge number of warnings when compiling this stuff. Most of this warnings are not dangerous, others might cause problems with commercial compilers. I even tried to load one of the tests, but it failed with an assertion. So there is much work ahead. But at least it builds now under linux/unix. Hope I have not forgotten anything ... Andreas -- *** Here's an update from Andreas about his previous email: *** Andreas Otte wrote: [...] > 11. various changes to layout and rdf Makefiles to get the xsl > components conditionaly build (MOZ_XSL) > Building with --enable-xsl causes apprunner to assert on startup at the moment, to overcome this dont't build rdf/content/src with -DXSL. Somewhere in there is lurking a bug ... Andreas -- *** Here's the email from Axel: *** Hi, I was trying to get transformiix to build (and run) under solaris 2.7. I got the sources via cvs on November 8. To get transformiix to compile I had to rename a number of files, and to get things consistent, had to edit a few headers. This was mainly to make up for upper/lower case filenames. This produced an executable, which gave a bus error. I tracked the error down to a not right created expat parser. So I substituted the directories xml/parser/xmlparse and xmltok by their equivalents in /mozilla/expat. These won't build (undef'd XML_ROLE...), so I just used the libexpat_s.a and libxmltok_s.a from dist/lib. But those need nspr, which is probably not the way to go for the standalone version. My question: Is someone working on the unix-related issues of transformiix? As I heard, that mozilla is the primary repository of transformiix, how much file-name mangling should be done? Which is the preferred way to resolve the expat problems? I'll submit patches to get something working, if you want to. Axel Hecht -- ***
I have write access to the repository. I don't know much about XSL, just got something building. I think Axel and I can sync our changes for a start. Axel?
I have new code which allows TransforMiiX to be built on Linux and Solaris. Actually my development environent is Linux. If any of you have Write Access to the CVS I would love to get my latest build committed. I have been unable to log into the CVS server. I also have bug fixes and more features implemented.
Hi, I have looked over the description of Andreas' patch, and don't find anything, I have done. In fact, it's further ahead quite a bit. I wonder if we could build the transfomiix executable as well. May be good to sort out some testing, whether bugs result from the glue or the transformiix itself. BTW, I don't have CVS write access, and currently I don't have a good place to put mozilla (/tmp is no good), but this may change. I will wait for the next state on CVS and check it out on solaris. If I think I can contribute, I will do so. Axel
Assigning bug to myself for now...
I think it would be nice to build the standalone-executable as a testprogram. To get there I think XSLProcessor.cpp has to be broken up into a mozilla part and a standalone part which delivers all the stubs for printing, expat, ... which are not needed my mozilla. This way we would get the core library which could be linked with some glue code to mozilla on one side and also with a support-library and all the other transformiix librarys to build the standalone executable without any defines or switches.
Currently I'm getting this when building with xsl enabled and trying to load the functions example: PreCondition: "Error: Parser's IStreamListener API was not setup correctly in constructor." ((eNone==mParserContext->mStreamListenerState)) at file nsParser.cpp, line 1107 Break: at file nsParser.cpp, line 1107 Some time ago I had build the standalone version and it did the conversion right, so this problem is somewhere in the gluecode.
Some more integrating with Mozilla would be nice, too. I've found a new String class in there :-(.
Created attachment 2890 [details] These are some Makefile.exe.in and configure, configure.in scripts. Building in separate dir does not work, that needs a different building scheme. But at least compiler and options are passed to all steps of compiling.
Summary: [HELP WANTED] [XSL] Make Transformiix buildable on Unix platforms. → [XSL] Make Transformiix buildable on Unix platforms.
Transformiix has been building on Unix for some time now. Marking bug fixed.
Status: ASSIGNED → RESOLVED
Last Resolved: 18 years ago
Resolution: --- → FIXED
Marking fixed per last comments.
Status: RESOLVED → VERIFIED
Attachment #2890 - Attachment description: These are some Makefile.exe.in and configure, configure.in scripts. Building in separate dir does not work, that needs a different building scheme. But at least compiler and options are passed to all steps of compiling. Tested with gcc/g++ and GNUmake on → These are some Makefile.exe.in and configure, configure.in scripts. Building in separate dir does not work, that needs a different building scheme. But at least compiler and options are passed to all steps of compiling.
You need to log in before you can comment on or make changes to this bug.