Commit Graph

57 Commits

Author SHA1 Message Date
Vadim Zeitlin
a2ecb7a320 Don't test for old compilers in C++11 mode in configure
This makes configure faster when C++11 is enabled by avoiding spending time on
compiling unnecessary checks in this case.
2016-02-06 00:16:10 +01:00
Vadim Zeitlin
ed0b899fe5 Fix the build when using mismatching strict ANSI modes with MinGW
Don't use __STRICT_ANSI__ to determine whether a function is available or not
as its value can be different when building the library and the application,
resulting in mysterious link errors.

Instead use the same approach as in aa30a2f97ade6fe019f2f288917296b009bf4221
and just declare the functions that are available but just not declared in
strict ANSI mode manually.

Closes #15793.
2015-12-28 01:27:49 +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
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
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
Mariano Reingart
c3543d4f39 Re-introduce private mbstowcs/wcstombs for wxQt-Android
These functions are needed due Android NDK lacking wide character support, 
as wchar_t == char according to Android NDK bionic libc/include/wchar.h

WARNING: They are minimally functional (provided provisorily until proper 
         workaround is found, specially maybe using Qt built-in functionality).

         "Basically they produce complete garbage with non-ASCII characters"

For more info see discussion in wx-dev list:

https://groups.google.com/d/msg/wx-dev/71qtIFcujgM/Q-lbwl59vOIJ

Thanks @seandepagnier (modified a bit the comments, added #warning and 
restructured #if blocks to be only specific for __ANDROID__)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-11 06:12:33 +00:00
Mariano Reingart
744ea8a618 For Android (wxQT), add private wcstol, wcstoul and wcstod
These functions are needed by wxString::ToLong wxString::ToDouble etc..
They do exist in the android library, but do not work corretly.

This change implements them using strtol strtoul and strtod

For more info see discussion in wx-dev list:

https://groups.google.com/d/msg/wx-dev/71qtIFcujgM/TRCfCjGHUhEJ

Thanks @seandepagnier (modified a bit the comments)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-11 04:36:24 +00:00
Vadim Zeitlin
df13791078 Merge wxQT branch into the trunk.
This merges in the latest sources from GSoC 2014 wxQt project with just a few
minor corrections, mostly undoing wrong changes to common files in that branch
(results of a previous bad merge?) and getting rid of whitespace-only changes.
Also remove debug logging from wxGrid.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 01:50:11 +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
Vadim Zeitlin
f4b80e5337 Remove MSVC6 support.
Don't support this compiler any more, this allows to get rid of tons of
MSVC6-specific workarounds, in particular we can now use Bind() and natural
template functions calls in the library code.

Also remove MSVC6 project and solution files and don't generate them when
bakefile_gen is ran any more (removing the remaining occurrences of msvc6prj
from the bakefiles results in weird bake-time errors, so it's simpler to just
leave them there).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-15 22:32:17 +00:00
Vadim Zeitlin
fa62389f20 Always use standard mbstowcs() and wcstombs() functions.
Don't provide our own (not fully functional) definitions of them and always
use the system versions as we don't support OS X 10.2 which was the last
platform where these functions didn't exist/work.

See #15580.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-17 12:33:53 +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
42ed9e53ad Add more checks for Intel compiler.
This should have been part of r74888.

Closes #15359.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-01 23:04:51 +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
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
4c8acbdfd5 Just forward Stricmp() in wx/string.h to wxCRT_StricmpA().
Don't redo the tests already done in wx/wxcrtbase.h in wx/string.h too,
especially as they were not done correctly there (they didn't take into
account the case of MinGW in strict ANSI mode). Just call wxCRT_StricmpA().

This also allows us to get rid of HAVE_STRCASECMP_IN_STRING[S]_H tests in
configure.

Closes #15349.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-17 17:27:20 +00:00
Vadim Zeitlin
63e1921d0b Fix compilation with MinGW -std=c++11 option.
With this option _strdup() is not available, so update the code defining
wxCRT_StrdupA() to check for __WX_STRICT_ANSI_GCC__.

Also try to simplify it a bit and make it more clear.

Closes #15011.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-09 15:08:17 +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
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
adfbce4fec Use strdup() even in strict ANSI mode with MinGW.
MinGW headers define MSVC-compatible _strdup() even in strict ANSI mode so we
can always use it with MinGW.

This fixes a linking problem when wx itself was built without strict ANSI but
the program using it does use strict ANSI mode (e.g. due to the use of
-std=c++0x g++ option).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68025 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-22 22:58:04 +00:00
Dimitri Schoolwerth
e78c47e3b8 Replaced C++ comments with C ones in C files.
Replaced C++ comments (occurring outside of __cplusplus blocks) in files that contain the warning "THIS IS A C FILE" with C comments.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-15 19:18:34 +00:00
Stefan Csomor
26632ccd72 fixing configure builds for iphone
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67419 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-09 09:22:51 +00:00
Vadim Zeitlin
3931f3ecc1 Test for wcsftime() in configure as it's not available everywhere.
Contrary to the comment in wx/wxcrtbase.h, wcsftime() doesn't seem to be
available under quite all the systems, notably it doesn't seem to be present
in OpenBSD at all, even in the very latest version.

Add a configure test for this function and fall back to our own implementation
if the system doesn't have it.

Closes #12766.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-25 14:18:58 +00:00
Paul Cornett
a89c31bb34 build fix for IRIX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-29 06:45:00 +00:00
Vadim Zeitlin
d0204feee6 Compilation fixes for wide char functions under IRIX with mipsPro.
Use correct (XPG5, not XPG4) version of wcsftime().

Bring the wide char functions only declared in std namespace into global one
under IRIX.

Declare vswscanf() ourselves as we just don't seem to get its declaration from
C++ code (only from C99).

Add a cast to fix incorrect putws() signature.

All these fixes apply to IRIX 6.5.18 with mipsPro 7.4.2. It doesn't seem to
add configure checks for most of the above fixes as previous versions of both
the OS and the compiler should be completely extinct by now but we may need to
do it if anybody is still found to use them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63583 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-28 11:09:15 +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
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
03647350fc No changes, just removed hard tabs and trailing white space.
This commit is huge but there are no non-white-space changes in it.

Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 10:41:26 +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
16d2c3ea74 use correct Windows CE version number in strnlen() check (really closes #10763)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60480 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-02 16:17:00 +00:00
Vadim Zeitlin
951f792f7d WinCE doesn't provide strnlen/wcsnlen() until version 6.0 (closes #10763)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-02 15:25:38 +00:00
Vadim Zeitlin
4691b518df Cygwin doesn't have _wcsdup() (closes #10738)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60352 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-25 14:48:19 +00:00
Francesco Montorsi
b7d70f7626 no change: just move a misplaced comment
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-18 21:11:13 +00:00
Vadim Zeitlin
6689960c3c use wcs(n)casecmp() if available; use wxStricmp() to implement wxString::CmpNoCase() as it's significantly more efficient than wx code (closes #10375)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 19:03:26 +00:00
Francesco Montorsi
7c5ac499c8 provide our own implementation of wxStrnlen if it's not available; add tests for it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-13 12:01:30 +00:00
Francesco Montorsi
f1b63efe89 add support for wxStrnlen for those platforms where it's available
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 23:25:39 +00:00
Vadim Zeitlin
16882c9e37 correct use of WXDLLIMPEXP_BASE for wxChar16 wxStrlen() overloads (#9827)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54979 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-05 17:13:03 +00:00
Robert Roebling
676a568708 Forgot to commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54893 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-01 12:05:46 +00:00
Vadim Zeitlin
9b4da62701 PalmOS compilation fixes (wx-trunk-out.diff part of patch 1894861)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-02 00:43:06 +00:00
Vadim Zeitlin
f172cb8200 removed support for Salford compiler (which was almost certainly broken anyhow) (patch 1861133)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-31 10:05:00 +00:00
Vadim Zeitlin
e2fc40b478 PalmOS 6 compilation fixes (patch 1849757)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50704 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-15 01:25:56 +00:00
Vadim Zeitlin
9d55bfef2c don't use 8 bit characters in sources, this results in level 1 warning with VC8 (patch 1841741)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-03 22:09:26 +00:00
Paul Cornett
5c15fb214e wcstod seems to be more widely available than wcstof
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-21 02:48:56 +00:00
Vadim Zeitlin
d6f2a8911e many compilation fixes for WinCE using VC8 (it now build, although still doesn't work)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-27 16:34:24 +00:00
Václav Slavík
57e2b887a0 removed unsecure wxTmpnam() function (patch by Francesco Montorsi)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47238 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-08 19:06:03 +00:00
Václav Slavík
4e0a055757 compilation fix for windows compilers: _wrename is declared in io.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47108 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-03 21:11:46 +00:00
Václav Slavík
8a02058ab2 added configure check for wcsdup(), there are too many Unix systems without it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46956 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-26 11:58:21 +00:00