]> git.lyx.org Git - lyx.git/blobdiff - development/LyX-Mac-binary-release.sh
Check path of Qt tools if qtchooser is detected
[lyx.git] / development / LyX-Mac-binary-release.sh
index b57bc165e691e47b369cb54c4271a5e53c9ea878..b59cc8f82382334c1fb8e43aff450df1c1d4a124 100644 (file)
@@ -21,9 +21,9 @@ ASpellVersion=${ASpellVersion:-"0.60.6.1"}
 ASpellSource="aspell-${ASpellVersion}"
 ASpellLibrary="libaspell.15.dylib"
 
-HunSpellVersion=${HunSpellVersion:-"1.3.2"}
+HunSpellVersion=${HunSpellVersion:-"1.3.3"}
 HunSpellSource="hunspell-${HunSpellVersion}"
-HunSpellLibrary="libhunspell-1.3.0.dylib"
+HunSpellLibrary="libhunspell-1.3.3.dylib"
 
 unset DYLD_LIBRARY_PATH LD_LIBRARY_PATH
 
@@ -35,7 +35,7 @@ unset DYLD_LIBRARY_PATH LD_LIBRARY_PATH
 #   the aspell sources placed in a sibling directory (variable ASpellSource)
 # * for hunspell support:
 #   the hunspell sources placed in a sibling directory (variable HunSpellSource)
-# * for dictionary deployment (per default thesauri only):
+# * for dictionary deployment (only hunspell dicts and mythes thesauri are deployed per default):
 #   - aspell:   the dictionary files of macports (in /opt/local/share/aspell and /opt/local/lib/aspell-0.60)
 #   - hunspell: the dictionary files in the sibling directory dictionaries/dicts
 #   - mythes:   the data and idx files in the sibling directory dictionaries/thes
@@ -55,6 +55,9 @@ case "${QtVersion}:${QtAPI}" in
        QtConfigureOptions="${QtConfigureOptions} -fast -no-exceptions"
        QtConfigureOptions="${QtConfigureOptions} -no-webkit -no-qt3support -no-javascript-jit -no-dbus"
        QtConfigureOptions="${QtConfigureOptions} -nomake examples -nomake demos -nomake docs -nomake tools"
+       for arch in ${ARCH_LIST} ; do
+               QTARCHS="${QTARCHS} -arch ${arch}"
+       done
        ;;
 5.0*)
        QtConfigureOptions="${QtConfigureOptions} -fast -no-strip"
@@ -67,7 +70,9 @@ case "${QtVersion}:${QtAPI}" in
        QtConfigureOptions="${QtConfigureOptions} -no-kms -no-pkg-config"
        QtConfigureOptions="${QtConfigureOptions} -nomake examples -nomake tools"
        QtConfigureOptions="${QtConfigureOptions} -skip qtconnectivity -skip qtscript"
-       QtConfigureOptions="${QtConfigureOptions} -skip qtquickcontrols -skip qtdeclarative"
+       QtConfigureOptions="${QtConfigureOptions} -skip qtquickcontrols"
+       QtConfigureOptions="${QtConfigureOptions} -skip qttools"
+       QtConfigureOptions="${QtConfigureOptions} -skip qtdeclarative"
        QtMajorVersion=qt5
        ;;
 5.*)
@@ -75,7 +80,8 @@ case "${QtVersion}:${QtAPI}" in
        QtConfigureOptions="${QtConfigureOptions} -no-kms -no-pkg-config"
        QtConfigureOptions="${QtConfigureOptions} -nomake examples -nomake tools"
        QtConfigureOptions="${QtConfigureOptions} -skip qtquick1 -skip qtwebkit -skip qtconnectivity -skip qtscript"
-       QtConfigureOptions="${QtConfigureOptions} -skip qtquickcontrols -skip qtdeclarative"
+       QtConfigureOptions="${QtConfigureOptions} -skip qtquickcontrols"
+#      QtConfigureOptions="${QtConfigureOptions} -skip qtdeclarative"
        QtMajorVersion=qt5
        ;;
 *)
@@ -83,6 +89,9 @@ case "${QtVersion}:${QtAPI}" in
        QtConfigureOptions="${QtConfigureOptions} -no-webkit -no-qt3support -no-javascript-jit -no-dbus"
        QtConfigureOptions="${QtConfigureOptions} -nomake examples -nomake demos -nomake docs -nomake tools"
        QtConfigureOptions="${QtConfigureOptions} ${QtAPI}"
+       for arch in ${ARCH_LIST} ; do
+               QTARCHS="${QTARCHS} -arch ${arch}"
+       done
        ;;
 esac
 
@@ -97,11 +106,11 @@ thesaurus_deployment="yes"
 qt_deployment="yes"
 
 # auto detect Xcode location
-if [ -d "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs" ]; then
-       DEVELOPER_SDKS="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs"
-       XCODE_DEVELOPER="/Applications/Xcode.app/Contents/Developer"
+DEVELOPER_SDKS=$(dirname $(xcrun --show-sdk-path))
+if [ -n "${DEVELOPER_SDKS}" ]; then
+       XCODE_DEVELOPER=$(dirname $(dirname $(xcrun --show-sdk-platform-path)))
        MACOSX_DEPLOYMENT_TARGET="10.7" # Lion support is default
-       SDKROOT="${DEVELOPER_SDKS}/MacOSX10.7.sdk" # Lion build is default
+       SDKROOT="${DEVELOPER_SDKS}/MacOSX$(xcrun --show-sdk-version).sdk" # use default SDK
 elif [ -d "/Developer/SDKs" ]; then
        DEVELOPER_SDKS="/Developer/SDKs"
        XCODE_DEVELOPER="/Developer"
@@ -193,11 +202,12 @@ while [ $# -gt 0 ]; do
                        export OBJC=gcc-4.0
                        export CXX=g++-4.0
                        ;;
-               10.5|10.6|10.7|10.8|10.9|10.10)
-                       SDKROOT="${DEVELOPER_SDKS}/MacOSX${SDKROOT}.sdk"
-                       ;;
                *)
-                       usage
+                       SDKROOT="${DEVELOPER_SDKS}/MacOSX${SDKROOT}.sdk"
+                       if [ ! -d "${SDKROOT}" ]; then
+                               echo Invalid SDKROOT given: "${SDKROOT}"
+                               usage --help=short
+                       fi
                        ;;
                esac
                shift
@@ -258,6 +268,10 @@ while [ $# -gt 0 ]; do
                hunspell_deployment="no"
                shift
                ;;
+       --only-qt*=*)
+               QtOnlyPackage=$(echo ${1}|cut -d= -f2)
+               shift
+               ;;
        --only-package=*)
                LyxOnlyPackage=$(echo ${1}|cut -d= -f2)
                shift
@@ -380,7 +394,7 @@ case $SDKs in
 esac
 MYCFLAGS="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}"
 
-if [ "${configure_qt_frameworks}" != "yes" -a -d "${QtSourceDir}" -a ! \( -d "${QtBuildDir}" -a -d "${QtInstallDir}" \) ]; then
+build_qt() {
        echo Build Qt library ${QtSourceDir}
        if [ "${QtInstallDir}" = "${QtBuildDir}" ]; then
                echo Bad install directory for Qt.
@@ -389,25 +403,34 @@ if [ "${configure_qt_frameworks}" != "yes" -a -d "${QtSourceDir}" -a ! \( -d "${
        fi
        (
                mkdir -p "${QtBuildDir}" && cd "${QtBuildDir}"
-               for arch in ${ARCH_LIST} ; do
-                       ARCHS="${ARCHS} -arch ${arch}"
-               done
                echo configure options:
-               echo ${QtConfigureOptions} ${ARCHS} -prefix "${QtInstallDir}"
-               "${QtSourceDir}"/configure ${QtConfigureOptions} ${ARCHS} -prefix "${QtInstallDir}"
+               echo ${QtConfigureOptions} ${QTARCHS} -prefix "${QtInstallDir}"
+               "${QtSourceDir}"/configure ${QtConfigureOptions} ${QTARCHS} -prefix "${QtInstallDir}"
                make -j1 && make -j1 install
        )
-fi
-if [ -d "${QtInstallDir}" -a ! -f "${QtInstallDir}"/include/QtCore ]; then
-       cd "${QtInstallDir}" && (
-               mkdir -p include
-               cd include
-               for libnm in ${QtLibraries} ; do
-                       test -d ${libnm} -o -L ${libnm} || \
-                       ( ln -s ../lib/${libnm}.framework/Headers ${libnm} && echo Link to framework ${libnm} )
-               done
-       )
-fi
+       if [ -d "${QtInstallDir}" -a ! -f "${QtInstallDir}"/include/QtCore ]; then
+               cd "${QtInstallDir}" && (
+                       mkdir -p include
+                       cd include
+                       for libnm in ${QtLibraries} ; do
+                               test -d ${libnm} -o -L ${libnm} || \
+                               ( ln -s ../lib/${libnm}.framework/Headers ${libnm} && echo Link to framework ${libnm} )
+                       done
+               )
+       fi
+}
+
+case ${QtOnlyPackage:-"no"} in
+y*)
+       build_qt
+       exit 0
+       ;;
+*)
+       if [ "${configure_qt_frameworks}" != "yes" -a -d "${QtSourceDir}" -a ! \( -d "${QtBuildDir}" -a -d "${QtInstallDir}" \) ]; then
+               build_qt
+       fi
+       ;;
+esac
 
 if [ -d "${LibMagicSourceDir}" -a ! -f "${LibMagicInstallHdr}" ]; then
        # we have a private libmagic (file(1)) source tree at hand...