Wireshark-dev: Re: [Wireshark-dev] asn2wrs.py no longer seems to generate the same code ...

From: João Valverde <joao.valverde@xxxxxxxxxxxxxxxxxx>
Date: Sat, 16 May 2020 13:59:40 +0100
Hi Richard,

On 15/05/20 23:46, Richard Sharpe wrote:
On Fri, May 15, 2020 at 3:33 PM Peter Wu <peter@xxxxxxxxxxxxx> wrote:
The "asn1" target rebuilds all asn1 dissectors.
Alternatively to rebuild a specific one, use a target such as "generate_dissector-pkcs1".
Sure, but there seems to be multiple issues.

1. The 'documented' command placed in the generated source does not
generate the same source:
2. make asn1 modifies the source directory, but it seems to me that it
should not do that because that breaks one of the out-of-tree
guarantees that cmake gives you.

Normally that would be true for a generated source file, but in this case a choice was made to commit the generated ASN.1 source code to VCS (for efficiency reasons I presume). Therefore the asn1 target is a special one designed only to update the ASN.1 source tree and commit the result.

Example:

     mkdir build
     cd build
     cmake ..
     cmake --build . --target generate_dissector-pkcs1

Or if you use ninja:

     mkdir build
     cd build
     cmake -GNinja ..
     ninja generate_dissector-pkcs1