[Hdrflow-svn] SF.net SVN: hdrflow: [142] trunk
Status: Pre-Alpha
Brought to you by:
glslang
|
From: <gl...@us...> - 2007-05-27 17:42:13
|
Revision: 142
http://hdrflow.svn.sourceforge.net/hdrflow/?rev=142&view=rev
Author: glslang
Date: 2007-05-27 10:42:12 -0700 (Sun, 27 May 2007)
Log Message:
-----------
+Initial Framework support
Modified Paths:
--------------
trunk/unity.sh
Added Paths:
-----------
trunk/lib/openlibraries/Info.plist.template
trunk/lib/openlibraries/InfoPlist.strings.template
Added: trunk/lib/openlibraries/Info.plist.template
===================================================================
--- trunk/lib/openlibraries/Info.plist.template (rev 0)
+++ trunk/lib/openlibraries/Info.plist.template 2007-05-27 17:42:12 UTC (rev 142)
@@ -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>CFBundleName</key>
+ <string>HDRFlow OpenLibraries</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.cryogenicgraphics.openlibraries</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleSignature</key>
+ <string>FLOW</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>NSPrincipalClass</key>
+ <string></string>
+ <key>NSHumanReadableCopyright</key>
+ <string>Copyright (c) VM Inc. Parts Copyright (c) Goncalo de Carvalho</string>
+ <key>CFBundleGetInfoString</key>
+ <string>HDRFlow OpenLibraries - A framework for rich-media applications.</string>
+</dict>
+</plist>
Added: trunk/lib/openlibraries/InfoPlist.strings.template
===================================================================
(Binary files differ)
Property changes on: trunk/lib/openlibraries/InfoPlist.strings.template
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/unity.sh
===================================================================
--- trunk/unity.sh 2007-05-26 19:00:16 UTC (rev 141)
+++ trunk/unity.sh 2007-05-27 17:42:12 UTC (rev 142)
@@ -1,24 +1,50 @@
#!/bin/sh -x
+# Copyright (c) 2007 Goncalo de Carvalho.
+# Released under the GPLv2 or later.
# Unification of build and distribution:
# recurses into lib and app directories, building each in turn.
-# updates Boost version in VC8 project files.
+# updates Boost version in VC project files.
+# builds OS/X frameworks
+check_status( )
+{
+ if [ $1 = 0 ]
+ then
+ echo " succeeded."
+ else
+ echo " failed. Aborting..."
+ exit 1
+ fi
+}
+
if [ $# -eq "0" ]
then
- echo "usage: `basename $0` options (-evb)"
+ echo "usage: `basename $0` options (-evbfiox)"
exit 1
fi
+PLATFORM=`uname -s`
+
update_boost_version=0
boost_old_version=1_33_1
boost_new_version=1_34
-while getopts "v:b:e" option
+build_frameworks=0
+framework_version="A"
+install_name_prefix="/Library/Frameworks"
+
+output_directory="."
+
+while getopts "v:b:efi:o:x:" option
do
case $option in
e ) update_boost_version=1;;
v ) boost_old_version="$OPTARG";;
b ) boost_new_version="$OPTARG";;
+ f ) build_frameworks=1;;
+ x ) framework_version="$OPTARG";;
+ o ) output_directory="$OPTARG";;
+ i ) install_name_prefix="$OPTARG";;
esac
done
@@ -29,9 +55,98 @@
find . -type f -name '*.vcproj' -print | while read i
do cp $i $i.unity.bak &&
sed -e "s|boost-$boost_old_version|boost-$boost_new_version|g" -e "s|$boost_old_version.lib|$boost_new_version.lib|g" $i.unity.bak > $i &&
- rm $i.unity.bak
+ rm -f $i.unity.bak
done
fi
+make_framework_dir( )
+{
+ framework_dir="$output_directory/$1.framework"
+ mkdir -p "$framework_dir" &&
+ mkdir -p "$framework_dir/Versions/$framework_version/Headers" &&
+ mkdir -p "$framework_dir/Versions/$framework_version/Resources/English.lproj/Documentation" &&
+ mkdir -p "$framework_dir/Versions/$framework_version/Resources/Portuguese.lproj/Documentation" &&
+ mkdir -p "$framework_dir/Versions/$framework_version/Libraries" &&
+ ln -sf "$framework_version" "$framework_dir/Versions/Current" &&
+ ln -sf "Versions/Current/Headers" "$framework_dir/Headers" &&
+ ln -sf "Versions/Current/Resources" "$framework_dir/Resources" &&
+ ln -sf "Versions/Current/Libraries" "$framework_dir/Libraries"
+}
+
+make_framework_headers( )
+{
+ tl=`cat -n $1/Makefile.am | cut -f 1 | tail -n 1` &&
+ hl=`cat -n $1/Makefile.am | grep HEADERS | cut -f 1` &&
+ headers=`cat $1/Makefile.am | tail -n $((tl-hl)) | cut -f 2` &&
+ for i in $headers
+ do basedir=`dirname $1/$i | sed -e "s|$1||g"` &&
+ mkdir -p $2.framework/Versions/Current/Headers/$basedir &&
+ cp -R $1/$i $2.framework/Versions/Current/Headers/$basedir
+ done
+}
+
+make_framework_libs( )
+{
+ libs=`ls $2/.libs/*.?.dylib`
+ for i in $libs
+ do if [ ! -L $i ]
+ then ln -sf Versions/Current/$1 $1.framework/$1 &&
+ cp $i $1.framework/Versions/Current/$1 &&
+ install_name_tool -id $install_name_prefix/$1.framework/Versions/$framework_version/$1 $1.framework/$1
+ fi
+ done
+}
+
+make_framework_deps( )
+{
+ deplist="GLEW boost"
+ for i in $deplist
+ do depname=`otool -L $1.framework/$1 | grep $i | cut -d ' ' -f 1`
+ for j in $depname
+ do depdir=`dirname $j`
+ libname="$j"
+ if [ $depdir == "." ]
+ then libname="/usr/local/lib/$depdir/$j"
+ fi
+ base=`basename $j`
+ cp $libname $1.framework/Versions/$framework_version/Libraries
+ install_name_tool -id $install_name_prefix/$1.framework/Versions/$framework_version/$base $1.framework/Versions/$framework_version/Libraries/$base
+ install_name_tool -change $j $install_name_prefix/$1.framework/Versions/$framework_version/Libraries/$base $1.framework/$1
+ done
+ done
+}
+
+make_framework_resources( )
+{
+ cp ./lib/openlibraries/Info.plist.template $1.framework/Resources/Info.plist &&
+ cp ./lib/openlibraries/InfoPlist.strings.template $1.framework/Resources/English.lproj/InfoPlist.strings
+}
+
+make_framework_plugins( )
+{
+ echo $1
+}
+
+make_framework( )
+{
+ make_framework_dir $1 &&
+ make_framework_headers $2 $1 &&
+ make_framework_libs $1 $2 &&
+ make_framework_resources $1
+ make_framework_deps $1
+}
+
+if [ "$build_frameworks" -eq 1 ] && [ "$PLATFORM" = "Darwin" ]
+then
+ echo "Building OS/X Frameworks..."
+
+ echo " HDRFlowPlugin..." &&
+ make_framework "HDRFlowPlugin" "./lib/openlibraries/src/openpluginlib/pl" &&
+ echo " HDRFlowImage..." &&
+ make_framework "HDRFlowImage" "./lib/openlibraries/src/openimagelib/il" &&
+ echo -n " HDRFlowMedia..." &&
+ make_framework "HDRFlowMedia" "./lib/openlibraries/src/openmedialib/ml"
+ check_status $?
+fi
+
exit 0
-
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|