Re: Proposed patch to remove .so pattern rules from platform Makefiles

From: "Rocco Altier" <RoccoA(at)Routescape(dot)com>
To: "Rocco Altier" <RoccoA(at)Routescape(dot)com>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Proposed patch to remove .so pattern rules from platform Makefiles
Date: 2005-07-26 17:25:59
Message-ID: 6E0907A94904D94B99D7F387E08C4F5730EDF2@FALCON.INSIGHT
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Please disregard this patch. I have a ton of lib%.exp and similar files
created currently.

I am working on a new patch to deal with the MODULES expansion
correctly.

Thanks,
-rocco

> -----Original Message-----
> From: pgsql-patches-owner(at)postgresql(dot)org
> [mailto:pgsql-patches-owner(at)postgresql(dot)org] On Behalf Of Rocco Altier
> Sent: Monday, July 25, 2005 1:17 PM
> To: Tom Lane; pgsql-patches(at)postgresql(dot)org
> Subject: Re: [PATCHES] Proposed patch to remove .so pattern
> rules from platform Makefiles
>
>
> The patch works on AIX with one small tweak to Makefile.shlib
> (attached). This is needed because of the clever trick with
> using % as
> name, and when its evaulated for the mkldexport.
>
> Also, it appears that the changes for regress/GNUmakefile are already
> applied.
>
> I am able to build everything and pass the regression tests.
> This just
> leaves the contrib/pgport issue from letting AIX go green on the
> buildfarm.
>
> Thanks for getting this simplification done!
>
> -rocco
>
>
> > -----Original Message-----
> > From: pgsql-patches-owner(at)postgresql(dot)org
> > [mailto:pgsql-patches-owner(at)postgresql(dot)org] On Behalf Of Tom Lane
> > Sent: Sunday, July 24, 2005 6:00 PM
> > To: pgsql-patches(at)postgresql(dot)org
> > Subject: [PATCHES] Proposed patch to remove .so pattern rules
> > from platform Makefiles
> >
> >
> > I've wanted for a long time to get rid of the pattern rules in the
> > port-specific Makefiles that generate shared libraries from single
> > object files. These patterns duplicate (or, more often, fail to
> > completely duplicate) the knowledge in Makefile.shlib. So from
> > a maintenance point of view centralizing that knowledge is a good
> > thing.
> >
> > The stumbling block has been partly that the
> regression-test makefile
> > depended on the pattern rules (easily fixed by using Makefile.shlib)
> > and partly that pgxs.mk (and its predecessor
> > contrib-global.mk) depended
> > on the pattern rules to handle Makefiles that wanted to
> build multiple
> > .so files. Since Makefile.shlib is designed to handle only
> one shlib
> > per build, there wasn't any obvious way to fix that.
> >
> > The attached proposed patch gets around this by invoking
> > Makefile.shlib
> > in a way that produces a pattern rule "lib%.so : %.o". This is
> > moderately ugly but it gets the job done without changing
> > Makefile.shlib
> > itself. Possibly it could be done more cleanly if we were willing
> > to introduce pattern rules inside Makefile.shlib.
> >
> > I am not sure if the patch works on non-Unix platforms ---
> > could someone
> > test on Win32 and Cygwin, in particular? AIX is weird
> enough to need
> > testing too.
> >
> > Any other comments?
> >
> > regards, tom lane
> >
> >
>

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2005-07-26 17:48:31 Re: Proposed patch to remove .so pattern rules from platform Makefiles
Previous Message Stephen Frost 2005-07-26 16:52:11 Re: [PATCHES] Roles - SET ROLE Updated