[ https://issues.apache.org/jira/browse/PROTON-946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
michael goulish updated PROTON-946: ----------------------------------- Description: Currently protocol.h.py reads the AMQP 1.0 spec xml files and generates all of its output into protocol.h -- even the data structure definitions. Those definitions are currently protected by #ifdef DEFINE_FIELDS , which is defined only in codec.c -- so the definitions only show up in that file, while other .c files only see the declarations. If DEFINE_FIELDS is #defined in any other file, compilation will fail with multiple definition errors. The structure declarations should remain in the .h file , but the actual definitions should be moved into a generated .c file. was: Currently protocol.h.py reads the AMQP 1.0 spec xml files and generates all of its output into protocol.h -- evel the data structure definitions. Those definitions are currently protected by #ifdef DEFINE_FIELDS , which is defined only in codec.c -- so the definitions only show up in that file, while other .c files only see the declarations. If DEFINE_FIELDS is #defined in any other file, compilation will fail with multiple definition errors. The structure declarations should remain in the .h file , but the actual definitions should be moved into a generated .c file. Summary: remove generated data structure definitions from protocol.h (was: remove generated data structure definitions from .protocol.h) > remove generated data structure definitions from protocol.h > ----------------------------------------------------------- > > Key: PROTON-946 > URL: https://issues.apache.org/jira/browse/PROTON-946 > Project: Qpid Proton > Issue Type: Improvement > Components: proton-c > Affects Versions: 0.10 > Reporter: michael goulish > Assignee: michael goulish > > Currently protocol.h.py reads the AMQP 1.0 spec xml files and generates all > of its output into protocol.h -- even the data structure definitions. > Those definitions are currently protected by #ifdef DEFINE_FIELDS , which is > defined only in codec.c -- so the definitions only show up in that file, > while other .c files only see the declarations. > If DEFINE_FIELDS is #defined in any other file, compilation will fail with > multiple definition errors. > The structure declarations should remain in the .h file , but the actual > definitions should be moved into a generated .c file. -- This message was sent by Atlassian JIRA (v6.3.4#6332)