Skip to content
Snippets Groups Projects
  • Philippe Mathieu-Daudé's avatar
    aad3eb1f
    block/dmg: Ignore C99 prototype declaration mismatch from <lzfse.h> · aad3eb1f
    Philippe Mathieu-Daudé authored
    When liblzfe (Apple LZFSE compression library) is present
    (for example installed via 'brew') on Darwin, QEMU build
    fails as:
    
      Has header "lzfse.h" : YES
      Library lzfse found: YES
    
        Dependencies
          lzo support                  : NO
          snappy support               : NO
          bzip2 support                : YES
          lzfse support                : YES
          zstd support                 : YES 1.5.2
    
        User defined options
          dmg                          : enabled
          lzfse                        : enabled
    
      [221/903] Compiling C object libblock.fa.p/block_dmg-lzfse.c.o
      FAILED: libblock.fa.p/block_dmg-lzfse.c.o
      /opt/homebrew/Cellar/lzfse/1.0/include/lzfse.h:56:43: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
      LZFSE_API size_t lzfse_encode_scratch_size();
                                                ^
                                                 void
      /opt/homebrew/Cellar/lzfse/1.0/include/lzfse.h:94:43: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
      LZFSE_API size_t lzfse_decode_scratch_size();
                                                ^
                                                 void
      2 errors generated.
      ninja: build stopped: subcommand failed.
    
    This issue has been reported in the lzfse project in 2016:
    https://github.com/lzfse/lzfse/issues/3#issuecomment-226574719
    
    
    
    Since the project seems unmaintained, simply ignore the
    strict-prototypes warning check for the <lzfse.h> header,
    similarly to how we deal with the GtkItemFactoryCallback
    prototype from <gtk/gtkitemfactory.h>, indirectly included
    by <gtk/gtk.h>.
    
    Cc: Julio Faracco <jcfaracco@gmail.com>
    Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
    Reviewed-by: default avatarStefan Weil <sw@weilnetz.de>
    Message-Id: <20230327151349.97572-1-philmd@linaro.org>
    aad3eb1f
    History
    block/dmg: Ignore C99 prototype declaration mismatch from <lzfse.h>
    Philippe Mathieu-Daudé authored
    When liblzfe (Apple LZFSE compression library) is present
    (for example installed via 'brew') on Darwin, QEMU build
    fails as:
    
      Has header "lzfse.h" : YES
      Library lzfse found: YES
    
        Dependencies
          lzo support                  : NO
          snappy support               : NO
          bzip2 support                : YES
          lzfse support                : YES
          zstd support                 : YES 1.5.2
    
        User defined options
          dmg                          : enabled
          lzfse                        : enabled
    
      [221/903] Compiling C object libblock.fa.p/block_dmg-lzfse.c.o
      FAILED: libblock.fa.p/block_dmg-lzfse.c.o
      /opt/homebrew/Cellar/lzfse/1.0/include/lzfse.h:56:43: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
      LZFSE_API size_t lzfse_encode_scratch_size();
                                                ^
                                                 void
      /opt/homebrew/Cellar/lzfse/1.0/include/lzfse.h:94:43: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
      LZFSE_API size_t lzfse_decode_scratch_size();
                                                ^
                                                 void
      2 errors generated.
      ninja: build stopped: subcommand failed.
    
    This issue has been reported in the lzfse project in 2016:
    https://github.com/lzfse/lzfse/issues/3#issuecomment-226574719
    
    
    
    Since the project seems unmaintained, simply ignore the
    strict-prototypes warning check for the <lzfse.h> header,
    similarly to how we deal with the GtkItemFactoryCallback
    prototype from <gtk/gtkitemfactory.h>, indirectly included
    by <gtk/gtk.h>.
    
    Cc: Julio Faracco <jcfaracco@gmail.com>
    Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
    Reviewed-by: default avatarStefan Weil <sw@weilnetz.de>
    Message-Id: <20230327151349.97572-1-philmd@linaro.org>