Compile dtksh on FreeBSD

dtksh can be now compiled on FreeBSD. Work in progress.

Needs a real Korn shell to bootstrap as $(KSHELL).
KSHELL is set by default to /usr/local/bin/ksh93
(generic POSIX shell may not work)

Tested on:

  FreeBSD 9.0-BETA1 #0 r224912M amd64

Known issues:

xvmstat:
* sleep does not work well (SIGSTOP is delivered)
xpong:
* xpong: line 220:  ball1x = max_x * 2.2 / 3 : arithmetic syntax error
* dtksh is rebuilt uncondtionally every time make is invoked
This commit is contained in:
Marcin Cieslak
2012-08-14 15:31:55 +02:00
committed by Jon Trulson
parent 441a25b361
commit d3206f4514
21 changed files with 54 additions and 207 deletions

View File

@@ -15,7 +15,7 @@ CCFLAGS =
.NO_PARALLEL:
#endif /* SunArchitecture */
FORCE_SHIP = -E
FORCE_SHIP = -F
MALLOCOBJ =
@@ -31,6 +31,7 @@ KSH_OBJS = \
OBJS = $(KSH_OBJS) $(KSH_LIBS)
KSHELL?= /usr/local/bin/ksh93
SUIDEXECDEFINES = \
-DPROFILEPATH=\"$(CDE_CONFIGURATION_TOP)/config/profile\" \
@@ -57,15 +58,7 @@ ALL_SUBS = *
ksh93src:
$(RM) $(SHIP_DIR)/$(ALL_SUBS)/$(ALL_SUBS)/BUILT; \
if [ -f /bin/ksh ]; \
then \
SHELL=/bin/ksh CC=$(CC) CCFLAGS="$(CCFLAGS)" /bin/ksh ship/shipin $(FORCE_SHIP); \
elif [ -f /bin/sh ]; \
then \
SHELL=/bin/sh CC=$(CC) CCFLAGS="$(CCFLAGS)" /bin/sh ship/shipin $(FORCE_SHIP); \
else \
SHELL="" CC=$(CC) CCFLAGS="$(CCFLAGS)" ship/shipin $(FORCE_SHIP); \
fi
SHELL=$(KSHELL) CC=$(CC) CCFLAGS="$(CCFLAGS)" $(KSHELL) ship/shipin $(FORCE_SHIP)
ksh93.o: $(OBJS)
$(LD) -r -o $@ $(OBJS)