mirror of
https://github.com/postgres/postgres.git
synced 2025-06-26 12:21:12 +03:00
In mingw builds, make our own import library for libperl.
Borrow the method already used by plpython. This is pretty ugly, but
it might fix the build failure exhibited by buildfarm member narwhal
since commit 846e91e022
.
Hiroshi Inoue
This commit is contained in:
@ -36,6 +36,27 @@ DATA = plperl.control plperl--1.0.sql plperl--unpackaged--1.0.sql \
|
||||
|
||||
PERLCHUNKS = plc_perlboot.pl plc_trusted.pl
|
||||
|
||||
# Perl on win32 ships with import libraries only for Microsoft Visual C++,
|
||||
# which are not compatible with mingw gcc. Therefore we need to build a
|
||||
# new import library to link with.
|
||||
ifeq ($(PORTNAME), win32)
|
||||
|
||||
perlwithver := $(subst -l,,$(filter -l%, $(perl_embed_ldflags)))
|
||||
PERLDLL := $(dir $(subst ',,$(PERL)))$(perlwithver).dll
|
||||
# we no longer want to include the original -l spec in SHLIB_LINK
|
||||
override perl_embed_ldflags :=
|
||||
|
||||
OBJS += lib$(perlwithver).a
|
||||
|
||||
lib$(perlwithver).a: $(perlwithver).def
|
||||
dlltool --dllname $(perlwithver).dll --def $(perlwithver).def --output-lib lib$(perlwithver).a
|
||||
|
||||
$(perlwithver).def: $(PERLDLL)
|
||||
pexports $^ > $@
|
||||
|
||||
endif # win32
|
||||
|
||||
|
||||
SHLIB_LINK = $(perl_embed_ldflags)
|
||||
|
||||
REGRESS_OPTS = --dbname=$(PL_TESTDB) --load-extension=plperl --load-extension=plperlu
|
||||
@ -105,6 +126,9 @@ submake:
|
||||
clean distclean maintainer-clean: clean-lib
|
||||
rm -f SPI.c Util.c $(OBJS) perlchunks.h plperl_opmask.h
|
||||
rm -rf $(pg_regress_clean_files)
|
||||
ifeq ($(PORTNAME), win32)
|
||||
rm -f $(perlwithver).def
|
||||
endif
|
||||
|
||||
else # can't build
|
||||
|
||||
|
Reference in New Issue
Block a user