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

commits at source.squeak.org commits at source.squeak.org
Fri Feb 15 16:43:49 UTC 2013


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

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

Name: CMakeVMMaker-EstebanLorenzano.192
Author: EstebanLorenzano
Time: 15 February 2013, 5:43:34.616 pm
UUID: 7e008166-acbf-40b5-b067-3282ac28fc6f
Ancestors: CMakeVMMaker-EstebanLorenzano.191

- added setGlobalOptionsAfterDetermineSystem: to improve the control of cmake files generation
- some minor refactors

=============== Diff against CMakeVMMaker-EstebanLorenzano.191 ===============

Item was changed:
  ----- Method: CMakeVMGenerator>>generate (in category 'code generation') -----
  generate
  	| intPlugins extPlugins |
  			
  	output := String new writeStream.
  	
  	config setGlobalOptions: self.
  	
  	self 
  		printHeader;
  		project: config executableName.
  
+ 	config setGlobalOptionsAfterDetermineSystem: self.
+ 
  	config setupDirectories: self.
  	
  	self message: '${CMAKE_MODULE_PATH}'.
  	self set: 'CMAKE_CONFIGURATION_TYPES' to: 'Release'.
  
  	config preferredIncludes 
  		do: [ :each | self includeDirectories: each ].
  	self includeDirectories: self includeDirs.	
  	config standardIncludes 
  		do: [:each | self includeDirectories: each ].
  
  	self addDefinitions: config compilerFlags.
  
  	config extraVMSettings: self.
  	
  	self puts: 'add_executable(' , config executableName, ' ', config executableType, ' ' , self sources , ')'.
  	
  	intPlugins := self generatePluginConfigs: config internalPlugins internal: true.
  	extPlugins := self generatePluginConfigs: config externalPlugins internal: false.
  	
  	self processThirdpartyLibraries.
  	
  	self processPlugins:  intPlugins, extPlugins.
  
  	config setExtraTargetProperties: self.
  	
  	self cmd: 'target_link_libraries'
  		params: self moduleName , ' ${LINKLIBS}'.
  
  	config postBuildActions: self.
  	
  	self saveFile.
  	self generateBuildScript.!

Item was added:
+ ----- Method: CPlatformConfig>>setGlobalOptionsAfterDetermineSystem: (in category 'utils') -----
+ setGlobalOptionsAfterDetermineSystem: maker
+ 
+ 	"set any CMake global options, right after declare project and determine running system. 
+ 	 This is sometimes necesary to override cmake settings"
+ 	!

Item was changed:
  ----- Method: CocoaIOSConfig>>commonCompilerFlags (in category 'accessing') -----
  commonCompilerFlags
  	"Common compiler flags"
+ 	^#('-arch i386' '-mmacosx-version-min=10.5' '-DHAVE_UUID_GENERATE')!
- 	^#('-arch i386' '-mmacosx-version-min=10.6' '-DHAVE_UUID_GENERATE')!

Item was changed:
  ----- Method: CogCocoaIOSConfig>>commonCompilerFlags (in category 'settings') -----
  commonCompilerFlags
+ 	^super commonCompilerFlags, #('-DCOGVM')!
- 	^super commonCompilerFlags, #('-DCOGVM' '-fwrapv')!

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' }!
- 	'-DBASE_HEADER_SIZE=4' }!

Item was changed:
  ----- Method: CogFamilyCocoaIOSConfig>>compilerFlagsRelease (in category 'settings') -----
  compilerFlagsRelease 
  	^#('-g0' '-O3' '-fomit-frame-pointer' '-DNDEBUG' '-DDEBUGVM=0')!

Item was changed:
  ----- Method: CogFamilyCocoaIOSConfig>>setGlobalOptions: (in category 'settings') -----
  setGlobalOptions: maker
  
  	"set any CMake global options, before declaring a project in cmake file"
  	
  	maker set: 'CMAKE_C_COMPILER' to: '/usr/bin/gcc'.
+ 	maker set: 'CMAKE_CXX_COMPILER' to: '/usr/bin/g++'.!
- 	maker set: 'CMAKE_CXX_COMPILER' to: '/usr/bin/g++'.
- 	maker set: 'CMAKE_OSX_ARCHITECTURES' to: 'i386'.
- 	maker set: 'CMAKE_OSX_DEPLOYMENT_TARGET' to: '10.6'.
- 	
- 	"maker set: 'CMAKE_OSX_SYSROOT' to: '/'."
- 	maker 
- 		set: 'CMAKE_OSX_SYSROOT' 
- 		to: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX', self sdkVersion, '.sdk'!

Item was added:
+ ----- Method: CogFamilyCocoaIOSConfig>>setGlobalOptionsAfterDetermineSystem: (in category 'as yet unclassified') -----
+ setGlobalOptionsAfterDetermineSystem:  maker
+ 
+ 	maker set: 'CMAKE_OSX_DEPLOYMENT_TARGET' to: '10.5'.
+ 	maker 
+ 		set: 'CMAKE_OSX_SYSROOT' 
+ 		to: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX', self sdkVersion, '.sdk'!

Item was changed:
  ----- Method: CogUnixConfig>>compilerFlagsRelease (in category 'compiler flags') -----
  compilerFlagsRelease
  "
+ THIS FLAGS ARE CRASHING COMPILER 
- THIS FLAGS ARE CREASHING COMPILER 
- 
  -fschedule-insns2 
  -fschedule-insns 
  
  THIS FLAGS ARE CRASHING VM
  -ftree-pre  
  
  THIS FLAGS ARE WORKING 
  -O1 -fthread-jumps -falign-functions -falign-jumps -falign-loops -falign-labels -fcrossjumping -fcse-follow-jumps -fcse-skip-blocks -fdelete-null-pointer-checks -fdevirtualize -fexpensive-optimizations -fgcse -fgcse-lm -finline-small-functions -findirect-inlining -fipa-sra -foptimize-sibling-calls -fpartial-inlining -fpeephole2 -fregmove -freorder-blocks -frerun-cse-after-loop -fcaller-saves -freorder-functions -fsched-interblock -fsched-spec -fstrict-aliasing -fstrict-overflow  -ftree-switch-conversion -ftree-vrp
  
  THIS IS LIKE: -O2 -fno-tree-pre
  "
  
  	^ '-g0 -O2 -fno-tree-pre -msse2 -D_GNU_SOURCE -DNDEBUG -DITIMER_HEARTBEAT=1 -DNO_VM_PROFILE=1 -DDEBUGVM=0'!

Item was added:
+ ----- Method: StackCocoaIOSConfig>>commonCompilerFlags (in category 'settings') -----
+ commonCompilerFlags 
+ 	^super commonCompilerFlags, #('-DSTACKVM')!

Item was removed:
- ----- Method: StackCocoaIOSConfig>>compilerFlagsRelease (in category 'settings') -----
- compilerFlagsRelease 
- 	^super compilerFlagsRelease, #('-DSTACKVM')!



More information about the Vm-dev mailing list