diff options
Diffstat (limited to 'tools/binarycreator/resources')
-rw-r--r-- | tools/binarycreator/resources/copylibsintobundle.sh | 189 | ||||
-rw-r--r-- | tools/binarycreator/resources/default_icon_mac.icns | bin | 118992 -> 0 bytes |
2 files changed, 0 insertions, 189 deletions
diff --git a/tools/binarycreator/resources/copylibsintobundle.sh b/tools/binarycreator/resources/copylibsintobundle.sh deleted file mode 100644 index 1ad5da4db..000000000 --- a/tools/binarycreator/resources/copylibsintobundle.sh +++ /dev/null @@ -1,189 +0,0 @@ -#!/bin/sh -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the Qt Installer Framework. -## -## $QT_BEGIN_LICENSE:GPL-EXCEPT$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 3 as published by the Free Software -## Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - - -# this script puts all libs directly needed by the bundle into it - -QTDIR="" -IS_DEBUG=0 -HAVE_CORE=0 -HAVE_SVG=0 -HAVE_PHONON=0 -HAVE_SCRIPT=0 -HAVE_SQL=0 -HAVE_WEBKIT=0 - -function handleFile() -{ - local FILE=$1 - local BUNDLE=$2 - - # all dynamic libs directly needed by the bundle, which are not in /System/Library or in /usr/lib (which are system default libs, which we don't want) - local LIBS=`xcrun otool -L $FILE | grep -v 'executable_path' | grep -v '/System/Library' | grep -v '/usr/lib' | grep '/' | sed -ne 's,^ *\(.*\) (.*,\1,p'` - - local lib - for lib in $LIBS; do - local NAME=`basename $lib` - - if echo $NAME | grep 'QtCore' >/dev/null; then - HAVE_CORE=1 - QTDIR=`echo $lib | sed -ne 's,^\(.*\)/lib/[^/]*QtCore.*$,\1,p'` - if echo $NAME | grep 'debug' >/dev/null; then - IS_DEBUG=1 - fi - elif echo $NAME | grep 'QtSvg' >/dev/null; then - HAVE_SVG=1 - elif echo $NAME | grep 'phonon' >/dev/null; then - HAVE_PHONON=1 - elif echo $NAME | grep 'QtScript' >/dev/null; then - HAVE_SCRIPT=1 - elif echo $NAME | grep 'QtSql' >/dev/null; then - HAVE_SQL=1 - elif echo $NAME | grep 'QtWebKit' >/dev/null; then - HAVE_WEBKIT=1 - fi - - if [ `basename $FILE` != $NAME ]; then - - # this part handles libraries which are macOS frameworks - if echo $lib | grep '\.framework' >/dev/null; then - local FRAMEWORKPATH=`echo $lib | sed -ne 's,\(.*\.framework\).*,\1,p'` - local FRAMEWORKNAME=`basename $FRAMEWORKPATH` - local NEWFRAMEWORKPATH=`echo $lib | sed -ne "s,.*\($FRAMEWORKNAME\),\1,p"` - - # Qt installed via the precompled binaries... - if [ $FRAMEWORKPATH = $FRAMEWORKNAME ]; then - FRAMEWORKPATH="/Library/Frameworks/$FRAMEWORKNAME" - if [ ! -e "$FRAMEWORKPATH" ]; then - echo "Framework $FRAMEWORKNAME not found." - exit 1 - fi - fi - - if [ ! -e "$BUNDLE/Contents/Frameworks/$NEWFRAMEWORKPATH" ]; then - echo Embedding framework $FRAMEWORKNAME - - - # copy the framework into the bundle - cp -R $FRAMEWORKPATH $BUNDLE/Contents/Frameworks - # remove debug libs we've copied - find $BUNDLE/Contents/Frameworks/$FRAMEWORKNAME -regex '.*_debug\(\.dSYM\)*' | xargs rm -rf - - handleFile "$BUNDLE/Contents/Frameworks/$NEWFRAMEWORKPATH" "$BUNDLE" - fi - # and inform the dynamic linker about this - xcrun install_name_tool -change $lib @executable_path/../Frameworks/$NEWFRAMEWORKPATH $FILE - - - # this part handles 'normal' dynamic libraries (.dylib) - else - if [ ! -e "$BUNDLE/Contents/Frameworks/$NAME" ]; then - echo Embedding library $NAME - - # Qt installed via the precompled binaries... - if [ $lib = $NAME ]; then - lib="/Library/Frameworks/$NAME" - if [ ! -e "$lib" ]; then - lib="/usr/lib/$NAME" - fi - if [ ! -e "$lib" ]; then - echo "Library $NAME not found." - exit 1 - fi - fi - - # copy the lib into the bundle - cp $lib $BUNDLE/Contents/Frameworks - handleFile "$BUNDLE/Contents/Frameworks/$NAME" "$BUNDLE" - fi - - # and inform the dynamic linker about this - xcrun install_name_tool -change $lib @executable_path/../Frameworks/$NAME $FILE - fi - - fi - done -} - -function handleQtPlugins() -{ - local PLUGINPATH=$QTDIR/plugins - - # QTDIR was not found, then we're using /Developer/Applications/Qt - if [ "$PLUGINPATH" = "/plugins" ]; then - PLUGINPATH="/Developer/Applications/Qt/plugins" - fi - - CLASS=$1 - EXECUTABLE=$2 - BUNDLE=$3 - mkdir -p $BUNDLE/Contents/plugins/$CLASS - echo Add $CLASS plugins - for plugin in `ls $PLUGINPATH/$CLASS/*`; do - plugin=`basename $plugin` - if echo $plugin | grep 'debug' >/dev/null; then - #if [ $IS_DEBUG -eq 1 ]; then - cp "$PLUGINPATH/$CLASS/$plugin" $BUNDLE/Contents/plugins/$CLASS - xcrun install_name_tool -change $plugin @executable_path/../plugins/$CLASS/$plugin $EXECUTABLE - handleFile $BUNDLE/Contents/plugins/$CLASS/$plugin $BUNDLE - #fi - else - #if [ $IS_DEBUG -eq 0 ]; then - cp "$PLUGINPATH/$CLASS/$plugin" $BUNDLE/Contents/plugins/$CLASS - xcrun install_name_tool -change $plugin @executable_path/../plugins/$CLASS/$plugin $EXECUTABLE - handleFile $BUNDLE/Contents/plugins/$CLASS/$plugin $BUNDLE - #fi - fi - done -} - -# the app bundle we're working with -BUNDLE=$1 -# the executable inside of the bundle -EXECUTABLE=$BUNDLE/Contents/MacOS/`xargs < $BUNDLE/Contents/Info.plist | sed -ne 's,.*<key>CFBundleExecutable</key> <string>\([^<]*\)</string>.*,\1,p'` - -mkdir -p $BUNDLE/Contents/Frameworks - -handleFile $EXECUTABLE $BUNDLE - -if [ $HAVE_CORE -eq 1 ]; then - handleQtPlugins "imageformats" "$EXECUTABLE" "$BUNDLE" -fi -if [ $HAVE_SVG -eq 1 ]; then - handleQtPlugins "iconengines" "$EXECUTABLE" "$BUNDLE" -fi -if [ $HAVE_PHONON -eq 1 ]; then - handleQtPlugins "phonon_backend" "$EXECUTABLE" "$BUNDLE" -fi -if [ $HAVE_SQL -eq 1 ]; then - handleQtPlugins "sqldrivers" "$EXECUTABLE" "$BUNDLE" -fi -if [ $HAVE_WEBKIT -eq 1 ]; then - handleQtPlugins "codecs" "$EXECUTABLE" "$BUNDLE" -fi diff --git a/tools/binarycreator/resources/default_icon_mac.icns b/tools/binarycreator/resources/default_icon_mac.icns Binary files differdeleted file mode 100644 index 8d870d649..000000000 --- a/tools/binarycreator/resources/default_icon_mac.icns +++ /dev/null |