Fedora and family don't install patch by default, so we need to specifically
test for it. Also, apparently distclean crashes when it reaches the JP locale.
On a side note, I am still of the opinion that we should replace tradcpp with
sed wherever possible, it would be one less program that we would have to
maintain and build, and some tests I ran show that sed is slightly faster. I
could do the work to replace it if need be.
Thank you for your time,
-Chase
From a4a354dc44430379bdabdd8291e98101ffc7bbc5 Mon Sep 17 00:00:00 2001
From: Chase <nicetry...@protonmail.ch>
Date: Sun, 31 Jan 2021 10:58:17 -0600
Subject: [PATCH 1/2] dtksh: make it build under autotools
---
cde/configure.ac | 3 +
cde/programs/Makefile.am | 4 +-
cde/programs/dtksh/Makefile.am | 69 ++++++++--------
cde/programs/dtksh/examples/Makefile.am | 104 ++++++++++++++++++++++++
cde/programs/dtksh/ksh93 | 2 +-
5 files changed, 146 insertions(+), 36 deletions(-)
create mode 100644 cde/programs/dtksh/examples/Makefile.am
diff --git a/cde/configure.ac b/cde/configure.ac
index 2b0ad349f..8678e3542 100644
--- a/cde/configure.ac
+++ b/cde/configure.ac
@@ -566,6 +566,9 @@ programs/dtspcd/Makefile
programs/dtscreen/Makefile
+programs/dtksh/Makefile
+programs/dtksh/examples/Makefile
+
programs/dtcm/Makefile
programs/dtcm/libDtCmP/Makefile
programs/dtcm/server/Makefile
diff --git a/cde/programs/Makefile.am b/cde/programs/Makefile.am
index 74ead60c8..4c3dcd435 100644
--- a/cde/programs/Makefile.am
+++ b/cde/programs/Makefile.am
@@ -2,9 +2,9 @@ MAINTAINERCLEANFILES = Makefile.in
SUBDIRS = backdrops icons dsdm dtmail dtpad dtfile dtwm dtlogin \
dtsession dthello dtstyle dtexec dtdbcache dticon dtterm dtcalc \
- dtaction dtspcd dtscreen dtcm dtsearchpath dtappbuilder palettes \
+ dtaction dtspcd dtscreen dtksh dtcm dtsearchpath dtappbuilder palettes \
dtappintegrate dtprintegrate dtconfig dtcreate dtprintinfo fontaliases \
dtdspmsg dtimsstart dtpdm dtsr dtpdmd types \
tttypes util dtopen localized dthelp nsgmls dtdocbook
-# NOTYET = dtksh dtinfo ttsnoop
+# NOTYET =dtinfo ttsnoop
diff --git a/cde/programs/dtksh/Makefile.am b/cde/programs/dtksh/Makefile.am
index 001512ae1..aa92483c2 100644
--- a/cde/programs/dtksh/Makefile.am
+++ b/cde/programs/dtksh/Makefile.am
@@ -1,3 +1,9 @@
+MAINTAINERCLEANFILES = Makefile.in
+
+CLEANFILES = init.c FEATURE
+
+SUBDIRS = examples
+
kshdir = ${libdir}/dtksh
dist_ksh_SCRIPTS = DtFuncs.dtsh
@@ -8,41 +14,39 @@ if SOLARIS
.NO_PARALLEL:
endif
-SUBDIRS = examples ksh93
-KSH93OBJ = $(KSH93SRC)/ksh93.o
-KSH93LIBSHELL = $(KSH93SRC)/src/cmd/ksh93/libshell.a
+KSH93LIBSHELL = $(KSH93SRC)/lib/libshell.a
bin_PROGRAMS = dtksh
dtksh_CPPFLAGS = -I$(KSH93SRC)/include/ast -I$(KSH93SRC)/src/cmd/ksh93/include \
- -I$(KSH93SRC)/src/cmd/ksh93 -I${srcdir}/lib/DtPrint \
- -I${srcdir}/lib/DtHelp
-dtksh_LDADD = $(DTHELPLIB) $(DTWIDGETLIB) $(DTSVCLIB) $(DTPRINTLIB) $(TTLIB) \
- -lXm $(XTOOLLIB) ${X_LIB} $(KSH93SRC)/lib/libcmd.a \
- $(KSH93SRC)/lib/libast.a -lm
+ -I$(KSH93SRC)/src/cmd/ksh93 -I${srcdir}/lib/DtPrint \
+ -I${srcdir}/lib/DtHelp '-DAST_VERSION=20111111' \
+ -DSHOPT_STATS -DSHOPT_NAMESPACE -DSHOPT_2DMATCH \
+ -DSHOPT_MULTIBYTE -DSHOPT_BGX -DSHOPT_AUDIT -D_PACKAGE_ast \
+ -DSHOPT_DYNAMIC -D_BLD_shell -DSHOPT_KIA -DKSHELL \
+ -DSHOPT_HISTEXPAND -DSHOPT_EDPREDICT -DSHOPT_ESH -DSHOPT_VSH \
+ -DSHOPT_FIXEDARRAY '-DERROR_CONTEXT_T=Error_context_t' \
+ -DSHOPT_SUID_EXEC -D_API_ast=20100309 -DSHOPT_BRACEPAT \
+ -DBUILD_DTKSH
+
+dtksh_LDADD = $(DTCLIENTLIBS) -lXm pmain.o $(XTOOLLIB) ${X_LIB} \
+ libshell.a $(KSH93SRC)/lib/libcmd.a $(KSH93SRC)/lib/libast.a \
+ $(KSH93SRC)/lib/libdll.a -lm
if LINUX
dtksh_LDADD += -ldl
endif
if SOLARIS
-dtksh_CPPFLAGS += -DDYNLIB
-endif
-
-if HPUX
-dtksh_CFLAGS += -Wl,-E -DHPUX_DYNLIB -Wp,-H12000
-dtksh_LDADD += -lm -ldld
+dtksh_LDADD += -lsecdb -lsocket -lnsl
endif
if AIX
-dtksh_CPPFLAGS += -DDYNLIB -D_IBMRPC_
-dtksh_LDADD += -bE:dtksh.exp
+dtksh_CPPFLAGS += -D_IBMRPC_
+dtksh_LDFLAGS = -bE:dtksh.exp
endif
-dtksh_SOURCES = \
- userinit.c \
- builtins.c \
- aliases.c \
+dtksh_SOURCES = init.c \
widget.c \
dtkcvt.c \
dtkcmds.c \
@@ -51,23 +55,22 @@ dtksh_SOURCES = \
xmcmds.c \
xmwidgets.c \
extra.c \
- xmdtksym.c \
findsym.c \
msgs.c
-all:: dtksh
+init.c:
+ cd ksh93; ./bin/package flat make CCFLAGS='$(SUIDEXECDEFINES) -g -D_std_malloc'
+ cp ./ksh93/src/cmd/ksh93/sh/init.c init.c
+ patch --posix init.c -i init.patch
+ ./setup.sh
-$(KSH93SRC)/ksh93.o:
- cd $(KSH93SRC); $(MAKE)
-# Must replace standard ksh tables of builtins and aliases
-# with our augmented versions.
+libshell.a: $(KSH93SLIBSHELL) dtksh-init.o
+ $(CP) $(KSH93LIBSHELL) libshell.a; \
+ ar d libshell.a init.o; \
+ $(AR) cq libshell.a dtksh-init.o
-libshell.a: $(KSH93SLIBSHELL) userinit.o builtins.o aliases.o
- $(CP) $(KSH93LIBSHELL) libshell.a; \
- ar d libshell.a userinit.o builtins.o aliases.o ; \
- $(AR) libshell.a userinit.o builtins.o aliases.o
+clean-local:
+ cd ksh93 && ./bin/package clean
-clean::
- @echo " Cleaning ksh directories"
- $(SHELL) MakeClean
+DtFuncs.dtsh:
diff --git a/cde/programs/dtksh/examples/Makefile.am b/cde/programs/dtksh/examples/Makefile.am
new file mode 100644
index 000000000..d9a275774
--- /dev/null
+++ b/cde/programs/dtksh/examples/Makefile.am
@@ -0,0 +1,104 @@
+MAINTAINERCLEANFILES = Makefile.in
+
+noinst_SCRIPTS = CallbackTest2 CallDataTest4 crMovesText1 DtCursorTest2 \
+ DtWsTest1 EventHandlerTest ListBounds1 ListItemPos1 PopupTest \
+ SelBoxResTest SessionTest TextCutBuf1 TextDisp1 TextFXYPos1 \
+ TransEventTest TransTest1 WorkProcTest1 XdrawTest
+
+LOCAL_CPP_DEFINES = -DCDE_INSTALLATION_TOP=$(CDE_INSTALLATION_TOP)
+
+BUILT_SOURCES = CallbackTest2 CallDataTest4 crMovesText1 DtCursorTest2 \
+ DtWsTest1 EventHandlerTest ListBounds1 ListItemPos1 PopupTest \
+ SelBoxResTest SessionTest TextCutBuf1 TextDisp1 TextFXYPos1 \
+ TransEventTest TransTest1 WorkProcTest1 XdrawTest
+
+CLEANFILES = $(BUILT_SOURCES)
+
+CallbackTest2: CallbackTest2.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+CallDataTest4: CallDataTest4.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+crMovesText1: crMovesText1.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+DtCursorTest2: DtCursorTest2.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+DtWsTest1: DtWsTest1.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+EventHandlerTest: EventHandlerTest.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+ListBounds1: ListBounds1.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+ListItemPos1: ListItemPos1.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+PopupTest: PopupTest.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+SelBoxResTest: SelBoxResTest.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+
+SessionTest: SessionTest.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+TextCutBuf1: TextCutBuf1.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+TextDisp1: TextDisp1.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+TextFXYPos1: TextFXYPos1.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+TransEventTest: TransEventTest.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+TransTest1: TransTest1.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+WorkProcTest1: WorkProcTest1.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
+
+XdrawTest: XdrawTest.src
+ $(RM) $@
+ $(GENCPP) -P -DXCOMM=# $(LOCAL_CPP_DEFINES) $< > $@
+ chmod +x $@
diff --git a/cde/programs/dtksh/ksh93 b/cde/programs/dtksh/ksh93
index 47468f56c..66e1d4464 160000
--- a/cde/programs/dtksh/ksh93
+++ b/cde/programs/dtksh/ksh93
@@ -1 +1 @@
-Subproject commit 47468f56c2d0506045120fb4d0709f3a734693f5
+Subproject commit 66e1d446429543be0f9d47d9364e472932dc53f1
--
2.17.1
From 16bda0deb54d392b72321663e23ef97d9ab0b9de Mon Sep 17 00:00:00 2001
From: Chase <nicetry...@protonmail.ch>
Date: Sun, 31 Jan 2021 11:12:30 -0600
Subject: [PATCH 2/2] dtksh: specifically test for patch
---
cde/configure.ac | 4 ++++
cde/programs/dtksh/Makefile.am | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/cde/configure.ac b/cde/configure.ac
index 8678e3542..e292a3eac 100644
--- a/cde/configure.ac
+++ b/cde/configure.ac
@@ -354,6 +354,10 @@ AC_CHECK_PROGS(GENCAT, gencat)
if test -z "$ac_cv_prog_GENCAT"; then
MISSING_PROGS="gencat ${MISSING_PROGS}"
fi
+AC_CHECK_PROGS(PATCH, patch)
+if test -z "$ac_cv_prog_PATCH"; then
+ MISSING_PROGS="patch ${MISSING_PROGS}"
+fi
dnl headers
AC_HEADER_STDC
diff --git a/cde/programs/dtksh/Makefile.am b/cde/programs/dtksh/Makefile.am
index aa92483c2..9a52eea70 100644
--- a/cde/programs/dtksh/Makefile.am
+++ b/cde/programs/dtksh/Makefile.am
@@ -61,7 +61,7 @@ dtksh_SOURCES = init.c \
init.c:
cd ksh93; ./bin/package flat make CCFLAGS='$(SUIDEXECDEFINES) -g -D_std_malloc'
cp ./ksh93/src/cmd/ksh93/sh/init.c init.c
- patch --posix init.c -i init.patch
+ $(PATCH) --posix init.c -i init.patch
./setup.sh
--
2.17.1
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel