Updated the build script to better try to detect lack of i2c-dev

(hopefully!)
Also updated all the mmap code in wiringPiSetup() to make it a bit more
sane and efficient to a degree.
This commit is contained in:
Gordon Henderson
2013-01-15 22:38:21 +00:00
parent 4673e38b1f
commit c82fb8735d
3 changed files with 56 additions and 80 deletions

55
build
View File

@@ -1,5 +1,34 @@
#!/bin/bash
i2c-install()
{
echo "* wiringPi needs the I2C Development Libraires installing."
echo ""
echo "If using Debian/Raspbian, then type this command:"
echo " sudo apt-get install libi2c-dev"
echo "then run ./build again."
echo ""
echo "If using another Linux distribution, then you will have to"
echo "work out how to install the I2C Developmen Libraries for your"
echo "system. (Sorry - I don't know - do let me know though!)"
echo ""
exit 1
}
check-make-ok()
{
if [ $? != 0 ]; then
echo ""
echo "Make Failed..."
echo "Please check the messages and fix any problems. If you're still stuck,"
echo "then please email all the output and as many details as you can to"
echo " projects@drogon.net"
echo ""
exit 1
fi
}
if [ x$1 = "xclean" ]; then
echo Cleaning
echo
@@ -23,32 +52,32 @@ elif [ x$1 = "xuninstall" ]; then
cd ..
else
echo wiringPi Build script - please wait...
echo
# Check for I2C being installed...
if [ ! -f /usr/include/linux/i2c-dev.h ]; then
echo "* wiringPi needs the I2C Development Libraires installing."
echo ""
echo "If using Debian/Raspbian, then type this command:"
echo " sudo apt-get install libi2c-dev"
echo "then run ./build again."
echo ""
echo "If using another Linux distribution, then you will have to"
echo "work out how to install the I2C Developmen Libraries for your"
echo "system."
echo ""
exit 1
i2c-install
fi
grep -q i2c_smbus_read_byte /usr/include/linux/i2c-dev.h
if [ $? = 1 ]; then
i2c-install
fi
echo "WiringPi library"
cd wiringPi
sudo make uninstall
make
make
check-make-ok
sudo make install
check-make-ok
echo
echo "GPIO Utility"
cd ../gpio
make
check-make-ok
sudo make install
check-make-ok
echo
echo "Examples"
cd ../examples