[Vm-dev] VM Maker: CMakeVMMakerSqueak-tty.88.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Jul 14 15:56:18 UTC 2014


Timothy M uploaded a new version of CMakeVMMakerSqueak to project VM Maker:
http://source.squeak.org/VMMaker/CMakeVMMakerSqueak-tty.88.mcz

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

Name: CMakeVMMakerSqueak-tty.88
Author: tty
Time: 14 July 2014, 11:56:31.568 am
UUID: d6175a04-5123-4ba6-a556-5242e4b70736
Ancestors: CMakeVMMakerSqueak-tty.87

Touchstone commit where everything works prior to converting to CMake Template approach on plugins.

=============== Diff against CMakeVMMakerSqueak-tty.87 ===============

Item was changed:
  CMakeTemplate subclass: #CMakeConfigDefine
  	instanceVariableNames: 'variable value'
  	classVariableNames: ''
  	poolDictionaries: ''
  	category: 'CMakeVMMakerSqueak-CMakeTemplates'!
  
+ !CMakeConfigDefine commentStamp: 'tty 7/13/2014 13:41' prior: 0!
- !CMakeConfigDefine commentStamp: 'tty 7/12/2014 21:09' prior: 0!
  A CMakeSetTemplate 's contents look like
  
  
  	CONFIG_DEFINE (SQ_VERSION)
+ 
+ 
+ CONFIG_DEFINE is a Macro Ian Piumarta wrote that looks like this:
+ 
+ MACRO (CONFIG_DEFINE var)
+   LIST (APPEND config_vars "${var}")
+ ENDMACRO (CONFIG_DEFINE var)
+ 
+ You can see it in CPlatformConfigForSqueak class utilsCMake
+ 
  !

Item was added:
+ CMakeTemplate subclass: #CMakeConfigUnDefine
+ 	instanceVariableNames: 'variable'
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-CMakeTemplates'!
+ 
+ !CMakeConfigUnDefine commentStamp: 'tty 7/13/2014 13:43' prior: 0!
+ A CMakeSetTemplate 's contents look like
+ 
+ 
+ 	CONFIG_DEFINE (SQ_VERSION)
+ 
+ 
+ CONFIG_UNDEFINE is a Macro defined in  CPlatformConfigForSqueak class utilsCMake
+ 
+ MACRO (CONFIG_UNDEFINE var)
+   LIST (REMOVE_ITEM config_vars "${var}")
+ ENDMACRO (CONFIG_UNDEFINE var)
+ 
+ 
+ 
+ !

Item was added:
+ ----- Method: CMakeConfigUnDefine>>initialize (in category 'initialize-release') -----
+ initialize
+ 	variable:='foo'.
+ 	self content:'
+   CONFIG_UNDEFINE(',variable,')'!

Item was added:
+ ----- Method: CMakeConfigUnDefine>>variable: (in category 'accessing') -----
+ variable: aString 
+ 
+ 	variable := aString.
+ 	self content:'
+   CONFIG_UNDEFINE(',variable,')'!

Item was added:
+ ----- Method: CMakeConfigUnDefine>>variable:value: (in category 'accessing') -----
+ variable: aString value: vString
+ 
+ 	variable := aString.
+ 	value := vString.
+ 	self content:'
+   CONFIG_DEFINE(',variable,' ',value,')'!

Item was added:
+ CMakeTemplate subclass: #CMakeInclude
+ 	instanceVariableNames: 'file'
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-CMakeTemplates'!
+ 
+ !CMakeInclude commentStamp: 'tty 7/14/2014 10:24' prior: 0!
+ A CMakeSetTemplate 's contents look like INCLUDE(fileName)
+ !

Item was added:
+ ----- Method: CMakeInclude>>file: (in category 'accessing') -----
+ file: fString 
+ 	file := fString.
+ 	self content:'
+   INCLUDE(',file,')'!

Item was added:
+ ----- Method: CMakeInclude>>initialize (in category 'initialize-release') -----
+ initialize
+ 	file := 'foo'.
+ 	self content:'
+   INCLUDE(',file,')'!

Item was added:
+ CMakeTemplate subclass: #CMakePluginExternal
+ 	instanceVariableNames: 'plugindefinitions pluginlinkdirectories pluginincludedirectories bld src cross srcplugins unixvm unixplugins unix crossplugins plugin pluginsources plunklinklibraries plgdir'
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-CMakeCustomTemplates'!
+ 
+ !CMakePluginExternal commentStamp: 'tty 7/13/2014 19:02' prior: 0!
+ A CMakePluginExternal is what Ian Piumarta wrote in trunk/platforms/unix/cmake/PlatformExternal.cmake. 
+ 
+ I .look like this in the original:
+ 
+ ADD_DEFINITIONS (${@plugin at _definitions})
+ LINK_DIRECTORIES (${@plugin at _link_directories})
+ INCLUDE_DIRECTORIES (${@plugin at _include_directories}
+     ${bld}
+     ${src}/vm
+     ${cross}/vm
+     ${src}/plugins/@plugin@
+     ${unix}/vm
+     ${unix}/plugins/@plugin@
+     ${unix}/@plugin@
+     ${cross}/plugins/@plugin@
+ )
+ 
+ ADD_LIBRARY (@plugin@ MODULE @plugin_sources@)
+ 
+ TARGET_LINK_LIBRARIES (@plugin@ ${@plugin at _link_libraries})
+ 
+ INSTALL (TARGETS @plugin@ LIBRARY DESTINATION @plgdir@)!

Item was added:
+ ----- Method: CMakePluginExternal>>initialize (in category 'as yet unclassified') -----
+ initialize
+ 	self content:'
+   SET (version  \"1.2.3.4\")
+   STRING (REGEX REPLACE "(.*)\\.(.*)\\.(.*)-(.*)" "\\1" major   ${version})
+   STRING (REGEX REPLACE "(.*)\\.(.*)\\.(.*)-(.*)" "\\2" minor   ${version})
+   STRING (REGEX REPLACE "(.*)\\.(.*)\\.(.*)-(.*)" "\\3" patch   ${version})
+   STRING (REGEX REPLACE "(.*)\\.(.*)\\.(.*)-(.*)" "\\4" release ${version})
+ '!

Item was added:
+ CMakeTemplate subclass: #CMakePluginInternal
+ 	instanceVariableNames: 'plugindefinitions pluginlinkdirectories pluginincludedirectories bld src cross srcplugins unixvm unixplugins unix crossplugins plugin pluginsources'
+ 	classVariableNames: ''
+ 	poolDictionaries: ''
+ 	category: 'CMakeVMMakerSqueak-CMakeCustomTemplates'!
+ 
+ !CMakePluginInternal commentStamp: 'tty 7/13/2014 20:32' prior: 0!
+ A CMakePluginInternal is what Ian Piumarta wrote in trunk/platforms/unix/cmake/PlatformInternal.cmake. 
+ 
+ I .look like this in the original:
+ 
+ MESSAGE ("${@plugin at _definitions}")
+ ADD_DEFINITIONS (-DSQUEAK_BUILTIN_PLUGIN=1 ${@plugin at _definitions})
+ LINK_DIRECTORIES (${@plugin at _link_directories})
+ INCLUDE_DIRECTORIES (${@plugin at _include_directories}
+     ${bld}
+     ${src}/vm
+     ${cross}/vm
+     ${src}/plugins/@plugin@
+     ${unix}/vm
+     ${unix}/plugins/@plugin@
+     ${unix}/@plugin@
+     ${cross}/plugins/@plugin@
+ )
+ 
+ ADD_LIBRARY (@plugin@ STATIC @plugin_sources@)
+ !

Item was added:
+ ----- Method: CMakePluginInternal>>initialize (in category 'as yet unclassified') -----
+ initialize
+ 	self content:'
+   SET (version  \"1.2.3.4\")
+   STRING (REGEX REPLACE "(.*)\\.(.*)\\.(.*)-(.*)" "\\1" major   ${version})
+   STRING (REGEX REPLACE "(.*)\\.(.*)\\.(.*)-(.*)" "\\2" minor   ${version})
+   STRING (REGEX REPLACE "(.*)\\.(.*)\\.(.*)-(.*)" "\\3" patch   ${version})
+   STRING (REGEX REPLACE "(.*)\\.(.*)\\.(.*)-(.*)" "\\4" release ${version})
+ '!

Item was changed:
  ----- Method: CMakeVMGeneratorForSqueak>>generate (in category 'code generation') -----
  generate
  	| intPlugins extPlugins |
  	output := String new writeStream.
  	config setGlobalOptions: self.
  
  	self 
  		printHeader;
  		project: config executableName.
  
  	config setGlobalOptionsAfterDetermineSystem: self.
  "I NEED COMPILER FLAGS, DEFINITIONS, LINKS, INCLUDES HERE"
  	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. "<--- this needs to be definitions, not compiler flags"
- 	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 changed:
  ----- Method: CMakeVMGeneratorForSqueak>>processPlugins: (in category 'as yet unclassified') -----
  processPlugins: pluginGenerators
  	| libs libDeps |
  	libs := OrderedCollection new.
  	libDeps := Dictionary new.
  	pluginGenerators do: [:gen |
  		gen doNotGenerate ifFalse: [
+ 			self  puts: (gen configDotCMake at: (gen plugin name) ifAbsent:[gen configDotCmakeEmpty]). 
- 			self  puts: (gen configDotCMake at: (gen plugin name) ifAbsent:[gen configDotCmakeEmpty]).  "plugin injects its config.cmake info"
  			gen isInternal 
  				ifTrue: [
  					libs add: gen plugin moduleName ]
  				ifFalse: [
  					"make main module to depend on external plugin, just to make sure it is built 
  					 before main module built"
  					self 
  						cmd: 'add_dependencies' 
  						params: config executableName, ' ' , gen plugin moduleName ].
  				gen externalDependencies 
  					ifNotEmpty: [ :deps |
  						libDeps 
  							at: gen plugin moduleName
  							put: (deps fold: [ :a :b | a, ' ', b ]) ].
  			self addSubdirectory: gen plugin moduleName ] ].
  
  	self cmd: 'target_link_libraries' params:  config executableName , ' ' ,
  		(libs inject: '' into: [:res :ea | res, ' ' , ea ]).
  
  	libDeps keysAndValuesDo: [ :moduleName :dependencies |
  		self 
  			cmd: 'add_dependencies' 
  			params: moduleName, ' ', dependencies ].  
  
  	self generateExportsH: libs.!

Item was changed:
  ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>pages (in category 'pages') -----
  pages
+ 	^#(overview prerequisites  terms igorStasenkoDesign  buildersAndConfigs plugins pthreads configDotCmake templates)!
- 	^#(overview prerequisites  terms igorStasenkoDesign  buildersAndConfigs plugins pthreads configDotCmake)!

Item was added:
+ ----- Method: CMakeVMMakerSqueakDeveloperHelp class>>templates (in category 'pages') -----
+ templates
+ 	^HelpTopic
+ 		title:'CPlatformConfigForSqueak class templates'
+ 		contents:
+ 'explain:
+ utilsCMake
+ vmBUildCMake
+ vmConfigCMake
+ vmConfiIn
+ testDouble*
+ pluginsCMake
+ '!

Item was changed:
  ----- Method: CPlatformConfigForSqueak class>>utilsCMake (in category 'as yet unclassified') -----
  utilsCMake
  	^'
  # Some random useful things to avoid repetition
  # 
  # Last edited: 2009-08-26 10:41:32 by piumarta on ubuntu.piumarta.com
  
  MACRO (STRING_APPEND var str)
    IF (DEFINED ${var})
      SET (${var} "${${var}} ${str}")
    ELSE (DEFINED ${var})
      SET (${var} "${str}")
    ENDIF (DEFINED ${var})
  ENDMACRO (STRING_APPEND)
  
  MACRO (LIST_APPEND list)
    LIST (APPEND ${list} "${ARGN}")
    LIST (REMOVE_DUPLICATES ${list})
  ENDMACRO (LIST_APPEND)
  
  MACRO (FILE_APPEND to from)
    IF (EXISTS ${from})
      FILE (READ ${from} tmp)
      FILE (APPEND ${to} "${tmp}")
    ENDIF (EXISTS ${from})
  ENDMACRO (FILE_APPEND)
  
  MACRO (FILE_COPY to from)
    IF (EXISTS ${from})
      FILE (READ ${from} tmp)
      FILE (WRITE ${to} "${tmp}")
    ENDIF (EXISTS ${from})
  ENDMACRO (FILE_COPY)
  
  
  ##added by tty. cut-n-paste from ian CMakeLists.txt
  MACRO (USE_LIBRARY lib)
    LIST (APPEND squeak_libs "${lib}")
  ENDMACRO (USE_LIBRARY)
  
  MACRO (USE_FRAMEWORK fwk)
    USE_LIBRARY ("-framework ${fwk}")
  ENDMACRO (USE_FRAMEWORK)
  
  MACRO (CONFIG_DEFINE var)
    LIST (APPEND config_vars "${var}")
  ENDMACRO (CONFIG_DEFINE var)
  
+ MACRO (CONFIG_UNDEFINE var)
+   LIST (REMOVE_ITEM config_vars "${var}")
+ ENDMACRO (CONFIG_UNDEFINE var)
+ 
+ 
+ 
  ##End tty additions
  
  
  '!

Item was changed:
  ----- Method: CPlatformConfigForSqueak>>setupDirectories: (in category 'squeak compatability') -----
  setupDirectories: aMaker
  	| dirsInclude |
+ 	"These are  CMakeLists.txt variables. They are made available via INCLUDE(directories.cmake) in CMakeLists.txt "
- 	" write the directories in separate include file. "
- 	self flag: 'tty'. "This message send is not re-routed per build type. My reasoning is that each variable here is set at configure time."
  	dirsInclude := aMaker captureOutputDuring: [
  		aMaker
  			set: #topDir toString: (self topDir fullName); 
  			set: #buildDir toString: (self buildDir ifNil: ['${topDir}/build'] ifNotNil: [self buildDir fullName] );
  			set: #thirdpartyDir toString: '${buildDir}/thirdParty';
  			set: #platformsDir toString: self platformsDir;
  			set: #srcDir toString: self srcDir pathName;
  			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 outputDir fullName.
  	].
  
  	self write: dirsInclude toFile: 'directories.cmake'.
  	
  	aMaker include: 'directories.cmake'.
  !

Item was added:
+ ----- Method: SqueakUnixConfig>>configExplicitImageWidth (in category 'cmake configuration') -----
+ configExplicitImageWidth
+ 	|templates|
+ 	templates:= OrderedCollection new.
+ 	templates 
+ 		addLast:((CMakeMessage new) message:'# explicit image width');
+ 		addLast: ((CMakeCheckIncludeFile new) include:'unistd.h' variable:'HAVE_UNISTD_H').
+ 	^ templates!

Item was added:
+ ----- Method: SqueakUnixConfig>>configIanPiumartasTemplates (in category 'cmake configuration') -----
+ configIanPiumartasTemplates
+ 	|templates|
+ 	self flag:'tty'. "fix this version stuff. get ostype from elsewhere.  does the without-gl flag need to be here?"
+ 	templates:= OrderedCollection new.
+ 	templates 
+ 		addLast:((CMakeMessage new) message:'DebugTemplate');
+ 		addLast: (CMakeDebug new);
+ 		addLast:((CMakeMessage new) message:'Global Configs');
+ 		addLast: ((CMakeSetConfigDefine new) variable: 'OS_TYPE' value:'\"${platformName}\"');  "defined in INCLUDE(directories.cmake) in CMakeLists.txt"
+ 		addLast: ((CMakeVersion new) version: '1.2.3.4');
+ 		addLast: ((CMakeSet new) variable:'without-gl' value: ''); 
+ 		addLast: ((CMakeCompilerIsGNUCC new));
+ 		addLast:((CMakeMessage new) message:'Tests');
+ 		addLast:(CMakeTestBigEndian new);
+ 		addLast:(CMakeCheckFunctionAtExitOnExit new);
+ 		addAllLast: self configCheckIncludeFileTemplates;
+ 		addAllLast: self configCheckLibraryExistsTemplates;
+ 		addAllLast: self configFindPackageTemplates;
+ 		addAllLast: self configSqMemoryAccess;
+ 		addAllLast: self configPlatformSpecific;
+ 		addAllLast: self configAioC;
+ 		addAllLast: self configSqUnixCharConv;
+ 		addAllLast: self configSqExternalPrims;
+ 		addAllLast: self configSqUnixMainC;
+ 		addAllLast: self configSqUnixMMemoryC;
+ 		addAllLast: self configOLPC.
+ 	^ templates!

Item was added:
+ ----- Method: SqueakUnixConfig>>configPackageOptions (in category 'cmake configuration') -----
+ configPackageOptions
+ 	|templates|
+ 	templates:= OrderedCollection new.
+ 	templates 
+ 		addLast:((CMakeMessage new) message:'# package options');
+ 		addLast: ((CMakeFindPackage new) packagename: 'X11');
+ 		addLast: ((CMakeFindPackage new) packagename: 'X11_GLX');
+ 		addLast: ((CMakeFindPackage new) packagename: 'QUARTZ');
+ 		addLast: ((CMakeFindPackage new) packagename: 'QUARTZ_CGL');
+ 		addLast: ((CMakeFindPackage new) packagename: 'RFB').
+ 	^ templates!

Item was changed:
  ----- Method: SqueakUnixConfig>>configTemplates (in category 'cmake configuration') -----
  configTemplates
  	|templates|
  	self flag:'tty'. "fix this version stuff. get ostype from elsewhere.  does the without-gl flag need to be here?"
  	templates:= OrderedCollection new.
  	templates 
+ 		addAllLast: self configUnDefineAll;
+ 		addAllLast: self configExplicitImageWidth;
+ 		addAllLast: self configPackageOptions;
+ 		addLast:((CMakeMessage new) message:'/* libraries */');
+ 		addLast:((CMakeMessage new) message:'/* header files */');
+ 		addLast:((CMakeMessage new) message:'/* system calls/library functions */');
+ 		addLast:((CMakeMessage new) message:'/* widths of primitive types */');
+ 		addLast:((CMakeMessage new) message:'/* typedefs */');
+ 		addLast:((CMakeMessage new) message:'/* architecture */');
+ 		addLast:((CMakeMessage new) message:'/* damage containment */');
+ 		addLast:((CMakeMessage new) message:'/* avoid dependencies on glibc2.3 */').
- 		addLast:((CMakeMessage new) message:'DebugTemplate');
- 		addLast: (CMakeDebug new);
- 		addLast:((CMakeMessage new) message:'Global Configs');
- 		addLast: ((CMakeSetConfigDefine new) variable: 'OS_TYPE' value:'\"unix\"');
- 		addLast: ((CMakeVersion new) version: '1.2.3.4');
- 		addLast: ((CMakeSet new) variable:'without-gl' value: ''); 
- 		addLast: ((CMakeCompilerIsGNUCC new));
- 		addLast:((CMakeMessage new) message:'Tests');
- 		addLast:(CMakeTestBigEndian new);
- 		addLast:(CMakeCheckFunctionAtExitOnExit new);
- 		addAllLast: self configCheckIncludeFileTemplates;
- 		addAllLast: self configCheckLibraryExistsTemplates;
- 		addAllLast: self configFindPackageTemplates;
- 		addAllLast: self configSqMemoryAccess;
- 		addAllLast: self configPlatformSpecific;
- 		addAllLast: self configAioC;
- 		addAllLast: self configSqUnixCharConv;
- 		addAllLast: self configSqExternalPrims;
- 		addAllLast: self configSqUnixMainC;
- 		addAllLast: self configSqUnixMMemoryC;
- 		addAllLast: self configOLPC.
  	^ templates!

Item was added:
+ ----- Method: SqueakUnixConfig>>configUnDefineAll (in category 'cmake configuration') -----
+ configUnDefineAll
+ 	|templates|
+ 	self flag: 'tty'. "I don't think this is needed, but I am playing it safe. It may become useful in automated builds. or unicorns may fly"
+ 	templates:= OrderedCollection new.
+ 	templates 
+ 		addLast:((CMakeMessage new) message:'# undef explicit image width');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_INTERP_H');
+ 		addLast:((CMakeMessage new) message:'# undef package options');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'USE_X11');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'USE_X11_GLX');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'USE_QUARTZ');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'USE_QUARTZ_CGL');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'USE_RFB');
+ 
+ 		addLast:((CMakeMessage new) message:'# undef libraries');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_LIBX11');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_LIBXEXT');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_LIBDL');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_DYLD');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_LIBFFI');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_ICONV');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'USE_AUDIO_NONE');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'USE_AUDIO_SUN');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'USE_AUDIO_NAS');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'USE_AUDIO_OSS');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'USE_AUDIO_MACOSX');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'OSS_DEVICE');
+ 
+ 		addLast:((CMakeMessage new) message:'# undef header files');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_UNISTD_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'NEED_GETHOSTNAME_P');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_DIRENT_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_SYS_NDIR_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_SYS_DIR_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_NDIR_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_DLFCN_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_ICONV_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_SYS_TIME_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'TIME_WITH_SYS_TIME');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_SYS_FILIO_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_SYS_AUDIOIO_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_SUN_AUDIOIO_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_PTY_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_UTIL_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_LIBUTIL_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_STROPTS_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_GL_GL_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_OPENGL_GL_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'NEED_SUNOS_H');
+ 
+ 		addLast:((CMakeMessage new) message:'# undef system calls/library functions ');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'AT_EXIT');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_TZSET');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_OPENPTY');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_UNIX98_PTYS');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_SNPRINTF');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE___SNPRINTF');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_MMAP');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_DYLD');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_LANGINFO_CODESET');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_ALLOCA');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_ALLOCA_H');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_UNSETENV');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_NANOSLEEP');
+ 
+ 		addLast:((CMakeMessage new) message:'# undef widths of primitive types');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'SIZEOF_INT');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'SIZEOF_LONG');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'SIZEOF_LONG_LONG');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'SIZEOF_VOID_P');
+ 
+ 		addLast:((CMakeMessage new) message:'# undef structures');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_TM_GMTOFF');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_TIMEZONE');
+ 
+ 		addLast:((CMakeMessage new) message:'# undef typedefs');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'size_t');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'socklen_t');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'squeakInt64');
+ 
+ 		addLast:((CMakeMessage new) message:'# undef architecture');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'OS_TYPE');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'VM_HOST');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'VM_HOST_CPU');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'VM_HOST_VENDOR');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'VM_HOST_OS');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'VM_BUILD_STRING');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'WORDS_BIGENDIAN');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'DOUBLE_WORD_ALIGNMENT');
+ 
+ 		addLast:((CMakeMessage new) message:'# undef damage containment');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'DARWIN');
+ 
+ 		addLast:((CMakeMessage new) message:'# undef other configured variables');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'SQ_VERSION');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'VM_VERSION');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'VM_MODULE_PREFIX');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'VM_DLSYM_PREFIX');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'VM_X11DIR');
+ 
+ 		addLast:((CMakeMessage new) message:'# undef avoid dependencies on glibc2.3');
+ 		addLast: ((CMakeConfigUnDefine new) variable: 'HAVE_FEATURES_H').
+ 	^ templates!

Item was changed:
  ----- Method: SqueakUnixConfig>>contentForVmConfigCmake (in category 'cmake configuration') -----
  contentForVmConfigCmake
  	|template |
  	template:= CMakeSqConfigH new.
+ 	template templates: self configIanPiumartasTemplates.
+ "	template templates:  self configTemplates."
- 	template templates:  self configTemplates.
  	^template contentFor: self!

Item was changed:
  ----- Method: SqueakUnixConfig>>generateVmConfigCmake (in category 'cmake configuration') -----
  generateVmConfigCmake
  	|template |
  	template:= CMakeSqConfigH new.
+       template templates: self configIanPiumartasTemplates.
+ "	template templates:  self configTemplates."
- 	template templates:  self configTemplates.
  	template generate: self!



More information about the Vm-dev mailing list