Need for DLLINIT in Makefile.shlib - Mailing list pgsql-hackers

From Bruce Momjian
Subject Need for DLLINIT in Makefile.shlib
Date
Msg-id 200410112222.i9BMMvN01175@candle.pha.pa.us
Whole thread Raw
Responses Re: Need for DLLINIT in Makefile.shlib  (Reini Urban <rurban@x-ray.at>)
List pgsql-hackers
I am curious why Cygwin needs DLLINIT in Makefile.shlib, and Win32
doesn't:

    # Cygwin case
    $(shlib) lib$(NAME).a: $(OBJS) $(DLLINIT)
            $(DLLTOOL) --export-all $(DLLTOOL_DEFFLAGS) --output-def $(NAME).def $(OBJS)
            $(DLLWRAP) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(NAME).def $(OBJS) $(DLLINIT)
$(SHLIB_LINK)
            $(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(NAME).def --output-lib lib$(NAME).a

    $(DLLINIT): $(DLLINIT:%.o=%.c)
            $(MAKE) -C $(@D) $(@F)

    endif # PORTNAME == cygwin

    else # PORTNAME == win32

    # win32 case
    $(shlib) lib$(NAME).a: $(OBJS)
            $(DLLTOOL) --export-all $(DLLTOOL_DEFFLAGS) --output-def $(NAME).def $(OBJS)
            $(DLLWRAP) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(NAME).def $(OBJS) $(SHLIB_LINK)
            $(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(NAME).def --output-lib lib$(NAME).a

    endif # PORTNAME == win32

The only difference I see is that Cygwin uses $(DLLINIT) while Win32 does
not.  Is that correct?  Why?

Both set DLLINIT in their makefiles:

    DLLINIT = $(top_builddir)/src/utils/dllinit.o

Could they be merged into a single snipped of code?

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-hackers by date:

Previous
From: Robert Treat
Date:
Subject: Re: PL/PgSQL for counting all rows in all tables.
Next
From: Bruce Momjian
Date:
Subject: Re: open item: tablespace handing in pg_dump/pg_restore