summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.dos81
-rw-r--r--djgpp/config.over1
-rw-r--r--djgpp/configure.bat2
-rw-r--r--djgpp/djgpp.c6
-rw-r--r--hints/dos_djgpp.sh2
5 files changed, 15 insertions, 77 deletions
diff --git a/README.dos b/README.dos
index 95ab911820..e6fc8a96d9 100644
--- a/README.dos
+++ b/README.dos
@@ -46,7 +46,7 @@ the world. Like:
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 @@ You need the following files to build perl (or add new modules):
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 @@ sockets
=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 @@ with: C<stubedit cc1.exe>).
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 @@ Type:
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
@@ -206,64 +201,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
Laszlo Molnar, F<laszlo.molnar@eth.ericsson.se>
diff --git a/djgpp/config.over b/djgpp/config.over
index 1f567b4174..5c252362c7 100644
--- a/djgpp/config.over
+++ b/djgpp/config.over
@@ -30,6 +30,7 @@ repair()
-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=='\
diff --git a/djgpp/configure.bat b/djgpp/configure.bat
index 370f5ed048..e7d41d7130 100644
--- a/djgpp/configure.bat
+++ b/djgpp/configure.bat
@@ -33,5 +33,5 @@ echo Running sed...
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
diff --git a/djgpp/djgpp.c b/djgpp/djgpp.c
index 5a8fc5fa5c..c928851b76 100644
--- a/djgpp/djgpp.c
+++ b/djgpp/djgpp.c
@@ -122,11 +122,9 @@ convretcode (pTHX_ int rc,char *prog,int fl)
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
diff --git a/hints/dos_djgpp.sh b/hints/dos_djgpp.sh
index 7c59428c7e..478c076920 100644
--- a/hints/dos_djgpp.sh
+++ b/hints/dos_djgpp.sh
@@ -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 @@ case "X$optimize" in
optimize="-O2 -malign-loops=2 -malign-jumps=2 -malign-functions=2"
;;
esac
+ccflags="$ccflags -DPERL_EXTERNAL_GLOB"
ldflags='-s'
usemymalloc='n'
timetype='time_t'