home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / alt / lucidem / help / 422 < prev    next >
Encoding:
Text File  |  1992-09-14  |  3.4 KB  |  117 lines

  1. x-gateway: rodan.UU.NET from help-lucid-emacs to alt.lucid-emacs.help; Mon, 14 Sep 1992 10:11:09 EDT
  2. From: bobhays@spss.com
  3. Message-ID: <9209141410.AA15599@ibmws001.spss.com>
  4. Subject: Here are diffs so far to get Lucid to build on AIX
  5. Date: Mon, 14 Sep 1992 09:10:55 CDT
  6. X-Mailer: ELM [version 2.3 PL11]
  7. Newsgroups: alt.lucid-emacs.help
  8. Path: sparky!uunet!wendy-fate.uu.net!help-lucid-emacs
  9. Sender: help-lucid-emacs-request@lucid.com
  10. Lines: 105
  11.  
  12. Here are my differences so far.
  13.  
  14. First, config.h.  This is trivial and you should know what to do here
  15. (note that I am using Motif).
  16.  
  17. > diff config.h config.h-dist
  18. 35c35
  19. < /* #define USE_GCC */
  20. ---
  21. > #define USE_GCC
  22. 43c43
  23. < #include "s/s-aix3-1.h"
  24. ---
  25. > #include "s/s-sunos4.h"
  26. 50c50
  27. < #include "m/m-ibmrs6000.h"
  28. ---
  29. > #include "m/m-sparc.h"
  30. 177c177
  31. < #define LWLIB_USES_MOTIF
  32. ---
  33. > /* #define LWLIB_USES_MOTIF */
  34.  
  35. Second, gmalloc.c.  Here, somebody just goes and defines size_t and
  36. then includes stdio.h later!  Someone should read something on ANSI C
  37. I think.  Anyway, this hack is definitely dependent on AIX; now that I
  38. think about it, a possibly better solution is to undef size_t before
  39. entering stdio.h.
  40.  
  41. > diff gmalloc.c gmalloc.c~
  42. 49c49
  43. < #    include <stddef.h>
  44. ---
  45. > #include <stddef.h>
  46. 51,53c51,55
  47. < #    undef  size_t
  48. < #    define size_t unsigned int
  49. < #    define _SIZE_T
  50. ---
  51. > #undef        size_t
  52. > #define       size_t  unsigned int
  53. > #ifdef AIX
  54. > #define _SIZE_T                                                                 /* Do this to keep stdio.h h
  55. appy. */
  56. > #endif
  57.  
  58. Third, look at sysdep.c.  You'll see AIX 3.1 isms.  You must change
  59. HFQEIO to HFQERROR for 3.2.
  60.  
  61. > diff sysdep.c sysdep.c~
  62. 4246c4246
  63. <   if (ioctl (0, HFQERROR, 0) < 0)
  64. ---
  65. >   if (ioctl (0, HFQEIO, 0) < 0)
  66. 4284c4284
  67. <   if (ioctl (0, HFQERROR, 0) != -1)
  68. ---
  69. >   if (ioctl (0, HFQEIO, 0) != -1)
  70. 4300c4300
  71. <   if (ioctl (0, HFQERROR, 0) < 0)
  72. ---
  73. >   if (ioctl (0, HFQEIO, 0) < 0)
  74.  
  75. I had to turn off LD_SWITCH_SYSTEM (this should probably be done in
  76. m-ibmrs6000.h).
  77.  
  78. I had to slightly restructure ymakefile - make is so clumsy and
  79. non-standard.  I think the following def for obj would make things
  80. much better for AIX at least:
  81.  
  82. obj=    dispnew.o screen.o scroll.o xdisp.o window.o \
  83.         events.o event-alloc.o event-stream.o \
  84.         term.o cm.o $(XOBJ) SOUND_OBJS \
  85.         emacs.o keyboard.o macros.o keymap.o sysdep.o \
  86.         buffer.o filelock.o insdel.o marker.o \
  87.         minibuf.o fileio.o dired.o filemode.o \
  88.         cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \
  89.         alloc.o data.o doc.o editfns.o callint.o \
  90.         eval.o floatfns.o fns.o print.o lread.o \
  91.         abbrev.o syntax.o font_lock.o UNEXEC mocklisp.o bytecode.o \
  92.         process.o callproc.o $(environobj) \
  93.         doprnt.o extents.o \
  94.         faces.o ENERGIZE_OBJS BTLOBJS FREECHECKOBJS REALPATH_OBJS
  95.  
  96. In s-aix3-1.h, I defined NEED_REALPATH.
  97.  
  98. I had to define ENERGIZE in Imakefile in lwlib - otherwise, I had
  99. unresolved references (naughty people:-).
  100.  
  101. In lwlib.c, I had to conditionally remove alloca.h:
  102.  
  103. #ifdef AIXV3
  104. #else
  105. #include <alloca.h>
  106. #endif
  107.  
  108. I also conditioned out the signal handler for segment violation in
  109. emacs.c so that I could get core files that had useful where info in
  110. them (a compile time option for this would be handy).
  111.  
  112. Hope that helps.  I would really really like to get this working on
  113. vanilla AIX 3.2.2 and hope that this info and the stack trace provided
  114. in an earlier message (Friday) may help others complete the task.
  115.  
  116. Have fun! - Bob
  117.