[Vm-dev] VM Maker: CMakeVMMaker-EstebanLorenzano.193.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Feb 28 13:05:49 UTC 2013


Esteban Lorenzano uploaded a new version of CMakeVMMaker to project VM Maker:
http://source.squeak.org/VMMaker/CMakeVMMaker-EstebanLorenzano.193.mcz

==================== Summary ====================

Name: CMakeVMMaker-EstebanLorenzano.193
Author: EstebanLorenzano
Time: 28 February 2013, 2:05:32.581 pm
UUID: 309b06da-5349-491f-826d-99e46a128f54
Ancestors: CMakeVMMaker-EstebanLorenzano.192

- fixed a problem with choosing appropiate external libraries by platform
- fixed build for iOS

=============== Diff against CMakeVMMaker-EstebanLorenzano.192 ===============

Item was changed:
+ ----- Method: CMIOSFreetype2 class>>supports: (in category 'testing') -----
- ----- Method: CMIOSFreetype2 class>>supports: (in category 'as yet unclassified') -----
  supports: aConfig 
  	"just for iPhone"
+ 
+ 	^ (self platformName = aConfig platformName) 
+ 		and: [ aConfig isKindOf: StackIPhoneConfig ]!
- 	^ aConfig class = StackIPhoneConfig!

Item was added:
+ ----- Method: CMIOSFreetype2>>includeDir (in category 'accessing') -----
+ includeDir
+ 	"see setVariables"
+ 
+ " `<prefix>/include/freetype2' must be in your current inclusion path "
+ 
+ 	^ '"${thirdpartyDir}/freetype2/freetype-2.4.9/include"'!

Item was added:
+ ----- Method: CMOSXFreetype2 class>>supports: (in category 'testing') -----
+ supports: aConfig 
+ 	"just for iPhone"
+ 
+ 	^ (super supports: aConfig) 
+ 		and: [ (aConfig isKindOf: StackIPhoneConfig) not ]!

Item was changed:
  ----- Method: CogFamilyCocoaIOSConfig>>commonCompilerFlags (in category 'settings') -----
  commonCompilerFlags
  	^super commonCompilerFlags, 
  		{
- 	'-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX', self sdkVersion, '.sdk'.
  	'-funroll-loops'.
  	'-fasm-blocks'. 
  	'-finline-functions'. 
  	'-mfpmath=sse'. 
  	'-march=pentium-m'. 
  	'-mtune=prescott'. 
  	'-falign-functions=16'. 
  	'-fno-gcse'. 
  	'-fno-cse-follow-jumps'. 
  	'-std=gnu99'. 
  	'-DBUILD_FOR_OSX'. 
  	"'-DUSE_INLINE_MEMORY_ACCESSORS=1' "
  	'-DLSB_FIRST'. 
  	'-DHAVE_SYS_TIME_H'. 
  	'-DHAVE_NANOSLEEP'. 
  	'-DCOGMTVM=0'. 
  	'-DUSE_GLOBAL_STRUCT=0'. 
  	'-DBASE_HEADER_SIZE=4'.
  	 '-fwrapv' }!

Item was changed:
  ----- Method: StackIPhoneConfig>>configureFT2Plugin: (in category 'plugin extra rules') -----
  configureFT2Plugin: maker
  	"extra rules for Freetype plugin.
  	a custom rule to build freetype library"
  	| lib devRoot sdkRoot |
- 	
- 	"maker isExternal 
- 		ifFalse: [ self error: 'building internal FT2Plugin is not supported yet' ]."
  
  	devRoot := '/Applications/Xcode.app/Contents/Developer/Platforms/{target}.platform/Developer'
  		nameFormat: { 'target'->self targetDevice} asDictionary.
+ 	sdkRoot := '{devRoot}/SDKs/{target}{sdkVersion}.sdk' 
+ 		nameFormat: {
+ 			'devRoot'->devRoot. 
+ 			'target'->self targetDevice.
+ 			'sdkVersion'->self sdkVersion} asDictionary.
- 	sdkRoot := '{devRoot}/SDKs/iPhoneOS{sdkVersion}.sdk' 
- 		nameFormat: {'devRoot'->devRoot. 'sdkVersion'->self sdkVersion} asDictionary.
  
  	"add freetype library into loop"
  	lib := self addThirdpartyLibrary: 'freetype2'.
  	lib configurationFlags: ({
  		'--without-zlib'.
  		'--without-bzip2'.
   		'--host=arm-apple-darwin'.
  		'--enable-static=yes'. 
  		'--enable-shared=no'.
  		'CC={devRoot}/usr/bin/gcc'.
  		'CXX={devRoot}/usr/bin/g++'.
  		'CFLAGS=\\"-arch {architecture} -std=c99 -Wno-trigraphs -O2 -fwrapv -Wreturn-type -Wunused-variable -fmessage-length=0 -miphoneos-version-min=4.0 -I{sdkRoot}/usr/include/libxml2 -isysroot {sdkRoot}\\"'.
  		'LDFLAGS=\\"-arch {architecture} -isysroot {sdkRoot}\\"'}
  		collect: [ :each | each nameFormat: {
  			'architecture'->self architecture. 
  			'sdkRoot'->sdkRoot. 
  			'devRoot'->devRoot} asDictionary ]).
  
- 	"maker set: 'XCODE_ATTRIBUTE_CONFIGURATION_BUILD_DIR' toString: ''."
- 
  	"link plugin with freetype lib"
  	maker addExternalLibrary: '${thirdpartyDir}/out/lib/', lib libraryFileName.
+ 	maker includeDirectories: lib includeDir. !
- 	maker includeDirectories: lib includeDir.
- !

Item was changed:
  ----- Method: StackIPhoneConfig>>setGlobalOptions: (in category 'settings') -----
  setGlobalOptions: maker
  	"set any CMake global options, before declaring a project in cmake file"
  	
  	maker 
  		set: 'CMAKE_C_COMPILER' 
  		to: ('/Applications/Xcode.app/Contents/Developer/Platforms/{target}.platform/Developer/usr/bin/gcc'
  			nameFormat: {'target' -> self targetDevice} asDictionary).
  	maker 
  		set: 'CMAKE_CXX_COMPILER' 
  		to: ('/Applications/Xcode.app/Contents/Developer/Platforms/{target}.platform/Developer/usr/bin/g++'
  			nameFormat: {'target' -> self targetDevice } asDictionary).	
  	self architecture ifNotNil: [
  		maker set: 'CMAKE_OSX_ARCHITECTURES' to: self architecture ].
- 	maker set: 'CMAKE_OSX_SYSROOT' to: '/'.
  	!

Item was added:
+ ----- Method: StackIPhoneConfig>>setGlobalOptionsAfterDetermineSystem: (in category 'utils') -----
+ setGlobalOptionsAfterDetermineSystem: maker
+ 	maker 
+ 		set: 'CMAKE_OSX_SYSROOT' 
+ 		to: ('/Applications/Xcode.app/Contents/Developer/Platforms/{target}.platform/Developer/SDKs/{target}{sdkVersion}.sdk'
+ 			nameFormat: { 'target'->self targetDevice. 'sdkVersion'->self sdkVersion } asDictionary)!



More information about the Vm-dev mailing list