if no b/a area enabled some speed up when opening images

This commit is contained in:
askvortsov
2010-09-09 16:17:56 -07:00
commit 459a8e4b0e
597 changed files with 121217 additions and 0 deletions

BIN
tools/osx/Icons.icns Normal file

Binary file not shown.

28
tools/osx/Info.plist Normal file
View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>start</string>
<key>CFBundleIconFile</key>
<string>Icons.icns</string>
<key>CFBundleIdentifier</key>
<string>com.rawtherapee.rawtherapee</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>RawTherapee</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>3.0a</string>
<key>CFBundleSignature</key>
<string>APPL</string>
<key>CFBundleVersion</key>
<string>3.0 Alpha</string>
<key>NSAppleScriptEnabled</key>
<string>NO</string>
</dict>
</plist>

98
tools/osx/make-app-bundle Executable file
View File

@@ -0,0 +1,98 @@
#!/bin/bash
# Function checkLink:
# args: $1 - file
#
# Will loop through all dynamic links for $file, and update each to be relative.
function checkLink {
#echo "checkLink called with $1 $2"
local FILE=$1
otool -L $FILE | grep -v "${APP}" | grep -v '/usr/lib' | grep -v '/System/' | grep -v "@executable_path" | cut -f 1 -d ' ' | while read X
do
local NAME=${LIB}/`basename "$X"`
if [ ! -f "${NAME}" ]
then
cp $X "${NAME}"
#Recursively update the linkage of libraries
checkLink "${NAME}"
fi
done
}
APP=RawTherapee.app
CONTENTS=${APP}/Contents
RESOURCES=${CONTENTS}/Resources
MACOS=${CONTENTS}/MacOS
BIN=${MACOS}/bin
ETC=${MACOS}/etc
LIB=${MACOS}/lib
SHARE=${MACOS}/share
RELEASE=release
DMG=${RELEASE}/rawtherapee_osx105_`date "+%Y-%m-%d"`_release-3.0-a1+`hg log | head -1 | cut -f 4 -d ' ' | sed 's/:/-/g'`.dmg
EXECUTABLE=rt
#Find where MacPorts is installed. We take a known binary (cmake), which is in <MacPorts>/bin, and
# go up a level to get the main install folder.
MACPORTS_PREFIX=`which cmake`
MACPORTS_PREFIX=`dirname $MACPORTS_PREFIX`
MACPORTS_PREFIX=`dirname $MACPORTS_PREFIX`
if [ ! -d ${RELEASE} ]; then
echo "Please run this from the root of the project; i.e. './tools/osx/make-app-bundle'."
exit
fi
if [ -d "${APP}" ]; then
echo "Removing old application..."
rm -rf "${APP}"
fi
echo "Removing any old disk images..."
rm ${RELEASE}/rawtherapee*.dmg
echo "Making application directory structure..."
mkdir -p "${RESOURCES}"
mkdir -p "${ETC}"
mkdir -p "${LIB}"
mkdir -p "${SHARE}/mime"
#Copy over non-explicitly linked libraries
echo "Copying libraries from ${MACPORTS_PREFIX}..."
cp -R ${MACPORTS_PREFIX}/lib/pango ${LIB}
cp -R ${MACPORTS_PREFIX}/lib/gtk-2.0 ${LIB}
#Copy over mimes (if a mime is copied, and nobody hears, is it really copied?)
echo "Copying shared files from ${MACPORTS_PREFIX}..."
cp -R ${MACPORTS_PREFIX}/share/mime/* ${SHARE}/mime
#Copy over etc files, and modify as needed
echo "Copying configuration files from ${MACPORTS_PREFIX} and modifying for standalone app bundle..."
cp -R $MACPORTS_PREFIX/etc/gtk-2.0 ${ETC}
cp -R $MACPORTS_PREFIX/etc/pango ${ETC}
ESCAPED_MACPORTS_PREFIX=`echo ${MACPORTS_PREFIX} | sed -e 's/\\//\\\\\\//g'`
sed -i .bak -e "s/${ESCAPED_MACPORTS_PREFIX}/@executable_path/g" ${ETC}/gtk-2.0/gdk-pixbuf.loaders ${ETC}/pango/pango.modules
echo -e "[Pango]\nModuleFiles = /tmp/${EXECUTABLE}_pango.modules" > ${ETC}/pango/pangorc
#Copy over the release files
echo "Copying release files..."
cp -R release/* ${MACOS}
#Copy application-specific stuff like icons and startup script
echo "Creating required application bundle files..."
cp ./tools/osx/Info.plist ${CONTENTS}
cp tools/osx/Icons.icns ${RESOURCES}
cp tools/osx/start ${MACOS}
#Copy and relink the explicitly defined libraries
echo "Recursively copying libraries referenced by executable..."
checkLink "${MACOS}/${EXECUTABLE}"
#Make a .dmg for distribution and delete the .app
echo "Creating distribution .dmg..."
hdiutil create -srcdir ${APP} ${DMG}
echo "Cleaning up..."
rm -rf ${APP}
echo "All done!"

20
tools/osx/start Executable file
View File

@@ -0,0 +1,20 @@
#!/bin/bash
CWD=`dirname "$0"`
echo $CWD
export DYLD_LIBRARY_PATH="${CWD}/lib:$DYLD_LIBRARY_PATH"
export GTK_DATA_PREFIX="${CWD}"
export GTK_DATA_DIRS="${CWD}"
export GTK_EXE_PREFIX="${CWD}"
export GTK_PATH="${CWD}"
export GTK2_RC_FILES="${CWD}/etc/gtk-2.0/gtkrc"
export GTK_IM_MODULE_FILE="${CWD}/gtk-2.0/gtk.immodules"
export GDK_PIXBUF_MODULE_FILE="${CWD}/etc/gtk-2.0/gdk-pixbuf.loaders"
export PANGO_RC_FILE="${CWD}/etc/pango/pangorc"
cp "${CWD}/etc/pango/pango.modules" /tmp/rt_pango.modules
"${CWD}/rt"