Copy the libpq DLL to the bin directory on Mingw and Cygwin.
authorAndrew Dunstan <andrew@dunslane.net>
Sat, 1 Feb 2014 20:16:52 +0000 (15:16 -0500)
committerAndrew Dunstan <andrew@dunslane.net>
Sat, 1 Feb 2014 20:16:52 +0000 (15:16 -0500)
This has long been done by the MSVC build system, and has caused
confusion in the past when programs like psql have failed to start
because they can't find the DLL. If it's in the same directory as it now
will be they will find it.

Backpatch to all live branches.

src/interfaces/libpq/Makefile

index 6c9f6920918a581b5b108d985c9332e2b43a93ff..230e825c471b8f56390137772c0ec61d06588d48 100644 (file)
@@ -111,9 +111,15 @@ install: all installdirs install-lib
    $(INSTALL_DATA) $(srcdir)/libpq-int.h '$(DESTDIR)$(includedir_internal)'
    $(INSTALL_DATA) $(srcdir)/pqexpbuffer.h '$(DESTDIR)$(includedir_internal)'
    $(INSTALL_DATA) $(srcdir)/pg_service.conf.sample '$(DESTDIR)$(datadir)/pg_service.conf.sample'
+ifneq (,$findstring($(PORTNAME), win32 cygwin))
+   $(INSTALL_DATA) $(shlib) '$(DESTDIR)$(bindir)/$(shlib)'
+endif
 
 installdirs: installdirs-lib
    $(mkinstalldirs) '$(DESTDIR)$(includedir)' '$(DESTDIR)$(includedir_internal)'
+ifneq (,$findstring($(PORTNAME), win32 cygwin))
+   $(MKDIR_P) '$(DESTDIR)$(bindir)'
+endif
 
 uninstall: uninstall-lib
    rm -f '$(DESTDIR)$(includedir)/libpq-fe.h'
@@ -121,6 +127,9 @@ uninstall: uninstall-lib
    rm -f '$(DESTDIR)$(includedir_internal)/libpq-int.h'
    rm -f '$(DESTDIR)$(includedir_internal)/pqexpbuffer.h'
    rm -f '$(DESTDIR)$(datadir)/pg_service.conf.sample'
+ifneq (,$findstring($(PORTNAME), win32 cygwin))
+   rm -f '$(DESTDIR)$(bindir)/$(shlib)'
+endif
 
 clean distclean: clean-lib
    rm -f $(OBJS) pg_config_paths.h crypt.c getaddrinfo.c inet_aton.c noblock.c open.c pgstrcasecmp.c snprintf.c strerror.c strlcpy.c thread.c md5.c ip.c encnames.c wchar.c win32error.c pgsleep.c pthread.h libpq.rc