Skip to content

Using zproject class generator without using czmq #1351

@domiq44

Description

@domiq44

Hello,

I'm just trying to use a small part of zproject, a part on class generation, for fun.

<project
	name = "Test DOMDOM"
	script = "zproject.gsl"
	prefix = "pipo" >
	<main name = "totor">Global Domination Demon</main>
	<class name = "dudu" />
</project>

So for this test, you can create a new directory with only project.xml and zproject_class.gsl, and run
$ gsl project.xml

Since I'm interested in class generation without czmq, I create a project removing the following line in project.xml
<use project = "czmq" />
It's a cool feature for people who don't want to use czmq.
So, I run all process with
$ ./autogen.sh && ./configure && make
The make failed with the following error :

src/totor.c:40:9: warning: implicit declaration of function ‘zsys_info’ [-Wimplicit-function-declaration]
   40 |         zsys_info ("totor - Global Domination Demon");
      |         ^~~~~~~~~

A turn arround can me made by modifying the generator zproject_class.gsl like this:

$ diff zproject_class.gsl.ORIGINAL zproject_class.gsl
560a561,565
> 
> #define zsys_info(x, args ...)    fprintf(stdout, "\\n" x, ## args)
> #define zsys_warning(x, args ...) fprintf(stdout, "\\n" x, ## args)
> #define zsys_debug(x, args ...)   fprintf(stdout, "\\n" x, ## args)
> 

But I know that these are functions, not just define. It's just for tests purpose.
Then, doing ./autogen.sh && ./configure && make again will be OK and running test too.

$ ./src/pipo_selftest 
Running test domdom selftests...
 * dudu: OK
Tests passed OK

Regard,
Dominique

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions