mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
110 lines
2.1 KiB
Bash
Executable File
110 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# released to public domain
|
|
|
|
help()
|
|
{
|
|
cat << eof
|
|
|
|
usage: $1 [-v] <esp-open-sdk path>
|
|
|
|
For each binary-only library file from ESP-NONOS-SDK, this script searches for
|
|
the exact commits and reports matching versions and commit urls.
|
|
|
|
The argument must be the ESP-NONOS-SDK git-cloned directory. It is left
|
|
unmodified, and is locally cloned to work with. The local copy is then
|
|
removed.
|
|
|
|
Because of libmain.a local tweaks, comparison is done for each .a file by
|
|
extracting object files, removing the potentially modified ones
|
|
(mem_manager.o time.o user_interface.o eagle_lwip_if.o) and doing a md5
|
|
check against the core files.
|
|
|
|
eof
|
|
exit 1
|
|
}
|
|
|
|
|
|
verbose=false
|
|
[ "$1" = "-v" ] && { shift; verbose=true; }
|
|
sdk="$1"
|
|
me="$0"
|
|
core=$(cd ${me%/*}/../../../..; pwd)
|
|
|
|
|
|
[ -r "$sdk/lib/libnet80211.a" ] || help "$0"
|
|
[ -r "$core/tools/xtensa-lx106-elf/bin" ] || help "$0"
|
|
|
|
tmp=$(pwd)/NONOSDK.deleteme
|
|
|
|
cat << eof
|
|
|
|
nonos-sdk = '$sdk'
|
|
core root directory = '$core'
|
|
temporary nonos-sdk clone = '$tmp'
|
|
|
|
If libmain.a is not found, it should be the one around the same libpp.a's commit
|
|
|
|
eof
|
|
|
|
md5()
|
|
{
|
|
mkdir temp
|
|
cd temp
|
|
PATH="$core/tools/xtensa-lx106-elf/bin:$PATH" xtensa-lx106-elf-ar x "$1"
|
|
rm -f mem_manager.o time.o user_interface.o eagle_lwip_if.o
|
|
cat *.o | md5sum
|
|
cd ..
|
|
rm -rf temp
|
|
}
|
|
|
|
search()
|
|
{
|
|
rm -rf "$tmp"
|
|
git clone $sdk "$tmp" 1>&2
|
|
cd "$tmp"
|
|
git reset --hard 1>&2
|
|
|
|
corelibs=$(cd "$core/tools/sdk/lib"; ls *.a)
|
|
commits=$(git log|grep ^commit\ | tac | sed 's,commit ,,')
|
|
|
|
for f in $corelibs; do
|
|
|
|
git checkout master 1>&2 # needed
|
|
|
|
if [ -r "$tmp/lib/$f" ]; then
|
|
|
|
coremd5=$(md5 "$core/tools/sdk/lib/$f")
|
|
found=false
|
|
|
|
for i in $commits; do
|
|
git reset --hard 1>&2
|
|
git checkout $i 1>&2
|
|
|
|
[ -d "$tmp/lib" ] || continue
|
|
|
|
espmd5=$(md5 "$tmp/lib/$f")
|
|
if [ "$espmd5" = "$coremd5" ]; then
|
|
tag=$(git describe --tag)
|
|
echo "$tag - https://github.com/espressif/ESP8266_NONOS_SDK/commit/$i - $f"
|
|
found=true
|
|
break
|
|
fi
|
|
done
|
|
|
|
$found || echo "NOTFOUND - $f"
|
|
fi
|
|
|
|
done
|
|
|
|
cd ..
|
|
rm -rf "$tmp"
|
|
}
|
|
|
|
$verbose && search
|
|
$verbose || search 2>/dev/null
|
|
|
|
echo "all done"
|