develooper Front page | perl.perl5.porters | Postings from February 2000

[PATCH 5.5.660] dos-djgpp updates

From:
Laszlo Molnar
Date:
February 27, 2000 08:35
Subject:
[PATCH 5.5.660] dos-djgpp updates
Message ID:
20000227173853.B1262@freemail.hu
(Hopefully) Final dos-djgpp updates for 5.6...

Laszlo

Index: 0.5/hints/dos_djgpp.sh
--- 0.5/hints/dos_djgpp.sh Wed, 20 Oct 1999 21:21:09 +0200 ml (perl/u/35_dos_djgpp. 1.1 444)
+++ 0.5(w)/hints/dos_djgpp.sh Wed, 23 Feb 2000 23:21:55 +0100 ml (perl/u/35_dos_djgpp. 1.1 444)
@@ -3,6 +3,7 @@

 # 971015 - archname changed from 'djgpp' to 'dos-djgpp'
 # 971210 - threads support
+# 000222 - added -DPERL_EXTERNAL_GLOB to ccflags

 archname='dos-djgpp'
 archobjs='djgpp.o'
@@ -39,6 +40,7 @@
 	optimize="-O2 -malign-loops=2 -malign-jumps=2 -malign-functions=2"
 	;;
 esac
+ccflags="$ccflags -DPERL_EXTERNAL_GLOB"
 ldflags='-s'
 usemymalloc='n'
 timetype='time_t'
Index: 0.5/djgpp/djgpp.c
--- 0.5/djgpp/djgpp.c Wed, 20 Oct 1999 21:29:49 +0200 ml (perl/B/16_djgpp.c 1.1.1.1 444)
+++ 0.5(w)/djgpp/djgpp.c Sun, 27 Feb 2000 16:29:45 +0100 ml (perl/B/16_djgpp.c 1.1.1.1 444)
@@ -91,7 +91,7 @@
   {
     int fd;
     fflush (l1->fp);
-    close (fileno (l1->fp));
+    close (fileno (l1->fp));

     if ((fd = dup (fileno (stdin))) >= 0
        && (freopen (l1->fp->_name_to_remove, "rb", stdin)))
@@ -122,11 +122,9 @@
     if (rc < 0 && ckWARN(WARN_EXEC))
         Perl_warner(aTHX_ WARN_EXEC,"Can't %s \"%s\": %s",
 		    fl ? "exec" : "spawn",prog,Strerror (errno));
-    if (rc > 0)
+    if (rc >= 0)
         return rc << 8;
-    if (rc < 0)
-        return 255 << 8;
-    return 0;
+    return -1;
 }

 int
@@ -134,7 +132,7 @@
 {
     dTHR;
     int  rc;
-    char **a,*tmps,**argv;
+    char **a,*tmps,**argv;
     STRLEN n_a;

     if (sp<=mark)
@@ -386,7 +384,7 @@
     char *file = __FILE__;

     dXSUB_SYS;
-
+
     newXS ("Dos::GetCwd",dos_GetCwd,file);
     newXS ("Dos::UseLFN",dos_UseLFN,file);

Index: 0.5/djgpp/configure.bat
--- 0.5/djgpp/configure.bat Tue, 22 Feb 2000 20:42:39 +0100 ml (perl/B/17_configure. 1.1.1.3 444)
+++ 0.5(w)/djgpp/configure.bat Tue, 22 Feb 2000 22:16:50 +0100 ml (perl/B/17_configure. 1.1.1.3 444)
@@ -33,5 +33,5 @@
 sh djgpp/djgppsed.sh
 
 echo Running Configure...
-sh Configure -DPERL_EXTERNAL_GLOB %1 %2 %3 %4 %5 %6 %7 %8 %9
+sh Configure %1 %2 %3 %4 %5 %6 %7 %8 %9
 :end
Index: 0.5/djgpp/config.over
--- 0.5/djgpp/config.over Tue, 22 Feb 2000 20:42:39 +0100 ml (perl/B/18_config.ove 1.1.1.3 444)
+++ 0.5(w)/djgpp/config.over Tue, 22 Feb 2000 21:35:31 +0100 ml (perl/B/18_config.ove 1.1.1.3 444)
@@ -30,6 +30,7 @@
      -e 's=devel/peek=Devel/Peek='\
      -e 's=devel/dprof=Devel/DProf='\
      -e 's=sys/sys=Sys/Sys='\
+     -e 's=sys/hos=Sys/Hos='\
      -e 's=file/=='\
      -e 's=File/=='\
      -e 's=glob=='\
Index: 0.5/README.dos
--- 0.5/README.dos Wed, 20 Oct 1999 21:29:49 +0200 ml (perl/C/2_README.dos 1.1.1.1 444)
+++ 0.5(w)/README.dos Sun, 27 Feb 2000 16:53:51 +0100 ml (perl/C/2_README.dos 1.1.1.1 444)
@@ -46,7 +46,7 @@
 
 You need the following files to build perl (or add new modules):
 
-        v2/djdev201.zip
+        v2/djdev202.zip
         v2/bnu27b.zip
         v2gnu/gcc2721b.zip
         v2gnu/bsh1147b.zip
@@ -60,17 +60,11 @@
         v2gnu/gawk303b.zip
         v2misc/csdpmi4b.zip 
 
-or any newer version.
+or possibly any newer version.
 
 =item Pthreads
 
-If you want multithreading support in perl, you need a pthread library
-that supports DJGPP. One of them can be found at:
-
-        ftp://ftp.cs.fsu.edu/pub/PART/PTHREADS/pthreads.zip
-
-But thread support is still in alpha, it may be unstable. For more information
-see below.
+Thread support is not tested in this version of the djgpp perl.
 
 =back
 
@@ -105,7 +99,7 @@
 
 =item *
 
-Unpack the source package F<perl5.00?_??.tar.gz> with djtarx. If you want
+Unpack the source package F<perl5.6*.tar.gz> with djtarx. If you want
 to use long file names under w95, don't forget to use
 
         set LFN=y
@@ -160,7 +154,7 @@
 You can use the Configure script in non-interactive mode too.
 When I built my F<perl.exe>, I used something like this:
 
-        configure.bat -Uuseposix -des
+        configure.bat -des
 
 You can find more info about Configure's command line switches in
 the F<INSTALL> file.
@@ -191,9 +185,10 @@
 
         make test
 
-You should see "All tests successful" if you configured a database
-manager, and 1 failed test script if not (F<lib/anydbm.t>). If you
-configured POSIX you will see 1 additional failed subtest in F<lib/posix.t>.
+If you're lucky you should see "All tests successful". But there can be
+a few failed subtests (less than 5 hopefully) depending on some external
+conditions (e.g. some subtests fail under linux/dosemu or plain dos
+with short filenames only).
 
 =head2 Installation
 
@@ -205,64 +200,6 @@
 directory structure. Perl.exe and the utilities go into C<($DJDIR)/bin>,
 and the library goes under C<($DJDIR)/lib/perl5>. The pod documentation
 goes under C<($DJDIR)/lib/perl5/pod>.
-
-=head2 Threaded perl under dos-djgpp
-
-Multithreading support is considered alpha, because some of the
-tests in C<ext/Thread> still die with SIGSEGV (patches are welcome). But
-if you want to give it a try, here are the necessary steps:
-
-=over 4
-
-=item
-
-1. You will need a pthread library which supports djgpp. Go, and download
-FSU's version from:
-
-      ftp://ftp.cs.fsu.edu/pub/PART/PTHREADS/pthreads.zip
-
-The latest version is 3.5, released in Feb 98.
-
-=item 
-
-2. Unzip the file, cd to C<threads\src> and run F<configur.bat>.
-
-=item 
-
-3. Add C<RAND_SWITCH> or C<MUTEX_SWITCH> or C<RR_SWITCH> to C<CFLAGS>
-in the F<makefile>. Note that using these values, multithreading will
-NOT be preemptive. This is necessary, since djgpp's libc is not thread safe.
-
-=item 
-
-4. Apply the following patch:
-
-    *** include/pthread/signal.h~	Wed Feb  4 10:51:24 1998
-    --- include/pthread/signal.h	Tue Feb 10 22:40:32 1998
-    ***************
-    *** 364,368 ****
-    --- 364,370 ----
-      
-      #ifndef SA_ONSTACK
-    + #ifdef  SV_ONSTACK
-      #define SA_ONSTACK SV_ONSTACK
-    + #endif
-      #endif /* !SA_ONSTACK */
-
-=item
-
-5. run make (before you do this, you must make sure your C<SHELL> environment 
-variable does NOT point to bash).
-
-=item
-
-6. Install the library and header files into your djgpp directory structure.
-
-=item
-
-7. Add C<-Dusethreads> to the commmand line of perl's F<configure.bat>.
-
-=back
 
 =head1 AUTHOR
 



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About