[PATCH] Support cross compiling with MinGW-w64 on Debian GNU/Linux
Kouhei Sutou
kou at cozmixng.org
Sat Oct 11 12:29:02 UTC 2014
Hi,
Sorry... I missed your reply...
I attach a new patch that is applied your comments.
In <20141008142441.GE31276 at mdounin.ru>
"Re: [PATCH] Support cross compiling with MinGW-w64 on Debian GNU/Linux" on Wed, 8 Oct 2014 18:24:41 +0400,
Maxim Dounin <mdounin at mdounin.ru> wrote:
>> diff --git a/src/event/modules/ngx_iocp_module.c b/src/event/modules/ngx_iocp_module.c
>> --- a/src/event/modules/ngx_iocp_module.c
>> +++ b/src/event/modules/ngx_iocp_module.c
...
>
> Looks fine, though I think it should be a separate patch.
I see!
I did: http://mailman.nginx.org/pipermail/nginx-devel/2014-October/006072.html
>> diff --git a/src/os/win32/ngx_win32_config.h b/src/os/win32/ngx_win32_config.h
>> --- a/src/os/win32/ngx_win32_config.h
>> +++ b/src/os/win32/ngx_win32_config.h
...
>> @@ -131,25 +130,31 @@ typedef int int32_t;
>> typedef unsigned short int uint16_t;
>> #define ngx_libc_cdecl
>>
>> #endif
>>
>> typedef __int64 int64_t;
>> typedef unsigned __int64 uint64_t;
>>
>> -#ifndef __WATCOMC__
>> +#ifdef __WATCOMC__
>> +/* do nothing */
>> +#elif defined(__GNUC__)
>> +#include <stdint.h>
>> +#else
>> typedef int intptr_t;
>> typedef u_int uintptr_t;
>> #endif
>
> I think that ngx_win32_config.h part needs a bit more work. In
> particular, "#include <stdint.h>" should be placed with other
> includes if it's needed.
I see. The attached patch puts "#include <stdint.h>" after
"#include <stdarg.h>".
>> +#ifndef __GNUC__
>> /* Windows defines off_t as long, which is 32-bit */
>> -typedef __int64 off_t;
>> -#define _OFF_T_DEFINED
>> +typedef __int64 off64_t;
>> +#define _OFF64_T_DEFINED
>> +#endif
>
> Defining off64_t looks very wrong for me. There is nothing in
> nginx which use it, and it shouldn't be defined.
>
> Additionally, this breaks at least compilation with MSVC.
You're absolutely right.
This type name change is needless.
(off64_t was introduced in my first try but it was removed
in my second try. So I should remove the change before sending
my patch.)
The attached patch just adds "#ifdef __GNUC__" and "#endif"
>> --- a/src/os/win32/ngx_wsasend_chain.c
>> +++ b/src/os/win32/ngx_wsasend_chain.c
...
>
> Looks fine, though should be a separate patch. See above.
I did:
http://mailman.nginx.org/pipermail/nginx-devel/2014-October/006073.html
Thanks,
--
kou
-------------- next part --------------
A non-text attachment was scrubbed...
Name: win32-made-build-able-with-mingw-w64.patch
Type: text/x-patch
Size: 7140 bytes
Desc: not available
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20141011/2e9844f7/attachment.bin>
More information about the nginx-devel
mailing list