mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-01-01 09:10:03 +00:00
67 lines
1.5 KiB
Bash
Executable File
67 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -eu
|
|
|
|
TREE=..
|
|
|
|
# default values, can be overriden by the environment
|
|
: ${DEST:=module}
|
|
: ${BUILD:=1}
|
|
|
|
# make sure we're running in our own directory
|
|
if [ -f create-module.sh ]; then :; else
|
|
cd $( dirname $0 )
|
|
if [ -f create-module.sh ]; then :; else
|
|
echo "Please run the script from is directory." >&2
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# use a temporary directory to build the module, then rsync to DEST
|
|
# this allows touching only new files, for more efficient re-builds
|
|
TMP=$DEST-tmp
|
|
rm -rf $TMP
|
|
|
|
mkdir -p $TMP/mbedtls $TMP/source
|
|
cp $TREE/include/mbedtls/*.h $TMP/mbedtls
|
|
cp $TREE/library/*.c $TMP/source
|
|
|
|
# temporary, should depend on external module later
|
|
cp data/entropy_hardware_poll.c $TMP/source
|
|
cp data/target_config.h $TMP/mbedtls
|
|
|
|
data/adjust-config.sh $TREE/scripts/config.pl $TMP/mbedtls/config.h
|
|
|
|
mkdir -p $TMP/test
|
|
cp -r data/example-* $TMP/test
|
|
# later we should have the generated test suites here too
|
|
|
|
cp data/module.json $TMP
|
|
cp data/README.md $TMP
|
|
|
|
mkdir -p $DEST
|
|
rsync -cr --delete --exclude build --exclude yotta_\* $TMP/ $DEST/
|
|
rm -rf $TMP
|
|
|
|
echo "mbed TLS yotta module created in '$DEST'."
|
|
|
|
test_build()
|
|
{
|
|
TARGET=$1
|
|
echo; echo "*** Doing a test build for $TARGET ***"
|
|
( cd $DEST && yt target $TARGET && yt build )
|
|
}
|
|
|
|
if [ $BUILD -eq 1 ]; then
|
|
if uname -a | grep 'Linux.*x86' >/dev/null; then
|
|
test_build x86-linux-native
|
|
fi
|
|
|
|
if uname -a | grep 'Darwin.*x86' >/dev/null; then
|
|
test_build x86-osx-native
|
|
fi
|
|
|
|
# do that one last so that it remains the target
|
|
test_build frdm-k64f-gcc
|
|
fi
|