Przeglądaj źródła

dtksh: make it build under autotools

Chase 3 lat temu
rodzic
commit
6a62f10047

+ 3 - 0
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

+ 2 - 2
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

+ 36 - 33
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:

+ 104 - 0
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 $@

+ 1 - 1
cde/programs/dtksh/ksh93

@@ -1 +1 @@
-Subproject commit 47468f56c2d0506045120fb4d0709f3a734693f5
+Subproject commit 66e1d446429543be0f9d47d9364e472932dc53f1