1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-22 15:38:11 +00:00

add support for generating compile_commands.json

Useful for IDE support and static code analysis.
To generate the database for Unix build, run:
`intercept-build make build_unix`
and analyze using:
`analyze-build`
This commit is contained in:
Jan Pochyla 2019-01-04 12:24:06 +01:00
parent f7a54e7c58
commit 6682262925
4 changed files with 62 additions and 46 deletions

1
.gitignore vendored
View File

@ -8,3 +8,4 @@ _attic/
build/ build/
build-docker/ build-docker/
emu.config emu.config
compile_commands.json

View File

@ -29,5 +29,8 @@ Mako = ">=1.0.7"
monero_agent = {version = ">=1.7.1", extras = ["tcry", "dev"]} monero_agent = {version = ">=1.7.1", extras = ["tcry", "dev"]}
py_trezor_crypto_ph4 = {version = ">=0.1.1"} py_trezor_crypto_ph4 = {version = ">=0.1.1"}
[dev-packages]
scan-build = "*"
[pipenv] [pipenv]
allow_prereleases = true allow_prereleases = true

102
Pipfile.lock generated
View File

@ -1,7 +1,7 @@
{ {
"_meta": { "_meta": {
"hash": { "hash": {
"sha256": "da7e68f2f8463b2069c5adb8e70fd70bab8e220659e57d23addf5fe47698f606" "sha256": "92a59e9b2a0437b85d174047b6bd3f3c02a97c85bc58526d7e3a3eb173b79d06"
}, },
"pipfile-spec": 6, "pipfile-spec": 6,
"requires": {}, "requires": {},
@ -59,8 +59,7 @@
}, },
"braceexpand": { "braceexpand": {
"hashes": [ "hashes": [
"sha256:13980ad19c80ed6097c245febb694e57baffd8179b50bc80437003eb01465ecb", "sha256:13980ad19c80ed6097c245febb694e57baffd8179b50bc80437003eb01465ecb"
"sha256:595bd98d40ce31e8324f2fb6277aa02333119a4efb2fea5031430d5f292290ec"
], ],
"version": "==0.1.2" "version": "==0.1.2"
}, },
@ -183,8 +182,7 @@
}, },
"extended-pathlib": { "extended-pathlib": {
"hashes": [ "hashes": [
"sha256:c718cacfc7c02c6530936603dcf7496b9a5c0349b4410d0c7d1ab12dd4587e22", "sha256:c718cacfc7c02c6530936603dcf7496b9a5c0349b4410d0c7d1ab12dd4587e22"
"sha256:c889a009bde7e5b51bc56749c7f3e1c862bfbdd8cd2e8dd86f7fb67af6d147ef"
], ],
"version": "==0.4.0" "version": "==0.4.0"
}, },
@ -300,9 +298,9 @@
}, },
"monero-serialize": { "monero-serialize": {
"hashes": [ "hashes": [
"sha256:176706484ea46653f4a8f0368e03e509cdf7f251066b5df48b32d580b0519ab4" "sha256:81ae31a25901cf81969b48a14f9267775b9dbe4856f322807732bf03836773c7"
], ],
"version": "==2.0.8" "version": "==2.1.0"
}, },
"more-itertools": { "more-itertools": {
"hashes": [ "hashes": [
@ -335,8 +333,7 @@
}, },
"pbkdf2": { "pbkdf2": {
"hashes": [ "hashes": [
"sha256:ac6397369f128212c43064a2b4878038dab78dab41875364554aaf2a684e6979", "sha256:ac6397369f128212c43064a2b4878038dab78dab41875364554aaf2a684e6979"
"sha256:f204817cf18dbb4b967aecddc3d59f07bf894df705c9c6b72c7a676daeff7b12"
], ],
"version": "==1.3" "version": "==1.3"
}, },
@ -356,39 +353,39 @@
}, },
"pillow": { "pillow": {
"hashes": [ "hashes": [
"sha256:00203f406818c3f45d47bb8fe7e67d3feddb8dcbbd45a289a1de7dd789226360", "sha256:0cd42fe2d99ec6ce23aaf00947a7b7956ad2ed4b1695fd37545c3b8eae06d95a",
"sha256:0616f800f348664e694dddb0b0c88d26761dd5e9f34e1ed7b7a7d2da14b40cb7", "sha256:137bed8972089d65da63fb79b4949b0f2b99e9a58f1b494e82be43ba8b0f4226",
"sha256:1f7908aab90c92ad85af9d2fec5fc79456a89b3adcc26314d2cde0e238bd789e", "sha256:14eb2b2e4f2a14f5c89fd0edf55c5af0bf1a40fdf3838d81867f26f131cd557d",
"sha256:2ea3517cd5779843de8a759c2349a3cd8d3893e03ab47053b66d5ec6f8bc4f93", "sha256:1fc43ce8c4fa3754222cd6831d599ad17ca2fc9868d2fb52f4e5362dfbfaf379",
"sha256:48a9f0538c91fc136b3a576bee0e7cd174773dc9920b310c21dcb5519722e82c", "sha256:26dfeee23a86dad6277a63d18f61f53b957cb2cd3506dbbd74b88ba2fa65b3b1",
"sha256:5280ebc42641a1283b7b1f2c20e5b936692198b9dd9995527c18b794850be1a8", "sha256:2e0e582942e025cc58f669499a8e0bffde5bcc8d42b65729f294c1dac54e4672",
"sha256:5e34e4b5764af65551647f5cc67cf5198c1d05621781d5173b342e5e55bf023b", "sha256:3bb8dd3ce101dd8b0b37eaae924a5bb93abb6ffdd034bf68a066a808e11768ab",
"sha256:63b120421ab85cad909792583f83b6ca3584610c2fe70751e23f606a3c2e87f0", "sha256:3f07da3874f0b085421f1d4f979785131aa9d497501d8610d82f7378b33858f8",
"sha256:696b5e0109fe368d0057f484e2e91717b49a03f1e310f857f133a4acec9f91dd", "sha256:429b2b5ae5f57f8fd9ec2e012c1e7b342ff10f1a8977dc291976b9a3b4c096e1",
"sha256:870ed021a42b1b02b5fe4a739ea735f671a84128c0a666c705db2cb9abd528eb", "sha256:4a000fdd89d77b6b675de27e1ab91c6fba517c08f19ee83e6716b78930634e04",
"sha256:916da1c19e4012d06a372127d7140dae894806fad67ef44330e5600d77833581", "sha256:4ccbe7cce6156391a3ecf447c79a7d4a1a0ecd3de79bdec9ca5e4f7242a306d1",
"sha256:9303a289fa0811e1c6abd9ddebfc770556d7c3311cb2b32eff72164ddc49bc64", "sha256:4d08034196db41acb7392e4fccfc0448e7a87192c41d3011ad4093eac2c31ffd",
"sha256:9577888ecc0ad7d06c3746afaba339c94d62b59da16f7a5d1cff9e491f23dace", "sha256:6b202b1cb524bc76ed52a7eb0314f4b0a0497c7cceb9a93539b5a25800e1f2b6",
"sha256:987e1c94a33c93d9b209315bfda9faa54b8edfce6438a1e93ae866ba20de5956", "sha256:8563b56fa7c34f1606848c2143ea67d27cf225b9726a1b041c3d27cf85e46edc",
"sha256:99a3bbdbb844f4fb5d6dd59fac836a40749781c1fa63c563bc216c27aef63f60", "sha256:86d7421e8803d7bae2e594765c378a867b629d46b32fbfe5ed9fd95b30989feb",
"sha256:99db8dc3097ceafbcff9cb2bff384b974795edeb11d167d391a02c7bfeeb6e16", "sha256:8d4bddedcb4ab99131d9705a75720efc48b3d006122dae1a4cc329496ac47c9a",
"sha256:a5a96cf49eb580756a44ecf12949e52f211e20bffbf5a95760ac14b1e499cd37", "sha256:a4929c6de9590635c34533609402c9da12b22bfc2feb8c0c4f38c39bab48a9ad",
"sha256:aa6ca3eb56704cdc0d876fc6047ffd5ee960caad52452fbee0f99908a141a0ae", "sha256:b0736e21798448cee3e663c0df7a6dfa83d805b3f3a45e67f7457a2f019e5fca",
"sha256:aade5e66795c94e4a2b2624affeea8979648d1b0ae3fcee17e74e2c647fc4a8a", "sha256:b669acba91d47395de84c9ca52a7ad393b487e5ae2e20b9b2790b22a57d479fa",
"sha256:b78905860336c1d292409e3df6ad39cc1f1c7f0964e66844bbc2ebfca434d073", "sha256:bba993443921f2d077195b425a3283357f52b07807d53704610c1249d20b183a",
"sha256:b92f521cdc4e4a3041cc343625b699f20b0b5f976793fb45681aac1efda565f8", "sha256:bdf706a93d00547c9443b2654ae424fd54d5dece4bc4333e7035740aeb7a7cea",
"sha256:bfde84bbd6ae5f782206d454b67b7ee8f7f818c29b99fd02bf022fd33bab14cb", "sha256:c5aa93e55175b9cde95279ccd03c93d218976b376480222d37be41d2c9c54510",
"sha256:c2b62d3df80e694c0e4a0ed47754c9480521e25642251b3ab1dff050a4e60409", "sha256:cc11fd997d8ad71bb0412e983b711e49639c2ddba9b9dce04d4bdab575fe5f84",
"sha256:c5e2be6c263b64f6f7656e23e18a4a9980cffc671442795682e8c4e4f815dd9f", "sha256:d584f1c33995c3dc16a35e30ef43e0881fa0d085f0fef29cebf154ffb5643363",
"sha256:c99aa3c63104e0818ec566f8ff3942fb7c7a8f35f9912cb63fd8e12318b214b2", "sha256:d88f54bdefb7ddccb68efdd710d689aa6a09b875cc3e44b7e81ef54e0751e3a7",
"sha256:dae06620d3978da346375ebf88b9e2dd7d151335ba668c995aea9ed07af7add4", "sha256:de0d323072be72fa4d74f4e013cd594e3f8ee03b2e0eac5876a3249fa076ef7b",
"sha256:db5499d0710823fa4fb88206050d46544e8f0e0136a9a5f5570b026584c8fd74", "sha256:f139c963c6679d236b2c45369524338eabd36a853fe23abd39ba246ab0a75aec",
"sha256:f36baafd82119c4a114b9518202f2a983819101dcc14b26e43fc12cbefdce00e", "sha256:f41c0bf667c4c1c30b873eaa8d6bb894f6d721b3e38e9c993bddd1263c02fb1f",
"sha256:f52b79c8796d81391ab295b04e520bda6feed54d54931708872e8f9ae9db0ea1", "sha256:fbd0ea468b4ec04270533bf5206f1cd57746fcf226520bb133318fa276de2644",
"sha256:ff8cff01582fa1a7e533cb97f628531c4014af4b5f38e33cdcfe5eec29b6d888" "sha256:fe2d2850521c467c915ff0a6e27dc64c3c04c2f66612e0072672bd1bd4854b61"
], ],
"index": "pypi", "index": "pypi",
"version": "==5.3.0" "version": "==5.4.0"
}, },
"pluggy": { "pluggy": {
"hashes": [ "hashes": [
@ -571,7 +568,7 @@
"trezor": { "trezor": {
"editable": true, "editable": true,
"git": "https://github.com/trezor/python-trezor", "git": "https://github.com/trezor/python-trezor",
"ref": "master" "ref": "369b704f6bf60e510e1fcb03b021ff1866894459"
}, },
"typing-extensions": { "typing-extensions": {
"hashes": [ "hashes": [
@ -590,10 +587,9 @@
}, },
"virtualenv": { "virtualenv": {
"hashes": [ "hashes": [
"sha256:686176c23a538ecc56d27ed9d5217abd34644823d6391cbeb232f42bf722baad", "sha256:34b9ae3742abed2f95d3970acf4d80533261d6061b51160b197f84e5b4c98b4c"
"sha256:f899fafcd92e1150f40c8215328be38ff24b519cd95357fa6e78e006c7638208"
], ],
"version": "==16.1.0" "version": "==16.2.0"
}, },
"wheel": { "wheel": {
"hashes": [ "hashes": [
@ -603,5 +599,21 @@
"version": "==0.32.3" "version": "==0.32.3"
} }
}, },
"develop": {} "develop": {
"scan-build": {
"hashes": [
"sha256:d4755284acfe8c9d6c885aed5a24ff7547392bbcaa525a707371636cb456437c"
],
"index": "pypi",
"version": "==2.0.15"
},
"typing": {
"hashes": [
"sha256:4027c5f6127a6267a435201981ba156de91ad0d1d98e9ddc2aa173453453492d",
"sha256:57dcf675a99b74d64dacf6fba08fb17cf7e3d5fdff53d4a30ea2a5e7e52543d4",
"sha256:a4c8473ce11a65999c8f59cb093e70686b6c84c98df58c1dae9b3b196089858a"
],
"version": "==3.6.6"
}
}
} }

View File

@ -262,10 +262,10 @@ env = Environment(ENV=os.environ, CFLAGS=ARGUMENTS.get('CFLAGS', ''))
env.Tool('micropython') env.Tool('micropython')
env.Replace( env.Replace(
CC=os.getenv('CC') or 'gcc',
SED='sed', SED='sed',
AS='as', AS='as',
AR='ar', AR='ar',
CC='gcc',
LINK='ld', LINK='ld',
SIZE='size', SIZE='size',
STRIP='strip', STRIP='strip',