summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1998-03-01 06:52:26 +0000
committerGurusamy Sarathy <gsar@cpan.org>1998-03-01 06:52:26 +0000
commitfbbbcc485c1d03c76a91f998e1e4492c8ad56b38 (patch)
tree3b1a893d2288b11451c4d4419edd75f4f85d2481 /ext
parentc69f6586a27b86846a13e0177336730d72b33c95 (diff)
parent1c1c7f20b839aeb1c04942d0884c3efb087d3e4a (diff)
downloadperl-fbbbcc485c1d03c76a91f998e1e4492c8ad56b38.tar.gz
[asperl] integrate mainline changes
p4raw-id: //depot/asperl@607
Diffstat (limited to 'ext')
-rw-r--r--ext/B/B.xs16
-rw-r--r--ext/B/B/Asmdata.pm2
-rw-r--r--ext/B/Makefile.PL11
-rw-r--r--ext/DB_File/DB_File.xs8
-rw-r--r--ext/POSIX/POSIX.xs6
-rw-r--r--ext/SDBM_File/Makefile.PL34
-rw-r--r--ext/SDBM_File/sdbm/Makefile.PL4
-rw-r--r--ext/SDBM_File/sdbm/sdbm.h20
8 files changed, 51 insertions, 50 deletions
diff --git a/ext/B/B.xs b/ext/B/B.xs
index 0bb7acba02..3e519afe43 100644
--- a/ext/B/B.xs
+++ b/ext/B/B.xs
@@ -11,8 +11,6 @@
#include "perl.h"
#include "XSUB.h"
#include "INTERN.h"
-#include "bytecode.h"
-#include "byterun.h"
static char *svclassnames[] = {
"B::NULL",
@@ -288,20 +286,6 @@ cchar(SV *sv)
return sstr;
}
-void *
-bset_obj_store(void *obj, I32 ix)
-{
- if (ix > obj_list_fill) {
- if (obj_list_fill == -1)
- New(666, obj_list, ix + 1, void*);
- else
- Renew(obj_list, ix + 1, void*);
- obj_list_fill = ix;
- }
- obj_list[ix] = obj;
- return obj;
-}
-
#ifdef INDIRECT_BGET_MACROS
void freadpv(U32 len, void *data)
{
diff --git a/ext/B/B/Asmdata.pm b/ext/B/B/Asmdata.pm
index 3a3cf6da61..b1df379009 100644
--- a/ext/B/B/Asmdata.pm
+++ b/ext/B/B/Asmdata.pm
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1996, 1997 Malcolm Beattie
+# Copyright (c) 1996-1998 Malcolm Beattie
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the README file.
diff --git a/ext/B/Makefile.PL b/ext/B/Makefile.PL
index bc42a34d33..92f01e24c4 100644
--- a/ext/B/Makefile.PL
+++ b/ext/B/Makefile.PL
@@ -4,7 +4,6 @@ use Config;
my $e = $Config{'exe_ext'};
my $o = $Config{'obj_ext'};
my $exeout_flag = '-o ';
-my @extras = ();
if ($^O eq 'MSWin32') {
if ($Config{'cc'} =~ /^cl/i) {
$exeout_flag = '-Fe';
@@ -12,21 +11,13 @@ if ($^O eq 'MSWin32') {
elsif ($Config{'cc'} =~ /^bcc/i) {
$exeout_flag = '-e';
}
- # XXX this probably applies to everyone else
- @extras = (
- OBJECT => "B$o byterun$o",
- depend => {
- "B$o" => "B.c ../../bytecode.h ../../byterun.h",
- "byterun$o" => "../../byterun.c ../../bytecode.h ../../byterun.h",
- });
}
WriteMakefile(
NAME => "B",
VERSION => "a5",
- @extras,
clean => {
- FILES => "perl byteperl$e *$o B.c *~"
+ FILES => "perl$e byteperl$e *$o B.c *~"
}
);
diff --git a/ext/DB_File/DB_File.xs b/ext/DB_File/DB_File.xs
index b6da38609d..91b4dc2ad5 100644
--- a/ext/DB_File/DB_File.xs
+++ b/ext/DB_File/DB_File.xs
@@ -533,14 +533,6 @@ DB_File db ;
DBT_flags(key) ;
DBT_flags(value) ;
RETVAL = do_SEQ(db, key, value, R_LAST) ;
- if (RETVAL < 0 && errno == EBADF)
- {
- recno_t oops = -1;
- key.data = &oops;
- key.size = sizeof(oops);
- db_get(db, key, value, 0);
- RETVAL = do_SEQ(db, key, value, R_LAST) ;
- }
if (RETVAL == 0)
RETVAL = *(I32 *)key.data ;
else /* No key means empty file */
diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs
index d3714557ec..31439b2365 100644
--- a/ext/POSIX/POSIX.xs
+++ b/ext/POSIX/POSIX.xs
@@ -247,6 +247,12 @@ char *tzname[] = { "" , "" };
* support is added and NETaa14816 is considered in full.
* It does not address tzname aspects of NETaa14816.
*/
+#ifdef HAS_GNULIBC
+# ifndef STRUCT_TM_HASZONE
+# define STRUCT_TM_HAS_ZONE
+# endif
+#endif
+
#ifdef STRUCT_TM_HASZONE
static void
init_tm(ptm) /* see mktime, strftime and asctime */
diff --git a/ext/SDBM_File/Makefile.PL b/ext/SDBM_File/Makefile.PL
index 02dfd7d84f..c0daa064c7 100644
--- a/ext/SDBM_File/Makefile.PL
+++ b/ext/SDBM_File/Makefile.PL
@@ -6,21 +6,37 @@ use ExtUtils::MakeMaker;
# which perform the corresponding actions in the subdirectory.
$define = ($^O eq 'MSWin32') ? '-DMSDOS' : '';
+if ($^O eq 'MSWin32') {
+ $myextlib = 'sdbm\\libsdbm$(LIB_EXT)';
+} elsif ($^O eq 'VMS') {
+ $myextlib = 'sdbm/libsdbm$(LIB_EXT)';
+} else {
+ $myextlib = 'sdbm/libsdbm$(LIB_EXT)';
+}
WriteMakefile(
- NAME => 'SDBM_File',
- MYEXTLIB => 'sdbm'.($^O eq 'MSWin32' ? '\\' : '/').'libsdbm$(LIB_EXT)',
- MAN3PODS => ' ', # Pods will be built by installman.
- XSPROTOARG => '-noprototypes', # XXX remove later?
- VERSION_FROM => 'SDBM_File.pm',
- DEFINE => $define,
-);
-
+ NAME => 'SDBM_File',
+ MYEXTLIB => $myextlib,
+ MAN3PODS => ' ', # Pods will be built by installman.
+ XSPROTOARG => '-noprototypes', # XXX remove later?
+ VERSION_FROM => 'SDBM_File.pm',
+ DEFINE => $define,
+# NORECURS => $^O eq 'VMS',
+# SKIP => $^O eq 'VMS' ? 'subdirs' : '', # Don't do the subdirs section for VMS
+ );
sub MY::postamble {
+ if ($^O ne 'VMS') {
'
$(MYEXTLIB): sdbm/Makefile
cd sdbm && $(MAKE) all
';
+ } else {
+ '
+$(MYEXTLIB): [.sdbm]descrip.mms
+ set def [.sdbm]
+ $(MMS) all
+ set def [-]
+';
+ }
}
-
diff --git a/ext/SDBM_File/sdbm/Makefile.PL b/ext/SDBM_File/sdbm/Makefile.PL
index 50fd83eb25..e9d4dcd0fa 100644
--- a/ext/SDBM_File/sdbm/Makefile.PL
+++ b/ext/SDBM_File/sdbm/Makefile.PL
@@ -5,11 +5,11 @@ $define .= ' -DWIN32' if ($^O eq 'MSWin32');
WriteMakefile(
NAME => 'sdbm', # (doesn't matter what the name is here) oh yes it does
- LINKTYPE => 'static',
+# LINKTYPE => 'static',
DEFINE => $define,
INC => '-I$(PERL_INC)', # force PERL_INC dir ahead of system -I's
SKIP => [qw(dynamic dynamic_lib)],
- OBJECT => '$(O_FILES)',
+ OBJECT => ($^O eq 'VMS') ? 'sdbm.obj pair.obj hash.obj' : '$(O_FILES)',
clean => {'FILES' => 'dbu libsdbm.a dbd dba dbe x-dbu *.dir *.pag'},
H => [qw(tune.h sdbm.h pair.h $(PERL_INC)/config.h)],
C => [qw(sdbm.c pair.c hash.c)]
diff --git a/ext/SDBM_File/sdbm/sdbm.h b/ext/SDBM_File/sdbm/sdbm.h
index ac2dc36b01..b3ed2d4b8b 100644
--- a/ext/SDBM_File/sdbm/sdbm.h
+++ b/ext/SDBM_File/sdbm/sdbm.h
@@ -9,7 +9,11 @@
#define PAIRMAX 1008 /* arbitrary on PBLKSIZ-N */
#define SPLTMAX 10 /* maximum allowed splits */
/* for a single insertion */
+#ifdef VMS
+#define DIRFEXT ".sdbm_dir"
+#else
#define DIRFEXT ".dir"
+#endif
#define PAGFEXT ".pag"
typedef struct {
@@ -116,11 +120,15 @@ extern long sdbm_hash proto((char *, int));
#include <ctype.h>
#include <setjmp.h>
-#ifdef I_UNISTD
+#if defined(I_UNISTD) || defined(VMS)
#include <unistd.h>
#endif
-#if !defined(MSDOS) && !defined(WIN32)
+#ifdef VMS
+# include <fcntl.h>
+#endif
+
+#if !defined(MSDOS) && !defined(WIN32) && !defined(VMS)
# ifdef PARAM_NEEDS_TYPES
# include <sys/types.h>
# endif
@@ -237,7 +245,7 @@ extern long sdbm_hash proto((char *, int));
# endif
#else
# ifndef memcmp
-# /* maybe we should have included the full embedding header... */
+ /* maybe we should have included the full embedding header... */
# ifdef NO_EMBED
# define memcmp my_memcmp
# else
@@ -264,7 +272,11 @@ extern long sdbm_hash proto((char *, int));
#endif
#ifdef I_NETINET_IN
-# include <netinet/in.h>
+# ifdef VMS
+# include <in.h>
+# else
+# include <netinet/in.h>
+# endif
#endif
#endif /* Include guard */