aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdmund Mergl <E.Mergl@bawue.de>1998-06-01 16:41:27 +0000
committerEdmund Mergl <E.Mergl@bawue.de>1998-06-01 16:41:27 +0000
commitdf58a902f91e6bd6d61638791bc9c96630efb847 (patch)
treeaf4033dffffc7b98e7767f9940a31f3fdac2e087
parentfc06df70700c52351b7a343ef6c6e5de2512cf33 (diff)
downloadpostgresql-df58a902f91e6bd6d61638791bc9c96630efb847.tar.gz
postgresql-df58a902f91e6bd6d61638791bc9c96630efb847.zip
adapted Makefile.PL to be build in source tree
-rw-r--r--src/interfaces/perl5/Changes17
-rw-r--r--src/interfaces/perl5/Makefile.PL70
-rw-r--r--src/interfaces/perl5/Pg.pm6
-rw-r--r--src/interfaces/perl5/Pg.xs4
-rw-r--r--src/interfaces/perl5/README24
-rw-r--r--src/interfaces/perl5/eg/ApachePg.pl10
-rw-r--r--src/interfaces/perl5/eg/example.newstyle14
-rw-r--r--src/interfaces/perl5/eg/example.oldstyle14
-rw-r--r--src/interfaces/perl5/test.pl16
-rw-r--r--src/interfaces/perl5/typemap4
10 files changed, 114 insertions, 65 deletions
diff --git a/src/interfaces/perl5/Changes b/src/interfaces/perl5/Changes
index 3806a73b50d..9ed81247217 100644
--- a/src/interfaces/perl5/Changes
+++ b/src/interfaces/perl5/Changes
@@ -1,5 +1,22 @@
+#-------------------------------------------------------
+#
+# $Id: Changes,v 1.7 1998/06/01 16:41:18 mergl Exp $
+#
+# Copyright (c) 1997, 1998 Edmund Mergl
+#
+#-------------------------------------------------------
+
Revision history for Perl extension Pg.
+
+1.7.4 May 28 1998
+ - applied patches from
+ Brook Milligan <brook@trillium.NMSU.Edu>:
+ o changed Makefile.PL to look for include files
+ and libs in the source tree, except when the
+ environment variable POSTGRES_HOME is set.
+ o bug-fix in test.pl
+
1.7.3 Mar 28 1998
- linking again with the shared version of libpq
due to problems on several operating systems.
diff --git a/src/interfaces/perl5/Makefile.PL b/src/interfaces/perl5/Makefile.PL
index e27ba627bb7..134c61e8a22 100644
--- a/src/interfaces/perl5/Makefile.PL
+++ b/src/interfaces/perl5/Makefile.PL
@@ -1,8 +1,8 @@
#-------------------------------------------------------
#
-# $Id: Makefile.PL,v 1.7 1998/04/14 21:14:34 mergl Exp $
+# $Id: Makefile.PL,v 1.8 1998/06/01 16:41:19 mergl Exp $
#
-# Copyright (c) 1997 Edmund Mergl
+# Copyright (c) 1997, 1998 Edmund Mergl
#
#-------------------------------------------------------
@@ -10,33 +10,55 @@ use ExtUtils::MakeMaker;
use Config;
use strict;
-print "\nConfiguring Pg\n";
-print "Remember to actually read the README file !\n";
-die "\nYou didn't read the README file !\n" unless ($] >= 5.002);
+# because the perl5 interface is always contained in the source tree,
+# we can be sure about the location of the include files and libs.
+# For development and testing we still test for POSTGRES_HOME.
+#
+#print "\nConfiguring Pg\n";
+#print "Remember to actually read the README file !\n";
+#die "\nYou didn't read the README file !\n" unless ($] >= 5.002);
+#
+#if (! $ENV{POSTGRES_HOME}) {
+# warn "\$POSTGRES_HOME not defined. Searching for PostgreSQL...\n";
+# foreach(qw(../../../ /usr/local/pgsql /usr/pgsql /home/pgsql /opt/pgsql /usr/local/postgres /usr/postgres /home/postgres /opt/postgres)) {
+# if (-d "$_/lib") {
+# $ENV{POSTGRES_HOME} = $_;
+# last;
+# }
+# }
+#}
+#
+#if (-d "$ENV{POSTGRES_HOME}/lib") {
+# print "Found PostgreSQL in $ENV{POSTGRES_HOME}\n";
+#} else {
+# die "Unable to determine PostgreSQL\n";
+#}
+
+my %opts;
if (! $ENV{POSTGRES_HOME}) {
- warn "\$POSTGRES_HOME not defined. Searching for PostgreSQL...\n";
- foreach(qw(/usr/local/pgsql /usr/pgsql /home/pgsql /opt/pgsql /usr/local/postgres /usr/postgres /home/postgres /opt/postgres)) {
- if (-d "$_/lib") {
- $ENV{POSTGRES_HOME} = $_;
- last;
- }
- }
-}
-if (-d "$ENV{POSTGRES_HOME}/lib") {
- print "Found PostgreSQL in $ENV{POSTGRES_HOME}\n";
+ my $cwd = `pwd`;
+ chop $cwd;
+
+ %opts = (
+ NAME => 'Pg',
+ VERSION_FROM => 'Pg.pm',
+ INC => "-I$cwd/../libpq -I$cwd/../../include",
+ OBJECT => "Pg\$(OBJ_EXT)",
+ LIBS => ["-L$cwd/../libpq -lpq"],
+ );
+
} else {
- die "Unable to determine PostgreSQL\n";
-}
-my %opts = (
- NAME => 'Pg',
- VERSION_FROM => 'Pg.pm',
- INC => "-I$ENV{POSTGRES_HOME}/include -I/usr/local/include/pgsql -I/usr/include/pgsql",
- OBJECT => "Pg\$(OBJ_EXT)",
- LIBS => ["-L$ENV{POSTGRES_HOME}/lib -lpq"],
-);
+ %opts = (
+ NAME => 'Pg',
+ VERSION_FROM => 'Pg.pm',
+ INC => "-I$ENV{POSTGRES_HOME}/include",
+ OBJECT => "Pg\$(OBJ_EXT)",
+ LIBS => ["-L$ENV{POSTGRES_HOME}/lib -lpq"],
+ );
+}
WriteMakefile(%opts);
diff --git a/src/interfaces/perl5/Pg.pm b/src/interfaces/perl5/Pg.pm
index 15765836e79..8f0ba77edc7 100644
--- a/src/interfaces/perl5/Pg.pm
+++ b/src/interfaces/perl5/Pg.pm
@@ -1,8 +1,8 @@
#-------------------------------------------------------
#
-# $Id: Pg.pm,v 1.6 1998/04/14 21:14:35 mergl Exp $
+# $Id: Pg.pm,v 1.7 1998/06/01 16:41:19 mergl Exp $
#
-# Copyright (c) 1997 Edmund Mergl
+# Copyright (c) 1997, 1998 Edmund Mergl
#
#-------------------------------------------------------
@@ -84,7 +84,7 @@ require 5.002;
PGRES_InvalidOid
);
-$Pg::VERSION = '1.7.3';
+$Pg::VERSION = '1.7.4';
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
diff --git a/src/interfaces/perl5/Pg.xs b/src/interfaces/perl5/Pg.xs
index 919b698542a..2de5e010739 100644
--- a/src/interfaces/perl5/Pg.xs
+++ b/src/interfaces/perl5/Pg.xs
@@ -1,8 +1,8 @@
/*-------------------------------------------------------
*
- * $Id: Pg.xs,v 1.6 1998/04/14 21:14:36 mergl Exp $
+ * $Id: Pg.xs,v 1.7 1998/06/01 16:41:19 mergl Exp $
*
- * Copyright (c) 1997 Edmund Mergl
+ * Copyright (c) 1997, 1998 Edmund Mergl
*
*-------------------------------------------------------*/
diff --git a/src/interfaces/perl5/README b/src/interfaces/perl5/README
index 6b699c21590..99c861dd3d7 100644
--- a/src/interfaces/perl5/README
+++ b/src/interfaces/perl5/README
@@ -1,15 +1,15 @@
#-------------------------------------------------------
#
-# $Id: README,v 1.6 1998/04/14 21:14:37 mergl Exp $
+# $Id: README,v 1.7 1998/06/01 16:41:19 mergl Exp $
#
-# Copyright (c) 1997 Edmund Mergl
+# Copyright (c) 1997, 1998 Edmund Mergl
#
#-------------------------------------------------------
DESCRIPTION:
------------
-This is version 1.7.3 of pgsql_perl5 (previously called pg95perl5).
+This is version 1.7.4 of pgsql_perl5 (previously called pg95perl5).
Pgsql_perl5 is an interface between Larry Wall's language perl version 5 and
the database PostgreSQL (previously Postgres95). This has been done by using
@@ -63,13 +63,16 @@ PLATFORMS:
INSTALLATION:
-------------
-Using dynamic loading for perl extensions, the preferred method is to unpack
-the tar file outside the perl source tree. This assumes, that you already
-have installed perl5.
+Since the perl5 interface is always contained in the source tree of PostgreSQL,
+it is usually build together with PostgreSQL itself. This can be obtained by
+adding the option '--with-perl' to the configure command.
+
+In case you need to build the perl interface stand alone, you need to set the
+environment variable POSTGRES_HOME, pointing to the PostgreSQL home-directory.
+Also PostgreSQL needs to be installed having the include files in
+$POSTGRES_HOME/include and the libs in $POSTGRES_HOME/lib. Then you have to
+build the module as any standard perl-module with the following commands:
-The Makefile checks the environment variable POSTGRES_HOME as well some
-standard locations, to find the root directory of your Postgres installation.
-
1. perl Makefile.PL
2. make
3. make test
@@ -117,7 +120,6 @@ HP users: if you get error messages like:
Dan Lauterbach <danla@dimensional.com>
-
DOCUMENTATION:
--------------
@@ -127,6 +129,6 @@ installation to read the documentation.
---------------------------------------------------------------------------
- Edmund Mergl <E.Mergl@bawue.de> March 28, 1998
+ Edmund Mergl <E.Mergl@bawue.de> May 28, 1998
---------------------------------------------------------------------------
diff --git a/src/interfaces/perl5/eg/ApachePg.pl b/src/interfaces/perl5/eg/ApachePg.pl
index 7885369f898..26fdc2cd1b2 100644
--- a/src/interfaces/perl5/eg/ApachePg.pl
+++ b/src/interfaces/perl5/eg/ApachePg.pl
@@ -1,5 +1,13 @@
#!/usr/local/bin/perl
+#-------------------------------------------------------
+#
+# $Id: ApachePg.pl,v 1.4 1998/06/01 16:41:26 mergl Exp $
+#
+# Copyright (c) 1997, 1998 Edmund Mergl
+#
+#-------------------------------------------------------
+
# demo script, tested with:
# - PostgreSQL-6.3
# - apache_1.3
@@ -37,7 +45,7 @@ if ($query->param) {
print "<P><CENTER><TABLE CELLPADDING=4 CELLSPACING=2 BORDER=1>\n";
my @row;
while (@row = $result->fetchrow) {
- print "<TR><TD>", join("</TD><TD>", @row), "</TD></TR>\n";
+ print "<TR><TD>", join("</TD><TD>", @row), "</TD></TR>";
}
print "</TABLE></CENTER><P>\n";
} else {
diff --git a/src/interfaces/perl5/eg/example.newstyle b/src/interfaces/perl5/eg/example.newstyle
index 9f5e095d3f7..f2c6a572cb6 100644
--- a/src/interfaces/perl5/eg/example.newstyle
+++ b/src/interfaces/perl5/eg/example.newstyle
@@ -2,9 +2,9 @@
#-------------------------------------------------------
#
-# $Id: example.newstyle,v 1.4 1998/04/14 21:14:50 mergl Exp $
+# $Id: example.newstyle,v 1.5 1998/06/01 16:41:27 mergl Exp $
#
-# Copyright (c) 1997 Edmund Mergl
+# Copyright (c) 1997, 1998 Edmund Mergl
#
#-------------------------------------------------------
@@ -122,7 +122,7 @@ cmp_ne("", $port);
######################### create and insert into table
# 8-19
-$result = $conn->exec("CREATE TABLE person (id int4, name char16)");
+$result = $conn->exec("CREATE TABLE person (id int4, name char(16))");
cmp_eq(PGRES_COMMAND_OK, $result->resultStatus);
cmp_eq("CREATE", $result->cmdStatus);
@@ -143,7 +143,7 @@ $ret = 0;
while (-1 != $ret) {
$ret = $conn->getline($string, 256);
last if $string eq "\\.";
- cmp_eq("$i Edmund Mergl", $string);
+ cmp_eq("$i Edmund Mergl ", $string);
$i ++;
}
@@ -190,8 +190,8 @@ for ($k = 0; $k < $result->nfields; $k++) {
cmp_eq(4, $fsize);
} else {
cmp_eq("name", $fname);
- cmp_eq(20, $ftype);
- cmp_eq(16, $fsize);
+ cmp_eq(1042, $ftype);
+ cmp_eq(-1, $fsize);
}
$fnumber = $result->fnumber($fname);
cmp_eq($k, $fnumber);
@@ -201,7 +201,7 @@ $string = "";
while (@row = $result->fetchrow) {
$string = join(" ", @row);
}
-cmp_eq("5 Edmund Mergl", $string);
+cmp_eq("5 Edmund Mergl ", $string);
######################### PQnotifies
# 43-46
diff --git a/src/interfaces/perl5/eg/example.oldstyle b/src/interfaces/perl5/eg/example.oldstyle
index 49f58982385..a4771a0c78f 100644
--- a/src/interfaces/perl5/eg/example.oldstyle
+++ b/src/interfaces/perl5/eg/example.oldstyle
@@ -2,9 +2,9 @@
#-------------------------------------------------------
#
-# $Id: example.oldstyle,v 1.4 1998/04/14 21:14:52 mergl Exp $
+# $Id: example.oldstyle,v 1.5 1998/06/01 16:41:27 mergl Exp $
#
-# Copyright (c) 1997 Edmund Mergl
+# Copyright (c) 1997, 1998 Edmund Mergl
#
#-------------------------------------------------------
@@ -126,7 +126,7 @@ cmp_ne("", $port);
######################### create and insert into table
# 8-19
-$result = PQexec($conn, "CREATE TABLE person (id int4, name char16)");
+$result = PQexec($conn, "CREATE TABLE person (id int4, name char(16))");
cmp_eq(PGRES_COMMAND_OK, PQresultStatus($result));
cmp_eq("CREATE", PQcmdStatus($result));
PQclear($result);
@@ -150,7 +150,7 @@ $ret = 0;
while (-1 != $ret) {
$ret = PQgetline($conn, $string, 256);
last if $string eq "\\.";
- cmp_eq("$i Edmund Mergl", $string);
+ cmp_eq("$i Edmund Mergl ", $string);
$i++;
}
@@ -201,8 +201,8 @@ for ($k = 0; $k < PQnfields($result); $k++) {
cmp_eq(4, $fsize);
} else {
cmp_eq("name", $fname);
- cmp_eq(20, $ftype);
- cmp_eq(16, $fsize);
+ cmp_eq(1042, $ftype);
+ cmp_eq(-1, $fsize);
}
$fnumber = PQfnumber($result, $fname);
cmp_eq($k, $fnumber);
@@ -214,7 +214,7 @@ for ($k = 0; $k < PQntuples($result); $k++) {
$string .= PQgetvalue($result, $k, $l) . " ";
}
$i = $k + 1;
- cmp_eq("$i Edmund Mergl ", $string);
+ cmp_eq("$i Edmund Mergl ", $string);
}
PQclear($result);
diff --git a/src/interfaces/perl5/test.pl b/src/interfaces/perl5/test.pl
index ac351741f90..009bd138efe 100644
--- a/src/interfaces/perl5/test.pl
+++ b/src/interfaces/perl5/test.pl
@@ -2,9 +2,9 @@
#-------------------------------------------------------
#
-# $Id: test.pl,v 1.7 1998/04/14 21:14:38 mergl Exp $
+# $Id: test.pl,v 1.8 1998/06/01 16:41:20 mergl Exp $
#
-# Copyright (c) 1997 Edmund Mergl
+# Copyright (c) 1997, 1998 Edmund Mergl
#
#-------------------------------------------------------
@@ -122,7 +122,7 @@ cmp_ne("", $port);
######################### create and insert into table
# 8-19
-$result = $conn->exec("CREATE TABLE person (id int4, name char16)");
+$result = $conn->exec("CREATE TABLE person (id int4, name char(16))");
cmp_eq(PGRES_COMMAND_OK, $result->resultStatus);
cmp_eq("CREATE", $result->cmdStatus);
@@ -143,8 +143,8 @@ $ret = 0;
while (-1 != $ret) {
$ret = $conn->getline($string, 256);
last if $string eq "\\.";
- cmp_eq("$i Edmund Mergl", $string);
- $i ++;
+ cmp_eq("$i Edmund Mergl ", $string);
+ $i++;
}
cmp_eq(0, $conn->endcopy);
@@ -190,8 +190,8 @@ for ($k = 0; $k < $result->nfields; $k++) {
cmp_eq(4, $fsize);
} else {
cmp_eq("name", $fname);
- cmp_eq(20, $ftype);
- cmp_eq(16, $fsize);
+ cmp_eq(1042, $ftype);
+ cmp_eq(-1, $fsize);
}
$fnumber = $result->fnumber($fname);
cmp_eq($k, $fnumber);
@@ -201,7 +201,7 @@ $string = "";
while (@row = $result->fetchrow) {
$string = join(" ", @row);
}
-cmp_eq("5 Edmund Mergl", $string);
+cmp_eq("5 Edmund Mergl ", $string);
######################### debug, PQuntrace
diff --git a/src/interfaces/perl5/typemap b/src/interfaces/perl5/typemap
index e3d14a8fed7..2fa20093fa6 100644
--- a/src/interfaces/perl5/typemap
+++ b/src/interfaces/perl5/typemap
@@ -1,8 +1,8 @@
#-------------------------------------------------------
#
-# $Id: typemap,v 1.6 1998/04/14 21:14:39 mergl Exp $
+# $Id: typemap,v 1.7 1998/06/01 16:41:20 mergl Exp $
#
-# Copyright (c) 1997 Edmund Mergl
+# Copyright (c) 1997, 1998 Edmund Mergl
#
#-------------------------------------------------------