home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / machdep.tcl < prev    next >
Text File  |  1996-12-17  |  4KB  |  170 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/hindenburg/7
  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/hindenburg/7    17 Dec 1996 Copyright 1995,1996 Cayenne Software, Inc.
  26. #
  27.  
  28. if {[info procs unpack_package] == ""} {
  29.     source [m4_path_name tcl wmt_util.tcl]
  30. }
  31.  
  32. #
  33. # osIdentification returns the same as the result of "uname -rs", e.g.
  34. # system name and release number
  35. #
  36.  
  37. proc osIdentification {} {
  38.     return "WIN"
  39. }
  40.  
  41. #
  42. # get value for UNIX environment variable
  43. #
  44. proc get_from_env {env_var} {
  45.  
  46.    return [get env($env_var)]
  47. }
  48.  
  49. #
  50. # get search path separator character
  51. #
  52. proc searchPathSeparator {} {
  53.     return \;
  54. }
  55.  
  56. #
  57. # extract example files from tar file
  58. #
  59.  
  60. proc tarFile {exampleTar} {
  61.  
  62.     switch -glob $exampleTar {
  63.     *.Z  {set cat zcat}
  64.     *.z  {set cat "gunzip -c"}
  65.     *.gz {set cat "gunzip -c"}
  66.     default {set cat zcat}
  67.     }
  68.     set unzip [get_from_env UNZIP]
  69.     if { $unzip != "" } {
  70.     set cat $unzip
  71.     }
  72.     catch { eval exec $cat $exampleTar | tar xof - }
  73. }
  74.  
  75. #
  76. # clear screen
  77. #
  78. proc cls {} {
  79.     if {[file exists /usr/ucb/clear]} {
  80.         system "/usr/ucb/clear"
  81.     } else {
  82.         system "tput clear"
  83.     }
  84. }
  85.  
  86. #
  87. # show file
  88. #
  89. proc show { showFile } {
  90.     system "more < $showFile"
  91. }
  92.  
  93. #
  94. # create directory
  95. #
  96. proc createDir { dirName } {
  97.     catch {exec mkdir $dirName}
  98. }
  99.  
  100. #
  101. # return the command used for ranlib
  102. #
  103. proc processLibrary { libs } {
  104.     return ""
  105. }
  106.  
  107. #
  108. # return directory containing include files for X
  109. #
  110. proc XIncludeDir {} {
  111.     if [file isdirectory /usr/openwin/include] {
  112.         return /usr/openwin/include
  113.     } else {
  114.         return /usr/include/X11
  115.     }
  116. }
  117.  
  118. #
  119. # find target depent libraries
  120. #
  121. proc dbmsLinkLibrary {} {
  122.     unpack_package
  123.  
  124.     case $target in {
  125.     INFORMIX    {return [informixLinkLibrary]}
  126.     INGRES        {return [ingresLinkLibrary]}
  127.     ORACLE        {return [oracleLinkLibrary]}
  128.     SYBASE        {return [sybaseLinkLibrary]}
  129.     }
  130.  
  131.     return ""
  132. }
  133.  
  134. proc informixLinkLibrary {} {
  135.     set libDir [location \$(INFORMIXDIR) lib]
  136.  
  137.     return "[path_name concat $libDir isqli501.lib] \\
  138.         [path_name concat $libDir mmcsqlw.lib]"
  139. }
  140.  
  141. proc ingresLinkLibrary {} {
  142.     set platform_libs {$$II_SYSTEM/ingres/lib/libingres.a}
  143.     set abflnk [open $env(II_SYSTEM)/ingres/files/abflnk.opt]
  144.     while { [gets $abflnk line] != -1 } {
  145.         if { ! [string match *II_SYSTEM* $line ]} {
  146.             append platform_libs " \\
  147.         $line"
  148.         }
  149.     }
  150.     return $platform_libs
  151. }
  152.  
  153. proc oracleLinkLibrary {} {
  154.     set libDir [location \$(ORACLE_HOME) pro22 lib]
  155.  
  156.     return "[path_name concat $libDir sqllib18.lib] \\
  157.         [path_name concat $libDir sqxlib18.lib]"
  158. }
  159.  
  160. proc sybaseLinkLibrary {} {
  161.     set libDir [location \$(SYBASE) lib]
  162.  
  163.     # taken from %SYBASE%\sample\esqlc\makefile
  164.     # libcmt and kernel32 are part of MS Visual C++
  165.     return "[path_name concat $libDir libct.lib] \\
  166.         [path_name concat $libDir libcs.lib] \\
  167.         [path_name concat $libDir libcomn.lib] \\
  168.         /NODEFAULTLIB:libc libcmt.lib kernel32.lib"
  169. }
  170.