This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] implicit Unicode data tables generation


On Mar  8 23:09, Thomas Wolff wrote:
> Am 08.03.2018 um 09:07 schrieb Corinna Vinschen:
> > On Mar  8 00:27, Thomas Wolff wrote:
> > > This patch adds rules to generate Unicode data tables for
> > > libc/string/wcwidth, libc/ctype/tow* and libc/ctype/isw* implicitly,
> > > however, the build process is not yet covered.
> > > The rules define how the necessary data tables are built,
> > > but additional dependencies are missing to get the rules actually invoked,
> > > like:
> > > (string/Makefile.am)
> > > wcwidth.c:    $(srcdir)/ambiguous.t $(srcdir)/combining.t $(srcdir)/wide.t
> > > (ctype/Makefile.am)
> > > categories.c:   $(srcdir)/categories.t
> > > towctrans_l.c:  $(srcdir)/caseconv.t
> > > I tried some variations (like $(srcdir)/wcwidth.c:..., lib_a-wcwidth.o:...,
> > > and even an additional dummy wcwidth.h) but it did not work;
> > Look at ctype/Makefile.am, last line:
> > 
> > $(lpfx)ctype_.$(oext): ctype_.c ctype_iso.h ctype_cp.h
> > 
> > This should work for this case here, too.
> Thanks, the following rules actually trigger the dependencies:
> (string)
> $(lpfx)wcwidth.$(oext): wcwidth.c ambiguous.t combining.t wide.t
> (ctype)
> $(lpfx)categories.$(oext): categories.c categories.t
> $(lpfx)towctrans_l.$(oext): towctrans_l.c caseconv.t
> 
> but they cause obscure compilation errors:
> In file included from /usr/include/sys/config.h:234:0,
>                  from /usr/include/_ansi.h:11,
>                  from ../../../.././newlib/libc/string/wcwidth.c:91:
> /usr/include/cygwin/config.h:40:29: fatal error: ../tlsoffsets64.h: No such
> file or directory
>  #include "../tlsoffsets64.h"
>                              ^
> (Maybe it's just one of these volatile errors that occasionally occur when
> building cygwin?)

I'm building Cygwin quite a lot, often multiple times a day, for the
last 20 years.  I'm not aware of any "volatile errors" when building
Cygwin.  However, if you change the build system, you often have to
rebuild from scratch.  Did you try that?

The above error message show that you're doing something weird when
building Cygwin.  Look at the paths.  They point to your system's
include paths, i.e.

  /usr/include/sys/config.h

That's fishy.  The include paths should all point inside the source
tree, i.e.

  -I/home/corinna/src/cygwin/vanilla/winsup/cygwin/include

etc.  The fact that the commpiler picks up your system paths indicate
that you don't build correctly.

Are you building inside the source tree?  That's not supported and
may actually lead to some weird build errors.

https://cygwin.com/faq/faq.html#faq.programming.building-cygwin


Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat

Attachment: signature.asc
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]