While I'm at it...
Justin Drury
soundminer at mac.com
Wed May 17 06:21:38 CDT 2006
Pros for /Library/Frameworks/V4CC.Framework
•Contains snapshot of Valentina Release, everything is contained.
(The VComponents are contained in the framework and have had their
names changed already. See bottom of email)
•Easily added to xcode project
•small application sizes(multiple apps link to the framework)
•Apps can be updated to use new V4CC framework without recompiling
(see below #1)
Con's
•10.4u SDK sym link workaround(one time hit)
•(#1)existing API 's shouldn't change, otherwise older apps linking
to the framework will crash(that method no longer exists)
•That darn sym link in the application's package to libvkernel
(Hopefully you guys can fix that soon)
---------------------
Pros for @executable_path/../Frameworks
•Self contained application, no "install" necessary
•Freedom to change API. Application is snapshot of a particular time.
•I suppose you could swap out the VComponents folder inside an app to
update it.
Cons
•Larger app size
•Requires post flight script to use install_name_tool to change
VComponents to @executable_path
•To use XCode with framework requires drag of V4CC.framework into
XCode project then all VComponents(framework cannot contain the
vcomponents in this instance), then setting up copy phases in XCode
to copy the V4CC.Framework into Frameworks, and then setting up the
VComponents tree(yeach!)
RUSLAN: Your XCode Project for V4CC, does it have a copy files phase
where it copies each of the VComponents into the Framework(I was
using Resources before), and did those files have the following
script run on it? If not then you are just building a framework that
links against /usr/local/lib/vcomponents. Nothing wrong with that,
its just not self contained... And a user now has stuff in 3 places
(the application itself, usr/local/lib/vcomponents and /Library/
Frameworks)
# change id of data library
cd /usr/local/lib/vcomponents/
install_name_tool -id "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libicudata.dylib" libicudata.dylib
install_name_tool -id "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libicuuc.dylib" libicuuc.dylib
install_name_tool -change "/usr/local/lib/vcomponents/
libicudata.dylib" "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libicudata.dylib" libicuuc.dylib
install_name_tool -id "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libicui18n.dylib" libicui18n.dylib
install_name_tool -change "/usr/local/lib/vcomponents/
libicudata.dylib" "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libicudata.dylib" libicui18n.dylib
install_name_tool -change "/usr/local/lib/vcomponents/
libicuuc.dylib" "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libicuuc.dylib" libicui18n.dylib
install_name_tool -id "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libicuio.dylib" libicuio.dylib
install_name_tool -change "/usr/local/lib/vcomponents/
libicuuc.dylib" "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libicuuc.dylib" libicuio.dylib
install_name_tool -change "/usr/local/lib/vcomponents/
libicudata.dylib" "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libicudata.dylib" libicuio.dylib
install_name_tool -change "/usr/local/lib/vcomponents/
libicui18n.dylib" "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libicui18n.dylib" libicuio.dylib
#####################################
# change id of VSHARED
install_name_tool -id "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libvshared_fat_release.dylib" libvshared_fat_release.dylib
install_name_tool -id "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libvkernel_fat_release.dylib" libvkernel_fat_release.dylib
install_name_tool -change "/usr/local/lib/vcomponents/
libvshared_fat_release.dylib" "/Library/Frameworks/V4CC.framework/
Versions/A/Resources/libvshared_fat_release.dylib"
libvkernel_fat_release.dylib
install_name_tool -change "/usr/local/lib/vcomponents/VSDK.framework/
Versions/A/VSDK" "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/VSDK.framework/Versions/A/VSDK" libvkernel_fat_release.dylib
install_name_tool -change "/usr/local/lib/vcomponents/
libicudata.dylib" "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libicudata.dylib" libvkernel_fat_release.dylib
install_name_tool -change "/usr/local/lib/vcomponents/
libicuuc.dylib" "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libicuuc.dylib" libvkernel_fat_release.dylib
install_name_tool -change "/usr/local/lib/vcomponents/
libicui18n.dylib" "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libicui18n.dylib" libvkernel_fat_release.dylib
install_name_tool -change "/usr/local/lib/vcomponents/
libicuio.dylib" "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libicuio.dylib" libvkernel_fat_release.dylib
# change id of VCLIENT
install_name_tool -id "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/libvclient_fat_release.dylib" libvclient_fat_release.dylib
install_name_tool -change "/usr/local/lib/vcomponents/
libvshared_fat_release.dylib" "/Library/Frameworks/V4CC.framework/
Versions/A/Resources/libvshared_fat_release.dylib"
libvclient_fat_release.dylib
cd VSDK.framework/
install_name_tool -id "/Library/Frameworks/V4CC.framework/Versions/A/
Resources/VSDK.framework/Versions/A/VSDK" VSDK
More information about the Valentina-beta
mailing list