mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 13:13:00 +00:00
Add .gitattributes and .gitignore files and normalize line endings in the repository (#10)
This commit is contained in:
parent
c609406c2f
commit
9ebf43567d
309 changed files with 66975 additions and 66873 deletions
252
sdk/lib/3rdparty/stlport/doc/README.evc4
vendored
252
sdk/lib/3rdparty/stlport/doc/README.evc4
vendored
|
@ -1,126 +1,126 @@
|
|||
|
||||
========================================
|
||||
STLport README for eMbedded Visual C++ 4
|
||||
========================================
|
||||
|
||||
by: Zdenek Nemec, zero@mapfactor.com, last edited 2005-10-17
|
||||
|
||||
============
|
||||
Introduction
|
||||
============
|
||||
This document should provide step-by-step guidance for installing, testing and using the STLport library under Windows CE .NET 4.x
|
||||
(aka Windows Mobile 2003 aka Pocket PC 2003).
|
||||
For any further comments or questions visit the STLport mailing lists
|
||||
http://stlport.sourceforge.net/Maillists.shtml or forums
|
||||
https://sourceforge.net/forum/?group_id=146814
|
||||
|
||||
=============
|
||||
Prerequisites
|
||||
=============
|
||||
To build and use the STLport you will need following tools and libraries:
|
||||
- eMbedded Visual C++ 4.0 SP4
|
||||
- an SDK for your target platform with RTTI support
|
||||
|
||||
================
|
||||
Building STLport
|
||||
================
|
||||
First, make sure that RTTI is available. Not all SDKs that come with eVC4 also include
|
||||
the necessary libs, but there is a patch for the PPC2003 SDK, available at
|
||||
http://support.microsoft.com/default.aspx?scid=kb;[LN];830482.
|
||||
|
||||
Second, open command line and set proper system variables.
|
||||
This can be done by using batch files under your 'eMbedded Visual C++' directory(use either WCEemulator.BAT if you want to build STLport for the emulator or WCEARMV4.BAT if you intend to aim an ARM device).
|
||||
NOTE: If you are using Microsoft's batch files to set system variables check if both WCEROOT and SDKROOT vars are set to correct locations. example:
|
||||
WCEROOT=C:\Program Files\Microsoft eMbedded C++ 4.0
|
||||
SDKROOT=C:\Program Files\Windows CE Tools
|
||||
|
||||
Third, when you are 100percent sure you've set correctly systems variables go to the STLport/build/lib dir and run the configure.bat with
|
||||
proper -c option (ie. "-c evc4"),
|
||||
then invoke following command: 'nmake /fmsvc.mak install' to build the library.
|
||||
|
||||
If anything goes wrong check if you met all prerequisities and if you set system vars accordingly to the makfile you are using.
|
||||
At the end of build process you should have some libs installed in STLport/lib/evc4-arm or STLport/lib/evc4-x86 and dynamic libs in STLport/bin directory.
|
||||
|
||||
You might want to repeat all those steps if you would like to have
|
||||
e.g. both ARM and x86 emulator binaries, just don't forget to do
|
||||
'nmake /fmsvc.mak clobber' before new build.
|
||||
|
||||
Note: MIPS platform is also available for build, but it may not compile or work properly. Use with caution!
|
||||
|
||||
===============
|
||||
Testing STLport
|
||||
===============
|
||||
When you successfuly build STLport libs, you should go to STLport/test/unit directory build and run the STLP test suite.
|
||||
Use 'nmake /fmsvc.mak' and keep in mind that you still have to have proper system variables set!
|
||||
Once test build has finished upload and run stlp_unit_test.exe to your emulator or device.
|
||||
Wait for a while (aprox. 2mins) until all tests are done.
|
||||
You should see two files next to your binary now.
|
||||
Check stlp_test.txt for any errors. If all tests passed you are ready to deploy STLport.
|
||||
If some test fails don't worry and check the STLport forum if it's already reported bug or you have found a new one.
|
||||
|
||||
=============
|
||||
Using STLport
|
||||
=============
|
||||
Setting up the IDE:
|
||||
Before you start using STLport you have to set proper include and libraries search paths.
|
||||
Go to 'Tools'>'Options' menu in your eVC 4.0 and then to 'Directories' tab.
|
||||
For every platform you want to use STLport add STLport/stlport directory to the FIRST place in 'Include Files'
|
||||
and STLport/lib directory in 'Library files' section.
|
||||
|
||||
Setting up projects:
|
||||
When using STLport together with MFC, you have to define _STLP_USE_MFC to properly include and use STLport.
|
||||
|
||||
By default, exception support is not activated. You can detect this via _CPPUNWIND and activate this via /GX.
|
||||
Without exception support, e.g. std::bad_alloc is not available, causing compile errors for some code.
|
||||
|
||||
Also, there is only one runtime available but the IDE doesn't add the corresponding switch to the command line.
|
||||
The right switch (selecting a dynamically linked runtime) is IMHO /MD or /MDd. This then also switches STLport to dynamic linking.
|
||||
Alternatively, you can #define _DLL for your project, which achieves the same but, again IMHO, is a less clean solution.
|
||||
|
||||
============
|
||||
Known issues
|
||||
============
|
||||
- The compilers that come with eVC4 are almost bug-to-bug compatible with
|
||||
the one from VC6, so most workarounds for that compiler apply here, too.
|
||||
|
||||
- There is a bug in the MIPS compiler that comes with eVC4 which only surfaces
|
||||
under certain conditions:
|
||||
* in release mode with global optimizations on (#pragma optimize("g", on))
|
||||
* a baseclass has (at least) two pointer members
|
||||
* a derived class adds no data members
|
||||
* the derived class' cctor defers to the basclass' compiler-generated cctor
|
||||
* it is passed as template parameter to a function
|
||||
The smallest testcase I could come up with is this:
|
||||
struct base {
|
||||
void* ptr1;
|
||||
void* ptr2;
|
||||
};
|
||||
struct derived: public base {
|
||||
derived() {}
|
||||
derived(const derived& __x): base(__x) {}
|
||||
};
|
||||
|
||||
template<typename SomeType> void function( SomeType st1, SomeType st2) {}
|
||||
|
||||
struct test {
|
||||
derived tmp;
|
||||
~test() { function(tmp, tmp); }
|
||||
};
|
||||
test test;
|
||||
..which causes an internal compiler error. Removing the base::ptr1, adding data
|
||||
to derived, making function() a normal function, or turning off optimization
|
||||
(#pragma optimize("g", off)) all causes the code to compile. This bug affects
|
||||
iterators of deque and vector<bool>.
|
||||
|
||||
- Because of interdependancy between STLport and native Standard library headers
|
||||
STLport headers should always be included first in your translation unit (.cpp
|
||||
file). That is to say that:
|
||||
|
||||
//Wrong headers order:
|
||||
#include <windows.h>
|
||||
#include <cstdlib>
|
||||
|
||||
// Correct headers order
|
||||
#include <cstdlib>
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
========================================
|
||||
STLport README for eMbedded Visual C++ 4
|
||||
========================================
|
||||
|
||||
by: Zdenek Nemec, zero@mapfactor.com, last edited 2005-10-17
|
||||
|
||||
============
|
||||
Introduction
|
||||
============
|
||||
This document should provide step-by-step guidance for installing, testing and using the STLport library under Windows CE .NET 4.x
|
||||
(aka Windows Mobile 2003 aka Pocket PC 2003).
|
||||
For any further comments or questions visit the STLport mailing lists
|
||||
http://stlport.sourceforge.net/Maillists.shtml or forums
|
||||
https://sourceforge.net/forum/?group_id=146814
|
||||
|
||||
=============
|
||||
Prerequisites
|
||||
=============
|
||||
To build and use the STLport you will need following tools and libraries:
|
||||
- eMbedded Visual C++ 4.0 SP4
|
||||
- an SDK for your target platform with RTTI support
|
||||
|
||||
================
|
||||
Building STLport
|
||||
================
|
||||
First, make sure that RTTI is available. Not all SDKs that come with eVC4 also include
|
||||
the necessary libs, but there is a patch for the PPC2003 SDK, available at
|
||||
http://support.microsoft.com/default.aspx?scid=kb;[LN];830482.
|
||||
|
||||
Second, open command line and set proper system variables.
|
||||
This can be done by using batch files under your 'eMbedded Visual C++' directory(use either WCEemulator.BAT if you want to build STLport for the emulator or WCEARMV4.BAT if you intend to aim an ARM device).
|
||||
NOTE: If you are using Microsoft's batch files to set system variables check if both WCEROOT and SDKROOT vars are set to correct locations. example:
|
||||
WCEROOT=C:\Program Files\Microsoft eMbedded C++ 4.0
|
||||
SDKROOT=C:\Program Files\Windows CE Tools
|
||||
|
||||
Third, when you are 100percent sure you've set correctly systems variables go to the STLport/build/lib dir and run the configure.bat with
|
||||
proper -c option (ie. "-c evc4"),
|
||||
then invoke following command: 'nmake /fmsvc.mak install' to build the library.
|
||||
|
||||
If anything goes wrong check if you met all prerequisities and if you set system vars accordingly to the makfile you are using.
|
||||
At the end of build process you should have some libs installed in STLport/lib/evc4-arm or STLport/lib/evc4-x86 and dynamic libs in STLport/bin directory.
|
||||
|
||||
You might want to repeat all those steps if you would like to have
|
||||
e.g. both ARM and x86 emulator binaries, just don't forget to do
|
||||
'nmake /fmsvc.mak clobber' before new build.
|
||||
|
||||
Note: MIPS platform is also available for build, but it may not compile or work properly. Use with caution!
|
||||
|
||||
===============
|
||||
Testing STLport
|
||||
===============
|
||||
When you successfuly build STLport libs, you should go to STLport/test/unit directory build and run the STLP test suite.
|
||||
Use 'nmake /fmsvc.mak' and keep in mind that you still have to have proper system variables set!
|
||||
Once test build has finished upload and run stlp_unit_test.exe to your emulator or device.
|
||||
Wait for a while (aprox. 2mins) until all tests are done.
|
||||
You should see two files next to your binary now.
|
||||
Check stlp_test.txt for any errors. If all tests passed you are ready to deploy STLport.
|
||||
If some test fails don't worry and check the STLport forum if it's already reported bug or you have found a new one.
|
||||
|
||||
=============
|
||||
Using STLport
|
||||
=============
|
||||
Setting up the IDE:
|
||||
Before you start using STLport you have to set proper include and libraries search paths.
|
||||
Go to 'Tools'>'Options' menu in your eVC 4.0 and then to 'Directories' tab.
|
||||
For every platform you want to use STLport add STLport/stlport directory to the FIRST place in 'Include Files'
|
||||
and STLport/lib directory in 'Library files' section.
|
||||
|
||||
Setting up projects:
|
||||
When using STLport together with MFC, you have to define _STLP_USE_MFC to properly include and use STLport.
|
||||
|
||||
By default, exception support is not activated. You can detect this via _CPPUNWIND and activate this via /GX.
|
||||
Without exception support, e.g. std::bad_alloc is not available, causing compile errors for some code.
|
||||
|
||||
Also, there is only one runtime available but the IDE doesn't add the corresponding switch to the command line.
|
||||
The right switch (selecting a dynamically linked runtime) is IMHO /MD or /MDd. This then also switches STLport to dynamic linking.
|
||||
Alternatively, you can #define _DLL for your project, which achieves the same but, again IMHO, is a less clean solution.
|
||||
|
||||
============
|
||||
Known issues
|
||||
============
|
||||
- The compilers that come with eVC4 are almost bug-to-bug compatible with
|
||||
the one from VC6, so most workarounds for that compiler apply here, too.
|
||||
|
||||
- There is a bug in the MIPS compiler that comes with eVC4 which only surfaces
|
||||
under certain conditions:
|
||||
* in release mode with global optimizations on (#pragma optimize("g", on))
|
||||
* a baseclass has (at least) two pointer members
|
||||
* a derived class adds no data members
|
||||
* the derived class' cctor defers to the basclass' compiler-generated cctor
|
||||
* it is passed as template parameter to a function
|
||||
The smallest testcase I could come up with is this:
|
||||
struct base {
|
||||
void* ptr1;
|
||||
void* ptr2;
|
||||
};
|
||||
struct derived: public base {
|
||||
derived() {}
|
||||
derived(const derived& __x): base(__x) {}
|
||||
};
|
||||
|
||||
template<typename SomeType> void function( SomeType st1, SomeType st2) {}
|
||||
|
||||
struct test {
|
||||
derived tmp;
|
||||
~test() { function(tmp, tmp); }
|
||||
};
|
||||
test test;
|
||||
..which causes an internal compiler error. Removing the base::ptr1, adding data
|
||||
to derived, making function() a normal function, or turning off optimization
|
||||
(#pragma optimize("g", off)) all causes the code to compile. This bug affects
|
||||
iterators of deque and vector<bool>.
|
||||
|
||||
- Because of interdependancy between STLport and native Standard library headers
|
||||
STLport headers should always be included first in your translation unit (.cpp
|
||||
file). That is to say that:
|
||||
|
||||
//Wrong headers order:
|
||||
#include <windows.h>
|
||||
#include <cstdlib>
|
||||
|
||||
// Correct headers order
|
||||
#include <cstdlib>
|
||||
#include <windows.h>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue