gnokii - Patches: patch #8934, Restore WIn32 (cross-) compiling
You are not allowed to post comments on this tracker with your current authentication level.
patch #8934: Restore WIn32 (cross-) compiling
Submitter: | Fabrizio Gennari <fabbo> | ||
Submitted: | Sun 06 Mar 2016 10:08:31 PM UTC | ||
Category: | win32 compability | Priority: | 5 - Normal |
Status: | Ready For Test | Privacy: | Public |
Assigned to: | ladis | Open/Closed: | Open |
Jump to the original submission
Sun 26 Dec 2021 09:37:55 PM UTC, comment #10: |
Fabrizio Gennari <fabbo> |
Sat 21 Nov 2020 08:12:37 PM UTC, comment #9: Fabrizio,
|
Ladislav Michl <ladis>![]() ![]() |
Mon 03 Dec 2018 09:16:40 AM UTC, comment #8: Fabrizio,
|
Ladislav Michl <ladis>![]() ![]() |
Tue 27 Nov 2018 09:10:48 PM UTC, comment #7: Small addition: removing GNOKII_API from the definitions of rep_fprintf and rep_snprintf causes 308 lines of errors from the linker. Below the first 8, that are representative of the others
|
Fabrizio Gennari <fabbo> |
Tue 27 Nov 2018 08:55:31 PM UTC, comment #6:
But then the same problem that led to adding snprintf.c to the source tree will come back. snprintf.c is there to provide a C99-compatible implementation of the printf family of functions. Both libgnokii and the main gnokii app need such functions: if they were not exported by libgnokii, libgnokii would have access to the C99-compatible printf functions, but the gnokii app would need to use the non-C99-compatible printf functions provided by Windows.
The only thing FOR_MAC practically changes is whether the file osxbluetooth.m should be built. In the previous version, an additional check was done, whether Bluetooth support was actually detected by Autoconf. That is not necessary, because, if that support is not there, HAVE_BLUETOOTH_MACOSX is false and the whole file osxbluetooth.m becomes empty, so linking it or not linking it makes no difference. The naming of FOR_MAC is actually best suited to the new approach.
|
Fabrizio Gennari <fabbo> |
Wed 21 Nov 2018 10:09:34 AM UTC, comment #5: Fabrizio, thank you for an update, now it is definitely much easier to review.
|
Ladislav Michl <ladis>![]() ![]() |
Mon 12 Nov 2018 08:54:40 PM UTC, comment #4: Well, you even added support for completely new toolchains (MSVC2015), changed includes case and removed ifdefs in one go. For configurations you have tried that works. But try to answer yourself a questions:
|
Ladislav Michl <ladis>![]() ![]() |
Mon 12 Nov 2018 08:05:26 PM UTC, comment #3: Also, about splitting the patch, I have doubts. The whole patch turns a broken build into a working build, and there's no such thing as a "half-broken" build: either it's broken or it's not. It's not in my opinion worth giving individual patches, each of which making the build "less broken".
|
Fabrizio Gennari <fabbo> |
Sat 10 Nov 2018 08:08:59 PM UTC, comment #2: Sorry for the misunderstanding: the second patch (file #36699) actually replaces the first one, it is not supposed to be applied after the first one. The fact is that the first patch fixes MSYS2 compilation and Linux cross-compilation, then, a few days after, I also fixed Visual Studio compilation and posted a single patch that fixed everything. |
Fabrizio Gennari <fabbo> |
Sat 10 Nov 2018 07:57:36 PM UTC, comment #1: Those two patches do not apply one after other. I suggest splitting them, so each do just one thing: snprintf update, case-sensitive aware includes, configure update, etc... |
Ladislav Michl <ladis>![]() ![]() |
Sun 06 Mar 2016 10:08:31 PM UTC, original submission:
This patch restores Win32 compilation under GNU shell environments. Tested: Linux cross-compiling (Ubuntu) and compiling on Windows using MSYS2.
- Since in Windows mkdir() takes 1 argument, a Autoconf test for the number of arguments in mkdir() and a replacement mkdir() have been provided. Both are inspired from what Samba does.
|
Fabrizio Gennari <fabbo> |
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 12 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2020-11-21 | ladis | Status | In Progress | ![]() |
Ready For Test |
2018-11-17 | fabbo | Attached File | - | ![]() |
Added 0005-update-snprintf.c-replacement-of-snprintf-for-system.patch, #45466 |
Attached File | - | ![]() |
Added 0006-Since-in-Windows-mkdir-takes-1-argument-a-Autoconf-t.patch, #45467 | ||
Attached File | - | ![]() |
Added 0007-include-in-Win32-build-some-stuff-that-does-not-need.patch, #45468 | ||
2018-11-17 | fabbo | Attached File | - | ![]() |
Added 0001-Use-the-native-Autoconf-support-for-cross-compilatio.patch, #45462 |
Attached File | - | ![]() |
Added 0002-Since-Linux-filesystems-are-case-sensitive-and-MinGW.patch, #45463 | ||
Attached File | - | ![]() |
Added 0003-Add-an-autoconf-test-for-fork-to-support-systems-tha.patch, #45464 | ||
Attached File | - | ![]() |
Added 0004-On-Windows-both-ifndef-HAVE_SETENV-and-ifdef-WIN32-a.patch, #45465 | ||
2018-11-10 | ladis | Status | None | ![]() |
In Progress |
Assigned to | None | ![]() |
ladis | ||
2016-03-20 | fabbo | Attached File | - | ![]() |
Added 0001-Restore-Win32-native-compilation-with-MSYS2-and-Visu.patch, #36699 |
2016-03-06 | fabbo | Attached File | - | ![]() |
Added 0001-Restore-Win32-cross-compilation-from-Linux.patch, #36560 |
comment #9:
Hi, it took more than 1 year, but eventually I tested the branch preview4, and it works on Windows. Thank you.
One note: it requires ac_func_mkdir.m4 from Autoconf Macro Archive (http://ac-archive.sourceforge.net/ac-archive/ac_func_mkdir.html). On one hand, I think it should be added to m4. On the other hand, commit bd3f583b41a7f7a3e7add3d6c1f370d012a15ec7 on that branch reads "Remove m4/*.m4 files which are present in autoconf-archive. Remember to add autoconf-archive into build dependencies", so apparently copying those files manually (or "adding autoconf-archive into build dependencies", whatever it means) is the way to do it.