changed:
authorClaus Gittinger <cg@exept.de>
Tue, 04 Sep 2012 00:34:29 +0200
changeset 2911e12e4a47cfaa
parent 2910 8024f7e8f9f4
child 2912 6e62954c5f35
changed:
#copyDLLsForLinkage
#copySupportFilesForLinkage
ProjectBuilder.st
     1.1 --- a/ProjectBuilder.st	Mon Sep 03 22:29:39 2012 +0200
     1.2 +++ b/ProjectBuilder.st	Tue Sep 04 00:34:29 2012 +0200
     1.3 @@ -262,7 +262,7 @@
     1.4  !ProjectBuilder methodsFor:'building/private'!
     1.5  
     1.6  copyDLLsForLinkage
     1.7 -    |targetBuildDir preRequisites dllRelativePaths|
     1.8 +    |targetBuildDir preRequisites dllRelativeSourcePathes dllRelativeDestPathes|
     1.9  
    1.10  
    1.11      targetBuildDir := buildDirectory / package module / package directory.
    1.12 @@ -278,7 +278,8 @@
    1.13  
    1.14      preRequisites do:[:eachPackageToFileout |
    1.15          |packageId packageDef packageModule packageDirectory packageTargetDir
    1.16 -         dllSource dllSourceDir libraryName dllRelativePath objDir|
    1.17 +         dllSource dllSourceDir libraryName dllRelativePathSource 
    1.18 +         dllRelativePathDest objDirSource objDirDest|
    1.19  
    1.20          packageId := eachPackageToFileout asPackageId.
    1.21          packageModule := packageId module.
    1.22 @@ -292,35 +293,41 @@
    1.23          dllSourceDir := myTopDirectory / packageModule / packageDirectory.
    1.24  
    1.25          OperatingSystem isMSWINDOWSlike ifTrue:[
    1.26 -            objDir := self objDirForUsedCompiler:usedCompiler.
    1.27 -
    1.28 +            objDirDest := self objDirForUsedCompiler:usedCompiler.
    1.29 +            "/ use visual-c files for tcc linkage
    1.30 +            usedCompiler = 'tcc' ifTrue:[
    1.31 +                objDirSource := self objDirForUsedCompiler:'vc'.
    1.32 +            ] ifFalse:[
    1.33 +                objDirSource := objDirDest
    1.34 +            ].
    1.35  "/            dllRelativePath := objDir,'/',(libraryName,'.dll').
    1.36  "/            (dllSourceDir / dllRelativePath) exists 
    1.37 -            dllRelativePaths := Array with:(objDir,'\', libraryName, '.dll').
    1.38 +            dllRelativeSourcePathes := Array with:(objDirSource,'\', libraryName, '.dll').
    1.39 +            dllRelativeDestPathes := Array with:(objDirDest,'\', libraryName, '.dll').
    1.40          ] ifFalse:[
    1.41 -            dllRelativePaths := Array with:(libraryName,'.so').
    1.42 +            dllRelativeSourcePathes := Array with:(libraryName,'.so').
    1.43              (packageModule = 'stx' and:[packageDirectory = 'libview']) ifTrue:[
    1.44 -                dllRelativePaths := dllRelativePaths, #('XWorkstation.so' 'GLXWorkstation.so').
    1.45 +                dllRelativeSourcePathes := dllRelativeSourcePathes, #('XWorkstation.so' 'GLXWorkstation.so').
    1.46              ].
    1.47          ].
    1.48 -        dllRelativePaths do:[:dllRelativePath|
    1.49 +        dllRelativeSourcePathes with:dllRelativeDestPathes do:[:dllRelativeSourcePath :dllRelativeDestPath|
    1.50              |source dest|
    1.51  
    1.52 -            source := dllSourceDir / dllRelativePath.
    1.53 -            dest := packageTargetDir / dllRelativePath.
    1.54 +            source := dllSourceDir / dllRelativeSourcePath.
    1.55 +            dest := packageTargetDir / dllRelativeDestPath.
    1.56              (dest exists not
    1.57               or:[source fileSize ~= dest fileSize
    1.58               or:[source modificationTime >= dest modificationTime
    1.59               "/ or:[ ((dllSourceDir / dllRelativePath) sameContentsAs:(packageTargetDir / dllRelativePath)) not ]
    1.60              ]]) ifTrue:[
    1.61 -                Transcript showCR:'updating ',dllRelativePath.
    1.62 +                Transcript showCR:'updating ',dllRelativeDestPath.
    1.63                  dest directory recursiveMakeDirectory.
    1.64                  source copyTo:dest.    
    1.65              ].
    1.66          ].
    1.67      ].
    1.68  
    1.69 -    "Modified: / 03-09-2012 / 20:07:23 / cg"
    1.70 +    "Modified: / 04-09-2012 / 00:30:21 / cg"
    1.71  !
    1.72  
    1.73  copyDirectory:relativepath
    1.74 @@ -447,6 +454,12 @@
    1.75                          'libvc/librun.lib'
    1.76                      ).
    1.77          ].
    1.78 +        usedCompiler = 'tcc' ifTrue:[
    1.79 +            files := files , #( 
    1.80 +                        'librun/objvc/librun.dll'
    1.81 +                        'libvc/librun.lib'
    1.82 +                    ).
    1.83 +        ].
    1.84      ] ifFalse:[
    1.85          files := #(
    1.86                      'librun/main.c'
    1.87 @@ -479,7 +492,7 @@
    1.88          ].
    1.89      ].
    1.90  
    1.91 -    "Modified: / 20-08-2012 / 17:10:37 / cg"
    1.92 +    "Modified: / 04-09-2012 / 00:25:26 / cg"
    1.93  !
    1.94  
    1.95  createHeaderFileFor:aClass in:packageTargetDir