XCOMM some of these cannot be built on linux yet.
XCOMM dtksh dtinfo
#if defined(LinuxArchitecture)
-DTKSHDIR =
+DTKSHDIR = dtksh
DTINFODIR =
DTCMDIR = dtcm
DTLOGINDIR = dtlogin
.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))
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)
*) 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
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
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
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
#else
#undef ioctl
#endif
+ #if !defined(linux)
extern int ioctl(int, int, ...);
+ #endif
}end
* 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
#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
#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;
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));
-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