sed-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: sed-4.7.13-3c1e on MSVC


From: Bruno Haible
Subject: Re: sed-4.7.13-3c1e on MSVC
Date: Mon, 06 Jan 2020 14:32:05 +0100
User-agent: KMail/5.1.3 (Linux/4.4.0-170-generic; KDE/5.18.0; x86_64; ; )

Building sed on native Windows, with MSVC 14, nearly succeeds.

1) There is a compilation error:

  CC       sed/sed-sed.obj
sed.c
C:\cygwin64\home\bruno\sed-4.7.13-3c1e\sed\sed.c(151): error C2381: 'usage': 
redefinition; '__declspec(noreturn)' or '[[noreturn]]' differs
C:\cygwin64\home\bruno\sed-4.7.13-3c1e\sed\sed.c(120): note: see declaration of 
'usage'
make[2]: *** [Makefile:2874: sed/sed-sed.obj] Error 2

The simple fix is to remove the forward-declaration of 'usage' in line 120.
This forward-declaration is not needed.

2) There is a compilation error in the gnulib-tests:

make[2]: Entering directory 
'/home/bruno/sed-4.7.13-3c1e/build-msvc64/gnulib-tests'
make[2]: *** No rule to make target 'lib/netinet/in.h', needed by 'all'.  Stop.
make[2]: Leaving directory 
'/home/bruno/sed-4.7.13-3c1e/build-msvc64/gnulib-tests'

The reason is the 'non-recursive-gnulib-prefix-hack': In gnulib-tests/Makefile
it has produced the line

  NETINET_IN_H = lib/netinet/in.h

which is wrong; it should have produced

  NETINET_IN_H = netinet/in.h

since the file is to be generated in the gnulib-tests/ directory, not in the 
lib/
directory.

I don't think the build-aux/prefix-gnulib-mk can easily make the distinction
between .h files that are supposed to be created in lib/ vs. gnulib-tests/.
This logic comes from gnulib-tool ultimately.

Bruno




reply via email to

[Prev in Thread] Current Thread [Next in Thread]