kernel-ark/scripts
Stephen Warren 2ab8a99661 kbuild: fixdep: support concatenated dep files
The current use-case for fixdep is: a source file is run through a single
processing step, which creates a single dependency file as a side-effect,
which fixdep transforms into the file used by the kernel build process.

In order to transparently run the C pre-processor on device-tree files,
we wish to run both gcc -E and dtc on a source file in a single rule.
This generates two dependency files, which must be transformed together
into the file used by the kernel build process. This change modifies
fixdep so it can process the concatenation of multiple separate input
dependency files, and produce a correct unified output.

The code changes have the slight benefit of transforming the loop in
parse_dep_file() into more of a lexer/tokenizer, with the loop body being
more of a parser. Previously, some of this logic was mixed together
before the loop. I also added some comments, which I hope are useful.

Benchmarking shows that on a cross-compiled ARM tegra_defconfig build,
there is less than 0.5 seconds speed decrease with this change, on top
of a build time of ~2m24s. This is probably within the noise.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Rob Herring <rob.herring@calxeda.com>
2013-04-05 12:22:58 -06:00
..
basic kbuild: fixdep: support concatenated dep files 2013-04-05 12:22:58 -06:00
coccinelle Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2013-02-27 12:27:18 -08:00
dtc script: dtc: clean generated files 2012-11-21 15:53:22 +00:00
genksyms genksyms: fix metag symbol prefix on crc symbols 2013-03-02 20:11:13 +00:00
kconfig Merge branch 'kbuild/rc-fixes' into kbuild/kconfig 2013-02-25 21:51:57 +01:00
ksymoops
mod Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2013-02-27 12:25:47 -08:00
package kbuild: clear KBUILD_SRC when calling 'make' in RPM spec 2013-02-22 10:57:32 +01:00
rt-tester
selinux
tracing
.gitignore X.509: Add simple ASN.1 grammar compiler 2012-10-08 13:50:19 +10:30
asn1_compiler.c X.509: Add simple ASN.1 grammar compiler 2012-10-08 13:50:19 +10:30
bin2c.c
bloat-o-meter
bootgraph.pl
checkincludes.pl
checkkconfigsymbols.sh
checkpatch.pl checkpatch: improve CamelCase test for Page 2013-02-27 19:10:08 -08:00
checkstack.pl scripts/checkstack.pl: Add metag support 2013-03-02 20:09:55 +00:00
checksyscalls.sh checksyscalls: fix "here document" handling 2012-09-25 08:59:21 -07:00
checkversion.pl
cleanfile
cleanpatch
coccicheck coccicheck: Allow to show the executed command line 2013-02-22 14:25:44 +01:00
config scripts/config: Fix wrong "shift" for --keep-case 2012-12-14 14:16:10 +01:00
conmakehash.c
decodecode scripts/decodecode: Fixup trapping instruction marker 2012-08-16 11:15:09 -07:00
depmod.sh depmod: pass -P $CONFIG_SYMBOL_PREFIX 2013-02-22 11:52:31 +01:00
diffconfig
docproc.c
export_report.pl
extract-ikconfig
extract-vmlinux
gcc-goto.sh
gcc-version.sh kbuild: Fix gcc -x syntax 2012-10-03 09:03:24 +02:00
gcc-x86_32-has-stack-protector.sh kbuild: Fix gcc -x syntax 2012-10-03 09:03:24 +02:00
gcc-x86_64-has-stack-protector.sh kbuild: Fix gcc -x syntax 2012-10-03 09:03:24 +02:00
gen_initramfs_list.sh
get_maintainer.pl get_maintainer: allow keywords to match filenames 2013-02-27 19:10:09 -08:00
gfp-translate chmod +x scripts/gfp-translate 2012-06-27 12:44:29 -07:00
headerdep.pl
headers_check.pl
headers_install.pl UAPI: Strip _UAPI prefix on header install no matter the whitespace 2013-01-02 17:36:10 -08:00
headers.sh
kallsyms.c
Kbuild.include Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2012-10-08 07:56:10 +09:00
kernel-doc scripts/kernel-doc: handle struct member __aligned without numbers 2013-02-27 19:10:09 -08:00
Lindent
link-vmlinux.sh kbuild: Fix reading of .config in link-vmlinux.sh 2013-02-25 16:14:48 +01:00
Makefile X.509: Add simple ASN.1 grammar compiler 2012-10-08 13:50:19 +10:30
Makefile.asm-generic uapi: Allow automatic generation of uapi/asm/ header files 2012-10-17 12:25:44 +01:00
Makefile.build X.509: Add simple ASN.1 grammar compiler 2012-10-08 13:50:19 +10:30
Makefile.clean
Makefile.fwinst kbuild: Fix accidental revert in commit fe04ddf 2012-10-15 13:01:05 -07:00
Makefile.headersinst kbuild: Fix destination-y for installed headers 2013-02-22 11:48:15 +01:00
Makefile.help
Makefile.host
Makefile.lib kbuild: create an "include chroot" for DT bindings 2013-04-05 12:22:32 -06:00
Makefile.modbuiltin
Makefile.modinst modules: don't break modules_install on external modules with no key. 2012-11-06 11:52:24 +10:30
Makefile.modpost mod/file2alias: make modalias generation safe for cross compiling 2013-01-24 22:48:04 +01:00
Makefile.modsign MODSIGN: Add modules_sign make target 2012-12-14 13:05:28 +10:30
makelst
markup_oops.pl
mkcompile_h
mkmakefile
mksysmap trivial: typo in comment in mksysmap 2012-07-20 10:36:05 +02:00
mkuboot.sh
mkversion
module-common.lds
namespace.pl
patch-kernel scripts/patch-kernel: digest kernel.org hosted .xz patches 2012-03-30 15:23:36 +02:00
pnmtologo.c scripts/pnmtologo: fix for plain PBM 2012-11-20 11:58:03 +01:00
profile2linkerlist.pl
recordmcount.c metag: ftrace support 2013-03-02 20:09:55 +00:00
recordmcount.h ftrace: Make recordmcount.c handle __fentry__ 2012-08-23 11:24:43 -04:00
recordmcount.pl
setlocalversion kbuild: Unset language specific variables in setlocalversion script 2013-02-22 14:18:30 +01:00
show_delta
sign-file MODSIGN: Add -s <signature> option to sign-file 2013-01-25 16:55:36 +10:30
sortextable.c ARM: 7568/1: Sort exception table at compile time 2012-11-04 10:31:16 +00:00
sortextable.h scripts/sortextable: silence script output 2013-02-14 15:04:41 +01:00
tags.sh Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2013-02-27 12:27:18 -08:00
unifdef.c
ver_linux
xz_wrap.sh xz: Enable BCJ filters on SPARC and 32-bit x86 2012-04-18 13:13:18 -07:00