OSDN Git Service

New plperl Makefile.
authorBruce Momjian <bruce@momjian.us>
Wed, 1 Mar 2000 19:13:08 +0000 (19:13 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 1 Mar 2000 19:13:08 +0000 (19:13 +0000)
HISTORY
src/pl/plperl/Makefile.PL

diff --git a/HISTORY b/HISTORY
index 62e1b3c..90901d5 100644 (file)
--- a/HISTORY
+++ b/HISTORY
@@ -313,7 +313,7 @@ Allow pgsql to work on newer Cygwin snapshots(Dan)
 New catalog version number (Tom)
 Add Linux ARM.
 Rename heap_replace to heap_update
-Update for QNX (Kardos, Dr. Andrea)
+Update for QNX (Kardos, Dr. Andreas)
 New platform-specific regression handling (Tom)
 Rename oid8 -> oidvector and int28 -> int2vector (Bruce)
 Included all yacc and lex files into the distribution (Peter E.)
index fae122b..fc8b25d 100644 (file)
@@ -1,12 +1,7 @@
+use ExtUtils::MakeMaker;
+use ExtUtils::Embed;
 use DynaLoader;
 use Config;
-use ExtUtils::Embed;
-
-#
-# massage the ld options
-#
-my $ldopts = ldopts();
-chomp($ldopts);
 
 #
 # get the location of the Opcode module
@@ -30,91 +25,29 @@ my $opcode = '';
 
 }
 
-open(MAKEFILE, ">Makefile");
-
-print MAKEFILE <<_STATIC_;
-#-------------------------------------------------------------------------
-#
-# Makefile
-#    Makefile for the plperl shared object
-#
-# AUTOGENERATED Makefile.pl
-#
-
-#
-# Tell make where the postgresql sources live
-#
-SRCDIR= ../../../src
-include \$(SRCDIR)/Makefile.global
-
-EXTDIR= $Config{privlib}/ExtUtils
-
-XSUBPP= \$(EXTDIR)/xsubpp
-
-TYPEMAP= -typemap \$(EXTDIR)/typemap
-
-# use the same compiler as perl did
-CC= $Config{cc}
-
-# use the same compiler options as perl did, too
-CFLAGS= @{[ccopts()]}
-# including the ones for dynamic loading
-CFLAGS+= $Config{cccdlflags}
-
-# now add the includes for postgreSQL
-CFLAGS+= -I\$(LIBPQDIR) -I\$(SRCDIR)/include -I\$(SRCDIR)/backend
+WriteMakefile( 'NAME' => 'plperl', 
+       dynamic_lib => { 'OTHERLDFLAGS' => "$opcode -L\$(LIBPQDIR) -lpq @{[ldopts()]}" } ,
+       INC => '-I$(LIBPQDIR) -I$(SRCDIR)/include -I$(SRCDIR)/backend',
+       XS => { 'SPI.xs' => 'SPI.c' },
+       OBJECT => 'plperl.o eloglvl.o SPI.o',
+       );
 
-# add the postgreSQL libraries
-LDADD+= -L\$(LIBPQDIR) -lpq
+sub MY::post_initialize { 
 
-LDFLAGS+= $Config{lddlflags} \\
-       $ldopts \\
-       -lperl
+q[
+SRCDIR=../../../src
+include $(SRCDIR)/Makefile.global
+];
 
-#
-# DLOBJS is the dynamically-loaded object file.
-#
-DLOBJS= plperl\$(DLSUFFIX)
-
-INFILES= \$(DLOBJS) 
-
-SHLIB_EXTRA_LIBS+= $opcode
-
-#
-# plus exports files
-#
-ifdef EXPSUFF
-INFILES+= \$(DLOBJS:.o=\$(EXPSUFF))
-endif
-
-%.so: %.o
-       \$(CC) -o \$@ \$< \$(LDFLAGS) \$(SHLIB_EXTRA_LIBS) \$(LDADD)
-
-
-#
-# Build the shared lib
-#
-all:    plperl
-
-plperl : plperl.o SPI.o
-       \$(CC) -o plperl.so plperl.o SPI.o \$(SHLIB_EXTRA_LIBS) \$(LDADD) \$(LDFLAGS)
-
-%.o : %.c
-       \$(CC) -c \$(CFLAGS) \$<
+}
 
-%.o : %.xs
-       \$(XSUBPP) \$(TYPEMAP) \$< > xtmp.c
-       \$(CC) -c \$(CFLAGS) -o \$@ xtmp.c
+sub MY::install {
 
+q[
+install :: all
+       cp $(INST_DYNAMIC) $(LIBDIR)
+];
 
-#
-# Clean 
-#
-clean:
-       rm -f \$(INFILES) *.o xtmp.c
-       rm -rf .libs
-       rm -f Makefile
+}
 
-dep depend:
 
-_STATIC_