ProjectBuilder.st
changeset 2984 bfb6db857ea8
parent 2981 e61e4a6fb317
child 2985 57ed21d4e926
equal deleted inserted replaced
2983:068c43183acf 2984:bfb6db857ea8
   545     |files|
   545     |files|
   546 
   546 
   547     files := #().
   547     files := #().
   548 
   548 
   549     OperatingSystem isMSWINDOWSlike ifTrue:[
   549     OperatingSystem isMSWINDOWSlike ifTrue:[
   550         files := files , #( 'librun/genDate.com' ).
   550         files := files , #( 
       
   551                         'librun/genDate.com' 
       
   552                     ).
   551         usedCompiler = 'tcc' ifTrue:[
   553         usedCompiler = 'tcc' ifTrue:[
   552             files := files , #( 
   554             files := files , #( 
   553                         'support/tcc'
   555                         'support/tcc'
   554                     ).
   556                     ).
   555         ].
   557         ].
   556     ] ifFalse:[
   558     ] ifFalse:[
   557         files := files , #( 'librun/genDate' ).
   559         files := files , #( 
       
   560                         "/ 'librun/genDate'   -- not needed on unix (done via script)
       
   561                         'configurations/myConf' 
       
   562                         'configurations/vendorConf' 
       
   563                         'configurations/conf.inc' 
       
   564                         'configurations/COMMON' 
       
   565                     ).
   558     ].
   566     ].
   559 
   567 
   560     files do:[:relativePath |
   568     files do:[:relativePath |
   561         (mySTXTopDirectory / relativePath) exists ifTrue:[
   569         (mySTXTopDirectory / relativePath) exists ifTrue:[
   562             ((buildDirectory / 'stx' / relativePath) exists
   570             ((buildDirectory / 'stx' / relativePath) exists
   563             and:[ (mySTXTopDirectory / relativePath) fileSize = (buildDirectory / 'stx' / relativePath) fileSize
   571             and:[ (mySTXTopDirectory / relativePath) fileSize = (buildDirectory / 'stx' / relativePath) fileSize
   564             and:[ (mySTXTopDirectory / relativePath) modificationTime < (buildDirectory / 'stx' / relativePath) modificationTime
   572             and:[ (mySTXTopDirectory / relativePath) modificationTime < (buildDirectory / 'stx' / relativePath) modificationTime
   565             "/ and:[ (mySTXTopDirectory / dllRelativePath) sameContentsAs:(targetBuildDir / dllRelativePath) ]
   573             "/ and:[ (mySTXTopDirectory / dllRelativePath) sameContentsAs:(targetBuildDir / dllRelativePath) ]
   566             ]]) ifFalse:[
   574             ]]) ifFalse:[
   567                 (mySTXTopDirectory / relativePath) recursiveCopyTo:(buildDirectory / 'stx' / relativePath).    
   575                 (buildDirectory / 'stx' / relativePath) directory recursiveMakeDirectory.    
       
   576                 (mySTXTopDirectory / relativePath) isDirectory ifTrue:[
       
   577                     (mySTXTopDirectory / relativePath) recursiveCopyTo:(buildDirectory / 'stx' / relativePath) directory.    
       
   578                 ] ifFalse:[
       
   579                     (mySTXTopDirectory / relativePath) copyTo:(buildDirectory / 'stx' / relativePath) directory.    
       
   580                 ]
   568             ]
   581             ]
   569         ] ifFalse:[
   582         ] ifFalse:[
   570             self error:'Missing directory: ',relativePath printString mayProceed:true.
   583             self error:'Missing file or directory: ',relativePath printString mayProceed:true.
   571         ].
   584         ].
   572     ].
   585     ].
   573 
   586 
   574     "Created: / 04-09-2012 / 00:47:49 / cg"
   587     "Created: / 04-09-2012 / 00:47:49 / cg"
   575 !
   588 !
   933 
   946 
   934     "/ makeCommand := makeCommand, ' TOP=', mySTXTopDirectory pathName.
   947     "/ makeCommand := makeCommand, ' TOP=', mySTXTopDirectory pathName.
   935 
   948 
   936     OperatingSystem isUNIXlike ifTrue:[
   949     OperatingSystem isUNIXlike ifTrue:[
   937         "/ generate the makefile first
   950         "/ generate the makefile first
   938         self activityNotification:('sh %1/rules/stmkmf' bindWith:mySTXTopDirectory pathName).
   951         self activityNotification:('sh %1/rules/stmkmf (in %2)' 
       
   952                     bindWith:mySTXTopDirectory pathName    
       
   953                     with:(buildDirectory / module / directory)).
   939         OperatingSystem
   954         OperatingSystem
   940             executeCommand:('sh %1/rules/stmkmf' bindWith:mySTXTopDirectory pathName)
   955             executeCommand:('sh %1/rules/stmkmf' bindWith:mySTXTopDirectory pathName)
   941             inputFrom:nil
   956             inputFrom:nil
   942             outputTo:stdOut
   957             outputTo:stdOut
   943             errorTo:stdErr
   958             errorTo:stdErr
  1016     ].
  1031     ].
  1017     self activityNotification:nil
  1032     self activityNotification:nil
  1018 !
  1033 !
  1019 
  1034 
  1020 setupBuildDirectory
  1035 setupBuildDirectory
       
  1036     self activityNotification:('Building in %1' bindWith:buildDirectory pathName).
       
  1037 
  1021     buildDirectory exists ifFalse:[
  1038     buildDirectory exists ifFalse:[
  1022         buildDirectory recursiveMakeDirectory.
  1039         buildDirectory recursiveMakeDirectory.
  1023     ].
  1040     ].
  1024     (buildDirectory / 'stx') exists ifFalse:[
  1041     (buildDirectory / 'stx') exists ifFalse:[
  1025         (buildDirectory / 'stx') makeDirectory.
  1042         (buildDirectory / 'stx') makeDirectory.
  1026     ].
  1043     ].
  1027 
  1044 
  1028     self copyDirectoryForBuild:'include'.
  1045     self copyDirectoryForBuild:'include'.
  1029     self copyDirectoryForBuild:'rules'.
  1046     self copyDirectoryForBuild:'rules'.
       
  1047 
  1030     OperatingSystem isUNIXlike ifTrue:[
  1048     OperatingSystem isUNIXlike ifTrue:[
  1031         self recursiveCopyDirectoryForBuild:'configurations'.
  1049         self recursiveCopyDirectoryForBuild:'configurations'.
  1032     ]
  1050     ]
  1033 !
  1051 !
  1034 
  1052