mirror of
https://github.com/curl/curl.git
synced 2026-08-25 05:13:31 +03:00
build: drop Windows CE / CeGCC support
Windows CE support was limited to successful builds with ming32ce (a toolchain that hasn't seen an update since 2009, using an ancient gcc version and "old mingw"-style SDK headers, that curl deprecated earlier). Builds with MSVC were broken for a long time. mingw32ce builds were never actually tested and runtime and unlikely to work due to missing stubs. Windows CE toolchains also miss to comply with C89. Paired with lack of demand and support for the platform, curl deprecated it earlier. This patch removes support from the codebase to ease maintaining Windows codepaths. Follow-up tof98c0ba834#17924 Follow-up to8491e6574c#17379 Follow-up to2a292c3984#15975 Closes #17927
This commit is contained in:
parent
2dc71ba8bf
commit
554dfa5568
81 changed files with 166 additions and 975 deletions
|
|
@ -12,13 +12,6 @@ email the
|
|||
as soon as possible and explain to us why this is a problem for you and
|
||||
how your use case cannot be satisfied properly using a workaround.
|
||||
|
||||
## Windows CE
|
||||
|
||||
Windows CE "mainstream support" ended on October 9, 2018, and "Extended
|
||||
Support" ended on October 10, 2023.
|
||||
|
||||
curl drops all support in November 2025.
|
||||
|
||||
## VS2008
|
||||
|
||||
curl drops support for getting built with Microsoft Visual Studio 2008 in
|
||||
|
|
@ -100,3 +93,4 @@ Support for RTMP in libcurl gets removed in April 2026.
|
|||
- BearSSL (removed in 8.15.0)
|
||||
- msh3 (removed in 8.16.0)
|
||||
- winbuild build system (removed in 8.17.0)
|
||||
- Windows CE (removed in 8.18.0)
|
||||
|
|
|
|||
|
|
@ -650,7 +650,7 @@ This is a probably incomplete list of known CPU architectures and operating
|
|||
systems that curl has been compiled for. If you know a system curl compiles
|
||||
and runs on, that is not listed, please let us know.
|
||||
|
||||
## 109 Operating Systems
|
||||
## 108 Operating Systems
|
||||
|
||||
AIX, AmigaOS, Android, ArcaOS, Aros, Atari FreeMiNT, Azure Sphere, BeOS,
|
||||
Blackberry 10, Blackberry Tablet OS, Cell OS, Cesium, CheriBSD, Chrome OS,
|
||||
|
|
@ -665,7 +665,7 @@ and runs on, that is not listed, please let us know.
|
|||
SINIX-Z, SkyOS, SmartOS, Solaris, Sortix, SunOS, Syllable OS, Symbian,
|
||||
Tizen, TPF, Tru64, tvOS, ucLinux, Ultrix, UNICOS, UnixWare, visionOS, VMS,
|
||||
vxWorks, watchOS, Wear OS, WebOS, Wii System Software, Wii U, Windows,
|
||||
Windows CE, Xbox System, Xenix, z/OS, z/TPF, z/VM, z/VSE, Zephyr
|
||||
Xbox System, Xenix, z/OS, z/TPF, z/VM, z/VSE, Zephyr
|
||||
|
||||
## 28 CPU Architectures
|
||||
|
||||
|
|
|
|||
|
|
@ -103,12 +103,7 @@ int main(int argc, char **argv)
|
|||
if(!fp)
|
||||
return 2;
|
||||
|
||||
#ifdef UNDER_CE
|
||||
/* !checksrc! disable BANNEDFUNC 1 */
|
||||
if(stat(file, &file_info) != 0) {
|
||||
#else
|
||||
if(fstat(fileno(fp), &file_info) != 0) {
|
||||
#endif
|
||||
fclose(fp);
|
||||
return 1; /* cannot continue */
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
* filter IP addresses.
|
||||
*/
|
||||
|
||||
#if defined(__AMIGA__) || defined(UNDER_CE)
|
||||
#ifdef __AMIGA__
|
||||
#include <stdio.h>
|
||||
int main(void) { printf("Platform not supported.\n"); return 1; }
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -46,11 +46,7 @@
|
|||
#include <unistd.h> /* misc. Unix functions */
|
||||
#endif
|
||||
|
||||
#ifdef UNDER_CE
|
||||
#define strerror(e) "?"
|
||||
#else
|
||||
#include <errno.h>
|
||||
#endif
|
||||
|
||||
/* The IP address and port number to connect to */
|
||||
#define IPADDR "127.0.0.1"
|
||||
|
|
|
|||
|
|
@ -57,12 +57,7 @@ int main(void)
|
|||
}
|
||||
|
||||
/* to get the file size */
|
||||
#ifdef UNDER_CE
|
||||
/* !checksrc! disable BANNEDFUNC 1 */
|
||||
if(stat("debugit", &file_info) != 0) {
|
||||
#else
|
||||
if(fstat(fileno(fd), &file_info) != 0) {
|
||||
#endif
|
||||
fclose(fd);
|
||||
curl_global_cleanup();
|
||||
return 1; /* cannot continue */
|
||||
|
|
|
|||
|
|
@ -28,11 +28,7 @@
|
|||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#ifdef UNDER_CE
|
||||
#define strerror(e) "?"
|
||||
#else
|
||||
#include <errno.h>
|
||||
#endif
|
||||
#ifdef _WIN32
|
||||
#include <io.h>
|
||||
#undef stat
|
||||
|
|
@ -95,12 +91,7 @@ int main(void)
|
|||
}
|
||||
|
||||
/* to get the file size */
|
||||
#ifdef UNDER_CE
|
||||
/* !checksrc! disable BANNEDFUNC 1 */
|
||||
if(stat(LOCAL_FILE, &file_info) != 0) {
|
||||
#else
|
||||
if(fstat(fileno(hd_src), &file_info) != 0) {
|
||||
#endif
|
||||
fclose(hd_src);
|
||||
return 1; /* cannot continue */
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,9 +77,7 @@ static int upload(CURL *curl, const char *remotepath,
|
|||
|
||||
f = fopen(localpath, "rb");
|
||||
if(!f) {
|
||||
#ifndef UNDER_CE
|
||||
perror(NULL);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,11 +28,7 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifdef UNDER_CE
|
||||
#define strerror(e) "?"
|
||||
#else
|
||||
#include <errno.h>
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER < 1900)
|
||||
#define snprintf _snprintf
|
||||
|
|
|
|||
|
|
@ -30,11 +30,7 @@
|
|||
#include <string.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#ifdef UNDER_CE
|
||||
#define strerror(e) "?"
|
||||
#else
|
||||
#include <errno.h>
|
||||
#endif
|
||||
|
||||
/* somewhat Unix-specific */
|
||||
#ifndef _MSC_VER
|
||||
|
|
@ -231,14 +227,9 @@ static int setup(struct input *t, int num, const char *upload)
|
|||
return 1;
|
||||
}
|
||||
|
||||
#ifdef UNDER_CE
|
||||
/* !checksrc! disable BANNEDFUNC 1 */
|
||||
if(stat(upload, &file_info) != 0) {
|
||||
#else
|
||||
if(fstat(fileno(t->in), &file_info) != 0) {
|
||||
#endif
|
||||
fprintf(stderr, "error: could not stat file %s: %s\n",
|
||||
upload, strerror(errno));
|
||||
fprintf(stderr, "error: could not stat file %s: %s\n", upload,
|
||||
strerror(errno));
|
||||
fclose(t->out);
|
||||
t->out = NULL;
|
||||
return 1;
|
||||
|
|
|
|||
|
|
@ -90,12 +90,7 @@ int main(int argc, char **argv)
|
|||
return 2;
|
||||
|
||||
/* get the file size of the local file */
|
||||
#ifdef UNDER_CE
|
||||
/* !checksrc! disable BANNEDFUNC 1 */
|
||||
if(stat(file, &file_info) != 0) {
|
||||
#else
|
||||
if(fstat(fileno(hd_src), &file_info) != 0) {
|
||||
#endif
|
||||
fclose(hd_src);
|
||||
return 1; /* cannot continue */
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,9 +32,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#ifndef UNDER_CE
|
||||
#include <errno.h>
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <limits.h>
|
||||
|
|
@ -156,7 +154,7 @@ static int mem_addf(struct mem *mem, const char *format, ...)
|
|||
return x;
|
||||
}
|
||||
|
||||
#if defined(_WIN32) && !defined(UNDER_CE)
|
||||
#ifdef _WIN32
|
||||
/* Not all versions of Windows CRT vsnprintf are compliant with C99. Some
|
||||
return -1 if buffer too small. Try _vscprintf to get the needed size. */
|
||||
if(!i && x < 0) {
|
||||
|
|
@ -297,11 +295,9 @@ int main(void)
|
|||
}
|
||||
}
|
||||
else {
|
||||
#ifndef UNDER_CE
|
||||
mem_addf(&t->log, "Failed to create body output file %s: %s\n",
|
||||
t->bodyfile, strerror(errno));
|
||||
fprintf(stderr, "%s", t->log.recent);
|
||||
#endif
|
||||
failed = 1;
|
||||
}
|
||||
|
||||
|
|
@ -310,12 +306,10 @@ int main(void)
|
|||
|
||||
if(fp && t->log.len == fwrite(t->log.buf, 1, t->log.len, fp))
|
||||
fprintf(stderr, "Transfer log written to %s\n", t->logfile);
|
||||
#ifndef UNDER_CE
|
||||
else {
|
||||
fprintf(stderr, "Failed to write transfer log to %s: %s\n",
|
||||
t->logfile, strerror(errno));
|
||||
}
|
||||
#endif
|
||||
|
||||
if(fp)
|
||||
fclose(fp);
|
||||
|
|
|
|||
|
|
@ -92,9 +92,7 @@ static int sftpResumeUpload(CURL *curl, const char *remotepath,
|
|||
|
||||
f = fopen(localpath, "rb");
|
||||
if(!f) {
|
||||
#ifndef UNDER_CE
|
||||
perror(NULL);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -103,7 +101,7 @@ static int sftpResumeUpload(CURL *curl, const char *remotepath,
|
|||
curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_cb);
|
||||
curl_easy_setopt(curl, CURLOPT_READDATA, f);
|
||||
|
||||
#if defined(_WIN32) && !defined(UNDER_CE)
|
||||
#ifdef _WIN32
|
||||
_fseeki64(f, remoteFileSizeByte, SEEK_SET);
|
||||
#else
|
||||
fseek(f, (long)remoteFileSizeByte, SEEK_SET);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue