Skip to content
Snippets Groups Projects
Commit 19c29f92 authored by Bruce Momjian's avatar Bruce Momjian
Browse files

New plperl Makefile.

parent 8daa31a2
No related branches found
No related tags found
No related merge requests found
......@@ -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.)
......
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_
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment