cxxparse Code
Status: Planning
Brought to you by:
philipashmore
Introduction
============
Cxxparse is little more than a flex wrapper (flexx) plus some bison skeleton
files (v3c_bison.m4, *.m4).
Directory layout
================
cxxparse (you are here)
|-build (everything created goes here, as far as the tools will allow)
| \-v3c
| |-calc++ The bison c++ example (generated code)
| |-flexx A flex wrapper (generated code)
| | \-tests The bison c++ example, flexxed (generated code)
| \-parse bisonx (generated code)
| \-tests The bison c++ example, flexxed and bisonxed (generated code)
\-v3c (the source)
|-calc++ The bison c++ example
|-flexx A flex wrapper
| \-tests The bison c++ example, flexxed.
\-parse bisonx
\-tests The bison c++ example, flexxed and bisonxed
I'm using v3c as the name of the source directory as this is a v3c sub-project,
and the source files include header files through <v3c/...>, so adding the
root directory to the system include path (-isystem) solves that rather neatly.
As a sub-project it can have it's own release schedule and only needs to keep
in step with v3c when it requires some feature of the latest version - not very
often. Otherwise it can grow at it's own pace.
Requirements
============
This is a sub-project of v3c so you'll need that.
cxxparse needs bison and flex.
Debian/Ubuntu packages
======================
If you run
make debian
the build system will compile and test v3c/cxxparse before creating a .tar.gz
tar ball.
This tar ball is then used by the build system to build the debian packages
cxxparse*-1_amd64.deb
cxxparse-dev_*-1_amd64.deb
cxxparse-doc_*-1_all.deb
You will need a gpg public/private key pair to sign these packages - more info
can be found in the "maint-guide" debian package.
doxygen
=======
To build the documentation you'll need v3c.
I've cobbled together a doxygen "documentation chain" so that other projects can
layer their doxygen documentation on top easily.
Then to install the documentation
make <flags> doxygen-doc && sudo make install-doxygen-doc
v3c
===
v3c provides basic build/compile/runtime functionality used by cxxparse.
Once v3c is installed, cxxparse can use the v3c "build boilerplate" as follows
Symbolic links:
doxygen.am -> /usr/include/v3c/doxygen.am
/usr/include/v3c/v3c.mak and /usr/include/v3c/v3c_mak.sh are used through their
"make" path - v3c/v3c.mak. Why can't regular paths work that way?
I tried to find a way to avoid symbolic links - automake etc. didn't like it.
At least this way, updates to the v3c build system get incorporated
automatically.
Feedback
========
All feedback should be through this projects support web page
http://sourceforge.net/projects/cxxparse/support.
I've added a help, open discussion and a mantis bug tracker there.
Finally, do send me an email to let me know what your thoughts are on
cxxparse!