First pass at a hints-based build system to augment (not replace) the existing

build system.

Anyone who wants to do a build from sys/unix and doesn't want to figure this
out just needs to do:
	sh setup.sh hints/unix
instead of:
	sh setup.sh
and then continue on as usual.

New files:
sys/unix/NewInstall.unx - the new directions
sys/unix/hints/* - the hints files.  There will be more later.
sys/unix/mkmkfile.sh - helper for setup.sh

Summary of changes:
see NewInstall.unx for info on the new build system
introduction of various preprocessor symbols to turn options off that
 are defaulted on historically
comment out nethackrc (and similar) entries that still use the old symbol
 syntax.
commenting out of Makefile.* lines that now come from hints/unix
GAMEDIR is replaced with HACKDIR so the Makefiles and the C source agree.
  Note that I have NOT changed the docs and/or Makefiles for be, msdos, os2,
  vms, or winnt.  If port maintainers don't then I will, but I can't test
  those ports.
nethack.sh now handles the font path automatically
This commit is contained in:
keni
2007-12-13 20:17:11 +00:00
parent 6e41d8e973
commit 59e64a1d40
17 changed files with 251 additions and 111 deletions

31
sys/unix/hints/macosx Normal file
View File

@@ -0,0 +1,31 @@
#
# SCCS Id: @(#)macosx 3.5 2007/12/12
# Copyright (c) Kenneth Lorber, Kensington, Maryland, 2007.
# NetHack may be freely redistributed. See license for details.
#
# Mac OS X (Darwin) hints file
# This is for Mac OS X 10.4.10 (Darwin 8.10). If this doesn't work for some
# other version of either Darwin or Mac OS X, make a new file for that OS,
# don't change this one.
# Useful info: http://www.opensource.apple.com/darwinsource/index.html
# This is a tty build for a single user.
# XXX temp testing:
HACKDIR=/tmp/nhdir5
PREFIX=/tmp
CC=gcc -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -DGCC_WARN
# XXX -g vs -O should go here, -I../include goes in the makefile
CFLAGS=-g -I../include $(CFLAGS2)
CFLAGS2=-DNOCLIPPING -DNOMAIL -DNOTPARMDECL -DHACKDIR=\"$(HACKDIR)\"
WINSRC = $(WINTTYSRC)
WINOBJ = $(WINTTYOBJ)
WINLIB = $(WINTTYLIB)
WINTTYLIB=-lncurses
CHOWN=true
CHGRP=true

40
sys/unix/hints/macosx-x11 Normal file
View File

@@ -0,0 +1,40 @@
#
# SCCS Id: @(#)macosx-x11 3.5 2007/12/12
# Copyright (c) Kenneth Lorber, Kensington, Maryland, 2007.
# NetHack may be freely redistributed. See license for details.
#
# Mac OS X (Darwin) hints file for X11
# This is for Mac OS X 10.4.10 (Darwin 8.10). If this doesn't work for some
# other version of either Darwin or Mac OS X, make a new file for that OS,
# don't change this one.
# Useful info: http://www.opensource.apple.com/darwinsource/index.html
# XXX temp testing:
HACKDIR=/tmp/nhdir5
PREFIX=/tmp
#HACKDIR=$(PREFIX)/games/lib/$(GAME)dir
#PREFIX=/usr
CC=gcc -W -Wimplicit -Wreturn-type -Wunused -Wformat -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -DGCC_WARN
# XXX -g vs -O should go here, -I../include goes in the makefile
CFLAGS=-g -I../include $(CFLAGS2) $(CFLAGS3)
CFLAGS2=-DNOCLIPPING -DNOMAIL -DNOTPARMDECL -DHACKDIR=\"$(HACKDIR)\"
CFLAGS3=-DX11_GRAPHICS -DDEFAULT_WINDOW_SYS=\"X11\" -DNOTTYGRAPHICS
LFLAGS=-L/usr/X11R6/lib
#WINTTYLIB=-lncurses
CHOWN=true
CHGRP=true
WINSRC = $(WINX11SRC)
WINOBJ = $(WINX11OBJ)
WINLIB = $(WINX11LIB)
VARDATND = x11tiles NetHack.ad pet_mark.xbm
# XXX install nethack.rc as .nethackrc
POSTINSTALL= bdftopcf win/X11/nh10.bdf > $(HACKDIR)/nh10.pcd; (cd $(HACKDIR); mkfontdir)

24
sys/unix/hints/unix Normal file
View File

@@ -0,0 +1,24 @@
#
# SCCS Id: @(#)unix 3.5 2007/12/12
# Copyright (c) Kenneth Lorber, Kensington, Maryland, 2007.
# NetHack may be freely redistributed. See license for details.
#
# unix hints file
# This hints file provides the legacy configuration that NetHack has shipped
# with historically - this means you will most likely need to hand edit .h
# and Makefiles.
HACKDIR=$(PREFIX)/games/lib/$(GAME)dir
PREFIX=/usr
CFLAGS=-O -I../include
WINSRC = $(WINTTYSRC)
WINOBJ = $(WINTTYOBJ)
WINLIB = $(WINTTYLIB)
WINTTYLIB=-ltermlib
CHOWN=chown
CHGRP=chgrp