Build dtksh on more OSs
authorUlrich Wilkens <mail@uwilkens.de>
Tue, 26 Mar 2013 03:08:13 +0000 (04:08 +0100)
committerJon Trulson <jon@radscan.com>
Sat, 30 Mar 2013 23:33:07 +0000 (17:33 -0600)
13 files changed:
cde/programs/Imakefile
cde/programs/dtksh/Imakefile
cde/programs/dtksh/ksh93/Imakefile
cde/programs/dtksh/ksh93/ship/shipiffe.sh
cde/programs/dtksh/ksh93/src/lib/libast/comp/conf.tab
cde/programs/dtksh/ksh93/src/lib/libast/conf.tab
cde/programs/dtksh/ksh93/src/lib/libast/features/lib
cde/programs/dtksh/ksh93/src/lib/libast/features/tty
cde/programs/dtksh/ksh93/src/lib/libast/include/ast.h
cde/programs/dtksh/ksh93/src/lib/libast/include/ast_std.h
cde/programs/dtksh/ksh93/src/lib/libast/include/sfio.h
cde/programs/dtksh/ksh93/src/lib/libast/sfio/sfvprintf.c
cde/programs/dtksh/ksh93/src/lib/libcmd/features/symlink

index f628ce31b8f9de1203cf7c2c705b9d378fa14109..b04800fc7730c18b671b69cc0be3b53bace413c2 100644 (file)
@@ -10,7 +10,7 @@ EXTRADIRS = types localized tttypes $(NSGMLSDIR) util
 XCOMM some of these cannot be built on linux yet.
 XCOMM dtksh dtinfo
 #if defined(LinuxArchitecture)
-DTKSHDIR = 
+DTKSHDIR = dtksh
 DTINFODIR = 
 DTCMDIR = dtcm
 DTLOGINDIR = dtlogin
index f5071a305ce5c914b4b797c7e67e7e0a50f498c9..b20ae7a2d0af1f197b8fc0b57480355f5fba640d 100644 (file)
@@ -61,16 +61,15 @@ EXTRA_INCLUDES = -I$(DTHELPSRC) -I$(DTPRINTSRC)
 .NO_PARALLEL:
 #endif
 
+#ifdef LinuxArchitecture
+SYS_LIBRARIES = -lm -ldl
+#endif
+
 #define IHaveSubdirs
 #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
 
-#if defined(LinuxArchitecture)
-SUBDIRS = examples
-KSH93OBJ =
-#else
 SUBDIRS = examples ksh93
 KSH93OBJ = $(KSH93SRC)/ksh93.o
-#endif
 
 MakeSubdirs($(SUBDIRS))
 
index 9e100328176d398156eb47ba32b08f9deb700eac..3677918c530e173fefc76590d7680ec4f12b4678 100644 (file)
@@ -56,7 +56,7 @@ ALL_SUBS = *
 
 ksh93src:
        $(RM) $(SHIP_DIR)/$(ALL_SUBS)/$(ALL_SUBS)/BUILT; \
-       SHELL=$(KORNSHELL) CC=$(CC) CCFLAGS="$(CCFLAGS)" $(KORNSHELL) ship/shipin $(FORCE_SHIP)
+       SHELL=$(KORNSHELL) CC="$(CC)" CCFLAGS="$(CCFLAGS)" $(KORNSHELL) ship/shipin $(FORCE_SHIP)
 
 ksh93.o: $(OBJS)
        $(LD) -r -o $@ $(OBJS)
index 41a10a61af2659b0b0c8cdbbe7486212e275ca25..a4439802c32fdecd8db0a8a76b5b77375bb53f76 100644 (file)
@@ -1103,7 +1103,7 @@ $inc
                                        *)      e='-e /[\\\\/]sys[\\\\/]'$x'\.h"/d' ;;
                                        esac
                                        if      $cc -E $tmp.c <&$nullin >$tmp.i
-                                       then    i=`sed -e '/^#[line     ]*[0-9][0-9]*[  ][      ]*"[\\\\/].*[\\\\/]'$x'\.h"/!d' $e -e s'/.*"\(.*\)".*/\1/' -e 's,\\\\,/,g' -e 's,///*,/,g' $tmp.i | sort -u`
+                                       then    i=`sed -e '/^#[line     ]*[0-9][0-9]*[  ][      ]*"[\\\\/].*[\\\\/]'$x'\.h"/!d' $e -e '/\/bits\//d' -e s'/.*"\(.*\)".*/\1/' -e 's,\\\\,/,g' -e 's,///*,/,g' $tmp.i | sort -u`
                                                for i in $i
                                                do      break
                                                done
index b63580f8f1a9c9c0716ee2b0c7906630a75394a3..90f87ade9401065d133b9a32c19f8ab2e39baaba 100644 (file)
@@ -235,7 +235,11 @@ OPEN_MAX_CEIL              50      AST     XX 1 L          OPEN_MAX
 OS_VERSION             119     AES     SC 1 FSU
 PAGESIZE               51      POSIX   SC 1 L          PAGE_SIZE 4096
        #if _lib_getpagesize
+       #if defined(linux)
+       extern int              getpagesize(void);
+       #else
        extern ssize_t          getpagesize(void);
+       #endif
        #define _LOCAL_PAGESIZE getpagesize()
        #endif
 PAGE_SIZE              101     XOPEN   SC 1 L          PAGESIZE
index 394908e64831ed6d57d44e561b99446bca59617f..e3edc0d91430db4cef66b813c6e6de6625636861 100644 (file)
@@ -239,7 +239,11 @@ OPEN_MAX_CEIL              50      AST     XX 1 L          OPEN_MAX
 OS_VERSION             119     AES     SC 1 FSU
 PAGESIZE               51      POSIX   SC 1 L          PAGE_SIZE 4096
        #if _lib_getpagesize
+       #if defined(linux)
+       extern int              getpagesize(void);
+       #else
        extern ssize_t          getpagesize(void);
+       #endif
        #define _LOCAL_PAGESIZE getpagesize()
        #endif
 PAGE_SIZE              101     XOPEN   SC 1 L          PAGESIZE
index 3c5d508b2e3e8529ce2df3553b7e96def8dae09f..bbe2725bdcc5e4a900b2d5aa42db68b1c5fb1473 100644 (file)
@@ -5,10 +5,10 @@ lib   _cleanup,BSDsetpgrp,atexit,bcopy,bzero,confstr,dirread,dup2,fchmod
 lib    fcntl,fnmatch,fork,fsync,getconf,getdents,getdirentries,getdtablesize
 lib    getgroups,getpagesize,getrlimit,getuniverse,index,killpg,link
 lib    localeconv,lstat,mbtowc,memccpy
-lib    memchr,memcmp,memcpy,memdup,memmove,memset,mkdir,mkfifo,mknod,mktemp
+lib    memchr,memcmp,memcpy,memmove,memset,mkdir,mkfifo,mknod,mktemp
 lib    mount,on_exit,onexit,opendir,pathconf,readlink,remove,rename,rindex
 lib    rmdir,rewinddir,setlocale,setpgid,setpgrp,setpgrp2,setreuid,setsid
-lib    setuid,sigaction,sigprocmask,sigsetmask,sigunblock,sigvec
+lib    setuid,sigaction,sigprocmask,sigsetmask,sigvec
 lib    socketpair,spawnve,spawnveg,strchr,strcoll,strdup,strerror,strrchr
 lib    strtod,strtol,strtoul,strxfrm,symlink,sysconf
 lib    telldir,tmpnam,tzset,universe,unlink,utime,vfork
index fa55870f811149c800e426fd399879ea8a1435d9..9a75fc8aaa36831bfffdd647fd0c920383936d8f 100644 (file)
@@ -16,5 +16,7 @@ cat{
        #else
        #undef  ioctl
        #endif
+       #if !defined(linux)
        extern int              ioctl(int, int, ...);
+       #endif
 }end
index 11bad2b08a97ec781bc2210e95da3037b4381dca..ffe0b39ce4b30ea3a01da99a49024d79542e0734 100644 (file)
  * workaround botched headers that assume <stdio.h>
  */
 
+#if defined(linux)
+#ifndef __FILE
+#define __FILE FILE
+#endif
+#endif
+
+#if !defined(CSRG_BASED)
 #ifndef FILE
 #define FILE   Sfio_t
 #endif
+#endif
 
 /*
  * exit() support -- this matches shell exit codes
index e11431c65eb0e0f4f8df57961fcaa025e7746848..0835df57256e3898ceee562270a2d6438eb95928 100644 (file)
 #define _SKIP_SFSTDIO_H
 #else
 #define _SFSTDIO_H
+#if !defined(linux)
 #define FILE   int
+#endif
 #if defined(__STDPP__directive) && defined(__STDPP__hide)
 #if !_std_def_calloc
 __STDPP__directive pragma pp:hide calloc
index e51c0731595670f95f9d49f8150f2eec5e3841d6..1176f2fd78fc4c6c7e280cfdc9d793f37d0ee87a 100644 (file)
 #define _STDIO_INCLUDED        1
 #endif
 
+#if !defined(CSRG_BASED)
 #ifndef FILE
 #define FILE   Sfio_t
 #endif
+#endif
 #endif /* __cplusplus */
 
 typedef struct _sfio_  Sfile_t, Sfio_t, SFIO;
index 214bb50ee39b9179ede6944c500cbf6972371547..7ec0b910744441f1b1533f64363cccbccbbae0d2 100644 (file)
@@ -301,7 +301,7 @@ loop_fa :
                        GETARG(form,form,argf,args,char*,char*,'1',t_user,n_user);
                        if(!form)
                                form = "";
-#if defined(CSRG_BASED) && !defined(__LP64__)
+#if (defined(CSRG_BASED) && !defined(__LP64__)) || (defined(linux) && !defined(__LP64__))
                        GETARG(argsp,argsp,argf,args,va_list*,va_list*,'2',t_user,n_user);
                        memcpy((Void_t*)(&(fa->args)), (Void_t*)(&args), sizeof(va_list));
                        memcpy((Void_t*)(&args), (Void_t*)argsp, sizeof(va_list));
index 6d054b84e534123b9e9536e3817dd57fd5cee327..2c2ceb6e47f3eeaf614a58849b700e727c3913e0 100644 (file)
@@ -1 +1,8 @@
-lib    lchmod,lchown
+lib    lchown
+tst    lib_lchmod note{ lchmod() in default lib(s) }end link{
+       #include <sys/stat.h>
+       main()
+       {       lchmod("/tmp/lchmod_test", 0755);
+               return 0;
+       }
+}end