Thread: make update-po problem with USE_PGXS

make update-po problem with USE_PGXS

From
"wangsh.fnst@fujitsu.com"
Date:
Hi,

I'm developing an extension, after modifying some source file(add some message
like gettext('xxxxx')) and execute
> $ make USE_PGXS=1 update-po
> make: Nothing to be done for 'update-po'.

I feel strange because I think *.po.new files should be created.

After some research, I find in $pginstall/lib/postgresql/pgxs/src/nls-global.mk
> ifneq (,$(filter update-po %.po.new,$(MAKECMDGOALS)))
> ALL_LANGUAGES := $(shell find $(top_srcdir) -name '*.po' -print | sed 's,^.*/\([^/]*\).po$$,\1,' | LC_ALL=C sort -u)
> all_compendia := $(shell find $(top_srcdir) -name '*.po' -print | LC_ALL=C sort)
> else

When USE_PGXS is on, the value of $(top_srcdir) is
> $pginstall/lib/postgresql/pgxs/src/makefiles/../..
Therefore, command find will nerver find any po file.

I think this is a problem and plan to modify this,
when USE_PGXS is on, we can use:
    find . -name '*.po' -print

Or there are some advice/comments?

Regards
Shenhao Wang




Re: make update-po problem with USE_PGXS

From
Peter Eisentraut
Date:
On 01.11.21 04:56, wangsh.fnst@fujitsu.com wrote:
> I'm developing an extension, after modifying some source file(add some message
> like gettext('xxxxx')) and execute
>> $ make USE_PGXS=1 update-po
>> make: Nothing to be done for 'update-po'.
> I feel strange because I think *.po.new files should be created.

I don't think the NLS makefiles were ever adjusted to work with PGXS. 
It's not surprising to me that some amount of adjustment appears to be 
necessary to make the paths right.