ProjectBuilder.st
changeset 2628 57b363325368
parent 2622 e55f43981463
child 2633 4a48f107431a
equal deleted inserted replaced
2627:07d40cde2ac9 2628:57b363325368
   141     ].
   141     ].
   142     myTopDirectory := myTopDirectory asFilename.
   142     myTopDirectory := myTopDirectory asFilename.
   143     mySTXTopDirectory := myTopDirectory / 'stx'.
   143     mySTXTopDirectory := myTopDirectory / 'stx'.
   144 
   144 
   145     self setupBuildDirectory.
   145     self setupBuildDirectory.
       
   146     self activityNotification:'Generating stc directory...'.
   146     self copySTCDirectoryForBuild.
   147     self copySTCDirectoryForBuild.
       
   148     self activityNotification:'Generating source files...'.
   147     self generateSourceFiles.
   149     self generateSourceFiles.
       
   150     self activityNotification:'Generating dlls for linkage...'.
   148     self copyDLLsForLinkage.
   151     self copyDLLsForLinkage.
       
   152     self activityNotification:'Generating support files for linkage...'.
   149     self copySupportFilesForLinkage.
   153     self copySupportFilesForLinkage.
   150     self copyStartupFilesFromSmalltalk.
   154     self copyStartupFilesFromSmalltalk.
   151 
   155 
       
   156     self activityNotification:'Executing make...'.
   152     self makeWithOutputTo:stdOut errorTo:stdErr.
   157     self makeWithOutputTo:stdOut errorTo:stdErr.
   153 !
   158 !
   154 
   159 
   155 copyDLLsForLinkage
   160 copyDLLsForLinkage
   156     |targetBuildDir|
   161     |targetBuildDir|
   440         packageTargetDir := (buildDirectory / packageModule / packageDirectory) recursiveMakeDirectory.
   445         packageTargetDir := (buildDirectory / packageModule / packageDirectory) recursiveMakeDirectory.
   441 
   446 
   442         packageDef := packageId projectDefinitionClass.
   447         packageDef := packageId projectDefinitionClass.
   443         (packageDef compiled_classNames_common ,
   448         (packageDef compiled_classNames_common ,
   444         packageDef compiled_classNamesForPlatform) do:[:eachClassName |
   449         packageDef compiled_classNamesForPlatform) do:[:eachClassName |
   445             |cls|
   450             |cls fileName newSource|
   446 
   451 
   447             cls := Smalltalk classNamed:eachClassName.
   452             cls := Smalltalk classNamed:eachClassName.
   448             self assert:cls isLoaded.
   453             self assert:cls isLoaded.
   449             cls fileOutIn:packageTargetDir
   454             fileName := (Smalltalk fileNameForClass:cls),'.st'.
       
   455             fileName := packageTargetDir asFilename construct:fileName.
       
   456             fileName exists ifTrue:[
       
   457                 newSource := String streamContents:[:s | cls fileOutOn:s withTimeStamp:false].
       
   458                 newSource = fileName contentsAsString ifFalse:[
       
   459                     fileName contents:newSource
       
   460                 ].
       
   461             ] ifFalse:[
       
   462                 cls fileOutIn:packageTargetDir withTimeStamp:false
       
   463             ].
   450         ].
   464         ].
   451 
   465 
   452 "/        (Smalltalk allClassesInPackage:eachPackageToFileout) do:[:cls |
   466 "/        (Smalltalk allClassesInPackage:eachPackageToFileout) do:[:cls |
   453 "/            cls isPrivate ifFalse:[
   467 "/            cls isPrivate ifFalse:[
   454 "/                cls isLoaded ifFalse:[
   468 "/                cls isLoaded ifFalse:[