home *** CD-ROM | disk | FTP | other *** search
- x-gateway: rodan.UU.NET from help-lucid-emacs to alt.lucid-emacs.help; Mon, 14 Sep 1992 10:11:09 EDT
- From: bobhays@spss.com
- Message-ID: <9209141410.AA15599@ibmws001.spss.com>
- Subject: Here are diffs so far to get Lucid to build on AIX
- Date: Mon, 14 Sep 1992 09:10:55 CDT
- X-Mailer: ELM [version 2.3 PL11]
- Newsgroups: alt.lucid-emacs.help
- Path: sparky!uunet!wendy-fate.uu.net!help-lucid-emacs
- Sender: help-lucid-emacs-request@lucid.com
- Lines: 105
-
- Here are my differences so far.
-
- First, config.h. This is trivial and you should know what to do here
- (note that I am using Motif).
-
- > diff config.h config.h-dist
- 35c35
- < /* #define USE_GCC */
- ---
- > #define USE_GCC
- 43c43
- < #include "s/s-aix3-1.h"
- ---
- > #include "s/s-sunos4.h"
- 50c50
- < #include "m/m-ibmrs6000.h"
- ---
- > #include "m/m-sparc.h"
- 177c177
- < #define LWLIB_USES_MOTIF
- ---
- > /* #define LWLIB_USES_MOTIF */
-
- Second, gmalloc.c. Here, somebody just goes and defines size_t and
- then includes stdio.h later! Someone should read something on ANSI C
- I think. Anyway, this hack is definitely dependent on AIX; now that I
- think about it, a possibly better solution is to undef size_t before
- entering stdio.h.
-
- > diff gmalloc.c gmalloc.c~
- 49c49
- < # include <stddef.h>
- ---
- > #include <stddef.h>
- 51,53c51,55
- < # undef size_t
- < # define size_t unsigned int
- < # define _SIZE_T
- ---
- > #undef size_t
- > #define size_t unsigned int
- > #ifdef AIX
- > #define _SIZE_T /* Do this to keep stdio.h h
- appy. */
- > #endif
-
- Third, look at sysdep.c. You'll see AIX 3.1 isms. You must change
- HFQEIO to HFQERROR for 3.2.
-
- > diff sysdep.c sysdep.c~
- 4246c4246
- < if (ioctl (0, HFQERROR, 0) < 0)
- ---
- > if (ioctl (0, HFQEIO, 0) < 0)
- 4284c4284
- < if (ioctl (0, HFQERROR, 0) != -1)
- ---
- > if (ioctl (0, HFQEIO, 0) != -1)
- 4300c4300
- < if (ioctl (0, HFQERROR, 0) < 0)
- ---
- > if (ioctl (0, HFQEIO, 0) < 0)
-
- I had to turn off LD_SWITCH_SYSTEM (this should probably be done in
- m-ibmrs6000.h).
-
- I had to slightly restructure ymakefile - make is so clumsy and
- non-standard. I think the following def for obj would make things
- much better for AIX at least:
-
- obj= dispnew.o screen.o scroll.o xdisp.o window.o \
- events.o event-alloc.o event-stream.o \
- term.o cm.o $(XOBJ) SOUND_OBJS \
- emacs.o keyboard.o macros.o keymap.o sysdep.o \
- buffer.o filelock.o insdel.o marker.o \
- minibuf.o fileio.o dired.o filemode.o \
- cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \
- alloc.o data.o doc.o editfns.o callint.o \
- eval.o floatfns.o fns.o print.o lread.o \
- abbrev.o syntax.o font_lock.o UNEXEC mocklisp.o bytecode.o \
- process.o callproc.o $(environobj) \
- doprnt.o extents.o \
- faces.o ENERGIZE_OBJS BTLOBJS FREECHECKOBJS REALPATH_OBJS
-
- In s-aix3-1.h, I defined NEED_REALPATH.
-
- I had to define ENERGIZE in Imakefile in lwlib - otherwise, I had
- unresolved references (naughty people:-).
-
- In lwlib.c, I had to conditionally remove alloca.h:
-
- #ifdef AIXV3
- #else
- #include <alloca.h>
- #endif
-
- I also conditioned out the signal handler for segment violation in
- emacs.c so that I could get core files that had useful where info in
- them (a compile time option for this would be handy).
-
- Hope that helps. I would really really like to get this working on
- vanilla AIX 3.2.2 and hope that this info and the stack trace provided
- in an earlier message (Friday) may help others complete the task.
-
- Have fun! - Bob
-