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: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Tom Lane > Sent: Sunday, July 24, 2005 6:00 PM > To: pgsql-patches@postgresql.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 > >
makefile.shlib
Description: makefile.shlib
---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org