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

commits at source.squeak.org commits at source.squeak.org
Wed Jul 10 12:39:31 UTC 2013


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

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

Name: CMakeVMMaker-EstebanLorenzano.212
Author: EstebanLorenzano
Time: 10 July 2013, 2:38:10.569 pm
UUID: 343629c9-047f-421b-bfca-8066e78ffd0b
Ancestors: CMakeVMMaker-EstebanLorenzano.211

- added #configureBitBltSimulation: for BitBlt external dependencies. 


=============== Diff against CMakeVMMaker-EstebanLorenzano.211 ===============

Item was added:
+ ----- Method: CPlatformConfig>>configureBitBltSimulation: (in category 'plugin extra rules') -----
+ configureBitBltSimulation: maker
+ 	"extra rules for BitBltSimulation"
+ 
+ 	maker includeDirectories: '${pluginCross}'.
+ 
+ 	maker addCrossSources: #(
+ 		'BitBltGeneric.c'
+ 		'BitBltDispatch.c'
+ 	).
+ 	!

Item was changed:
  ----- Method: CogFamilyCocoaIOSConfig>>commonCompilerFlags (in category 'settings') -----
  commonCompilerFlags
  	^super commonCompilerFlags, 
  		#(
  	'-funroll-loops' 
  	'-fasm-blocks' 
  	'-fno-inline-functions' 
  	'-mfpmath=sse' 
  	'-march=pentium-m' 
  	'-mtune=prescott' 
  	'-falign-functions=16' 
  	'-fno-gcse' 
  	'-fno-cse-follow-jumps' 
  	'-std=gnu99'
  	'-fmessage-length=0' 
  	'-fpascal-strings' 
  	'-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'
+ 	'-DENABLE_FAST_BLT')!
- 	'-DBASE_HEADER_SIZE=4')!

Item was changed:
+ ----- Method: CogFamilyUnixConfig>>configureAsynchFilePlugin: (in category 'plugin extra rules') -----
- ----- Method: CogFamilyUnixConfig>>configureAsynchFilePlugin: (in category 'as yet unclassified') -----
  configureAsynchFilePlugin: maker
  
  	maker addPlatformSources:
  	#( 
  		'sqUnixAsynchFile.c'
  	)
  
  !

Item was changed:
+ ----- Method: CogFamilyUnixConfig>>configureFileCopyPlugin: (in category 'plugin extra rules') -----
- ----- Method: CogFamilyUnixConfig>>configureFileCopyPlugin: (in category 'as yet unclassified') -----
  configureFileCopyPlugin: maker
  	"extra rules for DropPlugin"
  
  	maker addPlatformSources: #( 'sqUnixFileCopyPlugin')
  !

Item was changed:
+ ----- Method: CogFamilyUnixConfig>>extraVMSettings: (in category 'settings') -----
- ----- Method: CogFamilyUnixConfig>>extraVMSettings: (in category 'as yet unclassified') -----
  extraVMSettings: maker
  	| versionC |
  	self generateConfigH.
  	
  	"add a generated version.c"
  	
  	versionC := 'version.c'.
  	
  	maker cmd: 'add_custom_command' params: 'OUTPUT ',
  		versionC , '
  		COMMAND ${platformsDir}/unix/config/verstamp ',versionC,' gcc
  		COMMENT "Generating version.c"
  	'.
  	
  	!

Item was changed:
+ ----- Method: CogFamilyUnixConfig>>platformName (in category 'accessing') -----
- ----- Method: CogFamilyUnixConfig>>platformName (in category 'as yet unclassified') -----
  platformName
  	^ 'unix'!

Item was changed:
+ ----- Method: CogFamilyWindowsConfig>>buildScript (in category 'build script') -----
- ----- Method: CogFamilyWindowsConfig>>buildScript (in category 'as yet unclassified') -----
  buildScript
  	"answer the build script for building everything"
  	
  
  	^ 
  '#!!bash
  
  if [ !! -e vmVersionInfo.h ]; then
  	../codegen-scripts/extract-commit-info.sh
  fi
  cmake -G "MSYS Makefiles" .
  make
  
  '!

Item was changed:
  ----- Method: CogFamilyWindowsConfig>>commonCompilerFlags (in category 'compiler flags') -----
  commonCompilerFlags
  	"omit -ggdb2 to prevent generating debug info"
  	"Some flags explanation: 
  	
  	STACK_ALIGN_BYTES=16 is needed in mingw and FFI (and I suppose on other modules too).
  	DALLOCA_LIES_SO_USE_GETSP=0 Some compilers return the stack address+4 on alloca function, 
  	then FFI module needs to adjust that. It is NOT the case of mingw.
  	For more information see this thread: http://forum.world.st/There-are-something-fishy-with-FFI-plugin-td4584226.html
  	"
  	^ '-march=pentium4 -mwindows -D_MT -msse2 -mthreads -mwin32 -mno-rtd -mms-bitfields -mno-accumulate-outgoing-args ', self winVer ,
  	' -DWIN32 -DWIN32_FILE_SUPPORT -DNO_ISNAN -DNO_SERVICE -DNO_STD_FILE_SUPPORT ',
  	'-DLSB_FIRST -DVM_NAME="', self executableName,'" -DX86 ',
+ 	'-DSTACK_ALIGN_BYTES=16 -DALLOCA_LIES_SO_USE_GETSP=0 -DENABLE_FAST_BLT '!
- 	'-DSTACK_ALIGN_BYTES=16 -DALLOCA_LIES_SO_USE_GETSP=0 '!

Item was changed:
+ ----- Method: CogFamilyWindowsConfig>>executableType (in category 'accessing') -----
- ----- Method: CogFamilyWindowsConfig>>executableType (in category 'as yet unclassified') -----
  executableType
  	^ 'WIN32'!

Item was changed:
+ ----- Method: CogFamilyWindowsConfig>>externalModulesDir (in category 'accessing') -----
- ----- Method: CogFamilyWindowsConfig>>externalModulesDir (in category 'as yet unclassified') -----
  externalModulesDir
  	"answer the location in VM bundle, where plugins and rest of dynamic libs will be copied,
  	"
  	^ '${outputDir}'!

Item was changed:
+ ----- Method: CogFamilyWindowsConfig>>fixLineEndsOf: (in category 'utils') -----
- ----- Method: CogFamilyWindowsConfig>>fixLineEndsOf: (in category 'as yet unclassified') -----
  fixLineEndsOf: string
  	^ string copyReplaceAll: String cr with: String crlf!

Item was changed:
+ ----- Method: CogFamilyWindowsConfig>>msysPathFor: (in category 'accessing') -----
- ----- Method: CogFamilyWindowsConfig>>msysPathFor: (in category 'as yet unclassified') -----
  msysPathFor: aPath
  	| path |
  	
  	path := aPath asFileReference fullName.
  	
  	path := path copyReplaceAll: '\' with: '/'.
  	
  	^ path " copyReplaceAll: '\' with: '\\'"!

Item was changed:
+ ----- Method: CogFamilyWindowsConfig>>platformName (in category 'accessing') -----
- ----- Method: CogFamilyWindowsConfig>>platformName (in category 'as yet unclassified') -----
  platformName
  	^ 'win32'!

Item was changed:
+ ----- Method: CogFamilyWindowsConfig>>setupDirectories: (in category 'directories') -----
- ----- Method: CogFamilyWindowsConfig>>setupDirectories: (in category 'as yet unclassified') -----
  setupDirectories: gen
  	"we have to override that, because we need to convert windoze paths to msys ones"
  	| dirsInclude |
  	
  	" write the directories in separate include file"
  	dirsInclude := gen captureOutputDuring: [
  		gen
  			set: #topDir toString: (self msysPathFor: self topDir fullName); 
  			set: #buildDir toString: (self buildDir ifNil: ['${topDir}/build'] ifNotNil:[ self msysPathFor: self buildDir fullName ]);
  			set: #thirdpartyDir toString: '${buildDir}/thirdparty';
  			set: #platformsDir toString: (self msysPathFor: self platformsDir);
  			set: #srcDir toString: (self msysPathFor: self srcDir);
  			set: #srcPluginsDir toString: (pluginsDir ifNil: [ '${srcDir}/plugins' ]);
  			set: #srcVMDir toString: '${srcDir}/vm';
  			set: #platformName toString: self platformName;
  			set: #targetPlatform to: '${platformsDir}/${platformName}';
  			set: #crossDir toString: '${platformsDir}/Cross';
  			set: #platformVMDir toString: '${targetPlatform}/vm';
  			set: #outputDir toString: (self msysPathFor: self outputDir).
  	].
  
  	self write: dirsInclude toFile: 'directories.cmake'.
  	
  	gen include: 'directories.cmake'.
  	
  	gen set: #externalModulesDir toString: self externalModulesDir.
  !

Item was changed:
+ ----- Method: CogFamilyWindowsConfig>>winVer (in category 'accessing') -----
- ----- Method: CogFamilyWindowsConfig>>winVer (in category 'as yet unclassified') -----
  winVer
  	"Set minimum version to WindowsXP (see /cygwin/usr/include//w32api/w32api.h)"
  	
  	^ '-D_WIN32_WINNT=0x0501 -DWINVER=0x0501'!

Item was changed:
  ----- Method: CogUnixConfig>>commonCompilerFlags (in category 'compiler flags') -----
  commonCompilerFlags
  
  	"Common compiler flags
  	
  	
  	LSB_FIRST=1 means that target platform is little endian. 
  	set it to 0 for big-endian platforms
  	
  	"
  	
+ 	^ ' -DLSB_FIRST=1 -DUSE_GLOBAL_STRUCT=0 -DCOGMTVM=0 -m32 -DENABLE_FAST_BLT ' 	
- 	^ ' -DLSB_FIRST=1 -DUSE_GLOBAL_STRUCT=0 -DCOGMTVM=0 -m32' 	
  	!



More information about the Vm-dev mailing list