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