Re: dynloader.h missing in prebuilt package for Windows? - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: dynloader.h missing in prebuilt package for Windows?
Date
Msg-id 20151229190819.GA23552@momjian.us
Whole thread Raw
In response to Re: dynloader.h missing in prebuilt package for Windows?  ("Olson, Ken" <Ken.Olson@pega.com>)
Responses Re: dynloader.h missing in prebuilt package for Windows?  (Chapman Flack <chap@anastigmatix.net>)
Re: dynloader.h missing in prebuilt package for Windows?  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
On Sun, Dec  6, 2015 at 07:16:24PM +0000, Olson, Ken wrote:
> I have downloaded a fresh copy of the Win x64 installer (postgresql-9.4.5-2-windows-x64.exe) from
http://www.enterprisedb.com/products-services-training/pgdownload.The output of pg_config and assodicated directory
listingof include/server: 
...
>  Directory of C:\PROGRA~1\POSTGR~1\9.4\include\server
>
> 11/19/2015  12:19 AM            30,882 c.h
> 11/19/2015  12:19 AM            30,626 fmgr.h
> 11/19/2015  12:19 AM            10,711 funcapi.h
> 11/19/2015  12:19 AM             3,986 getaddrinfo.h
> 11/19/2015  12:19 AM               660 getopt_long.h
> 11/19/2015  12:19 AM            15,482 miscadmin.h
> 11/19/2015  12:45 AM            21,702 pg_config.h
> 11/19/2015  12:45 AM               253 pg_config_ext.h
> 11/19/2015  12:19 AM            10,875 pg_config_manual.h
> 11/19/2015  12:45 AM            13,392 pg_config_os.h
> 11/19/2015  12:19 AM             1,084 pg_getopt.h
> 11/19/2015  12:19 AM               316 pg_trace.h
> 11/19/2015  12:19 AM            27,166 pgstat.h
> 11/19/2015  12:19 AM               606 pgtar.h
> 11/19/2015  12:19 AM             2,309 pgtime.h
> 11/19/2015  12:19 AM            27,489 plpgsql.h
> 11/19/2015  12:19 AM            14,096 port.h
> 11/19/2015  12:19 AM            21,398 postgres.h
> 11/19/2015  12:19 AM             2,109 postgres_ext.h
> 11/19/2015  12:19 AM               763 postgres_fe.h
> 11/19/2015  12:19 AM               843 rusagestub.h
> 11/19/2015  12:19 AM             2,379 windowapi.h

Sorry, I am just getting to this.  This list helps.  Looking at the
'configure' run on Debian, I see at the bottom:

  config.status: linking src/backend/port/tas/dummy.s to src/backend/port/tas.s
  config.status: linking src/backend/port/dynloader/linux.c to src/backend/port/dynloader.c
  config.status: linking src/backend/port/sysv_sema.c to src/backend/port/pg_sema.c
  config.status: linking src/backend/port/sysv_shmem.c to src/backend/port/pg_shmem.c
  config.status: linking src/backend/port/unix_latch.c to src/backend/port/pg_latch.c
1 config.status: linking src/backend/port/dynloader/linux.h to src/include/dynloader.h
2 config.status: linking src/include/port/linux.h to src/include/pg_config_os.h
  config.status: linking src/makefiles/Makefile.linux to src/Makefile.port

Line #2 copies pg_config_os.h to src/include, and later all
src/include/*.h files are copied to the install directory by
src/include/Makefile.  The same happens for dynloader.h on line #1.

In the Windows MSVC build, we handle pg_config_os.h in the Perl scripts,
but not dynloader.h.  The attached patch copies the process used for
pg_config_os.h to handle dynloader.h.  I believe this is the only *.h
file that has this problem.

This should fix the PL/Java Windows build problem.  I don't think I will
get this patch into 9.5.0 but will put it in after 9.5.0 is released and
it will appear in all the next minor version releases, including 9.5.1,
which should happen in the next 60 days.

Thanks.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

+ As you are, so once was I. As I am, so you will be. +
+ Roman grave inscription                             +

Attachment

pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: proposal: PL/Pythonu - function ereport
Next
From: Chapman Flack
Date:
Subject: Re: dynloader.h missing in prebuilt package for Windows?