home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / machdep.tcl < prev    next >
Text File  |  1997-09-03  |  4KB  |  166 lines

  1. # ---------------------------------------------------------------------------
  2. #
  3. # Copyright (c) 1995,1996 by Cayenne Software, Inc.
  4. #
  5. # This software is furnished under a license and may be used only in
  6. # accordance with the terms of such license and with the inclusion of
  7. # the above copyright notice. This software or any other copies thereof
  8. # may not be provided or otherwise made available to any other person.
  9. # No title to and ownership of the software is hereby transferred.
  10. #
  11. # The information in this software is subject to change without notice
  12. # and should not be construed as a commitment by Cayenne Software, Inc.
  13. #
  14. # ---------------------------------------------------------------------------
  15. #
  16. #    File        : @(#)machdep.tcl    /main/titanic/6
  17. #    Author        :
  18. #    Original date    : September 1995
  19. #    History        : 
  20. #    See also    : 
  21. #    Description    : tcl file which contains machine dependent scripts
  22. #
  23. # ---------------------------------------------------------------------------
  24. #
  25. #    @(#)machdep.tcl    /main/titanic/6    3 Sep 1997 Copyright 1995,1996 Cayenne Software, Inc.
  26. #
  27.  
  28. require wmt_util.tcl
  29.  
  30. #
  31. # osIdentification returns the same as the result of "uname -rs", e.g.
  32. # system name and release number
  33. #
  34.  
  35. proc osIdentification {} {
  36.     return "WIN"
  37. }
  38.  
  39. #
  40. # get value for UNIX environment variable
  41. #
  42. proc get_from_env {env_var} {
  43.  
  44.    return [get env($env_var)]
  45. }
  46.  
  47. #
  48. # get search path separator character
  49. #
  50. proc searchPathSeparator {} {
  51.     return \;
  52. }
  53.  
  54. #
  55. # extract example files from tar file
  56. #
  57.  
  58. proc tarFile {exampleTar} {
  59.  
  60.     switch -glob $exampleTar {
  61.     *.Z  {set cat zcat}
  62.     *.z  {set cat "gunzip -c"}
  63.     *.gz {set cat "gunzip -c"}
  64.     default {set cat zcat}
  65.     }
  66.     set unzip [get_from_env UNZIP]
  67.     if { $unzip != "" } {
  68.     set cat $unzip
  69.     }
  70.     catch { eval exec $cat $exampleTar | tar xof - }
  71. }
  72.  
  73. #
  74. # clear screen
  75. #
  76. proc cls {} {
  77.     if {[file exists /usr/ucb/clear]} {
  78.         system "/usr/ucb/clear"
  79.     } else {
  80.         system "tput clear"
  81.     }
  82. }
  83.  
  84. #
  85. # show file
  86. #
  87. proc show { showFile } {
  88.     system "more < $showFile"
  89. }
  90.  
  91. #
  92. # create directory
  93. #
  94. proc createDir { dirName } {
  95.     catch {exec mkdir $dirName}
  96. }
  97.  
  98. #
  99. # return the command used for ranlib
  100. #
  101. proc processLibrary { libs } {
  102.     return ""
  103. }
  104.  
  105. #
  106. # return directory containing include files for X
  107. #
  108. proc XIncludeDir {} {
  109.     if [file isdirectory /usr/openwin/include] {
  110.         return /usr/openwin/include
  111.     } else {
  112.         return /usr/include/X11
  113.     }
  114. }
  115.  
  116. #
  117. # find target depent libraries
  118. #
  119. proc dbmsLinkLibrary {} {
  120.     case [getModuleNameByType PersistentCpp] in {
  121.     pers-cpp-inf    {return [informixLinkLibrary]}
  122.     pers-cpp-ing    {return [ingresLinkLibrary]}
  123.     pers-cpp-ora    {return [oracleLinkLibrary]}
  124.     pers-cpp-syb    {return [sybaseLinkLibrary]}
  125.     }
  126.  
  127.     return ""
  128. }
  129.  
  130. proc informixLinkLibrary {} {
  131.     set libDir [location \$(INFORMIXDIR) lib]
  132.  
  133.     return "[path_name concat $libDir isqli501.lib] \\
  134.         [path_name concat $libDir mmcsqlw.lib]"
  135. }
  136.  
  137. proc ingresLinkLibrary {} {
  138.     set platform_libs {$$II_SYSTEM/ingres/lib/libingres.a}
  139.     set abflnk [open $env(II_SYSTEM)/ingres/files/abflnk.opt]
  140.     while { [gets $abflnk line] != -1 } {
  141.         if { ! [string match *II_SYSTEM* $line ]} {
  142.             append platform_libs " \\
  143.         $line"
  144.         }
  145.     }
  146.     return $platform_libs
  147. }
  148.  
  149. proc oracleLinkLibrary {} {
  150.     set libDir [location \$(ORACLE_HOME) pro22 lib]
  151.  
  152.     return "[path_name concat $libDir sqllib18.lib] \\
  153.         [path_name concat $libDir sqxlib18.lib]"
  154. }
  155.  
  156. proc sybaseLinkLibrary {} {
  157.     set libDir [location \$(SYBASE) lib]
  158.  
  159.     # taken from %SYBASE%\sample\esqlc\makefile
  160.     # libcmt and kernel32 are part of MS Visual C++
  161.     return "[path_name concat $libDir libct.lib] \\
  162.         [path_name concat $libDir libcs.lib] \\
  163.         [path_name concat $libDir libcomn.lib] \\
  164.         /NODEFAULTLIB:libc libcmt.lib kernel32.lib"
  165. }
  166.