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

Jonathan Haws Jonathan.Haws at sdl.usu.edu
Tue Jan 10 10:20:11 EST 2012


To create the build targets, I ran a build with GNU from a console and went through it line by line.

I haven't had a chance to look at the XCode stuff, but does it take care of the fact that there are source files in expat that are not built, but included in other source files (i.e. are the files that are actually built the only ones copied - even better, copied after the preprocessor has run)?

Thanks for clarifying that those functions are not used.  That is good to know that I did not break some corner case.

Thanks,

--
Jonathan R. Haws
Electrical Engineer
Space Dynamics Laboratory
(435) 713-3489
jhaws at sdl.usu.edu


________________________________________
From: Boris Kolpackov [boris at codesynthesis.com]
Sent: Tuesday, January 10, 2012 05:49
To: Jonathan Haws
Cc: xsde-users at codesynthesis.com
Subject: Re: [xsde-users] HOWTO: Compile libxsde.a for VxWorks 6.x using        Workbench and diab compiler

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