home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 4 / 4003 < prev    next >
Text File  |  1991-09-08  |  43KB  |  1,182 lines

  1. Newsgroups: alt.sources
  2. Path: wupost!zaphod.mps.ohio-state.edu!think.com!news.bbn.com!mips2!bubba!jtsillas
  3. From: jtsillas@bubba.ma30.bull.com (James Tsillas)
  4. Subject: mxgdb 1.0.3 (1/10)
  5. Organization: Bull HN, Worldwide Information Systems, Billerica, Mass., USA
  6. Distribution: alt
  7. Date: 6 Sep 91 14:19:31
  8. Message-ID: <JTSILLAS.91Sep6141931@bubba.ma30.bull.com>
  9. Sender: news@mips2.ma30.bull.com (Usenet News Manager)
  10.  
  11.  
  12. This is the source for mxgdb 1.0.3. Mxgdb is a Motif based GUI for the GNU gdb 
  13. utility. It is based on xxgdb (which is based on xdbx). This version adds
  14. support for clone-device pseudo-tty's and enhances the command button 
  15. handling. Some bugs have also been fixed and some optimization has been done.
  16.  
  17. Mxgdb requires X11R4 and Motif 1.1 libraries. Below is the part of the README
  18. file which contains some compatibility information:
  19.  
  20. -----------------------------------------------------------------------------
  21. To build on SCO Unix or Bull DPX/ProStation 25 add -Dsco and -DSYSV.
  22.  
  23. To build on Bull DPX/2-[23]00 add -DNCLX, -DSYSV and -Dncl_mr.
  24.  
  25. To build on ISC UNIX add -DSYSV -DSVR4_PTY.
  26.  
  27. To build on Sun 4 and Sun 3 use -DSYSV and -DSUNOS4 if using SunOS 4.0 or 
  28. earlier, and usr /usr/5bin/cc compiler. If using SunOS 4.1 do not used -DSYSV 
  29. or -DSUNOS4 and use the normal compiler.
  30.  
  31. To build on SVR4 add -DSYSV and -DSVR4_PTY.
  32.  
  33. To build on BSD add nothing and cross your fingers.
  34.  
  35. To build on SystemV.3 add -DSYSV and cross your fingers.
  36.  
  37. To build on MIPS RISC/OS or Bull BOS/RISC use the bsd43 systype (which is the
  38. default imake) and add nothing.
  39.  
  40. Mxgdb now supports /dev/ptmx (or SVR4 style) pseudo-tty's. If your system
  41. has these types of pty's use -DSVR4_PTY when building.
  42.  
  43. GNU malloc is supplied with mxgdb to help improve speed. You may need to add
  44. flags in order to build malloc.o. If you do not wish to use GNU malloc or if
  45. you have trouble building gnu malloc, remove the malloc.c and malloc.o entries
  46. in the Imakefile.
  47. -----------------------------------------------------------------------------
  48.  
  49. Mxgdb is successfully running on a variety of systems. If you get it working on
  50. a system not listed here. Let me know so I can include it on the list
  51. and add the compilation options.
  52.  
  53. This version of mxgdb will not work with gdb-3.98 since the command formats 
  54. have changed with this release. I will most likely fix this with gdb-4.0.
  55.  
  56. Documentation will not be written for mxgdb at least until I am satisfied with
  57. the interface. If someone wishes to write documentation I will gladly help.
  58.  
  59. ---- Cut Here and feed the following to sh ----
  60. #!/bin/sh
  61. # This is a shell archive (shar 3.46)
  62. # made 08/26/1991 20:50 UTC by jtsillas@bullet
  63. # Source directory /nfs/bubba/users/jtsillas
  64. #
  65. # existing files will NOT be overwritten unless -c is specified
  66. #
  67. # This is part 1 of a multipart archive                                    
  68. # do not concatenate these parts, unpack them in order with /bin/sh        
  69. #
  70. # This shar contains:
  71. # length  mode       name
  72. # ------ ---------- ------------------------------------------
  73. #      6 -rw-r--r-- mxgdb/CVS.adm/Repository
  74. #   2359 -rw-rw-r-- mxgdb/CVS.adm/Entries
  75. #      6 -rw-r--r-- mxgdb/CVS.adm/Mod
  76. #   2359 -rw-rw-r-- mxgdb/CVS.adm/Entries.Backup
  77. #    339 -rw-r--r-- mxgdb/CVS.adm/Files
  78. #   2518 -rw-rw-r-- mxgdb/filemenu.c
  79. #   2399 -rw-rw-r-- mxgdb/README
  80. #  10149 -rw-rw-r-- mxgdb/defs.h
  81. #    838 -rw-r--r-- mxgdb/arrows.h
  82. #    729 -rw-rw-r-- mxgdb/Imakefile
  83. #  12188 -rw-r--r-- mxgdb/Makefile
  84. #  18082 -rw-rw-r-- mxgdb/command.c
  85. #   3289 -rw-rw-r-- mxgdb/Mxgdb.ad
  86. #   1967 -rw-rw-r-- mxgdb/bitmaps.h
  87. #   9084 -rw-rw-r-- mxgdb/callgdb.c
  88. #  27029 -rw-rw-r-- mxgdb/source.c
  89. #  10834 -rw-r--r-- mxgdb/signs.c
  90. #  21420 -rw-rw-r-- mxgdb/windows.c
  91. #  18249 -rw-r--r-- mxgdb/gdb_parser.c
  92. #  17655 -rw-r--r-- mxgdb/gdb_regex.h
  93. #  11294 -rw-rw-r-- mxgdb/global.h
  94. #    539 -rw-r--r-- mxgdb/getpagesize.h
  95. #   4220 -rw-rw-r-- mxgdb/signals.c
  96. #   6448 -rw-rw-r-- mxgdb/handler.c
  97. #  25023 -rw-r--r-- mxgdb/malloc.c
  98. #   6984 -rw-rw-r-- mxgdb/parser.c
  99. #  46422 -rw-r--r-- mxgdb/regex.c
  100. #  10897 -rw-r--r-- mxgdb/regex.h
  101. #   9190 -rw-r--r-- mxgdb/dialog.c
  102. #   3928 -rw-r--r-- mxgdb/utils.c
  103. #  32812 -rw-r--r-- mxgdb/callgdb.o
  104. #   7504 -rw-rw-r-- mxgdb/gdb.c
  105. #   9950 -rw-rw-r-- mxgdb/mxgdb.c
  106. #  19079 -rw-rw-r-- mxgdb/bitmaps.c
  107. #  19264 -rw-r--r-- mxgdb/gdb_handler.c
  108. #  44536 -rw-r--r-- mxgdb/command.o
  109. #  32760 -rw-r--r-- mxgdb/gdb.o
  110. #  34500 -rw-r--r-- mxgdb/dialog.o
  111. #  31312 -rw-r--r-- mxgdb/filemenu.o
  112. #  44568 -rw-r--r-- mxgdb/handler.o
  113. #  45664 -rw-r--r-- mxgdb/parser.o
  114. #  14796 -rw-r--r-- mxgdb/regex.o
  115. #  36756 -rw-r--r-- mxgdb/signs.o
  116. #  31896 -rw-r--r-- mxgdb/signals.o
  117. #  49528 -rw-r--r-- mxgdb/source.o
  118. #  32256 -rw-r--r-- mxgdb/utils.o
  119. #  49708 -rw-r--r-- mxgdb/windows.o
  120. #  36036 -rw-r--r-- mxgdb/mxgdb.o
  121. #   5484 -rw-r--r-- mxgdb/malloc.o
  122. #   3660 -rw-r--r-- mxgdb/bitmaps.o
  123. #  12178 -rw-r--r-- mxgdb/Makefile.bak
  124. #
  125. if test -r _shar_seq_.tmp; then
  126.     echo 'Must unpack archives in sequence!'
  127.     echo Please unpack part `cat _shar_seq_.tmp` next
  128.     exit 1
  129. fi
  130. # ============= mxgdb/CVS.adm/Repository ==============
  131. if test ! -d 'mxgdb'; then
  132.     echo 'x - creating directory mxgdb'
  133.     mkdir 'mxgdb'
  134. fi
  135. if test ! -d 'mxgdb/CVS.adm'; then
  136.     echo 'x - creating directory mxgdb/CVS.adm'
  137.     mkdir 'mxgdb/CVS.adm'
  138. fi
  139. if test -f 'mxgdb/CVS.adm/Repository' -a X"$1" != X"-c"; then
  140.     echo 'x - skipping mxgdb/CVS.adm/Repository (File already exists)'
  141.     rm -f _shar_wnt_.tmp
  142. else
  143. > _shar_wnt_.tmp
  144. echo 'x - extracting mxgdb/CVS.adm/Repository (Text)'
  145. sed 's/^X//' << 'SHAR_EOF' > 'mxgdb/CVS.adm/Repository' &&
  146. mxgdb
  147. SHAR_EOF
  148. chmod 0644 mxgdb/CVS.adm/Repository ||
  149. echo 'restore of mxgdb/CVS.adm/Repository failed'
  150. Wc_c="`wc -c < 'mxgdb/CVS.adm/Repository'`"
  151. test 6 -eq "$Wc_c" ||
  152.     echo 'mxgdb/CVS.adm/Repository: original size 6, current size' "$Wc_c"
  153. rm -f _shar_wnt_.tmp
  154. fi
  155. # ============= mxgdb/CVS.adm/Entries ==============
  156. if test -f 'mxgdb/CVS.adm/Entries' -a X"$1" != X"-c"; then
  157.     echo 'x - skipping mxgdb/CVS.adm/Entries (File already exists)'
  158.     rm -f _shar_wnt_.tmp
  159. else
  160. > _shar_wnt_.tmp
  161. echo 'x - extracting mxgdb/CVS.adm/Entries (Text)'
  162. sed 's/^X//' << 'SHAR_EOF' > 'mxgdb/CVS.adm/Entries' &&
  163. 1.6|Fri Aug  2 15:07:36 1991 Fri Aug  2 15:07:36 1991 Mxgdb|
  164. 1.1.1.1|Fri Aug  2 15:07:47 1991 Fri Aug  2 15:07:47 1991 patchlevel.h|
  165. -1.2|Wed Aug  7 23:46:41 1991 Wed Aug  7 23:46:20 1991 dbx.c|
  166. -1.7|Wed Aug  7 23:46:23 1991 Wed Aug  7 23:46:23 1991 xdbx.c|
  167. -1.3|Fri Aug  2 15:07:51 1991 Fri Aug  2 15:07:51 1991 triton.h|
  168. -1.4|Wed Aug 14 13:51:44 1991 Wed Aug 14 13:51:44 1991 bitmaps2.h|
  169. -1.1.1.1|Fri Aug  2 15:07:40 1991 Fri Aug  2 15:07:40 1991 datadpy.h|
  170. 1.2|Fri Aug 23 09:09:37 1991 Fri Aug  2 15:07:37 1991 arrows.h|
  171. 1.5|Fri Aug 23 09:09:42 1991 Wed Aug 14 13:51:47 1991 dialog.c|
  172. 1.3|Fri Aug 23 09:09:39 1991 Fri Aug 16 18:24:29 1991 gdb_parser.c|
  173. 1.2|Fri Aug 23 09:09:39 1991 Fri Aug  2 15:07:43 1991 gdb_regex.h|
  174. 1.1.1.1|Fri Aug 23 09:09:39 1991 Fri Aug  2 15:07:44 1991 getpagesize.h|
  175. 1.1.1.1|Fri Aug 23 09:09:40 1991 Fri Aug  2 15:07:46 1991 malloc.c|
  176. 1.1.1.1|Fri Aug 23 09:09:41 1991 Fri Aug  2 15:07:48 1991 regex.c|
  177. 1.1.1.1|Fri Aug 23 09:09:41 1991 Fri Aug  2 15:07:49 1991 regex.h|
  178. -1.8|Wed Aug 14 13:51:45 1991 Wed Aug 14 13:51:45 1991 calldbx.c|
  179. 1.4|Fri Aug 23 09:09:38 1991 Wed Aug  7 17:30:43 1991 signs.c|
  180. 1.1.1.1|Fri Aug 23 09:09:42 1991 Fri Aug  2 15:07:52 1991 utils.c|
  181. 1.1|Fri Aug 23 12:34:19 1991 Fri Aug 23 12:34:19 1991 bitmaps.c|
  182. 1.1|Fri Aug 23 12:34:20 1991 Fri Aug 23 12:34:20 1991 callgdb.c|
  183. 1.1|Fri Aug 23 12:34:22 1991 Fri Aug 23 12:34:22 1991 gdb.c|
  184. 1.1|Fri Aug 23 12:34:23 1991 Fri Aug 23 12:34:23 1991 mxgdb.c|
  185. 1.3|Fri Aug 23 12:34:25 1991 Fri Aug 23 12:34:25 1991 Imakefile|
  186. 1.13|Fri Aug 23 12:34:26 1991 Fri Aug 23 12:34:26 1991 Mxgdb.ad|
  187. 1.9|Fri Aug 23 12:34:28 1991 Fri Aug 23 12:34:28 1991 README|
  188. 1.3|Fri Aug 23 12:34:29 1991 Fri Aug 23 12:34:29 1991 bitmaps.h|
  189. 1.10|Fri Aug 23 12:34:31 1991 Fri Aug 23 12:34:31 1991 command.c|
  190. 1.7|Fri Aug 23 12:34:33 1991 Fri Aug 23 12:34:33 1991 defs.h|
  191. 1.9|Fri Aug 23 12:34:34 1991 Fri Aug 23 12:34:34 1991 filemenu.c|
  192. 1.12|Fri Aug 23 12:34:36 1991 Wed Aug 21 18:58:15 1991 gdb_handler.c|
  193. 1.13|Fri Aug 23 12:34:38 1991 Fri Aug 23 12:34:38 1991 global.h|
  194. 1.2|Fri Aug 23 12:34:40 1991 Fri Aug 23 12:34:39 1991 handler.c|
  195. 1.2|Fri Aug 23 12:34:41 1991 Fri Aug 23 12:34:41 1991 parser.c|
  196. 1.4|Fri Aug 23 12:34:42 1991 Fri Aug 23 12:34:42 1991 signals.c|
  197. 1.13|Fri Aug 23 12:34:45 1991 Fri Aug 23 12:34:45 1991 source.c|
  198. 1.17|Fri Aug 23 12:34:47 1991 Fri Aug 23 12:34:47 1991 windows.c|
  199. SHAR_EOF
  200. chmod 0664 mxgdb/CVS.adm/Entries ||
  201. echo 'restore of mxgdb/CVS.adm/Entries failed'
  202. Wc_c="`wc -c < 'mxgdb/CVS.adm/Entries'`"
  203. test 2359 -eq "$Wc_c" ||
  204.     echo 'mxgdb/CVS.adm/Entries: original size 2359, current size' "$Wc_c"
  205. rm -f _shar_wnt_.tmp
  206. fi
  207. # ============= mxgdb/CVS.adm/Mod ==============
  208. if test -f 'mxgdb/CVS.adm/Mod' -a X"$1" != X"-c"; then
  209.     echo 'x - skipping mxgdb/CVS.adm/Mod (File already exists)'
  210.     rm -f _shar_wnt_.tmp
  211. else
  212. > _shar_wnt_.tmp
  213. echo 'x - extracting mxgdb/CVS.adm/Mod (Text)'
  214. sed 's/^X//' << 'SHAR_EOF' > 'mxgdb/CVS.adm/Mod' &&
  215. dbx.c
  216. SHAR_EOF
  217. chmod 0644 mxgdb/CVS.adm/Mod ||
  218. echo 'restore of mxgdb/CVS.adm/Mod failed'
  219. Wc_c="`wc -c < 'mxgdb/CVS.adm/Mod'`"
  220. test 6 -eq "$Wc_c" ||
  221.     echo 'mxgdb/CVS.adm/Mod: original size 6, current size' "$Wc_c"
  222. rm -f _shar_wnt_.tmp
  223. fi
  224. # ============= mxgdb/CVS.adm/Entries.Backup ==============
  225. if test -f 'mxgdb/CVS.adm/Entries.Backup' -a X"$1" != X"-c"; then
  226.     echo 'x - skipping mxgdb/CVS.adm/Entries.Backup (File already exists)'
  227.     rm -f _shar_wnt_.tmp
  228. else
  229. > _shar_wnt_.tmp
  230. echo 'x - extracting mxgdb/CVS.adm/Entries.Backup (Text)'
  231. sed 's/^X//' << 'SHAR_EOF' > 'mxgdb/CVS.adm/Entries.Backup' &&
  232. 1.6|Fri Aug  2 15:07:36 1991 Fri Aug  2 15:07:36 1991 Mxgdb|
  233. 1.1.1.1|Fri Aug  2 15:07:47 1991 Fri Aug  2 15:07:47 1991 patchlevel.h|
  234. 1.16|Wed Aug 14 13:51:54 1991 Wed Aug 14 13:51:54 1991 windows.c|
  235. -1.2|Wed Aug  7 23:46:41 1991 Wed Aug  7 23:46:20 1991 dbx.c|
  236. -1.7|Wed Aug  7 23:46:23 1991 Wed Aug  7 23:46:23 1991 xdbx.c|
  237. -1.3|Fri Aug  2 15:07:51 1991 Fri Aug  2 15:07:51 1991 triton.h|
  238. -1.4|Wed Aug 14 13:51:44 1991 Wed Aug 14 13:51:44 1991 bitmaps2.h|
  239. -1.1.1.1|Fri Aug  2 15:07:40 1991 Fri Aug  2 15:07:40 1991 datadpy.h|
  240. 1.2|Fri Aug 23 09:09:37 1991 Fri Aug  2 15:07:37 1991 arrows.h|
  241. 1.5|Fri Aug 23 09:09:42 1991 Wed Aug 14 13:51:47 1991 dialog.c|
  242. 1.3|Fri Aug 23 09:09:39 1991 Fri Aug 16 18:24:29 1991 gdb_parser.c|
  243. 1.2|Fri Aug 23 09:09:39 1991 Fri Aug  2 15:07:43 1991 gdb_regex.h|
  244. 1.1.1.1|Fri Aug 23 09:09:39 1991 Fri Aug  2 15:07:44 1991 getpagesize.h|
  245. 1.1.1.1|Fri Aug 23 09:09:40 1991 Fri Aug  2 15:07:46 1991 malloc.c|
  246. 1.1.1.1|Fri Aug 23 09:09:41 1991 Fri Aug  2 15:07:48 1991 regex.c|
  247. 1.1.1.1|Fri Aug 23 09:09:41 1991 Fri Aug  2 15:07:49 1991 regex.h|
  248. -1.8|Wed Aug 14 13:51:45 1991 Wed Aug 14 13:51:45 1991 calldbx.c|
  249. 1.4|Fri Aug 23 09:09:38 1991 Wed Aug  7 17:30:43 1991 signs.c|
  250. 1.1.1.1|Fri Aug 23 09:09:42 1991 Fri Aug  2 15:07:52 1991 utils.c|
  251. 1.1|Fri Aug 23 12:34:19 1991 Fri Aug 23 12:34:19 1991 bitmaps.c|
  252. 1.1|Fri Aug 23 12:34:20 1991 Fri Aug 23 12:34:20 1991 callgdb.c|
  253. 1.1|Fri Aug 23 12:34:22 1991 Fri Aug 23 12:34:22 1991 gdb.c|
  254. 1.1|Fri Aug 23 12:34:23 1991 Fri Aug 23 12:34:23 1991 mxgdb.c|
  255. 1.3|Fri Aug 23 12:34:25 1991 Fri Aug 23 12:34:25 1991 Imakefile|
  256. 1.13|Fri Aug 23 12:34:26 1991 Fri Aug 23 12:34:26 1991 Mxgdb.ad|
  257. 1.9|Fri Aug 23 12:34:28 1991 Fri Aug 23 12:34:28 1991 README|
  258. 1.3|Fri Aug 23 12:34:29 1991 Fri Aug 23 12:34:29 1991 bitmaps.h|
  259. 1.10|Fri Aug 23 12:34:31 1991 Fri Aug 23 12:34:31 1991 command.c|
  260. 1.7|Fri Aug 23 12:34:33 1991 Fri Aug 23 12:34:33 1991 defs.h|
  261. 1.9|Fri Aug 23 12:34:34 1991 Fri Aug 23 12:34:34 1991 filemenu.c|
  262. 1.12|Fri Aug 23 12:34:36 1991 Wed Aug 21 18:58:15 1991 gdb_handler.c|
  263. 1.13|Fri Aug 23 12:34:38 1991 Fri Aug 23 12:34:38 1991 global.h|
  264. 1.2|Fri Aug 23 12:34:40 1991 Fri Aug 23 12:34:39 1991 handler.c|
  265. 1.2|Fri Aug 23 12:34:41 1991 Fri Aug 23 12:34:41 1991 parser.c|
  266. 1.4|Fri Aug 23 12:34:42 1991 Fri Aug 23 12:34:42 1991 signals.c|
  267. 1.13|Fri Aug 23 12:34:45 1991 Fri Aug 23 12:34:45 1991 source.c|
  268. SHAR_EOF
  269. chmod 0664 mxgdb/CVS.adm/Entries.Backup ||
  270. echo 'restore of mxgdb/CVS.adm/Entries.Backup failed'
  271. Wc_c="`wc -c < 'mxgdb/CVS.adm/Entries.Backup'`"
  272. test 2359 -eq "$Wc_c" ||
  273.     echo 'mxgdb/CVS.adm/Entries.Backup: original size 2359, current size' "$Wc_c"
  274. rm -f _shar_wnt_.tmp
  275. fi
  276. # ============= mxgdb/CVS.adm/Files ==============
  277. if test -f 'mxgdb/CVS.adm/Files' -a X"$1" != X"-c"; then
  278.     echo 'x - skipping mxgdb/CVS.adm/Files (File already exists)'
  279.     rm -f _shar_wnt_.tmp
  280. else
  281. > _shar_wnt_.tmp
  282. echo 'x - extracting mxgdb/CVS.adm/Files (Text)'
  283. sed 's/^X//' << 'SHAR_EOF' > 'mxgdb/CVS.adm/Files' &&
  284. Imakefile
  285. Mxgdb
  286. Mxgdb.ad
  287. README
  288. arrows.h
  289. bitmaps.c
  290. bitmaps.h
  291. bitmaps2.h
  292. calldbx.c
  293. callgdb.c
  294. command.c
  295. datadpy.h
  296. dbx.c
  297. defs.h
  298. dialog.c
  299. filemenu.c
  300. gdb.c
  301. gdb_handler.c
  302. gdb_parser.c
  303. gdb_regex.h
  304. getpagesize.h
  305. global.h
  306. handler.c
  307. malloc.c
  308. mxgdb.c
  309. parser.c
  310. patchlevel.h
  311. regex.c
  312. regex.h
  313. signals.c
  314. signs.c
  315. source.c
  316. triton.h
  317. utils.c
  318. windows.c
  319. xdbx.c
  320. SHAR_EOF
  321. chmod 0644 mxgdb/CVS.adm/Files ||
  322. echo 'restore of mxgdb/CVS.adm/Files failed'
  323. Wc_c="`wc -c < 'mxgdb/CVS.adm/Files'`"
  324. test 339 -eq "$Wc_c" ||
  325.     echo 'mxgdb/CVS.adm/Files: original size 339, current size' "$Wc_c"
  326. rm -f _shar_wnt_.tmp
  327. fi
  328. # ============= mxgdb/filemenu.c ==============
  329. if test -f 'mxgdb/filemenu.c' -a X"$1" != X"-c"; then
  330.     echo 'x - skipping mxgdb/filemenu.c (File already exists)'
  331.     rm -f _shar_wnt_.tmp
  332. else
  333. > _shar_wnt_.tmp
  334. echo 'x - extracting mxgdb/filemenu.c (Text)'
  335. sed 's/^X//' << 'SHAR_EOF' > 'mxgdb/filemenu.c' &&
  336. static char rcsid[] = "$Id: filemenu.c,v 1.9 1991/08/23 16:34:34 jtsillas Exp $";
  337. X
  338. /* filemenu.c
  339. X *
  340. X *  Construct a file menu (directory browser) which allows a user to go
  341. X *  up and down the directory tree, to select text files to display, and
  342. X *  to select executable files to debug.  The file menu is popped up by
  343. X *  the 'file' command button.
  344. X *  Duane Voth (duanev@mcc.com) contributed to the layout of the file menu, 
  345. X *  plus some code and ideas.
  346. X *
  347. X *  File():        Command callback for the 'file' command button.
  348. X */
  349. X
  350. #include <ctype.h>
  351. #include <X11/Xos.h>
  352. #include <sys/stat.h>
  353. X
  354. #   include <stdio.h>
  355. X
  356. #include "global.h"
  357. #include <Xm/Xm.h>
  358. #include <Xm/FileSB.h>
  359. X
  360. void CancelCallBack()
  361. {
  362. X  XtUnmanageChild(fileSel);
  363. }
  364. X
  365. void OKCallBack(w, client_data, call_data)
  366. Widget w;
  367. caddr_t client_data;
  368. XXmFileSelectionBoxCallbackStruct *call_data;
  369. {
  370. X  Widget TextW;
  371. X
  372. X  char *string;
  373. X  char command[LINESIZ];
  374. X  Arg args[5];
  375. X  struct stat statbuf;
  376. X
  377. X  TextW = XmFileSelectionBoxGetChild(w, XmDIALOG_TEXT);
  378. X  string = (char *)XmTextGetString(TextW);
  379. X
  380. X  XtUnmanageChild(fileSel);
  381. #if !defined(SCO) && !defined(ISC)
  382. X  if(lstat(string, &statbuf) == -1)
  383. #else
  384. X  if(stat(string, &statbuf) == -1)
  385. #endif
  386. X    {
  387. X      UpdateMessageWindow("Could not stat file or directory", NULL);
  388. X      if(string) XtFree(string);
  389. X      return;
  390. X    }
  391. X  if (statbuf.st_mode & S_IFDIR)
  392. X    sprintf(command, "dir %s\n", string);
  393. X  else
  394. X    if (statbuf.st_mode & S_IEXEC)             /* is executable */
  395. X      {
  396. X    sprintf(command, "exec-file %s\n", string);
  397. X    send_command(command);
  398. X    AppendDialogText(command);
  399. X    
  400. X    Echo = True;
  401. X    Parse = True;
  402. X    Prompt = False;
  403. X    while (!Prompt)
  404. X      read_dbx();
  405. X    
  406. X    sprintf(command, "symbol-file %s\n", string);
  407. X      }
  408. X    else
  409. X      {
  410. X                /* Normalize the filename to the last */
  411. X                /* part of the path. Gdb doesn't like */
  412. X                /* full pathnames in its list calls.  */
  413. X    int tmpindex;
  414. X    for(tmpindex = strlen(string) + 1; string[tmpindex] != '/' && 
  415. X        tmpindex; tmpindex--);
  416. X    sprintf(command, "list %s:1\n", &string[tmpindex+1]);
  417. X      }
  418. X  send_command(command);
  419. X  AppendDialogText(command);
  420. X  XtFree(string);
  421. }
  422. X
  423. X
  424. /*  File command button callback.
  425. X */
  426. /* ARGSUSED */
  427. void File(w, client_data, call_data)
  428. X    Widget w;
  429. X    caddr_t client_data;
  430. X    caddr_t call_data;
  431. {
  432. X    Arg     args[MAXARGS];
  433. X    Cardinal    n;
  434. X    Position    x, y, x_offset;
  435. X    Dimension    fileMenu_width, fileMenuLabel_width, border_width,
  436. X        width, dialog_width;
  437. X
  438. X    XtManageChild(fileSel);
  439. X
  440. X    UpdateMessageWindow("Select a file or directory", NULL);
  441. }
  442. X
  443. X
  444. X
  445. X
  446. SHAR_EOF
  447. chmod 0664 mxgdb/filemenu.c ||
  448. echo 'restore of mxgdb/filemenu.c failed'
  449. Wc_c="`wc -c < 'mxgdb/filemenu.c'`"
  450. test 2518 -eq "$Wc_c" ||
  451.     echo 'mxgdb/filemenu.c: original size 2518, current size' "$Wc_c"
  452. rm -f _shar_wnt_.tmp
  453. fi
  454. # ============= mxgdb/README ==============
  455. if test -f 'mxgdb/README' -a X"$1" != X"-c"; then
  456.     echo 'x - skipping mxgdb/README (File already exists)'
  457.     rm -f _shar_wnt_.tmp
  458. else
  459. > _shar_wnt_.tmp
  460. echo 'x - extracting mxgdb/README (Text)'
  461. sed 's/^X//' << 'SHAR_EOF' > 'mxgdb/README' &&
  462. $Id: README,v 1.9 1991/08/23 16:34:27 jtsillas Exp $
  463. X
  464. X
  465. 8-16-91
  466. X
  467. This is an alpha release of a Motif translation of xxgdb.
  468. During translation alot has been changed to fit the Motif style
  469. and my own personal preference. You may not agree with some of the
  470. changes and I ask that you let me know; I'll listen at the very least.
  471. X
  472. A bug which is in this version and which I have no time to fix
  473. is with the handling of the vertical scroll bar for the source 
  474. window. Some source files may cause the scroll bar to fail. If you
  475. notice this problem please let me know and give some details as 
  476. to how you found it. 
  477. X
  478. The 'display' window command could also be spruced up. Send comments on
  479. this. 
  480. X
  481. When writing GUI's its a big help if you know what the final look will be
  482. before you start so I am eager to hear from people who wish to see a
  483. particular look. 
  484. X
  485. -----------------------------------------------------------------------------
  486. To build on SCO Unix add -Dsco and -DSYSV.
  487. X
  488. To build on DPX/2-[23]00 add -DNCLX, -DSYSV and -Dncl_mr.
  489. X
  490. To build on ISC UNIX add -DSYSV -DSVR4_PTY.
  491. X
  492. To build on Sun 4 and Sun 3 use -DSYSV and -DSUNOS4 if using SunOS 4.0 or 
  493. earlier, and usr /usr/5bin/cc compiler. If using SunOS 4.1 do not used -DSYSV 
  494. or -DSUNOS4 and use the normal compiler.
  495. To build on SVR4 add -DSYSV and -DSVR4_PTY.
  496. X
  497. To build on BSD add nothing and cross your fingers.
  498. X
  499. To build on SystemV.3 add -DSYSV and cross your fingers.
  500. X
  501. Mxgdb now supports /dev/ptmx (or SVR4 style) pseudo-tty's. If your system
  502. has these types of pty's use -DSVR4_PTY when building.
  503. X
  504. GNU malloc is supplied with mxgdb to help improve speed. You may need to add
  505. flags in order to build malloc.o. If you do not wish to use GNU malloc,
  506. remove the malloc.c and malloc.o entries in the Imakefile.
  507. -----------------------------------------------------------------------------
  508. X
  509. Mxgdb is successfully running on a variety of systems. If you get it working on
  510. a system not listed here. Let me know so I can include it on the list
  511. and add the compilation options.
  512. X
  513. This version of mxgdb will not work with gdb-3.98 since the command formats 
  514. have changed with this release. I will most likely fix this with gdb-4.0.
  515. X
  516. Documentation will not be written for mxgdb at least until I am satisfied with
  517. the interface. If someone wishes to write documentation I will gladly help.
  518. X
  519. Enjoy.
  520. X
  521. -Jim. 
  522. X
  523. My email address is:
  524. J.Tsillas@ma30.bull.com
  525. X
  526. SHAR_EOF
  527. chmod 0664 mxgdb/README ||
  528. echo 'restore of mxgdb/README failed'
  529. Wc_c="`wc -c < 'mxgdb/README'`"
  530. test 2399 -eq "$Wc_c" ||
  531.     echo 'mxgdb/README: original size 2399, current size' "$Wc_c"
  532. rm -f _shar_wnt_.tmp
  533. fi
  534. # ============= mxgdb/defs.h ==============
  535. if test -f 'mxgdb/defs.h' -a X"$1" != X"-c"; then
  536.     echo 'x - skipping mxgdb/defs.h (File already exists)'
  537.     rm -f _shar_wnt_.tmp
  538. else
  539. > _shar_wnt_.tmp
  540. echo 'x - extracting mxgdb/defs.h (Text)'
  541. sed 's/^X//' << 'SHAR_EOF' > 'mxgdb/defs.h' &&
  542. /* $Id: defs.h,v 1.7 1991/08/23 16:34:32 jtsillas Exp $ */
  543. X
  544. /*****************************************************************************
  545. X *
  546. X *  xdbx - X Window System interface to the dbx debugger
  547. X *
  548. X *  Copyright 1989 The University of Texas at Austin
  549. X *  Copyright 1990 Microelectronics and Computer Technology Corporation
  550. X *
  551. X *  Permission to use, copy, modify, and distribute this software and its
  552. X *  documentation for any purpose and without fee is hereby granted,
  553. X *  provided that the above copyright notice appear in all copies and that
  554. X *  both that copyright notice and this permission notice appear in
  555. X *  supporting documentation, and that the name of The University of Texas
  556. X *  and Microelectronics and Computer Technology Corporation (MCC) not be 
  557. X *  used in advertising or publicity pertaining to distribution of
  558. X *  the software without specific, written prior permission.  The
  559. X *  University of Texas and MCC makes no representations about the 
  560. X *  suitability of this software for any purpose.  It is provided "as is" 
  561. X *  without express or implied warranty.
  562. X *
  563. X *  THE UNIVERSITY OF TEXAS AND MCC DISCLAIMS ALL WARRANTIES WITH REGARD TO
  564. X *  THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
  565. X *  FITNESS, IN NO EVENT SHALL THE UNIVERSITY OF TEXAS OR MCC BE LIABLE FOR
  566. X *  ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
  567. X *  RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
  568. X *  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  569. X *  CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  570. X *
  571. X *  Author:      Po Cheung
  572. X *  Created:       March 10, 1989
  573. X * 
  574. X *****************************************************************************
  575. X * 
  576. X *  xxgdb - X Window System interface to the gdb debugger
  577. X *  
  578. X *     Copyright 1990 Thomson Consumer Electronics, Inc.
  579. X *  
  580. X *  Permission to use, copy, modify, and distribute this software and its
  581. X *  documentation for any purpose and without fee is hereby granted,
  582. X *  provided that the above copyright notice appear in all copies and that
  583. X *  both that copyright notice and this permission notice appear in
  584. X *  supporting documentation, and that the name of Thomson Consumer
  585. X *  Electronics (TCE) not be used in advertising or publicity pertaining
  586. X *  to distribution of the software without specific, written prior
  587. X *  permission.  TCE makes no representations about the suitability of
  588. X *  this software for any purpose.  It is provided "as is" without express
  589. X *  or implied warranty.
  590. X *
  591. X *  TCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  592. X *  ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT
  593. X *  SHALL TCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES
  594. X *  OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  595. X *  WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  596. X *  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  597. X *  SOFTWARE.
  598. X *
  599. X *  Adaptation to GDB:  Pierre Willard
  600. X *  XXGDB Created:       December, 1990
  601. X *
  602. X *****************************************************************************/
  603. X
  604. /*  defs.h
  605. X *
  606. X *    Contain #includes, #defines and typedefs
  607. X */
  608. X
  609. #include <stdio.h>
  610. #include <sys/param.h>
  611. #include <X11/Xos.h>
  612. #include <X11/IntrinsicP.h>
  613. #include <X11/StringDefs.h>
  614. #include <X11/Xatom.h>
  615. #include <X11/Shell.h>
  616. #include <X11/cursorfont.h>
  617. #include <Xm/Xm.h>
  618. X
  619. #ifndef AssignMax
  620. #define AssignMax(x, y)     if ((y) > (x)) x = (y)
  621. #endif
  622. #ifndef AssignMin
  623. #define AssignMin(x, y)     if ((y) < (x)) x = (y)
  624. #endif
  625. X
  626. #define NHELPLABELS    50    /* Number of labels for children on select */
  627. #define NHELPBUTTONS    50    /* Number of buttons for children  */
  628. #define LINESIZ         512    /* input line length */
  629. #define MAXNAME         256    /* max identifier length */
  630. #define MAXARGS     20    /* max number of args */
  631. #define ADD_SIZE     16    /* # of files added during Realloc */
  632. #define CHARS_PER_LINE  20    /* estimated number of chars per line */
  633. #define ADD_LINES       50    /* # of lines to be added in realloc */
  634. #define NTOKENS        6    /* number of tokens */
  635. #define DEBUGGER          "gdb"    /* name of executable */
  636. #define XDBXPROMPT      "(mxgdb) " /* xdbx prompt string */
  637. #define DELIMITERS    " !%^&*()+=~|;:{},/#<?\"\n\t"
  638. X
  639. #define BREAK_HELP    "Please select a function name or an address, or put cursor on a line to break at"
  640. #define CLEAR_HELP    "Please select a stop sign to clear"
  641. #define PRINT_HELP    "Please select an expression to print"
  642. #define UNDISPLAY_HELP    "Please select a number to undisplay"
  643. #define DISPLAY_HELP    "Please select ax expression to display"
  644. #define SEARCH_HELP    "Nothing to search"
  645. X
  646. #define    LASTCH(s)    (s[strlen(s)-1]) /* Last character in a string */
  647. #define    SECLASTCH(s)    (s[strlen(s)-2]) /* Second to last character */
  648. X
  649. #define _SCROLLDOWN ((int *)1)    /* These are used as callback arguments */
  650. #define _SCROLLUP ((int *)2)    /* for the vertical scroll back and for the */
  651. #define _SCROLLUPPAGE ((int *)3) /* left/right page buttons. */
  652. #define _SCROLLDOWNPAGE ((int *)4)
  653. #define _SCROLLDRAG ((int *)5)
  654. #define _SCROLLRIGHT ((int *) 6)
  655. #define _SCROLLLEFT ((int *) 7)
  656. #define _SCROLLDROP ((int *) 8)
  657. #define _PAGELEFT ((int *) 9)
  658. #define _PAGERIGHT ((int *) 10)
  659. #define SASH_MOTION 1        /* An UpdateSigns reason */
  660. X
  661. #define HELP_LEVELS 8        /* The maximum number of levels in help */
  662. #define HELP_SIZE 128        /* The maximum length of help command */
  663. X
  664. typedef struct {        /* Structure which defines a button */
  665. X  Widget Button;        /* within the pulldown menu heirarchy  */
  666. X  char *Label;            /* in the menu bar. This is used by */
  667. X  char *Argument;        /* the Command heirarchy and the Help */
  668. X  char *RN;            /* heirarchy. Button specifies the  */
  669. X  void (*CB)();            /* widget, Label is text placed in the */
  670. X  char *accel;            /* button, Argument is passed to the */
  671. X  char *acceltext;        /* callback (CB XmNactivateCallback), */
  672. } MenuButtonStruct;        /* RN is the resource name, accel and */
  673. X                /* acceltext are the accelerator KeyPress */
  674. X                /* and text, respectively. */
  675. X
  676. typedef struct {        /* Structure which defines a pulldown menu */
  677. X  Widget CB;            /* pane within the oulldown menu heirarchy. */
  678. X  Widget PM;            /* CB is the CascadeButton widget, PM is the */
  679. X  char *Label;            /* PM is the PulldownMenu, Label is the */
  680. X  char *RNPM;            /* button's label, RNPM and RNCB are the */
  681. X  char *RNCB;            /* resource names for the PM and CB, Buttons */
  682. X  MenuButtonStruct *Buttons;    /* points to a MenuButton Struct for the */
  683. X  int Nbuttons;            /* child buttons, Nbuttons is the number of */
  684. X  char mnemonic;        /* button children, mnemonic is the mnemonic */
  685. } PMCBStruct;            /* KeySym. */
  686. X  
  687. typedef struct {        /* This structure defines the buttons for */
  688. X  Widget button;        /* the vertical command buttons next to the */
  689. X  char *buttonname;        /* source window. */
  690. X  char *labelbits;
  691. X  int labelwidth;
  692. X  int labelheight;
  693. X  void (*CB)();
  694. X  char *CBarg;
  695. } buttonstruct;
  696. X
  697. typedef struct {
  698. X  Boolean useCommandDialog;    /* Use a dialog box for the command windows */
  699. X    Boolean   bell;        /* if True, bell on */
  700. X    String    delimiters;    /* set of delimiters for word selection */
  701. X    String    prompt;        /* prompt string for xdbx */
  702. X
  703. X    Pixel     stop_color;    /* color of stop sign */
  704. X    Pixel     arrow_color;    /* color of arrow sign */
  705. X    Pixel     updown_color;    /* color of updown sign */
  706. X    Pixel     bomb_color;    /* color of bomb sign */
  707. X
  708. X    Boolean   bigicon;        /* xdbx option -bigicon */
  709. X    Boolean   debug;        /* xdbx option -debug */
  710. X
  711. X    String    includeDir;    /* dbx option -I includeDir */
  712. X    String    cfile;        /* Berkeley  dbx option -c file */
  713. X    String    startup;        /* SunOS 4.0 dbx option -s startup */
  714. X    String    tstartup;        /* SunOS 4.0 dbx option -sr tstartup */
  715. } MxgdbResources;
  716. X
  717. typedef struct {
  718. X    char         *filename;    /* name of file */
  719. X    char         *pathname;    /* full path name of file */
  720. X    char         *buf;        /* buffer holding source file */
  721. X    long        filesize;    /* size of file in bytes */
  722. X    time_t        mtime;        /* time last modified */
  723. X    int             lines;        /* # of lines on display */
  724. X    int             currentline;    /* line where caret is */
  725. X    int             topline;    /* top line number in the window */
  726. X    int             bottomline;    /* bottom line number in window */
  727. X    int             lastline;    /* number of lines in source file */
  728. X    XmTextPosition     topPosition;    /* top display position of buffer */
  729. X    XmTextPosition     *linepos;    /* array of text pos for each newline*/
  730. } FileRec, *FileRecPtr;
  731. X
  732. typedef struct {
  733. X    char    *mesg;            /* part of matched string */
  734. X    unsigned    stop;            /* stop number */
  735. X    char     *func;            /* function name */
  736. X    int        line;            /* line number */
  737. X    char    *file;            /* file name */
  738. X    char    *display;        /* variable display output */
  739. } Tokens;
  740. X
  741. typedef struct {
  742. X    char            *pat;        /* regular expression */
  743. X    struct re_pattern_buffer    *buf;        /* buffer for compile regex */
  744. X    int                reg_token[NTOKENS];    /* register number */
  745. } PatternRec, *PatternRecPtr;
  746. X
  747. typedef struct commandRec {
  748. X    char        *command;
  749. X    struct commandRec    *next;
  750. } CommandRec, *CommandRecPtr;
  751. X
  752. typedef struct {
  753. X    Cardinal    i;            /* index to arrowsign[] */
  754. X    char    file[MAXNAME];        /* file associated with */
  755. X    int         line;            /* line number */
  756. X    char     func[MAXNAME];        /* function name associated with */
  757. } Arrow;
  758. X
  759. typedef struct {
  760. X    Cardinal    i;            /* index to updownsign[] */
  761. X    char    file[MAXNAME];        /* file associated with */
  762. X    int         line;            /* line number */
  763. X    char     func[MAXNAME];        /* function name associated with */
  764. } Updown;
  765. X
  766. typedef struct {
  767. X    char    *file;            /* file associated with */
  768. X    int         line;            /* line number of stop */
  769. X    unsigned    tag;                    /* used in deleting stops */
  770. } Stops;
  771. X
  772. typedef struct {
  773. X    Cardinal    i;            /* index to bombsign[] */
  774. X    char    file[MAXNAME];        /* file associated with */
  775. X    int         line;            /* line number */
  776. X    char     func[MAXNAME];        /* function name associated with */
  777. } Bomb;
  778. X
  779. X
  780. typedef struct {
  781. X    Widget      w;
  782. X    Boolean     mapped;
  783. } ArrowSign;
  784. X
  785. typedef struct {
  786. X    Widget      w;
  787. X    Boolean     mapped;
  788. } UpdownSign;
  789. X
  790. typedef struct {
  791. X    Widget      w;
  792. X    Boolean     mapped;
  793. } StopSign;
  794. X
  795. typedef struct {
  796. X    Widget      w;
  797. X    Boolean     mapped;
  798. } BombSign;
  799. SHAR_EOF
  800. chmod 0664 mxgdb/defs.h ||
  801. echo 'restore of mxgdb/defs.h failed'
  802. Wc_c="`wc -c < 'mxgdb/defs.h'`"
  803. test 10149 -eq "$Wc_c" ||
  804.     echo 'mxgdb/defs.h: original size 10149, current size' "$Wc_c"
  805. rm -f _shar_wnt_.tmp
  806. fi
  807. # ============= mxgdb/arrows.h ==============
  808. if test -f 'mxgdb/arrows.h' -a X"$1" != X"-c"; then
  809.     echo 'x - skipping mxgdb/arrows.h (File already exists)'
  810.     rm -f _shar_wnt_.tmp
  811. else
  812. > _shar_wnt_.tmp
  813. echo 'x - extracting mxgdb/arrows.h (Text)'
  814. sed 's/^X//' << 'SHAR_EOF' > 'mxgdb/arrows.h' &&
  815. /* $Id: arrows.h,v 1.2 1991/08/02 01:16:55 jtsillas Exp $ */
  816. X
  817. X
  818. #define arrowup_width 24
  819. #define arrowup_height 16
  820. static char arrowup_bits[] = {
  821. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x3c, 0x00,
  822. X   0x00, 0x7e, 0x00, 0x00, 0xff, 0x00, 0x80, 0xff, 0x01, 0xc0, 0xff, 0x03,
  823. X   0xe0, 0xff, 0x07, 0xf0, 0xff, 0x0f, 0xf8, 0xff, 0x1f, 0xfc, 0xff, 0x3f,
  824. X   0xfe, 0xff, 0x7f, 0xfe, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
  825. X
  826. X
  827. #define arrowdown_width 24
  828. #define arrowdown_height 16
  829. static char arrowdown_bits[] = {
  830. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x7f, 0xfe, 0xff, 0x7f,
  831. X   0xfc, 0xff, 0x3f, 0xf8, 0xff, 0x1f, 0xf0, 0xff, 0x0f, 0xe0, 0xff, 0x07,
  832. X   0xc0, 0xff, 0x03, 0x80, 0xff, 0x01, 0x00, 0xff, 0x00, 0x00, 0x7e, 0x00,
  833. X   0x00, 0x3c, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
  834. X
  835. SHAR_EOF
  836. chmod 0644 mxgdb/arrows.h ||
  837. echo 'restore of mxgdb/arrows.h failed'
  838. Wc_c="`wc -c < 'mxgdb/arrows.h'`"
  839. test 838 -eq "$Wc_c" ||
  840.     echo 'mxgdb/arrows.h: original size 838, current size' "$Wc_c"
  841. rm -f _shar_wnt_.tmp
  842. fi
  843. # ============= mxgdb/Imakefile ==============
  844. if test -f 'mxgdb/Imakefile' -a X"$1" != X"-c"; then
  845.     echo 'x - skipping mxgdb/Imakefile (File already exists)'
  846.     rm -f _shar_wnt_.tmp
  847. else
  848. > _shar_wnt_.tmp
  849. echo 'x - extracting mxgdb/Imakefile (Text)'
  850. sed 's/^X//' << 'SHAR_EOF' > 'mxgdb/Imakefile' &&
  851. # $Id: Imakefile,v 1.3 1991/08/23 16:34:24 jtsillas Exp $
  852. X
  853. #
  854. # Read the README file for a list of options to include for your system
  855. #
  856. LOCAL_LIBRARIES = $(XMLIB) $(XTLIB) $(XLIB) 
  857. X
  858. X           SRCS1 = callgdb.c command.c gdb.c dialog.c filemenu.c \
  859. X          handler.c parser.c regex.c signs.c signals.c source.c \
  860. X          utils.c windows.c mxgdb.c malloc.c bitmaps.c
  861. X
  862. X           OBJS1 = callgdb.o command.o gdb.o dialog.o filemenu.o \
  863. X          handler.o parser.o regex.o signs.o signals.o source.o \
  864. X          utils.o windows.o mxgdb.o malloc.o bitmaps.o
  865. X
  866. PROGRAMS = mxgdb
  867. X
  868. NormalLibraryObjectRule()
  869. X
  870. ComplexProgramTarget_1(mxgdb,$(LOCAL_LIBRARIES), $(SYSLIBS))
  871. X
  872. InstallAppDefaults(Mxgdb)
  873. X
  874. handler.o: gdb_handler.c
  875. parser.o: gdb_parser.c gdb_regex.h
  876. SHAR_EOF
  877. chmod 0664 mxgdb/Imakefile ||
  878. echo 'restore of mxgdb/Imakefile failed'
  879. Wc_c="`wc -c < 'mxgdb/Imakefile'`"
  880. test 729 -eq "$Wc_c" ||
  881.     echo 'mxgdb/Imakefile: original size 729, current size' "$Wc_c"
  882. rm -f _shar_wnt_.tmp
  883. fi
  884. # ============= mxgdb/Makefile ==============
  885. if test -f 'mxgdb/Makefile' -a X"$1" != X"-c"; then
  886.     echo 'x - skipping mxgdb/Makefile (File already exists)'
  887.     rm -f _shar_wnt_.tmp
  888. else
  889. > _shar_wnt_.tmp
  890. echo 'x - extracting mxgdb/Makefile (Text)'
  891. sed 's/^X//' << 'SHAR_EOF' > 'mxgdb/Makefile' &&
  892. # Makefile generated by imake - do not edit!
  893. # $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
  894. X
  895. ###########################################################################
  896. # Makefile generated from "Imake.tmpl" and </tmp/IIf.001469>
  897. # $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
  898. #
  899. # Platform-specific parameters may be set in the appropriate .cf
  900. # configuration files.  Site-wide parameters may be set in the file
  901. # site.def.  Full rebuilds are recommended if any parameters are changed.
  902. #
  903. # If your C preprocessor doesn't define any unique symbols, you'll need
  904. # to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
  905. # "make Makefile", "make Makefiles", or "make World").
  906. #
  907. # If you absolutely can't get imake to work, you'll need to set the
  908. # variables at the top of each Makefile as well as the dependencies at the
  909. # bottom (makedepend will do this automatically).
  910. #
  911. X
  912. ###########################################################################
  913. # platform-specific configuration parameters - edit Mips.cf to change
  914. X
  915. # platform:  $XConsortium: Mips.cf,v 1.2 89/01/11 14:58:19 jim Exp $
  916. # operating system:             RISCOS
  917. X
  918. X         SYSVTYPE = -systype sysv
  919. X          BSDTYPE = -systype bsd43
  920. X         SYSVDEFS = -DMips -DSYSV
  921. X          BSDDEFS = -DMips -DBSD43
  922. X         SYSVINCS = -I$(DESTDIR)/usr/include/bsd
  923. X          BSDINCS =
  924. X         SYSVLIBS = -lbsd -lmld
  925. X          BSDLIBS = -lmld
  926. X
  927. X          SYSTYPE = $(BSDTYPE)
  928. X          SYSDEFS = $(BSDDEFS)
  929. X          SYSINCS = $(BSDINCS)
  930. X          SYSLIBS = $(BSDLIBS)
  931. X
  932. X     OPTIM = -O -Olimit 2000 -Wf,-XNd8400,-XNp12000
  933. X     CCOPT = -signed
  934. X   DEFINES = -D_NO_PROTO
  935. SYSVCFLAGS = $(OPTIM) $(CCOPT) $(SYSVTYPE) $(INCLUDES) $(SYSVDEFS) $(SYSVINCS) $(DEFINES)
  936. X BSDCFLAGS = $(OPTIM) $(CCOPT) $(BSDTYPE)  $(INCLUDES) $(BSDDEFS)  $(BSDINCS)  $(DEFINES)
  937. X
  938. X           ETCDIR = /etc
  939. X          ULIBDIR = /usr/lib
  940. X
  941. X      XINSTALLDIR = X-windows4.0
  942. X     INSTALLFLAGS = -m 0555
  943. X        RS1210DIR = $(DESTDIR)/usr/$(XINSTALLDIR)/RS1210
  944. X    CONTRIBBINDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/contrib/bin
  945. CONTRIBAPPSDEFDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/contrib/lib/app-defaults
  946. X    CONTRIBMANDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/contrib/man
  947. X    CONTRIBSRCDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/contrib/src
  948. X      EXTRABINDIR = $(BINDIR)/extra
  949. X     RS1210LIBDIR = $(LIBDIR)/ncd
  950. X
  951. X          BINPATH = /usr/bin/X11
  952. X          LIBPATH = /usr/lib/X11
  953. X          ETCPATH = /usr/etc/X11
  954. X          ADMPATH = /usr/adm
  955. X          NCDPATH = /usr/X11/ncd
  956. X     EXTRABINPATH = $(BINPATH)/extra
  957. X       NCDLIBPATH = $(LIBPATH)/ncd
  958. X        XINITPATH = $(LIBPATH)/xinit
  959. X          XDMPATH = $(ETCPATH)/xdm
  960. X          UWMPATH = $(LIBPATH)/uwm
  961. X          AWMPATH = $(LIBPATH)/awm
  962. X          MWMPATH = $(LIBPATH)/mwm
  963. X          TWMPATH = $(LIBPATH)/twm
  964. X     XAPPLOADPATH = $(LIBPATH)/app-defaults
  965. X        RS1210SRC = $(TOP)/rs1210
  966. X
  967. X       MOTIFSRC = $(TOP)/motif
  968. X        MLIBSRC = $(MOTIFSRC)/lib
  969. X     MCLIENTSRC = $(MOTIFSRC)/clients
  970. X       MDEMOSRC = $(MOTIFSRC)/demos
  971. X    MTOOLKITSRC = $(MOTIFSRC)/X11R4/lib/Xt
  972. X     MWIDGETSRC = $(MLIBSRC)/Xm
  973. X   INCLUDEXMSRC = $(MLIBSRC)/Xm
  974. X   MRESOURCESRC = $(MLIBSRC)/Mrm
  975. X         MWMDIR = $(LIBDIR)/Mwm
  976. X     DEMOBINDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/demos/bin
  977. X     DEMOSRCDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/demos/src
  978. X       MINCLUDE = $(TOP)/include
  979. X         UILSRC = $(MCLIENTSRC)/uil
  980. X            UIL = $(UILSRC)/uil
  981. X
  982. X      XMTOOLLIB = $(MTOOLKITSRC)/libXt.a
  983. X          XMLIB = $(MWIDGETSRC)/libXm.a
  984. X   MRESOURCELIB = $(MRESOURCESRC)/libMrm.a
  985. X         UILLIB = $(UILSRC)/libUil.a
  986. X
  987. X        XWCMSRC = $(LIBSRC)/Xwcm
  988. X SYSVDEPXWCMLIB = $(XWCMSRC)/libsysvXwcm.a
  989. X  BSDDEPXWCMLIB = $(XWCMSRC)/libbsdXwcm.a
  990. X     DEPXWCMLIB = $(XWCMSRC)/libXwcm.a
  991. X
  992. X    SYSVXWCMLIB = $(SYSVDEPXWCMLIB)
  993. X     BSDXWCMLIB = $(BSDDEPXWCMLIB)
  994. X        XWCMLIB = $(DEPXWCMLIB)
  995. X
  996. X  BUILDTOOLSDIR = $(TOP)/buildtools
  997. CROSSENVOVERRIDE= DESTROOT=/ COMP_TARGET_ROOT=/ ETCDIR=/etc ULIBDIR=/usr/lib
  998. X
  999. ###########################################################################
  1000. # site-specific configuration parameters - edit site.def to change
  1001. X
  1002. # site:  $XConsortium: site.def,v 1.21 89/12/06 11:46:50 jim Exp $
  1003. X
  1004. X            SHELL =     /bin/sh
  1005. X
  1006. X              TOP = .
  1007. X      CURRENT_DIR = .
  1008. X
  1009. X               AR = ar clr
  1010. X  BOOTSTRAPCFLAGS = $(SYSDEFS)
  1011. X               CC = cc
  1012. X
  1013. X         COMPRESS = compress
  1014. X              CPP = /lib/cpp $(STD_CPP_DEFINES)
  1015. X    PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
  1016. X          INSTALL = $(ETCDIR)/mipsinstall
  1017. X               LD = ld
  1018. X             LINT = lint
  1019. X      LINTLIBFLAG = -C
  1020. X         LINTOPTS = -axz
  1021. X               LN = ln -s
  1022. X             MAKE = make ETCDIR='$(ETCDIR)' ULIBDIR='$(ULIBDIR)'
  1023. X               MV = mv
  1024. X               CP = cp
  1025. X           RANLIB = /bin/true
  1026. X  RANLIBINSTFLAGS =
  1027. X               RM = rm -f
  1028. X     STD_INCLUDES =
  1029. X  STD_CPP_DEFINES = $(SYSDEFS)
  1030. X      STD_DEFINES = $(SYSDEFS) $(SYSINCS)
  1031. X EXTRA_LOAD_FLAGS =
  1032. X  EXTRA_LIBRARIES = $(SYSLIBS)
  1033. X             TAGS = ctags
  1034. X
  1035. X   SIGNAL_DEFINES = -DSIGNALRETURNSINT
  1036. X
  1037. X    PROTO_DEFINES =
  1038. X
  1039. X     INSTPGMFLAGS =
  1040. X
  1041. X     INSTBINFLAGS = -m 0755
  1042. X     INSTUIDFLAGS = -m 4755
  1043. X     INSTLIBFLAGS = -m 0664
  1044. X     INSTINCFLAGS = -m 0444
  1045. X     INSTMANFLAGS = -m 0444
  1046. X     INSTDATFLAGS = -m 0444
  1047. X    INSTKMEMFLAGS = -g sys -m 2755
  1048. X
  1049. X          DESTDIR = $(DESTROOT)
  1050. X
  1051. X     TOP_INCLUDES = -I$(INCROOT)
  1052. X
  1053. X      CDEBUGFLAGS = $(OPTIM) $(CCOPT) $(SYSTYPE)
  1054. X        CCOPTIONS =
  1055. X      COMPATFLAGS =
  1056. X
  1057. X      ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
  1058. X       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS) $(EXT_DEFINES)
  1059. X           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
  1060. X        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
  1061. X           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
  1062. X        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
  1063. X   LDCOMBINEFLAGS = -X -r
  1064. X
  1065. X        MACROFILE = Mips.cf
  1066. X           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut *.u *.b
  1067. X
  1068. X    IMAKE_DEFINES =
  1069. X
  1070. X         IRULESRC = $(CONFIGDIR)
  1071. X        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
  1072. X
  1073. X     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
  1074. X            $(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
  1075. X            $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
  1076. X
  1077. ###########################################################################
  1078. # X Window System Build Parameters
  1079. # $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
  1080. X
  1081. ###########################################################################
  1082. # X Window System make variables; this need to be coordinated with rules
  1083. # $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
  1084. X
  1085. X          PATHSEP = /
  1086. X        USRLIBDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/lib
  1087. X           BINDIR = $(DESTDIR)/usr/$(XINSTALLDIR)/bin
  1088. X          INCROOT = $(DESTDIR)/usr/$(XINSTALLDIR)/include
  1089. X     BUILDINCROOT = $(TOP)
  1090. X      BUILDINCDIR = $(BUILDINCROOT)/X11
  1091. X      BUILDINCTOP = ..
  1092. X           INCDIR = $(INCROOT)/X11
  1093. X           ADMDIR = $(DESTDIR)/usr/adm
  1094. X           LIBDIR = $(USRLIBDIR)/X11
  1095. X        CONFIGDIR = $(LIBDIR)/config
  1096. X       LINTLIBDIR = $(USRLIBDIR)/lint
  1097. X
  1098. X          FONTDIR = $(LIBDIR)/fonts
  1099. X         XINITDIR = $(LIBDIR)/xinit
  1100. X           XDMDIR = $(DESTDIR)/usr/X11/etc/xdm
  1101. X           AWMDIR = $(LIBDIR)/awm
  1102. X           TWMDIR = $(LIBDIR)/twm
  1103. X           GWMDIR = $(LIBDIR)/gwm
  1104. X          MANPATH = $(DESTDIR)/usr/$(XINSTALLDIR)/man/cat
  1105. X    MANSOURCEPATH = $(MANPATH)/man
  1106. X           MANDIR = $(MANSOURCEPATH)1
  1107. X        LIBMANDIR = $(MANSOURCEPATH)3
  1108. X      XAPPLOADDIR = $(LIBDIR)/app-defaults
  1109. X
  1110. X       FONTCFLAGS = -t
  1111. X
  1112. X     INSTAPPFLAGS = $(INSTDATFLAGS)
  1113. X
  1114. X            IMAKE = imake
  1115. X           DEPEND = makedepend
  1116. X              RGB = rgb
  1117. X            FONTC = bdftosnf
  1118. X        MKFONTDIR = mkfontdir
  1119. X        MKDIRHIER =     /bin/sh $(BINDIR)/mkdirhier.sh
  1120. X
  1121. X        CONFIGSRC = $(TOP)/config
  1122. X        CLIENTSRC = $(TOP)/clients
  1123. X          DEMOSRC = $(TOP)/demos
  1124. X           LIBSRC = $(TOP)/lib
  1125. X          FONTSRC = $(TOP)/fonts
  1126. X       INCLUDESRC = $(TOP)/X11
  1127. X        SERVERSRC = $(TOP)/server
  1128. X          UTILSRC = $(TOP)/util
  1129. X        SCRIPTSRC = $(UTILSRC)/scripts
  1130. X       EXAMPLESRC = $(TOP)/examples
  1131. X       CONTRIBSRC = $(TOP)/../contrib
  1132. X           DOCSRC = $(TOP)/doc
  1133. X           RGBSRC = $(TOP)/rgb
  1134. X        DEPENDSRC = $(UTILSRC)/makedepend
  1135. X         IMAKESRC = $(CONFIGSRC)
  1136. X         XAUTHSRC = $(LIBSRC)/Xau
  1137. X          XLIBSRC = $(LIBSRC)/X
  1138. X           XMUSRC = $(LIBSRC)/Xmu
  1139. X       TOOLKITSRC = $(LIBSRC)/Xt
  1140. X       AWIDGETSRC = $(LIBSRC)/Xaw
  1141. X       OLDXLIBSRC = $(LIBSRC)/oldX
  1142. X      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
  1143. X      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
  1144. X     MKFONTDIRSRC = $(FONTSRC)/mkfontdir
  1145. X     EXTENSIONSRC = $(TOP)/extensions
  1146. X
  1147. X  DEPEXTENSIONLIB =  $(USRLIBDIR)/libXext.a
  1148. X     EXTENSIONLIB =               -lXext
  1149. X
  1150. X          DEPXLIB = $(DEPEXTENSIONLIB)  $(USRLIBDIR)/libX11.a
  1151. X             XLIB = $(EXTENSIONLIB)               -lX11
  1152. X
  1153. X      DEPXAUTHLIB =  $(USRLIBDIR)/libXau.a
  1154. X         XAUTHLIB =               -lXau
  1155. X
  1156. X        DEPXMULIB =  $(USRLIBDIR)/libXmu.a
  1157. X           XMULIB =               -lXmu
  1158. X
  1159. X       DEPOLDXLIB =  $(USRLIBDIR)/liboldX.a
  1160. X          OLDXLIB =               -loldX
  1161. X
  1162. X      DEPXTOOLLIB =  $(USRLIBDIR)/libXt.a
  1163. X         XTOOLLIB =               -lXt
  1164. X
  1165. X        DEPXAWLIB =  $(USRLIBDIR)/libXaw.a
  1166. X           XAWLIB =               -lXaw
  1167. X
  1168. X LINTEXTENSIONLIB =  $(USRLIBDIR)/llib-lXext.ln
  1169. X         LINTXLIB =  $(USRLIBDIR)/llib-lX11.ln
  1170. X          LINTXMU =  $(USRLIBDIR)/llib-lXmu.ln
  1171. X        LINTXTOOL =  $(USRLIBDIR)/llib-lXt.ln
  1172. X          LINTXAW =  $(USRLIBDIR)/llib-lXaw.ln
  1173. SHAR_EOF
  1174. true || echo 'restore of mxgdb/Makefile failed'
  1175. fi
  1176. echo 'End of  part 1'
  1177. echo 'File mxgdb/Makefile is continued in part 2'
  1178. echo 2 > _shar_seq_.tmp
  1179. exit 0
  1180.  
  1181.