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