[zeromq-dev] CZMQ code generation

Osiris Pedroso opedroso at gmail.com
Mon Apr 25 14:47:11 CEST 2016


Up till now, I thought that the following command was what regenerated the
code for CZMQ project (or any other project using GSL code generation for
that matter):
```
root at OPLIN:~/git/czmq# gsl project.xml
```

But I came across the contents of CZMQ's Makemodule.am, which has this rule
in it (similar rule exist in ZYRE and MALAMUTE):
```
# Produce generated code from models in the src directory
code:
cd $(srcdir)/src; gsl -topdir:.. -zproject:1 -q sockopts.xml
cd $(srcdir)/src; gsl -topdir:.. -zproject:1 -q zgossip.xml
cd $(srcdir)/src; gsl -topdir:.. -zproject:1 -q zgossip_msg.xml
cd $(srcdir); gsl -target:- project.xml
```

**Question #1**: What does the GSL command line options "-zproject:1" and
"-target:-" mean?
I looked in GSL's README.md and the information is not there. The word
"zproject" is nowhere in the gsl sources...
```
Options currently recognised by GSL are:

* -a   argument: Pass arguments following filename to GSL script
* -q   quiet:    suppress routine messages
* -p   parallel: process files in parallel
* -s:n size:n    set script cache size - default is 1000000
* -h   help:     show command-line summary
* -v   version:  show full version information
```
**Question#2**: So, if one wants to apply GSL & ZPROJECT latest changes, is
the correct approach to "make code" to get all modules regenerated for each
of these projects then?

**Question #3**: If a contributor makes a change to a **.gsl** file, is he
expected to also regen all downstream projects affected by those changes
and PR them as well? What is the correct etiquette here?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20160425/604754c7/attachment.htm>


More information about the zeromq-dev mailing list