[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. |