diff options
author | Tom Lane | 2007-10-16 16:00:00 +0000 |
---|---|---|
committer | Tom Lane | 2007-10-16 16:00:00 +0000 |
commit | 34eda3a4be36ca729752ab2abb1e136542085564 (patch) | |
tree | 0b991622f3ef8f30051c77fce3a4a30f3dbdf6ef | |
parent | 7e7b8ed76e4fcb6b456bc42414fa0bd2f864fa57 (diff) |
Teach pgxs.mk and Install.pm how to install files from a contrib module
into SHAREDIR/tsearch_data. Use this instead of ad-hoc coding in
dict_xsyn/Makefile. Should fix current ContribCheck failures on MSVC.
-rw-r--r-- | contrib/dict_xsyn/Makefile | 20 | ||||
-rw-r--r-- | src/makefiles/pgxs.mk | 13 | ||||
-rw-r--r-- | src/tools/msvc/Install.pm | 14 |
3 files changed, 28 insertions, 19 deletions
diff --git a/contrib/dict_xsyn/Makefile b/contrib/dict_xsyn/Makefile index de2f364847..a048f1551c 100644 --- a/contrib/dict_xsyn/Makefile +++ b/contrib/dict_xsyn/Makefile @@ -4,12 +4,10 @@ MODULE_big = dict_xsyn OBJS = dict_xsyn.o DATA_built = dict_xsyn.sql DATA = uninstall_dict_xsyn.sql +DATA_TSEARCH = xsyn_sample.rules DOCS = README.dict_xsyn REGRESS = dict_xsyn -DICTDIR = tsearch_data -DICTFILES = xsyn_sample.rules - ifdef USE_PGXS PG_CONFIG = pg_config PGXS := $(shell $(PG_CONFIG) --pgxs) @@ -20,19 +18,3 @@ top_builddir = ../.. include $(top_builddir)/src/Makefile.global include $(top_srcdir)/contrib/contrib-global.mk endif - -install: install-data - -.PHONY: install-data -install-data: $(DICTFILES) - for i in $(DICTFILES); \ - do $(INSTALL_DATA) $(srcdir)/$$i '$(DESTDIR)$(datadir)/$(DICTDIR)/'$$i; \ - done - -uninstall: uninstall-data - -.PHONY: uninstall-data -uninstall-data: - for i in $(DICTFILES); \ - do rm -rf '$(DESTDIR)$(datadir)/$(DICTDIR)/'$$i ; \ - done diff --git a/src/makefiles/pgxs.mk b/src/makefiles/pgxs.mk index 363793138f..a4263a6b55 100644 --- a/src/makefiles/pgxs.mk +++ b/src/makefiles/pgxs.mk @@ -22,6 +22,7 @@ # 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 +# DATA_TSEARCH -- random files to install into $PREFIX/share/tsearch_data # DOCS -- random files to install under $PREFIX/doc/contrib # SCRIPTS -- script files (not binaries) to install into $PREFIX/bin # SCRIPTS_built -- script files (not binaries) to install into $PREFIX/bin, @@ -97,6 +98,12 @@ ifneq (,$(DATA)$(DATA_built)) $(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/contrib'; \ done endif # DATA +ifneq (,$(DATA_TSEARCH)) + @for file in $(addprefix $(srcdir)/, $(DATA_TSEARCH)); do \ + echo "$(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/tsearch_data'"; \ + $(INSTALL_DATA) $$file '$(DESTDIR)$(datadir)/tsearch_data'; \ + done +endif # DATA_TSEARCH ifdef MODULES @for file in $(addsuffix $(DLSUFFIX), $(MODULES)); do \ echo "$(INSTALL_SHLIB) $$file '$(DESTDIR)$(pkglibdir)'"; \ @@ -135,6 +142,9 @@ installdirs: ifneq (,$(DATA)$(DATA_built)) $(mkinstalldirs) '$(DESTDIR)$(datadir)/contrib' endif +ifneq (,$(DATA_TSEARCH)) + $(mkinstalldirs) '$(DESTDIR)$(datadir)/tsearch_data' +endif ifneq (,$(MODULES)$(MODULE_big)) $(mkinstalldirs) '$(DESTDIR)$(pkglibdir)' endif @@ -152,6 +162,9 @@ uninstall: ifneq (,$(DATA)$(DATA_built)) rm -f $(addprefix '$(DESTDIR)$(datadir)'/contrib/, $(notdir $(DATA) $(DATA_built))) endif +ifneq (,$(DATA_TSEARCH)) + rm -f $(addprefix '$(DESTDIR)$(datadir)'/tsearch_data/, $(notdir $(DATA_TSEARCH))) +endif ifdef MODULES rm -f $(addprefix '$(DESTDIR)$(pkglibdir)'/, $(addsuffix $(DLSUFFIX), $(MODULES))) endif diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm index f695f16465..7e23387682 100644 --- a/src/tools/msvc/Install.pm +++ b/src/tools/msvc/Install.pm @@ -318,6 +318,20 @@ sub CopyContribFiles } $flist = ''; + if ($mf =~ /^DATA_TSEARCH\s*=\s*(.*)$/m) {$flist .= $1} + if ($flist ne '') + { + $flist = ParseAndCleanRule($flist, $mf); + + foreach my $f (split /\s+/,$flist) + { + lcopy('contrib/' . $d . '/' . $f,$target . '/share/tsearch_data/' . basename($f)) + || croak("Could not copy file $f in contrib $d"); + print '.'; + } + } + + $flist = ''; if ($mf =~ /^DOCS\s*=\s*(.*)$/mg) {$flist .= $1} if ($flist ne '') { |