chiark / gitweb /
Updated the build script to better try to detect lack of i2c-dev
[wiringPi.git] / build
diff --git a/build b/build
index ad1eff0a012cc394abf0bc10fe9b95bc3ac16357..cc6804a6a7f3e544fa5edc7affddd0bd910e3766 100755 (executable)
--- a/build
+++ b/build
@@ -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