On 30/10/13 17:39, Torsten Bögershausen wrote:
> On 2013-10-30 18.14, Torsten Bögershausen wrote:
>> On 2013-10-30 18.01, Vicent Martí wrote:
>>> On Wed, Oct 30, 2013 at 5:51 PM, Torsten Bögershausen <tbo...@web.de> wrote:
>>>> There is a name clash under cygwin 1.7 (1.5 is OK)
>>>> The following "first aid hot fix" works for me:
>>> If Cygwin declares its own bswap_64, wouldn't it be better to use it
>>> instead of overwriting it with our own?
>> this will be part of a longer patch.
>> I found that some systems have something like this:
>> #define htobe64(x) bswap_64(x)
>> And bswap_64 is a function, so we can not detect it by "asking"
>> #ifdef bswap_64
>> But we can use
>> #ifdef htobe64
>> and this will be part of a bigger patch.
>> And, in general, we should avoid to introduce functions which may have a
>> name clash.
>> Using the git_ prefix for function names is a good practice.
>> So in order to unbrake the compilation error under cygwin 17,
>> the "hotfix" can be used.
> I just realized that there seem to problems to compile pu under msysgit.
> More investigation needed here.
... I noticed this too, and my patch is given below (I have another
patch for mingw which fixes some printf format warnings too) ...
However, you would not be surprised to hear that this breaks on msvc
too, so I too was planning a larger re-write ... :-D
-- >8 --
Subject: [PATCH] compat/bswap.h: Fix failure to determine endianness on MinGW
Since commit 452e0f20 ("compat: add endianness helpers", 24-10-2013)
added the 'ntohll' and 'htonll' helpers, the MinGW build has failed
GIT_VERSION = 22.214.171.124.804.g1f3748b
* new build flags
In file included from git-compat-util.h:305,
compat/bswap.h:56:4: error: #error "Cannot determine endianness"
make: *** [credential-store.o] Error 1
The #error is triggered because the 'endian macros' BYTE_ORDER,
LITTLE_ENDIAN and BIG_ENDIAN not being defined. On MinGW, these macros
are defined in the <sys/param.h> header file. In order to suppress the
error, set the build variable NEEDS_SYS_PARAM_H, which will cause the
"git-compat-util.h" header file to include <sys/param.h>.
Signed-off-by: Ramsay Jones <ram...@ramsay1.demon.co.uk>
config.mak.uname | 1 +
1 file changed, 1 insertion(+)
diff --git a/config.mak.uname b/config.mak.uname
index 82d549e..c03ea1e 100644
@@ -469,6 +469,7 @@ ifneq (,$(findstring MINGW,$(uname_S)))
pathsep = ;
NO_PREAD = YesPlease
NEEDS_CRYPTO_WITH_SSL = YesPlease
+ NEEDS_SYS_PARAM_H = YesPlease
NO_LIBGEN_H = YesPlease
NO_POLL = YesPlease
NO_SYMLINK_HEAD = YesPlease
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html