perl: build POSIX

This commit is contained in:
Ian Douglas Scott 2017-08-17 19:36:34 -07:00
parent 926a20832a
commit a7e540a5e3
No known key found for this signature in database
GPG Key ID: 4924E10E199B5959
2 changed files with 111 additions and 1 deletions

View File

@ -1,3 +1,113 @@
diff -ru source/ext/POSIX/POSIX.xs source-new/ext/POSIX/POSIX.xs
--- source/ext/POSIX/POSIX.xs 2017-06-30 14:03:22.000000000 -0700
+++ source-new/ext/POSIX/POSIX.xs 2017-08-17 19:21:59.498359355 -0700
@@ -1302,6 +1302,7 @@
#endif
#include <fcntl.h>
+#if 0
#ifdef HAS_TZNAME
# if !defined(WIN32) && !defined(__CYGWIN__) && !defined(NETWARE) && !defined(__UWIN__)
extern char *tzname[];
@@ -1311,6 +1312,7 @@
char *tzname[] = { "" , "" };
#endif
#endif
+#endif
#if defined(__VMS) && !defined(__POSIX_SOURCE)
@@ -1327,10 +1329,11 @@
#if defined (__CYGWIN__)
# define tzname _tzname
#endif
-#if defined (WIN32) || defined (NETWARE)
+#if 1
# undef mkfifo
# define mkfifo(a,b) not_here("mkfifo")
# define ttyname(a) (char*)not_here("ttyname")
+# define pause() not_here("pause")
# define sigset_t long
# define pid_t long
# ifdef _MSC_VER
@@ -1397,7 +1400,7 @@
typedef HV* POSIX__SigAction;
typedef int POSIX__SigNo;
typedef int POSIX__Fd;
-#ifdef I_TERMIOS
+#if 0
typedef struct termios* POSIX__Termios;
#else /* Define termios types to int, and call not_here for the functions.*/
#define POSIX__Termios int
@@ -1829,7 +1832,7 @@
const char * packname
CODE:
{
-#ifdef I_TERMIOS
+#if 0
void *const p = allocate_struct(aTHX_ (ST(0) = sv_newmortal()),
sizeof(struct termios), packname);
/* The previous implementation stored a pointer to an uninitialised
@@ -1896,7 +1899,7 @@
getcflag = 2
getlflag = 3
CODE:
-#ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */
+#if 0 /* References a termios structure member so ifdef it out. */
switch(ix) {
case 0:
RETVAL = termios_ref->c_iflag;
@@ -1925,7 +1928,7 @@
POSIX::Termios termios_ref
unsigned int ccix
CODE:
-#ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */
+#if 0 /* References a termios structure member so ifdef it out. */
if (ccix >= NCCS)
croak("Bad getcc subscript");
RETVAL = termios_ref->c_cc[ccix];
@@ -1957,7 +1960,7 @@
setcflag = 2
setlflag = 3
CODE:
-#ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */
+#if 0 /* References a termios structure member so ifdef it out. */
switch(ix) {
case 0:
termios_ref->c_iflag = flag;
@@ -1982,7 +1985,7 @@
unsigned int ccix
cc_t cc
CODE:
-#ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */
+#if 0 /* References a termios structure member so ifdef it out. */
if (ccix >= NCCS)
croak("Bad setcc subscript");
termios_ref->c_cc[ccix] = cc;
@@ -3540,15 +3543,15 @@
void
times()
PPCODE:
- struct tms tms;
- clock_t realtime;
- realtime = times( &tms );
+ //struct tms tms;
+ //clock_t realtime;
+ //realtime = times( &tms );
EXTEND(SP,5);
- PUSHs( sv_2mortal( newSViv( (IV) realtime ) ) );
- PUSHs( sv_2mortal( newSViv( (IV) tms.tms_utime ) ) );
- PUSHs( sv_2mortal( newSViv( (IV) tms.tms_stime ) ) );
- PUSHs( sv_2mortal( newSViv( (IV) tms.tms_cutime ) ) );
- PUSHs( sv_2mortal( newSViv( (IV) tms.tms_cstime ) ) );
+ PUSHs( sv_2mortal( newSViv( (IV) 0 ) ) );
+ PUSHs( sv_2mortal( newSViv( (IV) 0 ) ) );
+ PUSHs( sv_2mortal( newSViv( (IV) 0 ) ) );
+ PUSHs( sv_2mortal( newSViv( (IV) 0 ) ) );
+ PUSHs( sv_2mortal( newSViv( (IV) 0 ) ) );
double
difftime(time1, time2)
diff -ru source/mg.c source-new/mg.c
--- source/mg.c 2017-06-30 14:03:22.000000000 -0700
+++ source-new/mg.c 2017-08-17 14:40:37.669507085 -0700

View File

@ -18,7 +18,7 @@ function recipe_build {
tar --strip-components=1 -xvf perl-cross-1.1.6.tar.gz
wget -O cnf/config.sub http://git.savannah.gnu.org/cgit/config.git/plain/config.sub
sysroot="$($HOST-gcc -print-sysroot)"
./configure --target=${HOST} --prefix='/' --sysroot="$sysroot" --disable-mod=Sys-Syslog,POSIX,Time-HiRes --with-libs='m'
./configure --target=${HOST} --prefix='/' --sysroot="$sysroot" --disable-mod=Sys-Syslog,Time-HiRes --with-libs='m'
sed -i "s/^#define Netdb_name_t.*/#define Netdb_name_t const char*/" config.h # XXX
sed -i 's/#define Strerror(e).*$/#define Strerror(e) strerror(e)/' config.h #
echo "#define HAS_VPRINTF" >> config.h