[Hdrflow-svn] SF.net SVN: hdrflow: [145] trunk/unity.sh
Status: Pre-Alpha
Brought to you by:
glslang
|
From: <gl...@us...> - 2007-05-30 21:01:19
|
Revision: 145
http://hdrflow.svn.sourceforge.net/hdrflow/?rev=145&view=rev
Author: glslang
Date: 2007-05-30 14:01:08 -0700 (Wed, 30 May 2007)
Log Message:
-----------
+ improvements to the framework generation process. still missing 3rd party libraries deps
Modified Paths:
--------------
trunk/unity.sh
Modified: trunk/unity.sh
===================================================================
--- trunk/unity.sh 2007-05-27 19:53:26 UTC (rev 144)
+++ trunk/unity.sh 2007-05-30 21:01:08 UTC (rev 145)
@@ -64,11 +64,13 @@
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/PlugIns" &&
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/PlugIns" "$framework_dir/PlugIns" &&
ln -sf "Versions/Current/Resources" "$framework_dir/Resources" &&
ln -sf "Versions/Current/Libraries" "$framework_dir/Libraries"
}
@@ -122,11 +124,81 @@
cp ./lib/openlibraries/InfoPlist.strings.template $1.framework/Resources/English.lproj/InfoPlist.strings
}
+make_framework_plugins_deps( )
+{
+ deplist="GLEW boost /usr/local/lib"
+ for i in $deplist
+ do plugins=`ls $1.framework/PlugIns`
+ for j in $plugins
+ do if [ ! -L $1.framework/PlugIns/$j ]
+ then install_name_tool -id $install_name_prefix/$1.framework/Versions/$framework_version/$j \
+ $1.framework/Versions/$framework_version/PlugIns/$j
+ depname=`otool -L $1.framework/PlugIns/$j | grep $i | cut -d ' ' -f 1`
+ for k in $depname
+ do depdir=`dirname $k`
+ libname="$k"
+ if [ $depdir == "." ]
+ then libname="/usr/local/lib/$depdir/$k"
+ fi
+ base=`basename $k`
+ if [ ! -e $1.framework/Versions/$framework_version/Libraries/$base ]
+ then
+ if [ -e $libname ]
+ then 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 $k \
+ $install_name_prefix/$1.framework/Versions/$framework_version/Libraries/$base $1.framework/$1
+ fi
+ fi
+ install_name_tool -change $k \
+ $install_name_prefix/$1.framework/Versions/$framework_version/Libraries/$base \
+ $1.framework/Versions/$framework_version/PlugIns/$j
+ done
+ fi
+ done
+ done
+}
+
make_framework_plugins( )
{
- echo $1
+ if [ -d "$1/../plugins" ]
+ then plugins=`ls $1/../plugins`
+ for i in $plugins
+ do if [ -d $1/../plugins/$i/.libs ]
+ then cp -R $1/../plugins/$i/.libs/*.dylib $2.framework/PlugIns
+ fi
+ done
+ fi
}
+make_framework_interdeps( )
+{
+ deplist="openpluginlib_pl openimagelib_il openmedialib_ml"
+ for i in $deplist
+ do plugins=`ls $1.framework/PlugIns/*.dylib 2> /dev/null`
+ for j in $plugins
+ do depname=`otool -L $j | grep $i | cut -d ' ' -f 1`
+ if [ ! -z $depname ]
+ then case $i in
+ openpluginlib_pl )
+ install_name_tool -change $depname \
+ $install_name_prefix/HDRFlowPlugin.framework/Versions/$framework_version/HDRFlowPlugin $j
+ ;;
+ openimagelib_il )
+ install_name_tool -change $depname \
+ $install_name_prefix/HDRFlowImage.framework/Versions/$framework_version/HDRFlowImage $j
+ ;;
+ openmedialib_ml )
+ install_name_tool -change $depname \
+ $install_name_prefix/HDRFlowMedia.framework/Versions/$framework_version/HDRFlowMedia $j
+ ;;
+ esac
+ fi
+ done
+ done
+}
+
make_framework( )
{
make_framework_dir $1 &&
@@ -134,6 +206,9 @@
make_framework_libs $1 $2 &&
make_framework_resources $1
make_framework_deps $1
+ make_framework_plugins $2 $1
+ make_framework_plugins_deps $1
+ make_framework_interdeps $1
}
if [ "$build_frameworks" -eq 1 ] && [ "$PLATFORM" = "Darwin" ]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|