*** src/makefiles/Makefile.aix.orig Wed Oct 9 12:21:54 2002 --- src/makefiles/Makefile.aix Sun Jul 24 16:19:25 2005 *************** *** 23,33 **** MKLDEXPORT=$(top_srcdir)/src/backend/port/aix/mkldexport.sh - %$(EXPSUFF): %.o - $(MKLDEXPORT) $*.o > $*$(EXPSUFF) - - %$(DLSUFFIX): %.o %$(EXPSUFF) - @echo Making shared library $@ from $*.o, $*$(EXPSUFF) and postgres.imp - $(CC) $(LDFLAGS) $(LDFLAGS_SL) -o $@ $*.o -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:$*$(EXPSUFF) $(LIBS) - sqlmansect = 7 --- 23,26 ---- *** src/makefiles/Makefile.beos.orig Thu Dec 16 22:49:58 2004 --- src/makefiles/Makefile.beos Sun Jul 24 16:19:25 2005 *************** *** 8,19 **** DLSUFFIX = .so CFLAGS_SL = -fpic -DPIC - %.so: %.o - ifdef PGXS - ln -fs $(DESTDIR)$(bindir)/postgres _APP_ - else - ln -fs $(top_builddir)/src/backend/postgres _APP_ - endif - $(CC) -nostart -Xlinker -soname=$@ -o $@ _APP_ $< - sqlmansect = 7 --- 8,11 ---- *** src/makefiles/Makefile.bsdi.orig Tue Dec 21 13:42:04 2004 --- src/makefiles/Makefile.bsdi Sun Jul 24 16:19:26 2005 *************** *** 20,26 **** CFLAGS_SL = endif - %.so: %.o - $(CC) -shared -o $@ $< - sqlmansect = 7 --- 20,23 ---- *** src/makefiles/Makefile.cygwin.orig Thu Dec 16 22:52:48 2004 --- src/makefiles/Makefile.cygwin Sun Jul 24 16:19:26 2005 *************** *** 16,26 **** DLSUFFIX = .dll CFLAGS_SL = - %.dll: %.o - $(DLLTOOL) --export-all --output-def $*.def $< - $(DLLWRAP) -o $@ --def $*.def $< $(DLLINIT) $(SHLIB_LINK) - rm -f $*.def - ifneq (,$(findstring backend,$(subdir))) ifeq (,$(findstring conversion_procs,$(subdir))) override CPPFLAGS+= -DBUILDING_DLL --- 16,21 ---- *** src/makefiles/Makefile.darwin.orig Thu Dec 16 22:49:59 2004 --- src/makefiles/Makefile.darwin Sun Jul 24 16:19:27 2005 *************** *** 10,18 **** BE_DLLLIBS= -bundle_loader $(top_builddir)/src/backend/postgres endif - # Rule for building shared libs (currently used only for regression test - # shlib ... should go away, since this is not really enough knowledge) - %.so: %.o - $(CC) -bundle -o $@ $< $(BE_DLLLIBS) - sqlmansect = 7 --- 10,13 ---- *** src/makefiles/Makefile.dgux.orig Wed Aug 29 15:14:40 2001 --- src/makefiles/Makefile.dgux Sun Jul 24 16:19:27 2005 *************** *** 2,8 **** DLSUFFIX = .so CFLAGS_SL = -fpic - %.so: %.o - $(CC) -shared -o $@ $< - sqlmansect = 5 --- 2,5 ---- *** src/makefiles/Makefile.freebsd.orig Tue Dec 21 13:42:10 2004 --- src/makefiles/Makefile.freebsd Sun Jul 24 16:19:28 2005 *************** *** 13,30 **** CFLAGS_SL = -fpic -DPIC endif - - %.so: %.o - ifdef ELF_SYSTEM - $(LD) -x -shared -o $@ $< - else - $(LD) $(LDREL) $(LDOUT) $<.obj -x $< - @echo building shared object $@ - @rm -f $@.pic - @${AR} cq $@.pic `lorder $<.obj | tsort` - ${RANLIB} $@.pic - @rm -f $@ - $(LD) -x -Bshareable -Bforcearchive -o $@ $@.pic - endif - sqlmansect = 7 --- 13,16 ---- *** src/makefiles/Makefile.hpux.orig Tue Dec 21 13:42:14 2004 --- src/makefiles/Makefile.hpux Sun Jul 24 16:10:28 2005 *************** *** 49,69 **** CFLAGS_SL = +z endif - # Rule for building shared libs (currently used only for regression test - # shlib ... should go away, since this is not really enough knowledge) - %$(DLSUFFIX): %.o - ifeq ($(GCC), yes) - ifeq ($(with_gnu_ld), yes) - $(CC) $(LDFLAGS) -shared -o $@ $< `$(CC) $(LDFLAGS) -print-libgcc-file-name` - else - $(LD) -b -o $@ $< `$(CC) $(LDFLAGS) -print-libgcc-file-name` - endif - else - ifeq ($(with_gnu_ld), yes) - $(CC) $(LDFLAGS) -shared -o $@ $< - else - $(LD) -b -o $@ $< - endif - endif - sqlmansect = 5 --- 49,52 ---- *** src/makefiles/Makefile.irix.orig Tue Dec 21 13:42:17 2004 --- src/makefiles/Makefile.irix Sun Jul 24 16:19:28 2005 *************** *** 6,14 **** # PIC is default CFLAGS_SL = - %.so: %.o - $(LD) -G -Bdynamic -shared -o $@ $< - override CPPFLAGS += -U_NO_XOPEN4 ifneq ($(GCC), yes) --- 6,11 ---- *** src/makefiles/Makefile.linux.orig Tue Dec 21 13:42:20 2004 --- src/makefiles/Makefile.linux Sun Jul 24 16:19:29 2005 *************** *** 10,16 **** CFLAGS_SL = -fpic endif - %.so: %.o - $(CC) -shared -o $@ $< - sqlmansect = 7 --- 10,13 ---- *** src/makefiles/Makefile.netbsd.orig Tue Dec 21 13:42:24 2004 --- src/makefiles/Makefile.netbsd Sun Jul 24 16:19:31 2005 *************** *** 15,32 **** CFLAGS_SL = -fpic -DPIC endif - - %.so: %.o - ifdef ELF_SYSTEM - $(LD) -x -Bshareable -o $@ $< - else - $(LD) $(LDREL) $(LDOUT) $<.obj -x $< - @echo building shared object $@ - @rm -f $@.pic - @${AR} cq $@.pic `lorder $<.obj | tsort` - ${RANLIB} $@.pic - @rm -f $@ - $(LD) -x -Bshareable -Bforcearchive -o $@ $@.pic - endif - sqlmansect = 7 --- 15,18 ---- *** src/makefiles/Makefile.openbsd.orig Tue Dec 21 13:42:29 2004 --- src/makefiles/Makefile.openbsd Sun Jul 24 16:19:31 2005 *************** *** 13,30 **** CFLAGS_SL = -fpic -DPIC endif - - %.so: %.o - ifdef ELF_SYSTEM - $(CC) -shared -o $@ $< - else - $(LD) $(LDREL) $(LDOUT) $<.obj -x $< - @echo building shared object $@ - @rm -f $@.pic - @${AR} cq $@.pic `lorder $<.obj | tsort` - ${RANLIB} $@.pic - @rm -f $@ - $(LD) -x -Bshareable -Bforcearchive -o $@ $@.pic - endif - sqlmansect = 7 --- 13,16 ---- *** src/makefiles/Makefile.osf.orig Thu Jan 6 15:55:45 2005 --- src/makefiles/Makefile.osf Sun Jul 24 16:19:31 2005 *************** *** 3,9 **** CFLAGS_SL = rpath = -rpath $(rpathdir) - %.so: %.o - $(LD) -shared -expect_unresolved '*' -o $@ $< - sqlmansect = 5 --- 3,6 ---- *** src/makefiles/Makefile.qnx4.orig Wed Sep 4 18:54:18 2002 --- src/makefiles/Makefile.qnx4 Sun Jul 24 16:19:32 2005 *************** *** 10,16 **** DLSUFFIX = .so CFLAGS_SL = - %$(DLSUFFIX): %.o - @echo 'cannot make shared object $@ from $<' - sqlmansect = 7 --- 10,13 ---- *** src/makefiles/Makefile.sco.orig Tue Dec 21 13:42:35 2004 --- src/makefiles/Makefile.sco Sun Jul 24 16:19:32 2005 *************** *** 8,13 **** CFLAGS_SL = -K PIC endif - %.so: %.o - $(LD) -G -Bdynamic -o $@ $< sqlmansect = 7 --- 8,11 ---- *** src/makefiles/Makefile.solaris.orig Tue Dec 21 13:47:42 2004 --- src/makefiles/Makefile.solaris Sun Jul 24 16:19:33 2005 *************** *** 16,22 **** CFLAGS_SL = -KPIC endif - %.so: %.o - $(LD) -G -Bdynamic -o $@ $< - sqlmansect = 5sql --- 16,19 ---- *** src/makefiles/Makefile.sunos4.orig Wed Sep 4 18:54:18 2002 --- src/makefiles/Makefile.sunos4 Sun Jul 24 16:19:33 2005 *************** *** 7,13 **** CFLAGS_SL = -PIC endif - %.so: %.o - $(LD) -assert pure-text -Bdynamic -o $@ $< - sqlmansect = 7 --- 7,10 ---- *** src/makefiles/Makefile.svr4.orig Wed Aug 29 15:14:40 2001 --- src/makefiles/Makefile.svr4 Sun Jul 24 16:19:34 2005 *************** *** 8,14 **** DLSUFFIX = .so CFLAGS_SL = - %.so: %.o - $(LD) -G -Bdynamic -o $@ $< - sqlmansect = 5 --- 8,11 ---- *** src/makefiles/Makefile.ultrix4.orig Wed Aug 29 15:14:40 2001 --- src/makefiles/Makefile.ultrix4 Sun Jul 24 16:19:34 2005 *************** *** 6,12 **** # "-G 0" works for both DEC cc and GNU cc. CFLAGS_SL = -G 0 - %.so: %.c - $(CC) -c -G 0 $(CPPFLAGS) $(CFLAGS) -o $@ $< - sqlmansect = 7 --- 6,9 ---- *** src/makefiles/Makefile.univel.orig Wed Aug 29 15:14:40 2001 --- src/makefiles/Makefile.univel Sun Jul 24 16:19:35 2005 *************** *** 3,9 **** DLSUFFIX = .so CFLAGS_SL = -K PIC - %.so: %.o - $(LD) -G -Bdynamic -o $@ $< - sqlmansect = 5 --- 3,6 ---- *** src/makefiles/Makefile.unixware.orig Tue Dec 21 13:42:39 2004 --- src/makefiles/Makefile.unixware Sun Jul 24 16:19:35 2005 *************** *** 13,18 **** --- 13,21 ---- endif endif + # Unixware needs threads for everything that uses libpq + CFLAGS += $(PTHREAD_CFLAGS) + DLSUFFIX = .so ifeq ($(GCC), yes) CFLAGS_SL = -fpic *************** *** 25,34 **** SO_FLAGS = -G endif - %.so: %.o - $(CC) $(SO_FLAGS) -o $@ $< - sqlmansect = 5sql - - # Unixware needs threads for everything that uses libpq - CFLAGS += $(PTHREAD_CFLAGS) --- 28,31 ---- *** src/makefiles/Makefile.win32.orig Thu Dec 16 22:52:49 2004 --- src/makefiles/Makefile.win32 Sun Jul 24 16:19:36 2005 *************** *** 16,26 **** DLSUFFIX = .dll CFLAGS_SL = - %.dll: %.o - $(DLLTOOL) --export-all --output-def $*.def $< - $(DLLWRAP) -o $@ --def $*.def $< $(DLLINIT) $(SHLIB_LINK) - rm -f $*.def - ifneq (,$(findstring backend,$(subdir))) ifeq (,$(findstring conversion_procs,$(subdir))) override CPPFLAGS+= -DBUILDING_DLL --- 16,21 ---- *** src/makefiles/pgxs.mk.orig Tue May 17 14:26:22 2005 --- src/makefiles/pgxs.mk Sun Jul 24 17:33:00 2005 *************** *** 14,23 **** # PGXS := $(shell pg_config --pgxs) # include $(PGXS) # ! # The following variables can be set: # ! # MODULES -- list of shared objects to be build from source file with # same stem (do not include suffix in this list) # DATA -- random files to install into $PREFIX/share/contrib # DATA_built -- random files to install into $PREFIX/share/contrib, # which need to be built first --- 14,29 ---- # PGXS := $(shell pg_config --pgxs) # include $(PGXS) # ! # Set at most one of these three variables to describe code to be built: # ! # MODULES -- list of shared objects to be built from source files with # same stem (do not include suffix in this list) + # MODULE_big -- a single shared object to build from multiple source + # files (list object files in OBJS) + # PROGRAM -- an executable program to build (list object files in OBJS) + # + # The following can also be set: + # # DATA -- random files to install into $PREFIX/share/contrib # DATA_built -- random files to install into $PREFIX/share/contrib, # which need to be built first *************** *** 26,43 **** # SCRIPTS_built -- script files (not binaries) to install into $PREFIX/bin, # which need to be built first # REGRESS -- list of regression test cases (without suffix) - # - # or at most one of these two: - # - # PROGRAM -- a binary program to build (list objects files in OBJS) - # MODULE_big -- a shared object to build (list object files in OBJS) - # - # The following can also be set: - # # EXTRA_CLEAN -- extra files to remove in 'make clean' # PG_CPPFLAGS -- will be added to CPPFLAGS # PG_LIBS -- will be added to PROGRAM link line ! # SHLIB_LINK -- will be added to MODULE_big link line # # Better look at some of the existing uses for examples... --- 32,41 ---- # SCRIPTS_built -- script files (not binaries) to install into $PREFIX/bin, # which need to be built first # REGRESS -- list of regression test cases (without suffix) # EXTRA_CLEAN -- extra files to remove in 'make clean' # PG_CPPFLAGS -- will be added to CPPFLAGS # PG_LIBS -- will be added to PROGRAM link line ! # SHLIB_LINK -- will be added to MODULES or MODULE_big link line # # Better look at some of the existing uses for examples... *************** *** 61,88 **** override CPPFLAGS := -I$(srcdir) $(CPPFLAGS) - ifdef MODULES - override CFLAGS += $(CFLAGS_SL) - SHLIB_LINK += $(BE_DLLLIBS) - endif - ifdef PG_CPPFLAGS override CPPFLAGS := $(PG_CPPFLAGS) $(CPPFLAGS) endif all: $(PROGRAM) $(DATA_built) $(SCRIPTS_built) $(addsuffix $(DLSUFFIX), $(MODULES)) ifdef MODULE_big # shared library parameters NAME = $(MODULE_big) SO_MAJOR_VERSION= 0 SO_MINOR_VERSION= 0 SHLIB_LINK += $(BE_DLLLIBS) include $(top_srcdir)/src/Makefile.shlib all: all-lib endif # MODULE_big --- 59,113 ---- override CPPFLAGS := -I$(srcdir) $(CPPFLAGS) ifdef PG_CPPFLAGS override CPPFLAGS := $(PG_CPPFLAGS) $(CPPFLAGS) endif all: $(PROGRAM) $(DATA_built) $(SCRIPTS_built) $(addsuffix $(DLSUFFIX), $(MODULES)) + ifdef MODULES + + # set up shared library parameters to produce a pattern rule lib%.so : %.o + NAME = % + SO_MAJOR_VERSION= 0 + SO_MINOR_VERSION= 0 + OBJS := %.o + + SHLIB_LINK += $(BE_DLLLIBS) + + include $(top_srcdir)/src/Makefile.shlib + + # Now adjust $(OBJS) so that evaluation of the pattern rule works correctly + OBJS = $< + + # This rule converts libNAME.so to NAME.so and gets rid of extra symlinks + %$(DLSUFFIX): $(shlib) + rm -f $@ + ln $< $@ + ifneq ($(shlib), $(shlib_major)) + rm -f $(shlib_major) + endif + ifneq ($(shlib), $(shlib_bare)) + rm -f $(shlib_bare) + endif + + endif # MODULES + + ifdef MODULE_big + # shared library parameters NAME = $(MODULE_big) SO_MAJOR_VERSION= 0 SO_MINOR_VERSION= 0 + # OBJS must have been set by caller SHLIB_LINK += $(BE_DLLLIBS) include $(top_srcdir)/src/Makefile.shlib all: all-lib + endif # MODULE_big *** src/test/regress/GNUmakefile.orig Sun Jul 17 14:28:45 2005 --- src/test/regress/GNUmakefile Sun Jul 24 17:27:58 2005 *************** *** 1,13 **** #------------------------------------------------------------------------- # # GNUmakefile-- ! # Makefile for regress (the regression tests) # ! # Copyright (c) 1994, Regents of the University of California # ! # ! # IDENTIFICATION ! # $PostgreSQL: pgsql/src/test/regress/GNUmakefile,v 1.50 2005/07/17 18:28:45 tgl Exp $ # #------------------------------------------------------------------------- --- 1,12 ---- #------------------------------------------------------------------------- # # GNUmakefile-- ! # Makefile for src/test/regress (the regression tests) # ! # Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group ! # Portions Copyright (c) 1994, Regents of the University of California # ! # $PostgreSQL: pgsql/src/test/regress/GNUmakefile,v 1.50 2005/07/17 18:28:45 tgl Exp $ # #------------------------------------------------------------------------- *************** *** 17,27 **** contribdir := $(top_builddir)/contrib - override CPPFLAGS := -I$(libpq_srcdir) $(CPPFLAGS) - override CFLAGS += $(CFLAGS_SL) - - SHLIB_LINK = $(BE_DLLLIBS) - # port number for temp-installation test postmaster TEMP_PORT = 5$(DEF_PGPORT) --- 16,21 ---- *************** *** 59,71 **** # Build dynamically-loaded object file for CREATE FUNCTION ... LANGUAGE 'C'. ! DLOBJS := regress$(DLSUFFIX) ! # This is for some platforms ! ifdef EXPSUFF ! DLOBJS += regress$(EXPSUFF) ! endif ! all: $(DLOBJS) # Build test input and expected files --- 53,71 ---- # Build dynamically-loaded object file for CREATE FUNCTION ... LANGUAGE 'C'. ! NAME = regress ! SO_MAJOR_VERSION= 0 ! SO_MINOR_VERSION= 0 ! OBJS = regress.o ! SHLIB_LINK = $(BE_DLLLIBS) ! ! include $(top_srcdir)/src/Makefile.shlib ! ! all: $(NAME)$(DLSUFFIX) ! $(NAME)$(DLSUFFIX): $(shlib) ! rm -f $(NAME)$(DLSUFFIX) ! $(LN_S) $(shlib) $(NAME)$(DLSUFFIX) # Build test input and expected files *************** *** 163,172 **** ## Clean up ## ! clean distclean maintainer-clean: # things built by `all' target $(MAKE) -C $(contribdir)/spi clean ! rm -f $(output_files) $(input_files) $(DLOBJS) regress.o pg_regress # things created by various check targets rm -rf testtablespace rm -rf results tmp_check log --- 163,173 ---- ## Clean up ## ! clean distclean maintainer-clean: clean-lib # things built by `all' target + rm -f $(NAME)$(DLSUFFIX) $(OBJS) $(MAKE) -C $(contribdir)/spi clean ! rm -f $(output_files) $(input_files) pg_regress # things created by various check targets rm -rf testtablespace rm -rf results tmp_check log