[xsde-users] HOWTO: Compile libxsde.a for VxWorks 6.x using Workbench and diab compiler

Boris Kolpackov boris at codesynthesis.com
Tue Jan 10 07:49:15 EST 2012


Hi Jonathan,

Thanks for sharing this, much appreciated. Some comments/suggestions
are below.

Jonathan Haws <Jonathan.Haws at sdl.usu.edu> writes:

> 1. In Workbench, create a Downloadable Kernel Module project to house 
>    the code.
> 2. Make sure the libxsde directory is clean (make clean)
> 3. Copy and paste the xsde/ directory into your new project in Workbench.
> 4. Run a make on the original source with the GNU tools, configuring it
>    with the VxWorks configuration example (from etc/vxworks/).
> 5. Using the build output in the console as a guide, customize the partial
>    image build target as follows:
>     a. Create virtual folders for each subdirectory where a build occurs
>        in GNU (I used expat, genx, cxx, hybrid, parser, and serializer).
>     b. Add content to each of these subdirectories from their respective
>        folders (e.g. c/expat/xmlparse.c goes under the expat subdirectory,
>        cxx/hybrid/whatever.c goes under hybrid, and so on).

Generally there are more source files in libxsde than are actually
compiled, depending on configuration (e.g., there are two sets of
parsers, one set with validation and the other -- without; only one
set is actually compiled, depending on whether validation is
enabled in config.make). I don't know how you dealt with this but
there is a fairly easy way to make XSD/e copy all the source files
that are actually needed into a separate directory. We use this
approach for creating the XCode project file. See the config-xcode.make
and README files in etc/ios/ for details. Maybe this will make things
easier.


> 6. I had to comment out lines 701-708 in c/genx/genx.c in order to 
> get it to build.  Diab doesn't like that syntax for some reason. It
> does not appear to have any adverse affect, since those functions
> are not called from anywhere I can see.  Hopefully I am right. 
> Can anyone shed some light on that?

Yes, those functions are not used by XSD/e. I also went ahead and
re-wrote them using an intermediate typedef for the next release.

Boris



More information about the xsde-users mailing list