Howto compile Slash'em with Qt support
--------------------------------------

1. What do you need
You need the Slash'em source, Qt.
You may want to compile Slash'em with KDE support, I don't.
For this you need the KDE libraries and include files.

2. Compiling the whole
Because Slash'em does compile on many different and stupid 
systems (like NT) it could not use the automake, autoconf 
mechanism for automatic configuration like modern unix
packages. You have to do some with a text editor.
With the following I managed to compile Slash'em on a S.u.S.E 
Linux 6.1.

execute sys/unix/setup.sh (this copies the Makefiles)

edit include/config.h  
  uncomment #define QT_GRAPHICS
  change #define COMPRESS to #define COMPRESS "/usr/bin/compress"
  change #define HACKDIR to #define HACKDIR "/usr/local/slashemdir" 
    (must be tha same as in Makefile)

edit include/unixconf.h
  comment out #define SUNOS4 (if you don't have it)
  uncomment #define LINUX
  uncomment #define TEXTCOLOR
  uncomment #define UNIX386MUSIC

edit include/system.h
  change line 79 to if defined(__SC__)  (this must be a bug)

edit the topmost Makefile
  uncomment VARDATND on line 43 and the following lines
  comment out VARDATND on line 57

edit src/Makefile
  uncomment the CFLAGS, LFLAGS and CXXFLAGS following line 130
   I had to change CXXFLAGS = $(CFLAGS) -I. -I/usr/lib/qt/include -I/opt/kde/include -I/usr/X11/include
    (note the qtdir)

  change 
    WINQTSRC = ../win/Qt/qt_win.cc ../win/Qt/qviewp.cc ../win/Qt/cluster.cc  \
      ../win/Qt/qaudio.cc ../win/Qt/qaudio-p.cc
   to 
    WINQTSRC = ../win/Qt/qt_win.cc ../win/Qt/qviewp.cc ../win/Qt/cluster.cc  
    # ../win/Qt/qaudio.cc ../win/Qt/qaudio-p.cc
  do the same with the next lines

  change the lines around 168 from 
       WINSRC = $(WINTTYSRC)
       WINOBJ = $(WINTTYOBJ)
  to 
       WINSRC = $(WINTTYSRC) $(WINQTSRC)
       WINOBJ = $(WINTTYOBJ) $(WINQTOBJ)
  uncomment line # WINTTYLIB = -lncurses 
  comment out line WINTTYLIB = -ltermlib
  uncomment # WINQTLIB = -lqt -lX11 -lm -lXext -lstdc++
  change WINLIB = $(WINTTYLIB) to 
   WINLIB = $(WINTTYLIB) $(WINQTLIB)
       
edit win/Qt/qt_win.cc (these are bugs and may change)
  change line 703 to && ::iflags.hilite_pet
  change line 335 to NetHackQtPlayerSelector::NetHackQtPlayerSelector(NetHackQtKeyBuffer& ks, const Role roles[]) :
  comment out lines 3534 and following

edit win/Qt/qt_win.h (bugs...)
  change line 343 to NetHackQtPlayerSelector(NetHackQtKeyBuffer&, const Role roles[]);

edit win/tty/wintty.c
  comment out line 156 (#if defined(SIGWINCH)... and the two
  following lines (probably a error)
