From 6a62f10047c12b29d833f513f586c0e01ed1cc84 Mon Sep 17 00:00:00 2001 From: Chase Date: Sun, 31 Jan 2021 10:58:17 -0600 Subject: [PATCH] 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 fbe565f01..115963ac6 100644 --- a/cde/configure.ac +++ b/cde/configure.ac @@ -559,6 +559,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