Message ID | 20190104114909.14166-1-vadim4j@gmail.com |
---|---|
State | Changes Requested |
Headers | show |
Series | [1/1] package/wine: Add gettext dependency for host-wine only with NLS enabled | expand |
Hello, On Fri, 4 Jan 2019 13:49:09 +0200, Vadim Kochan wrote: > Checked that host-wine compiles ok without host-gettext, so no > needs to specify this dependency. > > libgettextpo is required by tools/wrc (https://linux.die.net/man/1/wrc) > which allows to convert windows resources also to *.po format, which is > not needed if NLS is disabled. > > Signed-off-by: Vadim Kochan <vadim4j@gmail.com> > --- > package/wine/wine.mk | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/package/wine/wine.mk b/package/wine/wine.mk > index 78c8e6ab63..ef70b6276c 100644 > --- a/package/wine/wine.mk > +++ b/package/wine/wine.mk > @@ -307,8 +307,10 @@ WINE_CONF_OPTS += --without-zlib > endif > > # host-gettext is essential for .po file support in host-wine wrc > +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) > HOST_WINE_DEPENDENCIES += host-gettext > HOST_WINE_CONF_OPTS += --with-gettext --with-gettextpo > +endif It probably needs a "else" clause, to pass --without-gettext --without-gettextpo. Best regards, Thomas
Hi Thomas, On Fri, Jan 4, 2019 at 2:42 PM Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote: > > Hello, > > On Fri, 4 Jan 2019 13:49:09 +0200, Vadim Kochan wrote: > > Checked that host-wine compiles ok without host-gettext, so no > > needs to specify this dependency. > > > > libgettextpo is required by tools/wrc (https://linux.die.net/man/1/wrc) > > which allows to convert windows resources also to *.po format, which is > > not needed if NLS is disabled. > > > > Signed-off-by: Vadim Kochan <vadim4j@gmail.com> > > --- > > package/wine/wine.mk | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/package/wine/wine.mk b/package/wine/wine.mk > > index 78c8e6ab63..ef70b6276c 100644 > > --- a/package/wine/wine.mk > > +++ b/package/wine/wine.mk > > @@ -307,8 +307,10 @@ WINE_CONF_OPTS += --without-zlib > > endif > > > > # host-gettext is essential for .po file support in host-wine wrc > > +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) > > HOST_WINE_DEPENDENCIES += host-gettext > > HOST_WINE_CONF_OPTS += --with-gettext --with-gettextpo > > +endif > > It probably needs a "else" clause, to pass --without-gettext > --without-gettextpo. Emm, I will include this patch (with your suggestion) into gettext-tiny series. Thanks, Vadim Kochan
Vadim, All, On 2019-01-04 13:49 +0200, Vadim Kochan spake thusly: > Checked that host-wine compiles ok without host-gettext, so no > needs to specify this dependency. > > libgettextpo is required by tools/wrc (https://linux.die.net/man/1/wrc) > which allows to convert windows resources also to *.po format, which is > not needed if NLS is disabled. > > Signed-off-by: Vadim Kochan <vadim4j@gmail.com> > --- > package/wine/wine.mk | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/package/wine/wine.mk b/package/wine/wine.mk > index 78c8e6ab63..ef70b6276c 100644 > --- a/package/wine/wine.mk > +++ b/package/wine/wine.mk > @@ -307,8 +307,10 @@ WINE_CONF_OPTS += --without-zlib > endif > > # host-gettext is essential for .po file support in host-wine wrc > +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) > HOST_WINE_DEPENDENCIES += host-gettext > HOST_WINE_CONF_OPTS += --with-gettext --with-gettextpo > +endif At the beginning, I was failing to see how/why a target-related option, BR2_SYSTEM_ENABLE_NLS, would affect a host package. But it truns out that the target wine needs the host wrc to buile the .po stuff. However, we unconditionally compile the target wine with: --without-gettext --without-gettextpo So, why do we need a host wrc? And if we need it, why does it needs gettext support? Regards, Yann E. MORIN. > # Wine needs to enable 64-bit build tools on 64-bit host > ifeq ($(HOSTARCH),x86_64) > -- > 2.14.1 >
Yann, Thomas, All On Fri, Jan 4, 2019 at 4:01 PM Yann E. MORIN <yann.morin.1998@free.fr> wrote: > > Vadim, All, > > On 2019-01-04 13:49 +0200, Vadim Kochan spake thusly: > > Checked that host-wine compiles ok without host-gettext, so no > > needs to specify this dependency. > > > > libgettextpo is required by tools/wrc (https://linux.die.net/man/1/wrc) > > which allows to convert windows resources also to *.po format, which is > > not needed if NLS is disabled. > > > > Signed-off-by: Vadim Kochan <vadim4j@gmail.com> > > --- > > package/wine/wine.mk | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/package/wine/wine.mk b/package/wine/wine.mk > > index 78c8e6ab63..ef70b6276c 100644 > > --- a/package/wine/wine.mk > > +++ b/package/wine/wine.mk > > @@ -307,8 +307,10 @@ WINE_CONF_OPTS += --without-zlib > > endif > > > > # host-gettext is essential for .po file support in host-wine wrc > > +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) > > HOST_WINE_DEPENDENCIES += host-gettext > > HOST_WINE_CONF_OPTS += --with-gettext --with-gettextpo > > +endif > > At the beginning, I was failing to see how/why a target-related option, > BR2_SYSTEM_ENABLE_NLS, would affect a host package. > > But it truns out that the target wine needs the host wrc to buile the > .po stuff. > > However, we unconditionally compile the target wine with: > --without-gettext --without-gettextpo > > So, why do we need a host wrc? And if we need it, why does it needs > gettext support? > So there are programs/*/ and dlls/*/ and there are 'tools/makedep.c' which generates programs/*/Makefile and dlls/*/Makefile for these sub-folders. This tool generates Makefile which calls 'wrc' from host to generate windows resource files, and if there was gettextpo enabled then it generates rules to create 'pot' files by wrc (tools/makedep.c +3169). But if gettextpo was disabled then the '.pot' rules does nothing (as I understand), for example here are the programs/regedit/Makefile: ------------------------------------8<-------------------------------------------- regedit.pot: regedit.rc ../.././../host-wine-3.0.4/tools/wrc/wrc -O pot -o $@ -b i586-buildroot-linux-musl --nostdinc -I. \ -I../../include -I../../include/msvcrt -D__WINESRC__ regedit.rc regedit.pot regedit.res: ../.././../host-wine-3.0.4/tools/wrc/wrc resource.h ../../include/windef.h \ ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \ ../../include/msvcrt/string.h ../../include/msvcrt/crtdefs.h ../../include/msvcrt/ctype.h \ ../../include/msvcrt/stddef.h ../../include/winnt.rh ../../include/pshpack2.h \ ../../include/poppack.h ../../include/pshpack8.h ../../include/pshpack4.h ../../include/winuser.h \ ../../include/winuser.rh folderopen.ico folder.ico computer.ico string.ico bin.ico regedit.ico \ ../../include/wine/wine_common_ver.rc ../../include/winresrc.h ../../include/commctrl.rh \ ../../include/dde.rh ../../include/dlgs.h ../../include/winver.h ../../include/verrsrc.h ----------------------->8------------------------------------------------------------------------ So, for me it looks like gettextpo might be disabled. Regards, Vadim Kochan
Hello, On Fri, 4 Jan 2019 19:10:18 +0200, Vadim Kochan wrote: > Yann, Thomas, All > > On Fri, Jan 4, 2019 at 4:01 PM Yann E. MORIN <yann.morin.1998@free.fr> wrote: > > > > Vadim, All, > > > > On 2019-01-04 13:49 +0200, Vadim Kochan spake thusly: > > > Checked that host-wine compiles ok without host-gettext, so no > > > needs to specify this dependency. > > > > > > libgettextpo is required by tools/wrc (https://linux.die.net/man/1/wrc) > > > which allows to convert windows resources also to *.po format, which is > > > not needed if NLS is disabled. > > > > > > Signed-off-by: Vadim Kochan <vadim4j@gmail.com> > > > --- > > > package/wine/wine.mk | 2 ++ > > > 1 file changed, 2 insertions(+) > > > > > > diff --git a/package/wine/wine.mk b/package/wine/wine.mk > > > index 78c8e6ab63..ef70b6276c 100644 > > > --- a/package/wine/wine.mk > > > +++ b/package/wine/wine.mk > > > @@ -307,8 +307,10 @@ WINE_CONF_OPTS += --without-zlib > > > endif > > > > > > # host-gettext is essential for .po file support in host-wine wrc > > > +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) > > > HOST_WINE_DEPENDENCIES += host-gettext > > > HOST_WINE_CONF_OPTS += --with-gettext --with-gettextpo > > > +endif > > > > At the beginning, I was failing to see how/why a target-related option, > > BR2_SYSTEM_ENABLE_NLS, would affect a host package. > > > > But it truns out that the target wine needs the host wrc to buile the > > .po stuff. > > > > However, we unconditionally compile the target wine with: > > --without-gettext --without-gettextpo > > > > So, why do we need a host wrc? And if we need it, why does it needs > > gettext support? > > > > So there are programs/*/ and dlls/*/ and there are 'tools/makedep.c' which > generates programs/*/Makefile and dlls/*/Makefile for these > sub-folders. This tool > generates Makefile which calls 'wrc' from host to generate windows > resource files, > and if there was gettextpo enabled then it generates rules to create > 'pot' files by wrc (tools/makedep.c +3169). > But if gettextpo was disabled then the '.pot' rules does nothing (as I > understand), for example > here are the programs/regedit/Makefile: But is this logic going away when --disable-nls is passed to the target wine configure options ? Best regards, Thomas
Hi Thomas, On Sat, Jan 5, 2019 at 4:10 PM Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote: > > Hello, > > On Fri, 4 Jan 2019 19:10:18 +0200, Vadim Kochan wrote: > > Yann, Thomas, All > > > > On Fri, Jan 4, 2019 at 4:01 PM Yann E. MORIN <yann.morin.1998@free.fr> wrote: > > > > > > Vadim, All, > > > > > > On 2019-01-04 13:49 +0200, Vadim Kochan spake thusly: > > > > Checked that host-wine compiles ok without host-gettext, so no > > > > needs to specify this dependency. > > > > > > > > libgettextpo is required by tools/wrc (https://linux.die.net/man/1/wrc) > > > > which allows to convert windows resources also to *.po format, which is > > > > not needed if NLS is disabled. > > > > > > > > Signed-off-by: Vadim Kochan <vadim4j@gmail.com> > > > > --- > > > > package/wine/wine.mk | 2 ++ > > > > 1 file changed, 2 insertions(+) > > > > > > > > diff --git a/package/wine/wine.mk b/package/wine/wine.mk > > > > index 78c8e6ab63..ef70b6276c 100644 > > > > --- a/package/wine/wine.mk > > > > +++ b/package/wine/wine.mk > > > > @@ -307,8 +307,10 @@ WINE_CONF_OPTS += --without-zlib > > > > endif > > > > > > > > # host-gettext is essential for .po file support in host-wine wrc > > > > +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) > > > > HOST_WINE_DEPENDENCIES += host-gettext > > > > HOST_WINE_CONF_OPTS += --with-gettext --with-gettextpo > > > > +endif > > > > > > At the beginning, I was failing to see how/why a target-related option, > > > BR2_SYSTEM_ENABLE_NLS, would affect a host package. > > > > > > But it truns out that the target wine needs the host wrc to buile the > > > .po stuff. > > > > > > However, we unconditionally compile the target wine with: > > > --without-gettext --without-gettextpo > > > > > > So, why do we need a host wrc? And if we need it, why does it needs > > > gettext support? > > > > > > > So there are programs/*/ and dlls/*/ and there are 'tools/makedep.c' which > > generates programs/*/Makefile and dlls/*/Makefile for these > > sub-folders. This tool > > generates Makefile which calls 'wrc' from host to generate windows > > resource files, > > and if there was gettextpo enabled then it generates rules to create > > 'pot' files by wrc (tools/makedep.c +3169). > > But if gettextpo was disabled then the '.pot' rules does nothing (as I > > understand), for example > > here are the programs/regedit/Makefile: > > But is this logic going away when --disable-nls is passed to the target > wine configure options ? > Yes, wine compiles successfully w/o *.pot support in wrc with --disable-nls. Regards, Vadim Kochan
diff --git a/package/wine/wine.mk b/package/wine/wine.mk index 78c8e6ab63..ef70b6276c 100644 --- a/package/wine/wine.mk +++ b/package/wine/wine.mk @@ -307,8 +307,10 @@ WINE_CONF_OPTS += --without-zlib endif # host-gettext is essential for .po file support in host-wine wrc +ifeq ($(BR2_SYSTEM_ENABLE_NLS),y) HOST_WINE_DEPENDENCIES += host-gettext HOST_WINE_CONF_OPTS += --with-gettext --with-gettextpo +endif # Wine needs to enable 64-bit build tools on 64-bit host ifeq ($(HOSTARCH),x86_64)
Checked that host-wine compiles ok without host-gettext, so no needs to specify this dependency. libgettextpo is required by tools/wrc (https://linux.die.net/man/1/wrc) which allows to convert windows resources also to *.po format, which is not needed if NLS is disabled. Signed-off-by: Vadim Kochan <vadim4j@gmail.com> --- package/wine/wine.mk | 2 ++ 1 file changed, 2 insertions(+)