Commit Graph

221 Commits

Author SHA1 Message Date
Vadim Zeitlin
2c604863de Fix compilation after fpos_t change in with MinGW runtime 5.2
fpos_t is now a union and not just a simple typedef any more, so we
can't cast between it and long long. Unfortunately we still need to
convert between the two, so add an explicit version check and use the
private union field to make this work with the latest MinGW 32 versions.
2019-10-06 00:17:57 +02:00
Vadim Zeitlin
c30daf10cc Explicitly cast -1 to fpos_t in our wxFtell() definition
Apparently in at least some gcc versions fpos_t is not the same thing as
long long int, resulting in compilation problems due to using different
types for the ternary operator arguments.
2019-10-05 14:43:06 +02:00
Vadim Zeitlin
406608b31c Remove obsolete wxCHECK_W32API_VERSION() checks
The latest of those checks tested for w32 API 3.3, which is older than
MinGW 3.4 released which is more than 13 years old, so we can safely
drop them (let alone checks for prehistoric 0.5 w32 API).

This incidentally fixes compilation errors due to the use of
wxCHECK_W32API_VERSION() in wx/msw/winundef.h which was now (since
the changes of 8c572c0a77) included before
this macro was defined.
2017-09-04 22:38:23 +02:00
Vadim Zeitlin
d15bbcacd2 Merge branch 'rmv_symbols_3' of https://github.com/catalinr/wxWidgets
Remove obsolete mentions of Windows 9x, Windows CE and OS/2.
2017-02-20 17:46:45 +01:00
Vadim Zeitlin
26c3094932 Add declarations to fix the build with MinGW 5.3.0 in C++11 mode
Fix the build with -std=c++11 (instead of -std=gnu++11) by providing even
more declarations for the functions wrongly excluded from MinGW headers in
"strict ANSI" mode ourselves.
2017-01-20 21:24:40 +01:00
Lauri Nurmi
bdb3f6fea7 Use more descriptive argument names for wxCopyFile() and others
Use more clear "src" and "dest" names for wxConcatFiles, wxCopyFile, and
wxRenameFile functions arguments instead of non-self-descriptive file1, file2,
etc used before.

No real changes.
2016-11-21 18:22:22 +01:00
Catalin
338629e314 Removed obsolete symbols from comments. 2016-02-21 20:12:11 +02:00
htalbot
c0e75f27d1 Allow predefining wxHAS_MODE_T to avoid mode_t conflicts
This symbol can now be predefined to avoid conflicts with mode_t definition in
wx/filefn.h when wxWidgets is used in applications also using another library
which also defines mode_t.

Closes https://github.com/wxWidgets/wxWidgets/pull/165
2016-01-03 17:25:05 +01:00
Tobias Taschner
2eccc1a57d Remove remaining MSDOS support code
The remaining DOS source files where already removed in
26a0a24f38. This removes the remaining __DOS__
and __DJGPP__ (the DOS gcc) code paths.

Closes https://github.com/wxWidgets/wxWidgets/pull/100
2015-09-24 14:38:22 +02:00
Vadim Zeitlin
b0be28dae5 Always include sys/types.h from wx/filefn.h
It looks like the preprocessor checks were meant to avoid including this file
under MacOS 9 and all the other platforms should have it, so it should be safe
to include (although it still doesn't define off_t with MSVC, only _off_t).
2015-09-23 00:56:49 +02:00
Vadim Zeitlin
87baba95b8 Remove last traces of Symantec compiler support
Delete a couple of leftover __SYMANTEC__ checks.
2015-09-23 00:54:20 +02:00
Tobias Taschner
8282c1be0f Remove Windows CE support
Windows CE doesn't seem to be supported by Microsoft any longer. Last CE
release was in early 2013 and the PocketPC and Smartphone targets supported by
wxWidgets are long gone.

The build files where already removed in an earlier cleanup this commit
removes all files, every #ifdef and all documentation regarding the Windows CE
support.

Closes https://github.com/wxWidgets/wxWidgets/pull/81
2015-09-23 00:52:30 +02:00
Tobias Taschner
f1abb351af Remove MicroWindows support.
MicroWindows (aka Nano-X) support hasn’t been updated since 2010 and last work for it in wxWidgets happened more than 10 years ago.
2015-08-27 11:00:16 +02:00
Vadim Zeitlin
c6c19dc580 Remove extraneous semicolons after wxDECL_FOR_STRICT_MINGW32().
This macro shouldn't be followed by a semicolon because it can be empty, so
remove the extra semicolons to avoid -Wpedantic g++ warnings about it.
2015-07-01 00:39:05 +02:00
Vadim Zeitlin
cc774bb301 Fix building and using the library with MinGW -std=c++{98,11} options.
These options enable "strict ANSI" mode in MinGW which omits declarations of
POSIX functions from the standard headers. To allow the library and, possibly
even more importantly, the user code including our headers, to compile with
these options, declare the functions that we need ourselves.

This might appear to go against the spirit of "strict ANSI" mode, but the only
alternative would be to not use such functions at all and silently cripple the
library when -std=c++NN is used, compared to -std=g++NN case, and this doesn't
seem appealing neither.

Closes #16984.
2015-06-14 19:52:26 +02:00
Vadim Zeitlin
23e431f0b6 Test for __MINGW64_TOOLCHAIN__ and not __MINGW64__ in wx/filefn.h.
MinGW-w64 headers are the same in 32 and 64 bit cases, so test for these
headers presence with __MINGW64_TOOLCHAIN__ and not for 64 bit build with
__MINGW64__, which should probably not be used anywhere at all.

This fixes problems with wx{Rm,Mk}dir() definitions with MinGW-w64 in
non-Unicode build.

Closes #16362.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77536 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-04 19:44:46 +00:00
Vadim Zeitlin
15f255cebb Remove support for Digital Mars compiler.
This compilers is not being developed any longer since many years, drop
support for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 13:01:23 +00:00
Vadim Zeitlin
49b8d79c87 Remove (Open)Watcom support.
This compiler is not being developed since several years and almost certainly
can't be used to build the current wxWidgets sources anyhow, so remove all
support for it, including a lot of extremely ugly workarounds for its bugs
with template functions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 13:01:06 +00:00
Vadim Zeitlin
0d4ad161d5 Remove support for Win9x from wxMSW.
Most importantly, this allows us to remove all MSLU-related stuff.

Some functions which were previously loaded dynamically can now be just used
directly, too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 02:33:40 +00:00
Vadim Zeitlin
01f9accd19 Remove wxPM, wxWidgets port to OS/2.
This port is not used and is not being worked on, so remove it to reduce the
amount of the code which needs to be updated for every global change.

Also remove tests for VisualAge compiler which isn't used since ages.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-15 23:56:58 +00:00
Paul Cornett
967a94c91a remove WXWIN_COMPATIBILITY_2_6, add WXWIN_COMPATIBILITY_3_0
closes #15792

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-04 20:07:33 +00:00
Vadim Zeitlin
70232f52e9 Do define __VISUALC__ when using Intel compiler under Windows.
This undoes r74888, r74913 and r74969 because all of them were still not
enough to make ICC build work correctly. So instead of trying to find all the
places where we need to test for __INTELC__ in addition to __VISUALC__, just
revert to defining __VISUALC__ for ICC under Windows as it uses its CRT anyhow
and in the vast majority of cases we are actually testing for the CRT and not
the compiler anyhow.

Closes #15359.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-14 15:08:06 +00:00
Vadim Zeitlin
6d0f522af2 Check for __INTELC__ in a couple more places.
See #15359.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-08 10:40:39 +00:00
Vadim Zeitlin
5db33691be Do not define __VISUALC__ for Intel C++ compiler under Windows.
This is confusing and makes it more difficult to test for the "real" MSVC,
test for __INTELC__ explicitly wherever needed instead.

Also document __INTELC__ in our list of compilers.

Closes #15359.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-30 23:49:21 +00:00
Vadim Zeitlin
5bd6ad08a7 Add wxFileName::SetPermissions().
This is a simple wrapper for the POSIX chmod().

Closes #12951.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74639 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-07 11:08:28 +00:00
Vadim Zeitlin
f54debbae5 Work around missing mode_t definition with ICC.
Just handle it in the same way as MSVC.

Closes #15361.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74609 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-28 13:08:23 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
2415cf6725 Remove support for MetroWerks CodeWarrior compiler.
This compiler doesn't exist any more and was probably unsupported even in 2.8,
let alone 2.9, so remove all the __MWERKS__ tests to simplify things.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71102 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-05 18:40:11 +00:00
Vadim Zeitlin
d98a58c543 Use __WINDOWS__ for OS kind checks and reserve __WXMSW__ for GUI toolkit.
This change prepares the way for using wxGTK under Windows as this would
still define __WINDOWS__ but use __WXGTK__ instead of __WXMSW__.

Closes #14064.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 00:29:31 +00:00
Vadim Zeitlin
bd362275b8 Remove Palm OS port.
The platform targeted by this port doesn't exist any more and the port never
achieved really working state so remove the code to avoid having to maintain
it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-15 01:05:28 +00:00
Vadim Zeitlin
e33cedf4c6 Explicitly use _stati64() with MinGW-W64.
Although this compiler provides underscore-less versions of all POSIX
functions, this one only exists in a version with underscore, so use it to fix
compilation with it in ANSI build.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69447 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-17 22:26:13 +00:00
Vadim Zeitlin
715e4f7e3e Fix Cygwin 1.7 build.
Avoid using Cygwin sockets as our code assumes that we use WinSock API under
Windows currently (this might change in the future) by defining
__USE_W32_SOCKETS.

Use new, safer and more efficient cygwin_conv_path() function.

Use t_str() instead of fn_str() with Windows API taking file names, under
Cygwin they are different and using fn_str() is incorrect.

A few other minor fixes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-23 23:32:46 +00:00
Václav Slavík
16c15822fe wxFileOffsetFmtSpec isn't translatable.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-03 14:24:17 +00:00
Vadim Zeitlin
9508a23a1b Move wxPosixPermissions definition from wx/file.h to wx/filefn.h.
This fixes compilation with wxUSE_FILE=0 as wxFileName::Mkdir() still uses
these constants but their definitions were not available in this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63456 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-10 11:38:41 +00:00
Vadim Zeitlin
f030eeed1e Only disable use of non-ANSI functions in strict ANSI mode under Windows.
The changes of r62518 fixed compilation of wx headers in g++ strict ANSI mode
(enabled by th use of -ansi or -std=c++{98,0x} options) with mingw32 but
broke it when using g++ in ANSI mode under Unix. The problems arose at least
due to redeclaration of isascii() with different exception specifier and due
to the lack of wxCRT_StrdupA() definition in the library.

Fix this by simply not disabling the use of non-ANSI functions such as
isascii() and strdup() under Unix as they are still available in the headers
by default because of _GNU_SOURCE predefined by g++.

Notice that if _GNU_SOURCE is explicitly undefined, compilation would probably
still be broken. To fix this we might check whether __USE_SVID is defined
under Linux. Unfortunately doing tests in configure is not an answer as
wxWidgets might not be compiled with the same -std option as the programs
using it, so there is no obviously correct way to fix this.

See #11374.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-18 00:27:59 +00:00
Michael Wetherell
61a69259c4 Support large files with stdio on mingw.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-30 17:38:22 +00:00
Michael Wetherell
224d978ffb Add support for large stdio files for VC 8+. What versions of the other Windows
compilers?


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-22 21:22:59 +00:00
Vadim Zeitlin
1f22f9a50b Fix wx headers compilation in mingw32 strict ANSI mode.
Add checks for !defined(__STRICT_ANSI__) when checking for various common but
non-standard CRT extensions.

This allows compiling programs using wx with g++ -std=c++[0x] option (notice
that compiling wx itself using it still doesn't work).

Closes #11374.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-31 15:58:05 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
68fe70ea1f define HAVE_LARGEFILE_SUPPORT in setup.h when large files support is available and test for it in wx/filefn.h (closes #10844); document that wx/filefn.h must be included before testing for wxHAS_LARGE_(F)FILES
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-30 17:15:36 +00:00
Francesco Montorsi
0253bbbabc add a few comments about wxDEPRECATED stuff to ease upgrade path (closes #10628)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60563 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-09 12:41:31 +00:00
Vadim Zeitlin
d5e71e81ec more order in wxCRT_filefunctions: define A and W versions, just as for everything else and simply map suffix-less versions to the appropriate ones
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-25 15:53:45 +00:00
Vadim Zeitlin
4bf3e3a702 build fixes for Borland in wxUSE_UNICODE_MSLU and wxHAS_HUGE_FILES cases; only define one of wxMSLU__wstat and wxMSLU__wstati64; also define wxStructStat as 64 bit version of struct stat if needed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-25 13:52:58 +00:00
Vadim Zeitlin
181dd701fa implement deprecated wxStripExtension() in terms of new wxFileName::StripExtension() (closes #10634)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-26 15:55:01 +00:00
Vadim Zeitlin
d3b9f782ef don't use annoying and unneeded in C++ casts of NULL to "T *" in all other files neither
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 13:55:27 +00:00
Vadim Zeitlin
220ea2b928 fix deprecation warnings when building wx with MSVC
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58036 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 11:55:44 +00:00
Francesco Montorsi
48598c661a fix deprecation warnings when building filefn.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57976 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-10 16:04:36 +00:00
Francesco Montorsi
47d281e6b7 deprecate wxDos2UnixFilename, wxUnix2DosFilename, wxStripExtension, wxGetTempFileName, wxExpandPath, wxContractPath, wxRealPath, wxCopyAbsolutePath, wxSplitPath and provide deprecation description in the docs (for the documented functions) or directly in the header (for undocumented functions)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-07 01:29:54 +00:00
Vadim Zeitlin
98225d0279 test for __MINGW64__ in the huge files support section
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55369 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-30 12:52:47 +00:00
Václav Slavík
2587df2c82 reverted Robert's premature removal of deprecated 2.6 functions in r54490
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-05 19:06:06 +00:00