..and another packaging typo
[ardour.git] / tools / linux_packaging / stage2.run.in
index 87f2401fba0537f94d890adea7138289c7e0a73e..6918242adf6d6f6b0d3a7bbbf3a0fe9fc92ec8f4 100755 (executable)
@@ -10,9 +10,9 @@
 
 MAJOR_VERSION="%REPLACE_MAJOR_VERSION%"
 
-PGM_NAME="Ardour"
-PGM_VENDOR="Ardour"
-PGM_EXEC_FILE="ardour${MAJOR_VERSION}"
+PGM_NAME="%REPLACE_PGM%"
+PGM_VENDOR="%REPLACE_VENDOR%"
+PGM_EXEC_FILE="%REPLACE_EXE%${MAJOR_VERSION}"
 
 THE_SHELL="/bin/sh"
 
@@ -229,6 +229,41 @@ case `uname -m` in
                ;;
 esac
 
+#############################
+# Determine C11 stdlibc++ ABI
+#############################
+
+if %REPLACE_GCC5%; then
+       # Ardour was compiled with gcc5, warn on gcc4 systems
+       if ! ${NORM_USER} "${INSTALL_DEST_BASE}/${PGM_FULL_NAME}/bin/gcc-glibmm-abi-check --gcc5 > /dev/null"; then
+               echo ""
+               echo "WARNING: GCC4/5 libstdc++ ABI Mismatch"
+               echo ""
+               echo "Ardour was compiled with gcc5, your system uses an older version of the"
+               echo "standard c++ library. Plugins on your system may not load or plugin-UIs"
+               echo "may cause crashes."
+               echo ""
+               ANSWER=$(VaildateYesNoQuestion "Continue anyway?")
+               if test "n" = $ANSWER; then
+                       exit 1
+               fi
+else
+       # Ardour was compiled with gcc4, warn on gcc5 systems
+       if ! ${NORM_USER} "${INSTALL_DEST_BASE}/${PGM_FULL_NAME}/bin/gcc-glibmm-abi-check --gcc4 > /dev/null"; then
+               echo ""
+               echo "WARNING: GCC4/5 libstdc++ ABI Mismatch"
+               echo ""
+               echo "Ardour was compiled with gcc4, your system uses a newer version of the"
+               echo "standard c++ library. Plugins on your system may not load or plugin-UIs"
+               echo "may cause crashes."
+               echo ""
+               ANSWER=$(VaildateYesNoQuestion "Continue anyway?")
+               if test "n" = $ANSWER; then
+                       exit 1
+               fi
+       fi
+fi
+
 ####################
 # Check disk space
 ####################
@@ -351,7 +386,7 @@ LIB_ERROR="F"
 LD_PATH=`pwd`/${BUNDLE_DIR}/lib
 
 # check the main App
-LDD_RESULT=$(LD_LIBRARY_PATH=${LD_PATH} ldd ${BUNDLE_DIR}/bin/${PGM_NAME_LOWER}-* 2>&1 > /dev/null)
+LDD_RESULT=$(LD_LIBRARY_PATH=${LD_PATH} ldd ${BUNDLE_DIR}/bin/${PGM_NAME_LOWER}-* 2>&1 > /dev/null | grep -v "no version information")
 
 if [ -n "$LDD_RESULT" ];
 then
@@ -364,7 +399,7 @@ LIB_FILES=$(find ${BUNDLE_DIR}/lib -name "*.so")
 
 for path in $LIB_FILES
 do
-       LDD_RESULT=$(LD_LIBRARY_PATH=${LD_PATH} ldd $path 2>&1 > /dev/null)
+       LDD_RESULT=$(LD_LIBRARY_PATH=${LD_PATH} ldd $path 2>&1 > /dev/null | grep -v "no version information")
        if [ -n "$LDD_RESULT" ];
        then
                echo "$LDD_RESULT"