[zeromq-dev] CZMQ code generation

Osiris Pedroso opedroso at gmail.com
Mon Apr 25 17:02:27 CEST 2016


Got it. Thanks!

On Mon, Apr 25, 2016 at 9:58 AM Kevin Sapper <kevinsapper88 at gmail.com>
wrote:

> Both options have equal meaning.
>
> "-target:-" is used as input for zproject
>
> and
>
> "-topdir:.. -zproject:1" is equally used as input for one of zproto's
> scripts.
>
> 2016-04-25 16:53 GMT+02:00 Osiris Pedroso <opedroso at gmail.com>:
>
>> Thanks Kevin, very informative.
>>
>> On Q1, I believe you answered was "-target:-" means.
>>
>> What does the cmd line option "-zproject:1" mean on the line:
>> ```
>>     cd $(srcdir)/src; gsl -topdir:.. -zproject:1 -q sockopts.xml
>> ```
>>
>>
>> On Mon, Apr 25, 2016 at 9:29 AM Kevin Sapper <kevinsapper88 at gmail.com>
>> wrote:
>>
>>> Q1:
>>> With a minus in the gsl command you can set or override an attribute of
>>> project e.g. `project.topdir` or `project.target`.
>>>
>>> The snippet from Makemodule.am will re-generate all zproto models. As
>>> zproto does generate headers for its models which might conflict with an
>>> zproject api, zproject will be called with target "-" which means no
>>> target. Hence only the C api will be re-generated overriding unwanted
>>> zproto headers.
>>>
>>> Q2:
>>> No, `gsl project.xml` is the correct command. You'll use `make code` to
>>> refresh zproto models.
>>>
>>> Q3:
>>> No, changes are applied gradually downstream there is no pressure to do
>>> it right away. If there was a critical bug a mail to the mailing might be
>>> appropriate though.
>>>
>>>
>>> 2016-04-25 14:47 GMT+02:00 Osiris Pedroso <opedroso at gmail.com>:
>>>
>>>> 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?
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> zeromq-dev mailing list
>>>> zeromq-dev at lists.zeromq.org
>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>>
>>>
>>> _______________________________________________
>>> zeromq-dev mailing list
>>> zeromq-dev at lists.zeromq.org
>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
>>
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20160425/51ef99de/attachment.htm>


More information about the zeromq-dev mailing list