Put bison/flex files in parsers dir, so scan-build --exclude can be used
The autogenerated files create warnings that we can't do much about, so exclude them.
This commit is contained in:
parent
397800c9cd
commit
f36d1cce6d
|
@ -43,7 +43,7 @@ jobs:
|
||||||
sudo apt-get install -yq build-essential clang clang-tools git autotools-dev autoconf libtool gettext gawk gperf bison flex libconfuse-dev libunistring-dev libsqlite3-dev libavcodec-dev libavformat-dev libavfilter-dev libswscale-dev libavutil-dev libasound2-dev libmxml-dev libgcrypt20-dev libavahi-client-dev zlib1g-dev libevent-dev libplist-dev libsodium-dev libcurl4-openssl-dev libjson-c-dev libprotobuf-c-dev libpulse-dev libwebsockets-dev libgnutls28-dev
|
sudo apt-get install -yq build-essential clang clang-tools git autotools-dev autoconf libtool gettext gawk gperf bison flex libconfuse-dev libunistring-dev libsqlite3-dev libavcodec-dev libavformat-dev libavfilter-dev libswscale-dev libavutil-dev libasound2-dev libmxml-dev libgcrypt20-dev libavahi-client-dev zlib1g-dev libevent-dev libplist-dev libsodium-dev libcurl4-openssl-dev libjson-c-dev libprotobuf-c-dev libpulse-dev libwebsockets-dev libgnutls28-dev
|
||||||
autoreconf -vi
|
autoreconf -vi
|
||||||
./configure --enable-lastfm --enable-chromecast
|
./configure --enable-lastfm --enable-chromecast
|
||||||
scan-build --status-bugs -disable-checker deadcode.DeadStores make
|
scan-build --status-bugs -disable-checker deadcode.DeadStores --exclude src/parsers make
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v1
|
uses: github/codeql-action/analyze@v1
|
||||||
|
|
|
@ -32,11 +32,11 @@ If you modify any .gperf files, you will need to install it.]])],
|
||||||
])
|
])
|
||||||
|
|
||||||
AX_PROG_FLEX([AC_DEFINE([LEX], [flex], [flex found])],
|
AX_PROG_FLEX([AC_DEFINE([LEX], [flex], [flex found])],
|
||||||
[AS_IF([test ! -f "$srcdir/src/smartpl_lexer.c"],
|
[AS_IF([test ! -f "$srcdir/src/parsers/smartpl_lexer.c"],
|
||||||
[AC_MSG_ERROR([flex required, please install it])])
|
[AC_MSG_ERROR([flex required, please install it])])
|
||||||
])
|
])
|
||||||
AX_PROG_BISON([AC_DEFINE([YACC], [bison], [GNU bison found])],
|
AX_PROG_BISON([AC_DEFINE([YACC], [bison], [GNU bison found])],
|
||||||
[AS_IF([test ! -f "$srcdir/src/smartpl_parser.c"],
|
[AS_IF([test ! -f "$srcdir/src/parsers/smartpl_parser.c"],
|
||||||
[AC_MSG_ERROR([GNU bison required, please install it])])
|
[AC_MSG_ERROR([GNU bison required, please install it])])
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
owntone
|
owntone
|
||||||
|
|
||||||
*_lexer.[ch]
|
|
||||||
*_parser.[ch]
|
|
||||||
|
|
||||||
daap_query_hash.h
|
daap_query_hash.h
|
||||||
rsp_query_hash.h
|
rsp_query_hash.h
|
||||||
dacp_prop_hash.h
|
dacp_prop_hash.h
|
||||||
|
|
|
@ -62,14 +62,8 @@ GPERF_FILES = \
|
||||||
|
|
||||||
GPERF_SRC = $(GPERF_FILES:.gperf=_hash.h)
|
GPERF_SRC = $(GPERF_FILES:.gperf=_hash.h)
|
||||||
|
|
||||||
LEXER_SRC = daap_lexer.l smartpl_lexer.l
|
LEXER_SRC = parsers/daap_lexer.l parsers/smartpl_lexer.l
|
||||||
PARSER_SRC = daap_parser.y smartpl_parser.y
|
PARSER_SRC = parsers/daap_parser.y parsers/smartpl_parser.y
|
||||||
|
|
||||||
# This flag is given to flex and tells it to produce headers. automake's ylwrap
|
|
||||||
# doesn't seem to rename the header like it does with the .c flex output, so
|
|
||||||
# here we give it the final name. The "$(@:.c=.h)" uses substitution reference
|
|
||||||
# and means 'change .c to .h in $@' (the target name, e.g. calc_lexer.c).
|
|
||||||
AM_LFLAGS = --header-file=$(@:.c=.h)
|
|
||||||
|
|
||||||
# This flag is given to Bison and tells it to produce headers. Note that
|
# This flag is given to Bison and tells it to produce headers. Note that
|
||||||
# automake recognizes this flag too, and has special logic around it, so don't
|
# automake recognizes this flag too, and has special logic around it, so don't
|
||||||
|
@ -153,7 +147,7 @@ owntone_SOURCES = main.c \
|
||||||
# the C files as target, as the AM_LFLAGS will make sure headers are produced.
|
# the C files as target, as the AM_LFLAGS will make sure headers are produced.
|
||||||
BUILT_SOURCES = \
|
BUILT_SOURCES = \
|
||||||
$(GPERF_SRC) \
|
$(GPERF_SRC) \
|
||||||
$(LEXER_SRC:.l=.c) $(PARSER_SRC:.y=.h)
|
$(LEXER_SRC:.l=.h) $(PARSER_SRC:.y=.h)
|
||||||
|
|
||||||
# automake doesn't know how to make lexer headers, nor does it automatically
|
# automake doesn't know how to make lexer headers, nor does it automatically
|
||||||
# include them, so need to specify them as EXTRA_DIST.
|
# include them, so need to specify them as EXTRA_DIST.
|
||||||
|
@ -165,6 +159,11 @@ EXTRA_DIST = \
|
||||||
%_hash.h: %.gperf
|
%_hash.h: %.gperf
|
||||||
$(AM_V_GEN)$(GPERF) --output-file=$@ $<
|
$(AM_V_GEN)$(GPERF) --output-file=$@ $<
|
||||||
|
|
||||||
|
# Rule for generating lexer headers. $@ is an automatic variable that is equal
|
||||||
|
# to the particular target name, so a header file name.
|
||||||
|
$(LEXER_SRC:.l=.h): $(LEXER_SRC)
|
||||||
|
$(LEX) --header-file=$@ --stdout $(@:.h=.l) > /dev/null
|
||||||
|
|
||||||
# Anything built by make should be cleaned by make clean, but when it comes to
|
# Anything built by make should be cleaned by make clean, but when it comes to
|
||||||
# flex/bison automake's support leaves something to be desired
|
# flex/bison automake's support leaves something to be desired
|
||||||
clean-local:
|
clean-local:
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
#include "daap_query.h"
|
#include "daap_query.h"
|
||||||
#include "daap_parser.h"
|
#include "parsers/daap_parser.h"
|
||||||
#include "logger.h"
|
#include "logger.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
*_lexer.[ch]
|
||||||
|
*_parser.[ch]
|
|
@ -32,7 +32,7 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
#include "smartpl_query.h"
|
#include "smartpl_query.h"
|
||||||
#include "smartpl_parser.h"
|
#include "parsers/smartpl_parser.h"
|
||||||
#include "logger.h"
|
#include "logger.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue