scripts/dtc: generate lexer and parser during build instead of shipping
Now that the kernel build supports flex and bison, remove the _shipped files and generate them during the build instead. Based on Masahiro's original patch. Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
parent
a54b81ea24
commit
e039139be8
|
@ -28,5 +28,7 @@ HOSTCFLAGS_dtc-parser.tab.o := $(HOSTCFLAGS_DTC)
|
||||||
# dependencies on generated files need to be listed explicitly
|
# dependencies on generated files need to be listed explicitly
|
||||||
$(obj)/dtc-lexer.lex.o: $(obj)/dtc-parser.tab.h
|
$(obj)/dtc-lexer.lex.o: $(obj)/dtc-parser.tab.h
|
||||||
|
|
||||||
# generated files need to be cleaned explicitly
|
# generated files need to include *.cmd and be cleaned explicitly
|
||||||
clean-files := dtc-lexer.lex.c dtc-parser.tab.c dtc-parser.tab.h
|
generated-files := dtc-lexer.lex.c dtc-parser.tab.c dtc-parser.tab.h
|
||||||
|
targets := $(generated-files)
|
||||||
|
clean-files := $(generated-files)
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,125 +0,0 @@
|
||||||
/* A Bison parser, made by GNU Bison 3.0.4. */
|
|
||||||
|
|
||||||
/* Bison interface for Yacc-like parsers in C
|
|
||||||
|
|
||||||
Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
/* As a special exception, you may create a larger work that contains
|
|
||||||
part or all of the Bison parser skeleton and distribute that work
|
|
||||||
under terms of your choice, so long as that work isn't itself a
|
|
||||||
parser generator using the skeleton or a modified version thereof
|
|
||||||
as a parser skeleton. Alternatively, if you modify or redistribute
|
|
||||||
the parser skeleton itself, you may (at your option) remove this
|
|
||||||
special exception, which will cause the skeleton and the resulting
|
|
||||||
Bison output files to be licensed under the GNU General Public
|
|
||||||
License without this special exception.
|
|
||||||
|
|
||||||
This special exception was added by the Free Software Foundation in
|
|
||||||
version 2.2 of Bison. */
|
|
||||||
|
|
||||||
#ifndef YY_YY_DTC_PARSER_TAB_H_INCLUDED
|
|
||||||
# define YY_YY_DTC_PARSER_TAB_H_INCLUDED
|
|
||||||
/* Debug traces. */
|
|
||||||
#ifndef YYDEBUG
|
|
||||||
# define YYDEBUG 0
|
|
||||||
#endif
|
|
||||||
#if YYDEBUG
|
|
||||||
extern int yydebug;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Token type. */
|
|
||||||
#ifndef YYTOKENTYPE
|
|
||||||
# define YYTOKENTYPE
|
|
||||||
enum yytokentype
|
|
||||||
{
|
|
||||||
DT_V1 = 258,
|
|
||||||
DT_PLUGIN = 259,
|
|
||||||
DT_MEMRESERVE = 260,
|
|
||||||
DT_LSHIFT = 261,
|
|
||||||
DT_RSHIFT = 262,
|
|
||||||
DT_LE = 263,
|
|
||||||
DT_GE = 264,
|
|
||||||
DT_EQ = 265,
|
|
||||||
DT_NE = 266,
|
|
||||||
DT_AND = 267,
|
|
||||||
DT_OR = 268,
|
|
||||||
DT_BITS = 269,
|
|
||||||
DT_DEL_PROP = 270,
|
|
||||||
DT_DEL_NODE = 271,
|
|
||||||
DT_PROPNODENAME = 272,
|
|
||||||
DT_LITERAL = 273,
|
|
||||||
DT_CHAR_LITERAL = 274,
|
|
||||||
DT_BYTE = 275,
|
|
||||||
DT_STRING = 276,
|
|
||||||
DT_LABEL = 277,
|
|
||||||
DT_REF = 278,
|
|
||||||
DT_INCBIN = 279
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Value type. */
|
|
||||||
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
|
||||||
|
|
||||||
union YYSTYPE
|
|
||||||
{
|
|
||||||
#line 39 "dtc-parser.y" /* yacc.c:1909 */
|
|
||||||
|
|
||||||
char *propnodename;
|
|
||||||
char *labelref;
|
|
||||||
uint8_t byte;
|
|
||||||
struct data data;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
struct data data;
|
|
||||||
int bits;
|
|
||||||
} array;
|
|
||||||
|
|
||||||
struct property *prop;
|
|
||||||
struct property *proplist;
|
|
||||||
struct node *node;
|
|
||||||
struct node *nodelist;
|
|
||||||
struct reserve_info *re;
|
|
||||||
uint64_t integer;
|
|
||||||
unsigned int flags;
|
|
||||||
|
|
||||||
#line 99 "dtc-parser.tab.h" /* yacc.c:1909 */
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef union YYSTYPE YYSTYPE;
|
|
||||||
# define YYSTYPE_IS_TRIVIAL 1
|
|
||||||
# define YYSTYPE_IS_DECLARED 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Location type. */
|
|
||||||
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
|
|
||||||
typedef struct YYLTYPE YYLTYPE;
|
|
||||||
struct YYLTYPE
|
|
||||||
{
|
|
||||||
int first_line;
|
|
||||||
int first_column;
|
|
||||||
int last_line;
|
|
||||||
int last_column;
|
|
||||||
};
|
|
||||||
# define YYLTYPE_IS_DECLARED 1
|
|
||||||
# define YYLTYPE_IS_TRIVIAL 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
extern YYSTYPE yylval;
|
|
||||||
extern YYLTYPE yylloc;
|
|
||||||
int yyparse (void);
|
|
||||||
|
|
||||||
#endif /* !YY_YY_DTC_PARSER_TAB_H_INCLUDED */
|
|
|
@ -4,7 +4,7 @@
|
||||||
#
|
#
|
||||||
# This script assumes that the dtc and the linux git trees are in the
|
# This script assumes that the dtc and the linux git trees are in the
|
||||||
# same directory. After building dtc in the dtc directory, it copies the
|
# same directory. After building dtc in the dtc directory, it copies the
|
||||||
# source files and generated source files into the scripts/dtc directory
|
# source files and generated source file(s) into the scripts/dtc directory
|
||||||
# in the kernel and creates a git commit updating them to the new
|
# in the kernel and creates a git commit updating them to the new
|
||||||
# version.
|
# version.
|
||||||
#
|
#
|
||||||
|
@ -34,7 +34,6 @@ DTC_LINUX_PATH=`pwd`/scripts/dtc
|
||||||
DTC_SOURCE="checks.c data.c dtc.c dtc.h flattree.c fstree.c livetree.c srcpos.c \
|
DTC_SOURCE="checks.c data.c dtc.c dtc.h flattree.c fstree.c livetree.c srcpos.c \
|
||||||
srcpos.h treesource.c util.c util.h version_gen.h Makefile.dtc \
|
srcpos.h treesource.c util.c util.h version_gen.h Makefile.dtc \
|
||||||
dtc-lexer.l dtc-parser.y"
|
dtc-lexer.l dtc-parser.y"
|
||||||
DTC_GENERATED="dtc-lexer.lex.c dtc-parser.tab.c dtc-parser.tab.h"
|
|
||||||
LIBFDT_SOURCE="Makefile.libfdt fdt.c fdt.h fdt_addresses.c fdt_empty_tree.c \
|
LIBFDT_SOURCE="Makefile.libfdt fdt.c fdt.h fdt_addresses.c fdt_empty_tree.c \
|
||||||
fdt_overlay.c fdt_ro.c fdt_rw.c fdt_strerror.c fdt_sw.c \
|
fdt_overlay.c fdt_ro.c fdt_rw.c fdt_strerror.c fdt_sw.c \
|
||||||
fdt_wip.c libfdt.h libfdt_env.h libfdt_internal.h"
|
fdt_wip.c libfdt.h libfdt_env.h libfdt_internal.h"
|
||||||
|
@ -59,10 +58,6 @@ for f in $DTC_SOURCE; do
|
||||||
cp ${DTC_UPSTREAM_PATH}/${f} ${f}
|
cp ${DTC_UPSTREAM_PATH}/${f} ${f}
|
||||||
git add ${f}
|
git add ${f}
|
||||||
done
|
done
|
||||||
for f in $DTC_GENERATED; do
|
|
||||||
cp ${DTC_UPSTREAM_PATH}/$f ${f}_shipped
|
|
||||||
git add ${f}_shipped
|
|
||||||
done
|
|
||||||
for f in $LIBFDT_SOURCE; do
|
for f in $LIBFDT_SOURCE; do
|
||||||
cp ${DTC_UPSTREAM_PATH}/libfdt/${f} libfdt/${f}
|
cp ${DTC_UPSTREAM_PATH}/libfdt/${f} libfdt/${f}
|
||||||
git add libfdt/${f}
|
git add libfdt/${f}
|
||||||
|
|
Loading…
Reference in New Issue