Better startup script for MacOS 10.10 and 10.11 - don't tell the user it won't work... 07/17707/1
Francois Granade [Thu, 21 Jan 2016 11:26:12 +0000 (12:26 +0100)]
Change-Id: Ifb86b0d52d217a66a5f8b12e855181b55925bb69

scilab/bin/checkmacosx.applescript
scilab/bin/scilab

index dbf6be1..2cd5aed 100644 (file)
@@ -8,16 +8,13 @@
  * you should have received as part of this distribution.  The terms
  * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
-
- * For now, this script displays a message if the version of mac os x
- * is wrong.
  *
  *************************************************************************)
 
 on run argv
-    tell application  "System Events" -- Mandatory to use tell application otherwis, osascript complains
+    tell application  "System Events" -- Mandatory to use tell application otherwise, osascript complains
         activate
-        display dialog  "This version of Scilab will probably fail on this system (" & item 1 of argv & "): Scilab requires " & item 2 of argv & "." buttons {"Try anyway", "Quit"} default button "Try anyway"
+        display dialog item 1 of argv buttons {"Try anyway", "Quit"} default button "Quit"
         if the button returned of the result is "Quit" then
             error number 128
             return false
index 3ad4aeb..986f377 100755 (executable)
@@ -736,8 +736,9 @@ set_macox_specific_path()
     case $macosxMajorVersion in
         10)
             case $macosxMinorVersion in
-                10)
+                10|11)
                     # Specific libBLAS.dylib & libLAPACK.dylib version for 10.10
+                    # (not used in scilab 5.5.2 yet, though)
                     LD_LIBRARY_PATH=$PATH_TO_SPECIFIC_10_10${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH}
                     DYLD_LIBRARY_PATH=$PATH_TO_SPECIFIC_10_10${DYLD_LIBRARY_PATH+:$DYLD_LIBRARY_PATH}
                     ;;
@@ -753,32 +754,43 @@ set_macox_specific_path()
 }
 
 #
-# Scilab will not work on some Mac OSX version
-# Check version number and ask user if he wants to go on.
+# Version checks for Mac
 #
-check_macosx_version()
+dialog_try_or_exit() 
 {
+    osascript $BINPATH/checkmacosx.applescript "$1" || exit 128
+}
 
+fail_macosx_too_old()
+{
+    # Version <= 10.6.4
+    dialog_try_or_exit "This version of Scilab will probably fail on this system ($macosxVersion): Scilab requires 10.6.5 (Snow Leopard) or newer system."
+}
+check_macosx_version()
+{
     case $macosxMajorVersion in
         10)
             case $macosxMinorVersion in
-                9|10)
-                   # We force to install JRE on Lion
+                7|8|9)
+                   # We force to install JRE on Lion and later...
                    /usr/libexec/java_home --request > /dev/null
                    ;;
-                8)
-                    if test $macosxBuildVersion -le 3; then
-                        # Version <= 10.8.3
-                        osascript $BINPATH/checkmacosx.applescript $macosxVersion "10.8.3 (Mountain Lion) or newer system" || exit 128
+               10|11)
+                  # ... but not on Yosemite or El Capitan:
+                  # there will be a (better) error at launch
+                  ;;
+                6)
+                    if test $macosxBuildVersion -le 4; then
+                        fail_macosx_too_old
                     fi
                     ;;
                 *)
-                    osascript $BINPATH/checkmacosx.applescript $macosxVersion "10.8.3 (Mountain Lion) or newer system" || exit 128
+                    fail_macosx_too_old
                     ;;
             esac
             ;;
         *)
-            osascript $BINPATH/checkmacosx.applescript $macosxVersion "10.8.3 (Mountain Lion) or newer system" || exit 128
+            fail_macosx_too_old
             ;;
     esac
 }