As Fink would install an XEmacs version from the beta branch, using the latest beta release seemed like a good start (21.5.15). "./configure --with-mule" told me that I didn't have libpng and that it was highly recommended to install it.

libpng 1.2.5 worked more or less out-of-the-box, I only had to add a -dynamiclib option to LDFLAGS in makefile.macosx. I also had to manually create a symlink from libpng.3.1.0.2.dylib to libpng.dylib to make -lpng work

OK, rerun configure for XEmacs and it finds the new library. Run make and wait 25 minutes. temacs has been compiled and links successfully, the emacs lisp files get compiled just fine, xemacs gets dumped and recompiles the lisp files, everything looks good until "ellcc" fails to create eldap.ell because of a bunch of undefined symbols.

After a lot of playing around I found that changing ELLCC_DLL_LDFLAGS from "-shared" (which isn't supported on MacOS X anyway) to "-flat_namespace -undefined suppress" in lib-src/ellcc.h created a working xemacs (at least at first glance). Unfortunately I haven't found any way to tell configure to create it, but there is an environment variable ELLDLLFLAGS that is supposed to override the setting.

So what I do now is

> ./configure --with-mule
> export ELLDLLFLAGS="-flat_namespace -undefined suppress"
> make
and it seems to work. The fonts are the ugliest things I've ever used, but that can be solved later.

path: /en/Mac/XEmacs | #