mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 23:03: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
332
sdk/lib/3rdparty/stlport/INSTALL
vendored
332
sdk/lib/3rdparty/stlport/INSTALL
vendored
|
@ -1,166 +1,166 @@
|
|||
**********************************************************************
|
||||
* INSTALL file for STLport *
|
||||
* *
|
||||
**********************************************************************
|
||||
|
||||
STLport is a full ANSI C++ Standard library.
|
||||
|
||||
This distribution contains STLport sources only, no binaries.
|
||||
To use STLport iostreams, locale and complex numbers, you have to build STLport
|
||||
library from sources in "build/lib" directory and link your programs with it.
|
||||
|
||||
Starting with 5.0 the 'wrapper' mode is not supported anymore. You cannot use native
|
||||
compiler iostreams implementation with STLport STL (see doc/FAQ for explanations).
|
||||
Now you have to choose between STLport iostreams or no iostreams.
|
||||
|
||||
==== Unpacking and installing STLport ==========
|
||||
|
||||
1) Unpack STLport archive to a directory accessible during compilation.
|
||||
NOTE: DO NOT overwrite header files coming with the compiler, even if you made
|
||||
a backup - this won't work! Most probably, you've already unpacked the archive before
|
||||
reading this file though ;)
|
||||
|
||||
2) Make sure "stlport" directory of this distribution comes before compiler's one
|
||||
in your include paths when you compile the project.
|
||||
|
||||
Note: for SunPro CC 5.0 and higher, there used to be special directory "stlport/SC5"
|
||||
this is now obsolete, please make sure you do not use it anymore.
|
||||
|
||||
3) Make sure you do not rename this "stlport" subdirectory -
|
||||
that may result in compilation errors.
|
||||
|
||||
NOTE: Your compiler should be recognized by STLport source code with no configuring.
|
||||
Please edit appropriate configuration header for your compiler
|
||||
directly if you have to make compiler-specific configuration changes
|
||||
(see stlport/stl/config).
|
||||
|
||||
4) Run:
|
||||
|
||||
configure --help
|
||||
|
||||
Depending on your environment, Windows command shell or Unix like shell,
|
||||
configure.bat or configure script will be run respectively. For Windows users
|
||||
running configure script is mandatory in order to declare the compiler you are
|
||||
going to use.
|
||||
|
||||
5) Go to "build/lib" subdirectory. It contains various makefiles for different
|
||||
compilers and 'make' utilities (GNU Make and Microsoft's nmake supported).
|
||||
|
||||
Verify you can do command line compiles. IDE users may have to do something
|
||||
special, like add environment variables (for Microsoft) or install
|
||||
additional compiler components (for Metrowerks), before they can use their
|
||||
command line compilers (see doc/README.xxxx for additionnal information).
|
||||
|
||||
configure script should have already created a Makefile file so that you only
|
||||
have to call 'make' or 'nmake' (for some platforms GNU make might be hidden
|
||||
behind 'gmake').
|
||||
|
||||
IMPORTANT:
|
||||
|
||||
If you DO NOT plan to use STLport iostreams and/or locale implementation but just
|
||||
the STL, you do not have to build the library.
|
||||
|
||||
If you have decided to disable STLport iostreams and locale using _STLP_NO_IOSTREAMS
|
||||
configuration macro in stlport/stl/config/user_config.h, you may stop reading here.
|
||||
|
||||
|
||||
==== Building STLport iostreams library ==========
|
||||
|
||||
Below are step-by-step instructions to build STLport streams library. This is a general
|
||||
build process description, for a more detailed one check README files in the doc folder:
|
||||
|
||||
5) Using appropriate make command (make or nmake), do
|
||||
|
||||
make clean install
|
||||
|
||||
to build the STLport libraries. Make files are set up to build several different
|
||||
flavors - debug/nondebug, static/dynamic versions. But not all flavors will be build
|
||||
by default. See build/lib/README for other make targets.
|
||||
|
||||
Note: 'install' target work slightly different than usual - it installs libraries into
|
||||
<STLport root dir>/lib and bin catalogs, NOT IN SYSTEM CATALOG. You can do the system
|
||||
install by just copying stlport and lib folder to the destination of your choise. For
|
||||
example on UNIX-like platforms this can be done with the following commands:
|
||||
|
||||
su
|
||||
tar cf - stlport | (cd /usr/local/include; tar xf -)
|
||||
chmod -R a+r /usr/local/include/stlport
|
||||
chown -R root:root /usr/local/include/stlport
|
||||
(cd lib; tar cf - --exclude=CVS --exclude=.cvsignore .) | (cd /usr/local/lib; tar xf -)
|
||||
chown -R root:root /usr/local/lib/libstlport*
|
||||
exit
|
||||
|
||||
Note: System install is optional, most of compilers/linkers support searching for includes
|
||||
and libs throught out the whole filesystem, just check your documentation on how to achieve
|
||||
this.
|
||||
|
||||
If you use cross-compiler, you can find libraries in the <STLport root dir>/lib/<target platform>
|
||||
catalog.
|
||||
|
||||
6) If build fails, you may choose to :
|
||||
- try fixing the build ;)
|
||||
- wait until somebody else will submit corresponding changes to be incorporated in next STLport
|
||||
release/snapshot.
|
||||
|
||||
In case you do patch STLport, please submit your patches to
|
||||
https://sourceforge.net/tracker/?atid=766246&group_id=146814&func=browse
|
||||
|
||||
==== Linking your application with STLport library ==========
|
||||
|
||||
7) Check the build:
|
||||
|
||||
Example:
|
||||
|
||||
- under Linux and other Unixes:
|
||||
|
||||
cd build/test/unit
|
||||
make install
|
||||
../../../bin/stl_unit_test
|
||||
../../../bin-g/stl_unit_test
|
||||
|
||||
- under Windows:
|
||||
|
||||
cd build\test\unit
|
||||
nmake install
|
||||
cd ..\..\..\bin
|
||||
stl_unit_test
|
||||
stl_unit_testd
|
||||
stl_unit_teststld
|
||||
|
||||
8) Supply the "lib" subdirectory to the library search path and add desired
|
||||
library to the list of libraries to link with.
|
||||
Examples (imagine you have mytest.cpp in the same directory as this file is):
|
||||
With GCC : g++ -pthread -I./stlport mytest.cpp -L./lib/ -lstlport
|
||||
With DEC CC : cxx -I./stlport mytest.cpp -L./lib/ -lstlport
|
||||
With SUN CC : CC -mt -I./stlport mytest.cpp -L./lib/ -lstlport
|
||||
.....
|
||||
For several compilers supporting auto linking feature (VC++, Borland, DMC),
|
||||
you do not have to specify "stlport.M.m.lib" explicitly, as it is being choosen
|
||||
and forced to link automatically by "#pragma"'s in compiler config files
|
||||
Appropriate version is being selected based on compiler options and _STLP_DEBUG
|
||||
setting. All you have to do is to set library search path for the linker.
|
||||
|
||||
Example :
|
||||
cl.exe /I.\stlport mytest.cpp /link /libpath:.\lib /MD
|
||||
|
||||
9) If you linked your application with shared STLport library (.so or .dll), please
|
||||
make suze that your .so or .dll can be found by the dynamic linker.
|
||||
Under Windows, the paths searched depend on the particular flavor, see the MSDN
|
||||
documentation for LoadLibrary at http://msdn.microsoft.com. The easiest ways are to
|
||||
either modify the PATH environment variable or copy all .dll's next to the
|
||||
executable like it is done per default when unit tests executable are put next
|
||||
to dlls.
|
||||
Under Linux, the environment variable LD_LIBRARY_PATH can be adjusted to point
|
||||
to the dir containing .so. See the manpage for ld.so for more info.
|
||||
|
||||
10) STLport builds only multithreaded libraries, so your application should be compiled
|
||||
as multithreaded, too. Use -pthread (or -pthreads on Solaris) option for GCC, -mt for SunPro,
|
||||
/MT for VC, and so on. Sometimes you should define _REENTRANT or something else, depends
|
||||
upon platform/compiler. See compiler's and linker's options on command line when you build
|
||||
unit tests (build/test/unit) for reference. The last is useful for ANY platform.
|
||||
|
||||
11) Don't hesitate to read READMEs (doc/README*, build/lib/README*, build/test/unit/README*)
|
||||
and doc/FAQ.
|
||||
|
||||
12) Have fun!
|
||||
|
||||
**********************************************************************
|
||||
* INSTALL file for STLport *
|
||||
* *
|
||||
**********************************************************************
|
||||
|
||||
STLport is a full ANSI C++ Standard library.
|
||||
|
||||
This distribution contains STLport sources only, no binaries.
|
||||
To use STLport iostreams, locale and complex numbers, you have to build STLport
|
||||
library from sources in "build/lib" directory and link your programs with it.
|
||||
|
||||
Starting with 5.0 the 'wrapper' mode is not supported anymore. You cannot use native
|
||||
compiler iostreams implementation with STLport STL (see doc/FAQ for explanations).
|
||||
Now you have to choose between STLport iostreams or no iostreams.
|
||||
|
||||
==== Unpacking and installing STLport ==========
|
||||
|
||||
1) Unpack STLport archive to a directory accessible during compilation.
|
||||
NOTE: DO NOT overwrite header files coming with the compiler, even if you made
|
||||
a backup - this won't work! Most probably, you've already unpacked the archive before
|
||||
reading this file though ;)
|
||||
|
||||
2) Make sure "stlport" directory of this distribution comes before compiler's one
|
||||
in your include paths when you compile the project.
|
||||
|
||||
Note: for SunPro CC 5.0 and higher, there used to be special directory "stlport/SC5"
|
||||
this is now obsolete, please make sure you do not use it anymore.
|
||||
|
||||
3) Make sure you do not rename this "stlport" subdirectory -
|
||||
that may result in compilation errors.
|
||||
|
||||
NOTE: Your compiler should be recognized by STLport source code with no configuring.
|
||||
Please edit appropriate configuration header for your compiler
|
||||
directly if you have to make compiler-specific configuration changes
|
||||
(see stlport/stl/config).
|
||||
|
||||
4) Run:
|
||||
|
||||
configure --help
|
||||
|
||||
Depending on your environment, Windows command shell or Unix like shell,
|
||||
configure.bat or configure script will be run respectively. For Windows users
|
||||
running configure script is mandatory in order to declare the compiler you are
|
||||
going to use.
|
||||
|
||||
5) Go to "build/lib" subdirectory. It contains various makefiles for different
|
||||
compilers and 'make' utilities (GNU Make and Microsoft's nmake supported).
|
||||
|
||||
Verify you can do command line compiles. IDE users may have to do something
|
||||
special, like add environment variables (for Microsoft) or install
|
||||
additional compiler components (for Metrowerks), before they can use their
|
||||
command line compilers (see doc/README.xxxx for additionnal information).
|
||||
|
||||
configure script should have already created a Makefile file so that you only
|
||||
have to call 'make' or 'nmake' (for some platforms GNU make might be hidden
|
||||
behind 'gmake').
|
||||
|
||||
IMPORTANT:
|
||||
|
||||
If you DO NOT plan to use STLport iostreams and/or locale implementation but just
|
||||
the STL, you do not have to build the library.
|
||||
|
||||
If you have decided to disable STLport iostreams and locale using _STLP_NO_IOSTREAMS
|
||||
configuration macro in stlport/stl/config/user_config.h, you may stop reading here.
|
||||
|
||||
|
||||
==== Building STLport iostreams library ==========
|
||||
|
||||
Below are step-by-step instructions to build STLport streams library. This is a general
|
||||
build process description, for a more detailed one check README files in the doc folder:
|
||||
|
||||
5) Using appropriate make command (make or nmake), do
|
||||
|
||||
make clean install
|
||||
|
||||
to build the STLport libraries. Make files are set up to build several different
|
||||
flavors - debug/nondebug, static/dynamic versions. But not all flavors will be build
|
||||
by default. See build/lib/README for other make targets.
|
||||
|
||||
Note: 'install' target work slightly different than usual - it installs libraries into
|
||||
<STLport root dir>/lib and bin catalogs, NOT IN SYSTEM CATALOG. You can do the system
|
||||
install by just copying stlport and lib folder to the destination of your choise. For
|
||||
example on UNIX-like platforms this can be done with the following commands:
|
||||
|
||||
su
|
||||
tar cf - stlport | (cd /usr/local/include; tar xf -)
|
||||
chmod -R a+r /usr/local/include/stlport
|
||||
chown -R root:root /usr/local/include/stlport
|
||||
(cd lib; tar cf - --exclude=CVS --exclude=.cvsignore .) | (cd /usr/local/lib; tar xf -)
|
||||
chown -R root:root /usr/local/lib/libstlport*
|
||||
exit
|
||||
|
||||
Note: System install is optional, most of compilers/linkers support searching for includes
|
||||
and libs throught out the whole filesystem, just check your documentation on how to achieve
|
||||
this.
|
||||
|
||||
If you use cross-compiler, you can find libraries in the <STLport root dir>/lib/<target platform>
|
||||
catalog.
|
||||
|
||||
6) If build fails, you may choose to :
|
||||
- try fixing the build ;)
|
||||
- wait until somebody else will submit corresponding changes to be incorporated in next STLport
|
||||
release/snapshot.
|
||||
|
||||
In case you do patch STLport, please submit your patches to
|
||||
https://sourceforge.net/tracker/?atid=766246&group_id=146814&func=browse
|
||||
|
||||
==== Linking your application with STLport library ==========
|
||||
|
||||
7) Check the build:
|
||||
|
||||
Example:
|
||||
|
||||
- under Linux and other Unixes:
|
||||
|
||||
cd build/test/unit
|
||||
make install
|
||||
../../../bin/stl_unit_test
|
||||
../../../bin-g/stl_unit_test
|
||||
|
||||
- under Windows:
|
||||
|
||||
cd build\test\unit
|
||||
nmake install
|
||||
cd ..\..\..\bin
|
||||
stl_unit_test
|
||||
stl_unit_testd
|
||||
stl_unit_teststld
|
||||
|
||||
8) Supply the "lib" subdirectory to the library search path and add desired
|
||||
library to the list of libraries to link with.
|
||||
Examples (imagine you have mytest.cpp in the same directory as this file is):
|
||||
With GCC : g++ -pthread -I./stlport mytest.cpp -L./lib/ -lstlport
|
||||
With DEC CC : cxx -I./stlport mytest.cpp -L./lib/ -lstlport
|
||||
With SUN CC : CC -mt -I./stlport mytest.cpp -L./lib/ -lstlport
|
||||
.....
|
||||
For several compilers supporting auto linking feature (VC++, Borland, DMC),
|
||||
you do not have to specify "stlport.M.m.lib" explicitly, as it is being choosen
|
||||
and forced to link automatically by "#pragma"'s in compiler config files
|
||||
Appropriate version is being selected based on compiler options and _STLP_DEBUG
|
||||
setting. All you have to do is to set library search path for the linker.
|
||||
|
||||
Example :
|
||||
cl.exe /I.\stlport mytest.cpp /link /libpath:.\lib /MD
|
||||
|
||||
9) If you linked your application with shared STLport library (.so or .dll), please
|
||||
make suze that your .so or .dll can be found by the dynamic linker.
|
||||
Under Windows, the paths searched depend on the particular flavor, see the MSDN
|
||||
documentation for LoadLibrary at http://msdn.microsoft.com. The easiest ways are to
|
||||
either modify the PATH environment variable or copy all .dll's next to the
|
||||
executable like it is done per default when unit tests executable are put next
|
||||
to dlls.
|
||||
Under Linux, the environment variable LD_LIBRARY_PATH can be adjusted to point
|
||||
to the dir containing .so. See the manpage for ld.so for more info.
|
||||
|
||||
10) STLport builds only multithreaded libraries, so your application should be compiled
|
||||
as multithreaded, too. Use -pthread (or -pthreads on Solaris) option for GCC, -mt for SunPro,
|
||||
/MT for VC, and so on. Sometimes you should define _REENTRANT or something else, depends
|
||||
upon platform/compiler. See compiler's and linker's options on command line when you build
|
||||
unit tests (build/test/unit) for reference. The last is useful for ANY platform.
|
||||
|
||||
11) Don't hesitate to read READMEs (doc/README*, build/lib/README*, build/test/unit/README*)
|
||||
and doc/FAQ.
|
||||
|
||||
12) Have fun!
|
||||
|
||||
|
|
240
sdk/lib/3rdparty/stlport/INSTALL.unixes
vendored
240
sdk/lib/3rdparty/stlport/INSTALL.unixes
vendored
|
@ -1,120 +1,120 @@
|
|||
**********************************************************************
|
||||
* INSTALL file for STLport 5.2 *
|
||||
* *
|
||||
**********************************************************************
|
||||
|
||||
STLport is a full ANSI C++ Standard library.
|
||||
|
||||
This distribution contains STLport sources only, no binaries.
|
||||
To use STLport iostreams, locale and complex numbers, you have
|
||||
to build STLport library from sources and link your programs with it.
|
||||
|
||||
Starting with 5.0 the 'wrapper' mode is not supported anymore.
|
||||
You cannot use native compiler iostreams implementation with STLport STL
|
||||
(see doc/FAQ for explanations).
|
||||
|
||||
==== Installing STLport ==========
|
||||
|
||||
0) DO NOT overwrite/move/rename header files coming with the compiler,
|
||||
even if you made a backup---STLport need this headers and don't
|
||||
override ones.
|
||||
|
||||
1) Run
|
||||
|
||||
./configure --help
|
||||
|
||||
read options description; if you use compiler
|
||||
different from gcc, pay attention to --use-compiler-family= option.
|
||||
|
||||
2) Run
|
||||
|
||||
./configure <option>
|
||||
|
||||
Options here more-or-less traditional.
|
||||
|
||||
Note: ./configure give hints only for library build, it dosen't
|
||||
create/edit any headers, check you system etc. This is simple way
|
||||
to store custom options, not more. If you want to change default
|
||||
behaviour of STLport, see stlport/stl/config/user_config.h and
|
||||
stlport/stl/config/host.h; read the comments in this files!
|
||||
Not all combinations of options healthy, you should understand
|
||||
what you do. If not, keep all unchanged.
|
||||
|
||||
Note: you can find all recognised 'settings' in the file
|
||||
build/Makefiles/gmake/config.mak
|
||||
|
||||
This is generated file, but only ./configure will rewrite one.
|
||||
|
||||
3) Run
|
||||
|
||||
make && make check
|
||||
|
||||
Only GNU Make supported! Preferred verion of GNU Make >= 3.81;
|
||||
never use GNU Make before 3.79 --- build not work properly;
|
||||
GNU makes >= 3.79 and < 3.81 may fail to build library/tests
|
||||
properly, due to bugs; but the real results depends upon
|
||||
platform.
|
||||
|
||||
4) If build fine, become superuser and run
|
||||
|
||||
make install
|
||||
|
||||
Note: you can use --prefix= to change installation path
|
||||
(or macro DESTDIR, as usual), or even skip installation and use
|
||||
STLport in-place.
|
||||
|
||||
==== Usage STLport ==========
|
||||
|
||||
1) The best way to understand how to use it, is to see on compilation,
|
||||
linking, running unit tests, i.e. see on options when you do
|
||||
|
||||
(cd build/test/unit; make check)
|
||||
|
||||
2) Make sure "stlport" directory of this distribution comes before
|
||||
compiler's one in your include paths (something like
|
||||
-I<base install path>/stlport); never rename 'stlport' part of path!
|
||||
|
||||
Compilation:
|
||||
|
||||
c++ -pthread -fexceptions -O2 -I/usr/local/include/stlport -c -o test.o test.cc
|
||||
|
||||
In case of gcc, libstlport replace libstdc++ (not in all cases!)
|
||||
|
||||
Link, variant 1:
|
||||
|
||||
c++ -pthread -fexceptions -O2 -I/usr/local/include/stlport -nostdlib -o mytest \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../crt1.o \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../crti.o \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/crtbegin.o \
|
||||
test.o \
|
||||
-lstlport \
|
||||
-lgcc_s -lpthread -lc -lm \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/crtend.o \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../crtn.o
|
||||
|
||||
Of cause, names of start/stop files not hardcoded, you can locate it with
|
||||
|
||||
c++ -print-file-name=crt1.o
|
||||
|
||||
Link, variant 2:
|
||||
|
||||
gcc -pthread -fexceptions -O2 -I/usr/local/include/stlport -o mytest \
|
||||
test.o -lstlport
|
||||
|
||||
If you use gcc before 3.3, you must link with libstdc++, because
|
||||
language-support library (libsupc++.a) don't contain necessary
|
||||
functions.
|
||||
|
||||
3) STLport builds only multithreaded libraries (by default), so your
|
||||
application should be compiled as multithreaded, too. Use -pthread
|
||||
(or -pthreads on Solaris) option for GCC, -mt for SunPro and so on.
|
||||
Sometimes you should define _REENTRANT or something else, depends
|
||||
upon platform/compiler. See compiler's and linker's options
|
||||
on command line when you build unit tests (build/test/unit)
|
||||
for reference. The last is useful for ANY platform (special
|
||||
attention for Windows users).
|
||||
|
||||
4) Don't hesitate to read READMEs (doc/README*, build/lib/README*,
|
||||
build/test/unit/README*) and doc/FAQ.
|
||||
|
||||
5) Have fun!
|
||||
**********************************************************************
|
||||
* INSTALL file for STLport 5.2 *
|
||||
* *
|
||||
**********************************************************************
|
||||
|
||||
STLport is a full ANSI C++ Standard library.
|
||||
|
||||
This distribution contains STLport sources only, no binaries.
|
||||
To use STLport iostreams, locale and complex numbers, you have
|
||||
to build STLport library from sources and link your programs with it.
|
||||
|
||||
Starting with 5.0 the 'wrapper' mode is not supported anymore.
|
||||
You cannot use native compiler iostreams implementation with STLport STL
|
||||
(see doc/FAQ for explanations).
|
||||
|
||||
==== Installing STLport ==========
|
||||
|
||||
0) DO NOT overwrite/move/rename header files coming with the compiler,
|
||||
even if you made a backup---STLport need this headers and don't
|
||||
override ones.
|
||||
|
||||
1) Run
|
||||
|
||||
./configure --help
|
||||
|
||||
read options description; if you use compiler
|
||||
different from gcc, pay attention to --use-compiler-family= option.
|
||||
|
||||
2) Run
|
||||
|
||||
./configure <option>
|
||||
|
||||
Options here more-or-less traditional.
|
||||
|
||||
Note: ./configure give hints only for library build, it dosen't
|
||||
create/edit any headers, check you system etc. This is simple way
|
||||
to store custom options, not more. If you want to change default
|
||||
behaviour of STLport, see stlport/stl/config/user_config.h and
|
||||
stlport/stl/config/host.h; read the comments in this files!
|
||||
Not all combinations of options healthy, you should understand
|
||||
what you do. If not, keep all unchanged.
|
||||
|
||||
Note: you can find all recognised 'settings' in the file
|
||||
build/Makefiles/gmake/config.mak
|
||||
|
||||
This is generated file, but only ./configure will rewrite one.
|
||||
|
||||
3) Run
|
||||
|
||||
make && make check
|
||||
|
||||
Only GNU Make supported! Preferred verion of GNU Make >= 3.81;
|
||||
never use GNU Make before 3.79 --- build not work properly;
|
||||
GNU makes >= 3.79 and < 3.81 may fail to build library/tests
|
||||
properly, due to bugs; but the real results depends upon
|
||||
platform.
|
||||
|
||||
4) If build fine, become superuser and run
|
||||
|
||||
make install
|
||||
|
||||
Note: you can use --prefix= to change installation path
|
||||
(or macro DESTDIR, as usual), or even skip installation and use
|
||||
STLport in-place.
|
||||
|
||||
==== Usage STLport ==========
|
||||
|
||||
1) The best way to understand how to use it, is to see on compilation,
|
||||
linking, running unit tests, i.e. see on options when you do
|
||||
|
||||
(cd build/test/unit; make check)
|
||||
|
||||
2) Make sure "stlport" directory of this distribution comes before
|
||||
compiler's one in your include paths (something like
|
||||
-I<base install path>/stlport); never rename 'stlport' part of path!
|
||||
|
||||
Compilation:
|
||||
|
||||
c++ -pthread -fexceptions -O2 -I/usr/local/include/stlport -c -o test.o test.cc
|
||||
|
||||
In case of gcc, libstlport replace libstdc++ (not in all cases!)
|
||||
|
||||
Link, variant 1:
|
||||
|
||||
c++ -pthread -fexceptions -O2 -I/usr/local/include/stlport -nostdlib -o mytest \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../crt1.o \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../crti.o \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/crtbegin.o \
|
||||
test.o \
|
||||
-lstlport \
|
||||
-lgcc_s -lpthread -lc -lm \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/crtend.o \
|
||||
/usr/lib/gcc/i686-pc-linux-gnu/4.2.4/../../../crtn.o
|
||||
|
||||
Of cause, names of start/stop files not hardcoded, you can locate it with
|
||||
|
||||
c++ -print-file-name=crt1.o
|
||||
|
||||
Link, variant 2:
|
||||
|
||||
gcc -pthread -fexceptions -O2 -I/usr/local/include/stlport -o mytest \
|
||||
test.o -lstlport
|
||||
|
||||
If you use gcc before 3.3, you must link with libstdc++, because
|
||||
language-support library (libsupc++.a) don't contain necessary
|
||||
functions.
|
||||
|
||||
3) STLport builds only multithreaded libraries (by default), so your
|
||||
application should be compiled as multithreaded, too. Use -pthread
|
||||
(or -pthreads on Solaris) option for GCC, -mt for SunPro and so on.
|
||||
Sometimes you should define _REENTRANT or something else, depends
|
||||
upon platform/compiler. See compiler's and linker's options
|
||||
on command line when you build unit tests (build/test/unit)
|
||||
for reference. The last is useful for ANY platform (special
|
||||
attention for Windows users).
|
||||
|
||||
4) Don't hesitate to read READMEs (doc/README*, build/lib/README*,
|
||||
build/test/unit/README*) and doc/FAQ.
|
||||
|
||||
5) Have fun!
|
||||
|
|
52
sdk/lib/3rdparty/stlport/Makefile
vendored
52
sdk/lib/3rdparty/stlport/Makefile
vendored
|
@ -1,26 +1,26 @@
|
|||
# Time-stamp: <08/06/12 14:28:42 ptr>
|
||||
#
|
||||
# Copyright (c) 2004-2008
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
SRCROOT := build
|
||||
SUBDIRS := build/lib
|
||||
|
||||
include ${SRCROOT}/Makefiles/gmake/subdirs.mak
|
||||
|
||||
all install depend clean clobber distclean check::
|
||||
+$(call doinsubdirs,${SUBDIRS})
|
||||
|
||||
distclean clean depend clobber::
|
||||
+$(call doinsubdirs,build/test/unit)
|
||||
|
||||
release-shared install-release-shared:
|
||||
+$(call doinsubdirs,${SUBDIRS})
|
||||
|
||||
install::
|
||||
${MAKE} -C build/lib install-headers
|
||||
|
||||
.PHONY: all install depend clean clobber distclean check release-shared install-release-shared
|
||||
# Time-stamp: <08/06/12 14:28:42 ptr>
|
||||
#
|
||||
# Copyright (c) 2004-2008
|
||||
# Petr Ovtchenkov
|
||||
#
|
||||
# Licensed under the Academic Free License version 3.0
|
||||
#
|
||||
|
||||
SRCROOT := build
|
||||
SUBDIRS := build/lib
|
||||
|
||||
include ${SRCROOT}/Makefiles/gmake/subdirs.mak
|
||||
|
||||
all install depend clean clobber distclean check::
|
||||
+$(call doinsubdirs,${SUBDIRS})
|
||||
|
||||
distclean clean depend clobber::
|
||||
+$(call doinsubdirs,build/test/unit)
|
||||
|
||||
release-shared install-release-shared:
|
||||
+$(call doinsubdirs,${SUBDIRS})
|
||||
|
||||
install::
|
||||
${MAKE} -C build/lib install-headers
|
||||
|
||||
.PHONY: all install depend clean clobber distclean check release-shared install-release-shared
|
||||
|
|
128
sdk/lib/3rdparty/stlport/README
vendored
128
sdk/lib/3rdparty/stlport/README
vendored
|
@ -1,64 +1,64 @@
|
|||
**********************************************************************
|
||||
* README file for STLport 5.0 *
|
||||
* *
|
||||
**********************************************************************
|
||||
|
||||
This directory contains the STLport-5.0 release.
|
||||
|
||||
What's inside :
|
||||
|
||||
README - this file
|
||||
INSTALL - installation instructions
|
||||
|
||||
bin - installation directory for STLport unit tests;
|
||||
it may contain more subdirs, if you use
|
||||
crosscompilation
|
||||
build/lib - build directory for STLport library (if you use
|
||||
STLport iostreams and/or locale only)
|
||||
build/test/unit - build directory for regression (unit) tests
|
||||
build/test/eh - build directory for exception handling tests
|
||||
stlport - main STLport include directory
|
||||
src - source for iostreams implementation and other parts
|
||||
that aren't pure template code
|
||||
lib - installation directory for STLport library (if you
|
||||
use STLport iostreams and/or locale only);
|
||||
it may contain more subdirs, if you use
|
||||
crosscompilation
|
||||
test/unit - unit (regression) tests
|
||||
test/eh - exception handling test using STLport iostreams
|
||||
etc - miscellanous files (ChangeLog, TODO, scripts, etc.)
|
||||
|
||||
GETTING STLPORT
|
||||
|
||||
To download the latest version of STLport, please be sure to visit
|
||||
https://sourceforge.net/project/showfiles.php?group_id=146814
|
||||
|
||||
LEGALESE
|
||||
|
||||
This software is being distributed under the following terms:
|
||||
|
||||
*
|
||||
*
|
||||
* Copyright (c) 1994
|
||||
* Hewlett-Packard Company
|
||||
*
|
||||
* Copyright (c) 1996-1999
|
||||
* Silicon Graphics Computer Systems, Inc.
|
||||
*
|
||||
* Copyright (c) 1997
|
||||
* Moscow Center for SPARC Technology
|
||||
*
|
||||
* Copyright (c) 1999-2003
|
||||
* Boris Fomitchev
|
||||
*
|
||||
* This material is provided "as is", with absolutely no warranty expressed
|
||||
* or implied. Any use is at your own risk.
|
||||
*
|
||||
* Permission to use or copy this software for any purpose is hereby granted
|
||||
* without fee, provided the above notices are retained on all copies.
|
||||
* Permission to modify the code and to distribute modified code is granted,
|
||||
* provided the above notices are retained, and a notice that the code was
|
||||
* modified is included with the above copyright notice.
|
||||
*
|
||||
|
||||
**********************************************************************
|
||||
**********************************************************************
|
||||
* README file for STLport 5.0 *
|
||||
* *
|
||||
**********************************************************************
|
||||
|
||||
This directory contains the STLport-5.0 release.
|
||||
|
||||
What's inside :
|
||||
|
||||
README - this file
|
||||
INSTALL - installation instructions
|
||||
|
||||
bin - installation directory for STLport unit tests;
|
||||
it may contain more subdirs, if you use
|
||||
crosscompilation
|
||||
build/lib - build directory for STLport library (if you use
|
||||
STLport iostreams and/or locale only)
|
||||
build/test/unit - build directory for regression (unit) tests
|
||||
build/test/eh - build directory for exception handling tests
|
||||
stlport - main STLport include directory
|
||||
src - source for iostreams implementation and other parts
|
||||
that aren't pure template code
|
||||
lib - installation directory for STLport library (if you
|
||||
use STLport iostreams and/or locale only);
|
||||
it may contain more subdirs, if you use
|
||||
crosscompilation
|
||||
test/unit - unit (regression) tests
|
||||
test/eh - exception handling test using STLport iostreams
|
||||
etc - miscellanous files (ChangeLog, TODO, scripts, etc.)
|
||||
|
||||
GETTING STLPORT
|
||||
|
||||
To download the latest version of STLport, please be sure to visit
|
||||
https://sourceforge.net/project/showfiles.php?group_id=146814
|
||||
|
||||
LEGALESE
|
||||
|
||||
This software is being distributed under the following terms:
|
||||
|
||||
*
|
||||
*
|
||||
* Copyright (c) 1994
|
||||
* Hewlett-Packard Company
|
||||
*
|
||||
* Copyright (c) 1996-1999
|
||||
* Silicon Graphics Computer Systems, Inc.
|
||||
*
|
||||
* Copyright (c) 1997
|
||||
* Moscow Center for SPARC Technology
|
||||
*
|
||||
* Copyright (c) 1999-2003
|
||||
* Boris Fomitchev
|
||||
*
|
||||
* This material is provided "as is", with absolutely no warranty expressed
|
||||
* or implied. Any use is at your own risk.
|
||||
*
|
||||
* Permission to use or copy this software for any purpose is hereby granted
|
||||
* without fee, provided the above notices are retained on all copies.
|
||||
* Permission to modify the code and to distribute modified code is granted,
|
||||
* provided the above notices are retained, and a notice that the code was
|
||||
* modified is included with the above copyright notice.
|
||||
*
|
||||
|
||||
**********************************************************************
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# -*- makefile -*- Time-stamp: <02/04/17 11:04:32 ptr>
|
||||
# $Id$
|
||||
|
||||
PRGNAME = prog
|
||||
SRC_CC = prog.cc
|
||||
# -*- makefile -*- Time-stamp: <02/04/17 11:04:32 ptr>
|
||||
# $Id$
|
||||
|
||||
PRGNAME = prog
|
||||
SRC_CC = prog.cc
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
# -*- Makefile -*- Time-stamp: <03/07/09 18:08:47 ptr>
|
||||
# $Id$
|
||||
|
||||
SRCROOT := ../../..
|
||||
COMPILER_NAME := gcc
|
||||
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/top.mak
|
||||
|
||||
|
||||
INCLUDES += -I$(SRCROOT)/include -I$(STLPORT_INCLUDE_DIR)
|
||||
|
||||
release-shared: LDSEARCH = -L${STLPORT_LIB_DIR} -L${CoMT_LIB_DIR}
|
||||
stldbg-shared: LDSEARCH = -L${STLPORT_LIB_DIR} -L${CoMT_LIB_DIR_STLDBG}
|
||||
dbg-shared: LDSEARCH = -L${STLPORT_LIB_DIR} -L${CoMT_LIB_DIR_DBG}
|
||||
|
||||
ifeq ($(OSNAME),sunos)
|
||||
release-shared : LDLIBS = -lstlport_gcc -lrt
|
||||
stldbg-shared : LDLIBS = -lstlport_gcc_stldebug -lrt
|
||||
dbg-shared : LDLIBS = -lstlport_gcc -lrt
|
||||
else
|
||||
release-shared : LDLIBS = -lstlport_gcc -lxmt_gcc
|
||||
stldbg-shared : LDLIBS = -lstlport_gcc_stldebug -lxmt_gcc_stl-g
|
||||
dbg-shared : LDLIBS = -lstlport_gcc -lxmt_gcc-g
|
||||
endif
|
||||
|
||||
# -*- Makefile -*- Time-stamp: <03/07/09 18:08:47 ptr>
|
||||
# $Id$
|
||||
|
||||
SRCROOT := ../../..
|
||||
COMPILER_NAME := gcc
|
||||
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/top.mak
|
||||
|
||||
|
||||
INCLUDES += -I$(SRCROOT)/include -I$(STLPORT_INCLUDE_DIR)
|
||||
|
||||
release-shared: LDSEARCH = -L${STLPORT_LIB_DIR} -L${CoMT_LIB_DIR}
|
||||
stldbg-shared: LDSEARCH = -L${STLPORT_LIB_DIR} -L${CoMT_LIB_DIR_STLDBG}
|
||||
dbg-shared: LDSEARCH = -L${STLPORT_LIB_DIR} -L${CoMT_LIB_DIR_DBG}
|
||||
|
||||
ifeq ($(OSNAME),sunos)
|
||||
release-shared : LDLIBS = -lstlport_gcc -lrt
|
||||
stldbg-shared : LDLIBS = -lstlport_gcc_stldebug -lrt
|
||||
dbg-shared : LDLIBS = -lstlport_gcc -lrt
|
||||
else
|
||||
release-shared : LDLIBS = -lstlport_gcc -lxmt_gcc
|
||||
stldbg-shared : LDLIBS = -lstlport_gcc_stldebug -lxmt_gcc_stl-g
|
||||
dbg-shared : LDLIBS = -lstlport_gcc -lxmt_gcc-g
|
||||
endif
|
||||
|
||||
|
|
|
@ -1,30 +1,30 @@
|
|||
# -*- Makefile -*- Time-stamp: <03/07/09 18:08:47 ptr>
|
||||
# $Id$
|
||||
|
||||
SRCROOT := ../..
|
||||
COMPILER_NAME := gcc
|
||||
|
||||
STLPORT_LIB_DIR = /export/home/ptr/STLport.lab/STLport/lib
|
||||
STLPORT_INCLUDE_DIR = /export/home/ptr/STLport.lab/STLport/stlport
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/top.mak
|
||||
|
||||
|
||||
INCLUDES += -I$(SRCROOT)/include -I$(STLPORT_INCLUDE_DIR)
|
||||
|
||||
ifeq ($(OSNAME),linux)
|
||||
release-shared: LDSEARCH = -L${STLPORT_LIB_DIR}
|
||||
stldbg-shared: LDSEARCH = -L${STLPORT_LIB_DIR}
|
||||
dbg-shared: LDSEARCH = -L${STLPORT_LIB_DIR}
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),sunos)
|
||||
release-shared : LDLIBS = -lstlport_gcc -lrt
|
||||
stldbg-shared : LDLIBS = -lstlport_gcc_stldebug -lrt
|
||||
dbg-shared : LDLIBS = -lstlport_gcc -lrt
|
||||
else
|
||||
release-shared : LDLIBS = -lstlport_gcc
|
||||
stldbg-shared : LDLIBS = -lstlport_gcc_stldebug
|
||||
dbg-shared : LDLIBS = -lstlport_gcc
|
||||
endif
|
||||
|
||||
# -*- Makefile -*- Time-stamp: <03/07/09 18:08:47 ptr>
|
||||
# $Id$
|
||||
|
||||
SRCROOT := ../..
|
||||
COMPILER_NAME := gcc
|
||||
|
||||
STLPORT_LIB_DIR = /export/home/ptr/STLport.lab/STLport/lib
|
||||
STLPORT_INCLUDE_DIR = /export/home/ptr/STLport.lab/STLport/stlport
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/top.mak
|
||||
|
||||
|
||||
INCLUDES += -I$(SRCROOT)/include -I$(STLPORT_INCLUDE_DIR)
|
||||
|
||||
ifeq ($(OSNAME),linux)
|
||||
release-shared: LDSEARCH = -L${STLPORT_LIB_DIR}
|
||||
stldbg-shared: LDSEARCH = -L${STLPORT_LIB_DIR}
|
||||
dbg-shared: LDSEARCH = -L${STLPORT_LIB_DIR}
|
||||
endif
|
||||
|
||||
ifeq ($(OSNAME),sunos)
|
||||
release-shared : LDLIBS = -lstlport_gcc -lrt
|
||||
stldbg-shared : LDLIBS = -lstlport_gcc_stldebug -lrt
|
||||
dbg-shared : LDLIBS = -lstlport_gcc -lrt
|
||||
else
|
||||
release-shared : LDLIBS = -lstlport_gcc
|
||||
stldbg-shared : LDLIBS = -lstlport_gcc_stldebug
|
||||
dbg-shared : LDLIBS = -lstlport_gcc
|
||||
endif
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# -*- Makefile -*- Time-stamp: <03/07/05 21:43:31 ptr>
|
||||
# $Id$
|
||||
|
||||
LIBNAME = mylib
|
||||
MAJOR = 1
|
||||
MINOR = 0
|
||||
PATCH = 0
|
||||
SRC_CC = file1.cc file2.cc
|
||||
# -*- Makefile -*- Time-stamp: <03/07/05 21:43:31 ptr>
|
||||
# $Id$
|
||||
|
||||
LIBNAME = mylib
|
||||
MAJOR = 1
|
||||
MINOR = 0
|
||||
PATCH = 0
|
||||
SRC_CC = file1.cc file2.cc
|
||||
|
|
|
@ -1,52 +1,52 @@
|
|||
# -*- Makefile -*- Time-stamp: <06/11/13 23:03:45 ptr>
|
||||
|
||||
SRCROOT := ../../..
|
||||
|
||||
EXTRA_POST := checks
|
||||
EXTRA_POST_DBG := checks-dbg
|
||||
EXTRA_POST_STLDBG := checks-stldbg
|
||||
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/gmake/top.mak
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
LDFLAGS += -Wl,-rpath=${STLPORT_LIB_DIR}
|
||||
endif
|
||||
|
||||
# Check that we really use C compiler here
|
||||
|
||||
define ldd_check
|
||||
r=`ldd $(1) | grep $(2)`; if [ "$$r" != "" ]; then exit 1; fi
|
||||
endef
|
||||
|
||||
|
||||
checks:
|
||||
file ${PRG} | grep ELF >/dev/null || exit 1
|
||||
${call ldd_check,${PRG},stlport}
|
||||
${call ldd_check,${PRG},stdc++}
|
||||
${call ldd_check,${PRG},gcc_s}
|
||||
@echo
|
||||
@echo release ok
|
||||
@echo
|
||||
|
||||
checks-dbg:
|
||||
file ${PRG_DBG} | grep ELF >/dev/null || exit 1
|
||||
${call ldd_check,${PRG_DBG},stlport}
|
||||
${call ldd_check,${PRG_DBG},stdc++}
|
||||
${call ldd_check,${PRG_DBG},gcc_s}
|
||||
@echo
|
||||
@echo dbg ok
|
||||
@echo
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
checks-stldbg:
|
||||
file ${PRG_STLDBG} | grep ELF >/dev/null || exit 1
|
||||
${call ldd_check,${PRG_STLDBG},stlport}
|
||||
${call ldd_check,${PRG_STLDBG},stdc++}
|
||||
${call ldd_check,${PRG_STLDBG},gcc_s}
|
||||
@echo
|
||||
@echo stldbg ok
|
||||
@echo
|
||||
endif
|
||||
|
||||
PHONY += checks checks-dbg checks-stldbg
|
||||
# -*- Makefile -*- Time-stamp: <06/11/13 23:03:45 ptr>
|
||||
|
||||
SRCROOT := ../../..
|
||||
|
||||
EXTRA_POST := checks
|
||||
EXTRA_POST_DBG := checks-dbg
|
||||
EXTRA_POST_STLDBG := checks-stldbg
|
||||
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/gmake/top.mak
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
LDFLAGS += -Wl,-rpath=${STLPORT_LIB_DIR}
|
||||
endif
|
||||
|
||||
# Check that we really use C compiler here
|
||||
|
||||
define ldd_check
|
||||
r=`ldd $(1) | grep $(2)`; if [ "$$r" != "" ]; then exit 1; fi
|
||||
endef
|
||||
|
||||
|
||||
checks:
|
||||
file ${PRG} | grep ELF >/dev/null || exit 1
|
||||
${call ldd_check,${PRG},stlport}
|
||||
${call ldd_check,${PRG},stdc++}
|
||||
${call ldd_check,${PRG},gcc_s}
|
||||
@echo
|
||||
@echo release ok
|
||||
@echo
|
||||
|
||||
checks-dbg:
|
||||
file ${PRG_DBG} | grep ELF >/dev/null || exit 1
|
||||
${call ldd_check,${PRG_DBG},stlport}
|
||||
${call ldd_check,${PRG_DBG},stdc++}
|
||||
${call ldd_check,${PRG_DBG},gcc_s}
|
||||
@echo
|
||||
@echo dbg ok
|
||||
@echo
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
checks-stldbg:
|
||||
file ${PRG_STLDBG} | grep ELF >/dev/null || exit 1
|
||||
${call ldd_check,${PRG_STLDBG},stlport}
|
||||
${call ldd_check,${PRG_STLDBG},stdc++}
|
||||
${call ldd_check,${PRG_STLDBG},gcc_s}
|
||||
@echo
|
||||
@echo stldbg ok
|
||||
@echo
|
||||
endif
|
||||
|
||||
PHONY += checks checks-dbg checks-stldbg
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# -*- makefile -*- Time-stamp: <04/01/12 15:37:40 ptr>
|
||||
|
||||
PRGNAME = test
|
||||
SRC_C = test.c
|
||||
# -*- makefile -*- Time-stamp: <04/01/12 15:37:40 ptr>
|
||||
|
||||
PRGNAME = test
|
||||
SRC_C = test.c
|
||||
|
|
|
@ -1,36 +1,36 @@
|
|||
# -*- Makefile -*- Time-stamp: <06/11/13 23:03:45 ptr>
|
||||
|
||||
SRCROOT := ../../..
|
||||
|
||||
EXTRA_POST := checks
|
||||
EXTRA_POST_DBG := checks-dbg
|
||||
EXTRA_POST_STLDBG := checks-stldbg
|
||||
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/gmake/top.mak
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
LDFLAGS += -Wl,-rpath=${STLPORT_LIB_DIR}
|
||||
endif
|
||||
|
||||
checks:
|
||||
file ${PRG} | grep ELF >/dev/null || exit 1
|
||||
@echo
|
||||
@echo release ok
|
||||
@echo
|
||||
|
||||
checks-dbg:
|
||||
file ${PRG_DBG} | grep ELF >/dev/null || exit 1
|
||||
@echo
|
||||
@echo dbg ok
|
||||
@echo
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
checks-stldbg:
|
||||
file ${PRG_STLDBG} | grep ELF >/dev/null || exit 1
|
||||
@echo
|
||||
@echo stldbg ok
|
||||
@echo
|
||||
endif
|
||||
|
||||
PHONY += checks checks-dbg checks-stldbg
|
||||
# -*- Makefile -*- Time-stamp: <06/11/13 23:03:45 ptr>
|
||||
|
||||
SRCROOT := ../../..
|
||||
|
||||
EXTRA_POST := checks
|
||||
EXTRA_POST_DBG := checks-dbg
|
||||
EXTRA_POST_STLDBG := checks-stldbg
|
||||
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/gmake/top.mak
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
LDFLAGS += -Wl,-rpath=${STLPORT_LIB_DIR}
|
||||
endif
|
||||
|
||||
checks:
|
||||
file ${PRG} | grep ELF >/dev/null || exit 1
|
||||
@echo
|
||||
@echo release ok
|
||||
@echo
|
||||
|
||||
checks-dbg:
|
||||
file ${PRG_DBG} | grep ELF >/dev/null || exit 1
|
||||
@echo
|
||||
@echo dbg ok
|
||||
@echo
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
checks-stldbg:
|
||||
file ${PRG_STLDBG} | grep ELF >/dev/null || exit 1
|
||||
@echo
|
||||
@echo stldbg ok
|
||||
@echo
|
||||
endif
|
||||
|
||||
PHONY += checks checks-dbg checks-stldbg
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# -*- makefile -*- Time-stamp: <04/01/12 15:37:40 ptr>
|
||||
|
||||
PRGNAME = test
|
||||
#SRC_C = test.c
|
||||
SRC_CC = test.cc
|
||||
# -*- makefile -*- Time-stamp: <04/01/12 15:37:40 ptr>
|
||||
|
||||
PRGNAME = test
|
||||
#SRC_C = test.c
|
||||
SRC_CC = test.cc
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1,38 +1,38 @@
|
|||
# -*- Makefile -*- Time-stamp: <06/11/13 23:03:45 ptr>
|
||||
|
||||
SRCROOT := ../../..
|
||||
|
||||
# EXTRA_POST := check-release-shared
|
||||
# EXTRA_POST_DBG := check-dbg-shared
|
||||
# EXTRA_POST_STLDBG := check-stldbg-shared
|
||||
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/gmake/top.mak
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
LDFLAGS += -Wl,-rpath=${STLPORT_LIB_DIR}
|
||||
endif
|
||||
|
||||
check: check-release-shared check-dbg-shared check-stldbg-shared
|
||||
|
||||
check-release-shared: release-shared
|
||||
@echo Running 2 test cases...
|
||||
@file ${test2_PRG} | grep ELF >/dev/null || exit 1
|
||||
@file ${test3_PRG} | grep ELF >/dev/null || exit 1
|
||||
@echo "*** No errors detected"
|
||||
|
||||
check-dbg-shared: dbg-shared
|
||||
@echo Running 2 test cases...
|
||||
@file ${test2_PRG_DBG} | grep ELF >/dev/null || exit 1
|
||||
@file ${test3_PRG_DBG} | grep ELF >/dev/null || exit 1
|
||||
@echo "*** No errors detected"
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
check-stldbg-shared: stldbg-shared
|
||||
@echo Running 2 test cases...
|
||||
@file ${test2_PRG_STLDBG} | grep ELF >/dev/null || exit 1
|
||||
@file ${test3_PRG_STLDBG} | grep ELF >/dev/null || exit 1
|
||||
@echo "*** No errors detected"
|
||||
endif
|
||||
|
||||
PHONY += check check-release-shared check-dbg-shared check-stldbg-shared
|
||||
# -*- Makefile -*- Time-stamp: <06/11/13 23:03:45 ptr>
|
||||
|
||||
SRCROOT := ../../..
|
||||
|
||||
# EXTRA_POST := check-release-shared
|
||||
# EXTRA_POST_DBG := check-dbg-shared
|
||||
# EXTRA_POST_STLDBG := check-stldbg-shared
|
||||
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/gmake/top.mak
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
LDFLAGS += -Wl,-rpath=${STLPORT_LIB_DIR}
|
||||
endif
|
||||
|
||||
check: check-release-shared check-dbg-shared check-stldbg-shared
|
||||
|
||||
check-release-shared: release-shared
|
||||
@echo Running 2 test cases...
|
||||
@file ${test2_PRG} | grep ELF >/dev/null || exit 1
|
||||
@file ${test3_PRG} | grep ELF >/dev/null || exit 1
|
||||
@echo "*** No errors detected"
|
||||
|
||||
check-dbg-shared: dbg-shared
|
||||
@echo Running 2 test cases...
|
||||
@file ${test2_PRG_DBG} | grep ELF >/dev/null || exit 1
|
||||
@file ${test3_PRG_DBG} | grep ELF >/dev/null || exit 1
|
||||
@echo "*** No errors detected"
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
check-stldbg-shared: stldbg-shared
|
||||
@echo Running 2 test cases...
|
||||
@file ${test2_PRG_STLDBG} | grep ELF >/dev/null || exit 1
|
||||
@file ${test3_PRG_STLDBG} | grep ELF >/dev/null || exit 1
|
||||
@echo "*** No errors detected"
|
||||
endif
|
||||
|
||||
PHONY += check check-release-shared check-dbg-shared check-stldbg-shared
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# -*- makefile -*- Time-stamp: <04/01/12 15:37:40 ptr>
|
||||
|
||||
PRGNAMES = test2 test3
|
||||
#SRC_C = test.c
|
||||
SRC_CC = test.cc
|
||||
test2_SRC_CC = test2.cc
|
||||
test3_SRC_CC = test3.cc test31.cc
|
||||
# -*- makefile -*- Time-stamp: <04/01/12 15:37:40 ptr>
|
||||
|
||||
PRGNAMES = test2 test3
|
||||
#SRC_C = test.c
|
||||
SRC_CC = test.cc
|
||||
test2_SRC_CC = test2.cc
|
||||
test3_SRC_CC = test3.cc test31.cc
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
int main()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
int main()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
int f()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
int f()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
|
|
@ -1,42 +1,42 @@
|
|||
# -*- Makefile -*- Time-stamp: <06/11/13 23:03:45 ptr>
|
||||
|
||||
SRCROOT := ../../..
|
||||
|
||||
EXTRA_POST := checks
|
||||
EXTRA_POST_DBG := checks-dbg
|
||||
EXTRA_POST_STLDBG := checks-stldbg
|
||||
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/gmake/top.mak
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
LDFLAGS += -Wl,-rpath=${STLPORT_LIB_DIR}
|
||||
endif
|
||||
|
||||
checks:
|
||||
file ${PRG} | grep ELF >/dev/null || exit 1
|
||||
file ${test2_PRG} | grep ELF >/dev/null || exit 1
|
||||
file ${test3_PRG} | grep ELF >/dev/null || exit 1
|
||||
@echo
|
||||
@echo release ok
|
||||
@echo
|
||||
|
||||
checks-dbg:
|
||||
file ${PRG_DBG} | grep ELF >/dev/null || exit 1
|
||||
file ${test2_PRG_DBG} | grep ELF >/dev/null || exit 1
|
||||
file ${test3_PRG_DBG} | grep ELF >/dev/null || exit 1
|
||||
@echo
|
||||
@echo dbg ok
|
||||
@echo
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
checks-stldbg:
|
||||
file ${PRG_STLDBG} | grep ELF >/dev/null || exit 1
|
||||
file ${test2_PRG_STLDBG} | grep ELF >/dev/null || exit 1
|
||||
file ${test3_PRG_STLDBG} | grep ELF >/dev/null || exit 1
|
||||
@echo
|
||||
@echo stldbg ok
|
||||
@echo
|
||||
endif
|
||||
|
||||
PHONY += checks checks-dbg checks-stldbg
|
||||
# -*- Makefile -*- Time-stamp: <06/11/13 23:03:45 ptr>
|
||||
|
||||
SRCROOT := ../../..
|
||||
|
||||
EXTRA_POST := checks
|
||||
EXTRA_POST_DBG := checks-dbg
|
||||
EXTRA_POST_STLDBG := checks-stldbg
|
||||
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/gmake/top.mak
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
LDFLAGS += -Wl,-rpath=${STLPORT_LIB_DIR}
|
||||
endif
|
||||
|
||||
checks:
|
||||
file ${PRG} | grep ELF >/dev/null || exit 1
|
||||
file ${test2_PRG} | grep ELF >/dev/null || exit 1
|
||||
file ${test3_PRG} | grep ELF >/dev/null || exit 1
|
||||
@echo
|
||||
@echo release ok
|
||||
@echo
|
||||
|
||||
checks-dbg:
|
||||
file ${PRG_DBG} | grep ELF >/dev/null || exit 1
|
||||
file ${test2_PRG_DBG} | grep ELF >/dev/null || exit 1
|
||||
file ${test3_PRG_DBG} | grep ELF >/dev/null || exit 1
|
||||
@echo
|
||||
@echo dbg ok
|
||||
@echo
|
||||
|
||||
ifndef WITHOUT_STLPORT
|
||||
checks-stldbg:
|
||||
file ${PRG_STLDBG} | grep ELF >/dev/null || exit 1
|
||||
file ${test2_PRG_STLDBG} | grep ELF >/dev/null || exit 1
|
||||
file ${test3_PRG_STLDBG} | grep ELF >/dev/null || exit 1
|
||||
@echo
|
||||
@echo stldbg ok
|
||||
@echo
|
||||
endif
|
||||
|
||||
PHONY += checks checks-dbg checks-stldbg
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# -*- makefile -*- Time-stamp: <04/01/12 15:37:40 ptr>
|
||||
|
||||
PRGNAME = test
|
||||
PRGNAMES = test2 test3
|
||||
#SRC_C = test.c
|
||||
SRC_CC = test.cc
|
||||
test2_SRC_CC = test2.cc
|
||||
test3_SRC_CC = test3.cc test31.cc
|
||||
# -*- makefile -*- Time-stamp: <04/01/12 15:37:40 ptr>
|
||||
|
||||
PRGNAME = test
|
||||
PRGNAMES = test2 test3
|
||||
#SRC_C = test.c
|
||||
SRC_CC = test.cc
|
||||
test2_SRC_CC = test2.cc
|
||||
test3_SRC_CC = test3.cc test31.cc
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
int main()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
int main()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
int f()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
int f()
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
# -*- Makefile -*- Time-stamp: <06/11/10 16:23:01 ptr>
|
||||
|
||||
SRCROOT := ../../..
|
||||
EXTRA_POST := checks
|
||||
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/gmake/top.mak
|
||||
|
||||
INCLUDES += -I./include
|
||||
|
||||
checks:
|
||||
file ${SO_NAME_OUTxxx} | grep ELF >/dev/null || exit 1
|
||||
file ${SO_NAME_OUTxx} | grep link >/dev/null || exit 1
|
||||
file ${SO_NAME_OUTx} | grep link >/dev/null || exit 1
|
||||
file ${SO_NAME_OUT} | grep link >/dev/null || exit 1
|
||||
|
||||
PHONY += checks
|
||||
|
||||
# -*- Makefile -*- Time-stamp: <06/11/10 16:23:01 ptr>
|
||||
|
||||
SRCROOT := ../../..
|
||||
EXTRA_POST := checks
|
||||
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/gmake/top.mak
|
||||
|
||||
INCLUDES += -I./include
|
||||
|
||||
checks:
|
||||
file ${SO_NAME_OUTxxx} | grep ELF >/dev/null || exit 1
|
||||
file ${SO_NAME_OUTxx} | grep link >/dev/null || exit 1
|
||||
file ${SO_NAME_OUTx} | grep link >/dev/null || exit 1
|
||||
file ${SO_NAME_OUT} | grep link >/dev/null || exit 1
|
||||
|
||||
PHONY += checks
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# -*- Makefile -*- Time-stamp: <06/11/29 01:59:50 ptr>
|
||||
|
||||
LIBNAME = test
|
||||
MAJOR = 0
|
||||
MINOR = 1
|
||||
PATCH = 2
|
||||
SRC_CC = test_cc.cc
|
||||
SRC_C = test_c.c
|
||||
# -*- Makefile -*- Time-stamp: <06/11/29 01:59:50 ptr>
|
||||
|
||||
LIBNAME = test
|
||||
MAJOR = 0
|
||||
MINOR = 1
|
||||
PATCH = 2
|
||||
SRC_CC = test_cc.cc
|
||||
SRC_C = test_c.c
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
int g()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
int g()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
int f()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
int f()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
82
sdk/lib/3rdparty/stlport/build/lib/Makefile.inc
vendored
82
sdk/lib/3rdparty/stlport/build/lib/Makefile.inc
vendored
|
@ -1,41 +1,41 @@
|
|||
# -*- Makefile -*- Time-stamp: <06/09/08 11:50:49 ptr>
|
||||
|
||||
LIBNAME = stlport
|
||||
MAJOR = 5
|
||||
MINOR = 2
|
||||
PATCH = 1
|
||||
SRC_CPP = ../../src/dll_main.cpp \
|
||||
../../src/fstream.cpp \
|
||||
../../src/strstream.cpp \
|
||||
../../src/sstream.cpp \
|
||||
../../src/ios.cpp \
|
||||
../../src/stdio_streambuf.cpp \
|
||||
../../src/istream.cpp \
|
||||
../../src/ostream.cpp \
|
||||
../../src/iostream.cpp \
|
||||
../../src/codecvt.cpp \
|
||||
../../src/collate.cpp \
|
||||
../../src/ctype.cpp \
|
||||
../../src/monetary.cpp \
|
||||
../../src/num_get.cpp \
|
||||
../../src/num_put.cpp \
|
||||
../../src/num_get_float.cpp \
|
||||
../../src/num_put_float.cpp \
|
||||
../../src/numpunct.cpp \
|
||||
../../src/time_facets.cpp \
|
||||
../../src/messages.cpp \
|
||||
../../src/locale.cpp \
|
||||
../../src/locale_impl.cpp \
|
||||
../../src/locale_catalog.cpp \
|
||||
../../src/facets_byname.cpp \
|
||||
../../src/complex.cpp \
|
||||
../../src/complex_io.cpp \
|
||||
../../src/complex_trig.cpp \
|
||||
../../src/string.cpp \
|
||||
../../src/bitset.cpp \
|
||||
../../src/allocators.cpp
|
||||
|
||||
SRC_C = ../../src/c_locale.c \
|
||||
../../src/cxa.c
|
||||
|
||||
SRC_RC = ../../src/stlport.rc
|
||||
# -*- Makefile -*- Time-stamp: <06/09/08 11:50:49 ptr>
|
||||
|
||||
LIBNAME = stlport
|
||||
MAJOR = 5
|
||||
MINOR = 2
|
||||
PATCH = 1
|
||||
SRC_CPP = ../../src/dll_main.cpp \
|
||||
../../src/fstream.cpp \
|
||||
../../src/strstream.cpp \
|
||||
../../src/sstream.cpp \
|
||||
../../src/ios.cpp \
|
||||
../../src/stdio_streambuf.cpp \
|
||||
../../src/istream.cpp \
|
||||
../../src/ostream.cpp \
|
||||
../../src/iostream.cpp \
|
||||
../../src/codecvt.cpp \
|
||||
../../src/collate.cpp \
|
||||
../../src/ctype.cpp \
|
||||
../../src/monetary.cpp \
|
||||
../../src/num_get.cpp \
|
||||
../../src/num_put.cpp \
|
||||
../../src/num_get_float.cpp \
|
||||
../../src/num_put_float.cpp \
|
||||
../../src/numpunct.cpp \
|
||||
../../src/time_facets.cpp \
|
||||
../../src/messages.cpp \
|
||||
../../src/locale.cpp \
|
||||
../../src/locale_impl.cpp \
|
||||
../../src/locale_catalog.cpp \
|
||||
../../src/facets_byname.cpp \
|
||||
../../src/complex.cpp \
|
||||
../../src/complex_io.cpp \
|
||||
../../src/complex_trig.cpp \
|
||||
../../src/string.cpp \
|
||||
../../src/bitset.cpp \
|
||||
../../src/allocators.cpp
|
||||
|
||||
SRC_C = ../../src/c_locale.c \
|
||||
../../src/cxa.c
|
||||
|
||||
SRC_RC = ../../src/stlport.rc
|
||||
|
|
170
sdk/lib/3rdparty/stlport/build/lib/README
vendored
170
sdk/lib/3rdparty/stlport/build/lib/README
vendored
|
@ -1,85 +1,85 @@
|
|||
Quick start.
|
||||
|
||||
GNU Make (Linux, OpenBSD, FreeBSD, CygWin, etc.), with gcc:
|
||||
|
||||
make -f gcc.mak depend
|
||||
make -f gcc.mak install
|
||||
|
||||
GNU Make (SunOS), with SunPro CC:
|
||||
|
||||
make -f CC.mak depend
|
||||
make -f CC.mak install
|
||||
|
||||
Microsoft NMAKE (MS Windows), with VC6:
|
||||
|
||||
nmake /fmsvc.mak install
|
||||
|
||||
|
||||
Make system goals.
|
||||
|
||||
- all source files declared in one place (for all platforms and
|
||||
compilers); the same is for base library (application) name and
|
||||
version.
|
||||
- derive object filenames from source filenames in make system
|
||||
- source files may be situated in few catalogs
|
||||
- avoid information duplication, if possible
|
||||
- support cross-compilation
|
||||
|
||||
|
||||
Make targets.
|
||||
|
||||
release-static
|
||||
|
||||
build STLport as static library
|
||||
|
||||
dbg-static
|
||||
|
||||
build STLport as static library (with debug information)
|
||||
|
||||
stldbg-static
|
||||
|
||||
build STLport as static library (STLP_DEBUG mode, with debug information)
|
||||
|
||||
release-shared
|
||||
|
||||
build STLport as dynamic (shared) library
|
||||
|
||||
dbg-shared
|
||||
|
||||
STLport as dynamic (shared) library (with debug information)
|
||||
|
||||
stldbg-shared
|
||||
|
||||
build STLport as dynamic (shared) library (STLP_DEBUG mode, with
|
||||
debug information)
|
||||
|
||||
all (default)
|
||||
|
||||
cumulative target for release,dbg,stldbg -shared on Unix-lile platforms
|
||||
and plus release,dbg,stldbg -static on Windows.
|
||||
|
||||
depend
|
||||
|
||||
create dependency files (for performance reasons dependency not created
|
||||
during compilation process); this target absent for MS NMAKE (due to pure
|
||||
scripting opportunities)
|
||||
|
||||
install-release-shared
|
||||
install-dbg-shared
|
||||
install-stldbg-shared
|
||||
install-release-static
|
||||
install-dbg-static
|
||||
install-stldbg-static
|
||||
|
||||
build and install appropriate libraries and related files, into
|
||||
'STLport/lib' and 'STLport/bin' (../../lib, relative position of this file)
|
||||
|
||||
install
|
||||
|
||||
cumulative target for install-*-shared on Unix-like platforms and
|
||||
install-*-* on Windows.
|
||||
|
||||
clean
|
||||
|
||||
remove all intermediate files
|
||||
|
||||
Quick start.
|
||||
|
||||
GNU Make (Linux, OpenBSD, FreeBSD, CygWin, etc.), with gcc:
|
||||
|
||||
make -f gcc.mak depend
|
||||
make -f gcc.mak install
|
||||
|
||||
GNU Make (SunOS), with SunPro CC:
|
||||
|
||||
make -f CC.mak depend
|
||||
make -f CC.mak install
|
||||
|
||||
Microsoft NMAKE (MS Windows), with VC6:
|
||||
|
||||
nmake /fmsvc.mak install
|
||||
|
||||
|
||||
Make system goals.
|
||||
|
||||
- all source files declared in one place (for all platforms and
|
||||
compilers); the same is for base library (application) name and
|
||||
version.
|
||||
- derive object filenames from source filenames in make system
|
||||
- source files may be situated in few catalogs
|
||||
- avoid information duplication, if possible
|
||||
- support cross-compilation
|
||||
|
||||
|
||||
Make targets.
|
||||
|
||||
release-static
|
||||
|
||||
build STLport as static library
|
||||
|
||||
dbg-static
|
||||
|
||||
build STLport as static library (with debug information)
|
||||
|
||||
stldbg-static
|
||||
|
||||
build STLport as static library (STLP_DEBUG mode, with debug information)
|
||||
|
||||
release-shared
|
||||
|
||||
build STLport as dynamic (shared) library
|
||||
|
||||
dbg-shared
|
||||
|
||||
STLport as dynamic (shared) library (with debug information)
|
||||
|
||||
stldbg-shared
|
||||
|
||||
build STLport as dynamic (shared) library (STLP_DEBUG mode, with
|
||||
debug information)
|
||||
|
||||
all (default)
|
||||
|
||||
cumulative target for release,dbg,stldbg -shared on Unix-lile platforms
|
||||
and plus release,dbg,stldbg -static on Windows.
|
||||
|
||||
depend
|
||||
|
||||
create dependency files (for performance reasons dependency not created
|
||||
during compilation process); this target absent for MS NMAKE (due to pure
|
||||
scripting opportunities)
|
||||
|
||||
install-release-shared
|
||||
install-dbg-shared
|
||||
install-stldbg-shared
|
||||
install-release-static
|
||||
install-dbg-static
|
||||
install-stldbg-static
|
||||
|
||||
build and install appropriate libraries and related files, into
|
||||
'STLport/lib' and 'STLport/bin' (../../lib, relative position of this file)
|
||||
|
||||
install
|
||||
|
||||
cumulative target for install-*-shared on Unix-like platforms and
|
||||
install-*-* on Windows.
|
||||
|
||||
clean
|
||||
|
||||
remove all intermediate files
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# -*- Makefile -*- Time-stamp: <05/05/16 22:07:32 ptr>
|
||||
|
||||
LIBNAME = cxa
|
||||
MAJOR = 0
|
||||
MINOR = 0
|
||||
PATCH = 1
|
||||
SRC_C = ../../../src/cxa.c
|
||||
# -*- Makefile -*- Time-stamp: <05/05/16 22:07:32 ptr>
|
||||
|
||||
LIBNAME = cxa
|
||||
MAJOR = 0
|
||||
MINOR = 0
|
||||
PATCH = 1
|
||||
SRC_C = ../../../src/cxa.c
|
||||
|
|
|
@ -1,28 +1,28 @@
|
|||
# -*- makefile -*- Time-stamp: <05/03/29 23:39:01 ptr>
|
||||
# $Id$
|
||||
|
||||
# this is the version number of needed STLport library for linking
|
||||
LIBMAJOR = 5
|
||||
LIBMINOR = 2
|
||||
|
||||
PRGNAME = eh_test
|
||||
SRC_CPP = ../../../test/eh/TestClass.cpp \
|
||||
../../../test/eh/main.cpp \
|
||||
../../../test/eh/nc_alloc.cpp \
|
||||
../../../test/eh/random_number.cpp \
|
||||
../../../test/eh/test_algo.cpp \
|
||||
../../../test/eh/test_algobase.cpp \
|
||||
../../../test/eh/test_list.cpp \
|
||||
../../../test/eh/test_slist.cpp \
|
||||
../../../test/eh/test_bit_vector.cpp \
|
||||
../../../test/eh/test_vector.cpp \
|
||||
../../../test/eh/test_deque.cpp \
|
||||
../../../test/eh/test_set.cpp \
|
||||
../../../test/eh/test_map.cpp \
|
||||
../../../test/eh/test_hash_map.cpp \
|
||||
../../../test/eh/test_hash_set.cpp \
|
||||
../../../test/eh/test_rope.cpp \
|
||||
../../../test/eh/test_string.cpp \
|
||||
../../../test/eh/test_bitset.cpp \
|
||||
../../../test/eh/test_valarray.cpp
|
||||
|
||||
# -*- makefile -*- Time-stamp: <05/03/29 23:39:01 ptr>
|
||||
# $Id$
|
||||
|
||||
# this is the version number of needed STLport library for linking
|
||||
LIBMAJOR = 5
|
||||
LIBMINOR = 2
|
||||
|
||||
PRGNAME = eh_test
|
||||
SRC_CPP = ../../../test/eh/TestClass.cpp \
|
||||
../../../test/eh/main.cpp \
|
||||
../../../test/eh/nc_alloc.cpp \
|
||||
../../../test/eh/random_number.cpp \
|
||||
../../../test/eh/test_algo.cpp \
|
||||
../../../test/eh/test_algobase.cpp \
|
||||
../../../test/eh/test_list.cpp \
|
||||
../../../test/eh/test_slist.cpp \
|
||||
../../../test/eh/test_bit_vector.cpp \
|
||||
../../../test/eh/test_vector.cpp \
|
||||
../../../test/eh/test_deque.cpp \
|
||||
../../../test/eh/test_set.cpp \
|
||||
../../../test/eh/test_map.cpp \
|
||||
../../../test/eh/test_hash_map.cpp \
|
||||
../../../test/eh/test_hash_set.cpp \
|
||||
../../../test/eh/test_rope.cpp \
|
||||
../../../test/eh/test_string.cpp \
|
||||
../../../test/eh/test_bitset.cpp \
|
||||
../../../test/eh/test_valarray.cpp
|
||||
|
||||
|
|
|
@ -1,190 +1,190 @@
|
|||
# -*- makefile -*- Time-stamp: <07/06/27 20:39:05 ptr>
|
||||
|
||||
# this is the version number of needed STLport library for linking
|
||||
LIBMAJOR = 5
|
||||
LIBMINOR = 2
|
||||
|
||||
PRGNAME = stl_unit_test
|
||||
SRC_CPP = ../../../test/unit/cppunit/test_main.cpp \
|
||||
../../../test/unit/accum_test.cpp \
|
||||
../../../test/unit/adj_test.cpp \
|
||||
../../../test/unit/advance_test.cpp \
|
||||
../../../test/unit/alg_test.cpp \
|
||||
../../../test/unit/algorithm_header_test.cpp \
|
||||
../../../test/unit/allocator_test.cpp \
|
||||
../../../test/unit/bcompos_test.cpp \
|
||||
../../../test/unit/bind_test.cpp \
|
||||
../../../test/unit/binsert_test.cpp \
|
||||
../../../test/unit/bitset_test.cpp \
|
||||
../../../test/unit/bitset_header_test.cpp \
|
||||
../../../test/unit/bnegate_test.cpp \
|
||||
../../../test/unit/boost_check.cpp \
|
||||
../../../test/unit/bound_test.cpp \
|
||||
../../../test/unit/bsearch_test.cpp \
|
||||
../../../test/unit/bvector_test.cpp \
|
||||
../../../test/unit/cassert_header_test.cpp \
|
||||
../../../test/unit/cctype_header_test.cpp \
|
||||
../../../test/unit/cerrno_header_test.cpp \
|
||||
../../../test/unit/cfloat_header_test.cpp \
|
||||
../../../test/unit/ciso646_header_test.cpp \
|
||||
../../../test/unit/climits_header_test.cpp \
|
||||
../../../test/unit/clocale_header_test.cpp \
|
||||
../../../test/unit/cmath_test.cpp \
|
||||
../../../test/unit/cmath_header_test.cpp \
|
||||
../../../test/unit/codecvt_test.cpp \
|
||||
../../../test/unit/collate_facets_test.cpp \
|
||||
../../../test/unit/complex_header_test.cpp \
|
||||
../../../test/unit/config_test.cpp \
|
||||
../../../test/unit/copy_test.cpp \
|
||||
../../../test/unit/count_test.cpp \
|
||||
../../../test/unit/csetjmp_header_test.cpp \
|
||||
../../../test/unit/setjmp_header_test2.cpp \
|
||||
../../../test/unit/csignal_header_test.cpp \
|
||||
../../../test/unit/cstdarg_header_test.cpp \
|
||||
../../../test/unit/cstddef_header_test.cpp \
|
||||
../../../test/unit/cstdio_header_test.cpp \
|
||||
../../../test/unit/cstdlib_header_test.cpp \
|
||||
../../../test/unit/cstring_test.cpp \
|
||||
../../../test/unit/cstring_header_test.cpp \
|
||||
../../../test/unit/ctime_header_test.cpp \
|
||||
../../../test/unit/ctype_facets_test.cpp \
|
||||
../../../test/unit/cwchar_header_test.cpp \
|
||||
../../../test/unit/cwctype_header_test.cpp \
|
||||
../../../test/unit/deque_test.cpp \
|
||||
../../../test/unit/deque_header_test.cpp \
|
||||
../../../test/unit/divides_test.cpp \
|
||||
../../../test/unit/equal_test.cpp \
|
||||
../../../test/unit/exception_test.cpp \
|
||||
../../../test/unit/exception_header_test.cpp \
|
||||
../../../test/unit/epilog_test.cpp \
|
||||
../../../test/unit/fill_test.cpp \
|
||||
../../../test/unit/find_test.cpp \
|
||||
../../../test/unit/finsert_test.cpp \
|
||||
../../../test/unit/foreach_test.cpp \
|
||||
../../../test/unit/fstream_test.cpp \
|
||||
../../../test/unit/fstream_header_test.cpp \
|
||||
../../../test/unit/func_test.cpp \
|
||||
../../../test/unit/functional_header_test.cpp \
|
||||
../../../test/unit/generator_test.cpp \
|
||||
../../../test/unit/greater_test.cpp \
|
||||
../../../test/unit/hash_test.cpp \
|
||||
../../../test/unit/heap_test.cpp \
|
||||
../../../test/unit/includes_test.cpp \
|
||||
../../../test/unit/innerprod_test.cpp \
|
||||
../../../test/unit/inplace_test.cpp \
|
||||
../../../test/unit/insert_test.cpp \
|
||||
../../../test/unit/ioiter_test.cpp \
|
||||
../../../test/unit/iomanip_header_test.cpp \
|
||||
../../../test/unit/ios_header_test.cpp \
|
||||
../../../test/unit/iosfwd_header_test.cpp \
|
||||
../../../test/unit/iostream_header_test.cpp \
|
||||
../../../test/unit/iostream_test.cpp \
|
||||
../../../test/unit/iota_test.cpp \
|
||||
../../../test/unit/istmit_test.cpp \
|
||||
../../../test/unit/istream_header_test.cpp \
|
||||
../../../test/unit/iter_test.cpp \
|
||||
../../../test/unit/iterator_header_test.cpp \
|
||||
../../../test/unit/less_test.cpp \
|
||||
../../../test/unit/lexcmp_test.cpp \
|
||||
../../../test/unit/limits_test.cpp \
|
||||
../../../test/unit/limits_header_test.cpp \
|
||||
../../../test/unit/list_test.cpp \
|
||||
../../../test/unit/list_header_test.cpp \
|
||||
../../../test/unit/locale_test.cpp \
|
||||
../../../test/unit/locale_header_test.cpp \
|
||||
../../../test/unit/logic_test.cpp \
|
||||
../../../test/unit/macro_checks.cpp \
|
||||
../../../test/unit/map_test.cpp \
|
||||
../../../test/unit/map_header_test.cpp \
|
||||
../../../test/unit/max_test.cpp \
|
||||
../../../test/unit/memory_header_test.cpp \
|
||||
../../../test/unit/memory_test.cpp \
|
||||
../../../test/unit/merge_test.cpp \
|
||||
../../../test/unit/messages_facets_test.cpp \
|
||||
../../../test/unit/mfunptr_test.cpp \
|
||||
../../../test/unit/min_test.cpp \
|
||||
../../../test/unit/mismatch_test.cpp \
|
||||
../../../test/unit/modulus_test.cpp \
|
||||
../../../test/unit/money_facets_test.cpp \
|
||||
../../../test/unit/multiset_test.cpp \
|
||||
../../../test/unit/mvctor_test.cpp \
|
||||
../../../test/unit/mvctor_declaration_test.cpp \
|
||||
../../../test/unit/mvctor_traits_test.cpp \
|
||||
../../../test/unit/neq_test.cpp \
|
||||
../../../test/unit/new_header_test.cpp \
|
||||
../../../test/unit/nthelm_test.cpp \
|
||||
../../../test/unit/num_facets_test.cpp \
|
||||
../../../test/unit/num_put_get_test.cpp \
|
||||
../../../test/unit/numeric_header_test.cpp \
|
||||
../../../test/unit/ostmit_test.cpp \
|
||||
../../../test/unit/ostream_header_test.cpp \
|
||||
../../../test/unit/pair_test.cpp \
|
||||
../../../test/unit/partial_test.cpp \
|
||||
../../../test/unit/partition_test.cpp \
|
||||
../../../test/unit/perm_test.cpp \
|
||||
../../../test/unit/plusminus_test.cpp \
|
||||
../../../test/unit/ptr2_test.cpp \
|
||||
../../../test/unit/ptrspec_test.cpp \
|
||||
../../../test/unit/queue_test.cpp \
|
||||
../../../test/unit/queue_header_test.cpp \
|
||||
../../../test/unit/rawriter_test.cpp \
|
||||
../../../test/unit/reference_wrapper_test.cpp \
|
||||
../../../test/unit/resolve_name.cpp \
|
||||
../../../test/unit/reviter_test.cpp \
|
||||
../../../test/unit/rm_cp_test.cpp \
|
||||
../../../test/unit/rndshf_test.cpp \
|
||||
../../../test/unit/rope_test.cpp \
|
||||
../../../test/unit/rotate_test.cpp \
|
||||
../../../test/unit/search_test.cpp \
|
||||
../../../test/unit/set_test.cpp \
|
||||
../../../test/unit/set_header_test.cpp \
|
||||
../../../test/unit/setdiff_test.cpp \
|
||||
../../../test/unit/setinter_test.cpp \
|
||||
../../../test/unit/setunion_test.cpp \
|
||||
../../../test/unit/shared_ptr_test.cpp \
|
||||
../../../test/unit/slist_test.cpp \
|
||||
../../../test/unit/sort_test.cpp \
|
||||
../../../test/unit/sstream_test.cpp \
|
||||
../../../test/unit/sstream_header_test.cpp \
|
||||
../../../test/unit/stack_test.cpp \
|
||||
../../../test/unit/stack_header_test.cpp \
|
||||
../../../test/unit/stdexcept_header_test.cpp \
|
||||
../../../test/unit/stldbg_include.cpp \
|
||||
../../../test/unit/string_test.cpp \
|
||||
../../../test/unit/strstream_buffer_read_test.cpp \
|
||||
../../../test/unit/strstream_header_test.cpp \
|
||||
../../../test/unit/swap_test.cpp \
|
||||
../../../test/unit/times_test.cpp \
|
||||
../../../test/unit/transform_test.cpp \
|
||||
../../../test/unit/type_traits_test.cpp \
|
||||
../../../test/unit/typeinfo_header_test.cpp \
|
||||
../../../test/unit/unary_test.cpp \
|
||||
../../../test/unit/uninitialized_test.cpp \
|
||||
../../../test/unit/unique_test.cpp \
|
||||
../../../test/unit/unordered_test.cpp \
|
||||
../../../test/unit/utility_header_test.cpp \
|
||||
../../../test/unit/valarray_test.cpp \
|
||||
../../../test/unit/valarray_header_test.cpp \
|
||||
../../../test/unit/vector_test.cpp \
|
||||
../../../test/unit/vector_header_test.cpp \
|
||||
../../../test/unit/test_errno.cpp \
|
||||
../../../test/unit/time_facets_test.cpp
|
||||
|
||||
SRC_C = ../../../test/unit/assert_header_test.c \
|
||||
../../../test/unit/ctype_header_test.c \
|
||||
../../../test/unit/c_limits_header_test.c \
|
||||
../../../test/unit/c_locale_header_test.c \
|
||||
../../../test/unit/errno_header_test.c \
|
||||
../../../test/unit/float_header_test.c \
|
||||
../../../test/unit/iso646_header_test.c \
|
||||
../../../test/unit/math_header_test.c \
|
||||
../../../test/unit/setjmp_header_test.c \
|
||||
../../../test/unit/signal_header_test.c \
|
||||
../../../test/unit/stdarg_header_test.c \
|
||||
../../../test/unit/stddef_header_test.c \
|
||||
../../../test/unit/stdio_header_test.c \
|
||||
../../../test/unit/stdlib_header_test.c \
|
||||
../../../test/unit/string_header_test.c \
|
||||
../../../test/unit/time_header_test.c \
|
||||
../../../test/unit/wchar_header_test.c \
|
||||
../../../test/unit/wctype_header_test.c
|
||||
# -*- makefile -*- Time-stamp: <07/06/27 20:39:05 ptr>
|
||||
|
||||
# this is the version number of needed STLport library for linking
|
||||
LIBMAJOR = 5
|
||||
LIBMINOR = 2
|
||||
|
||||
PRGNAME = stl_unit_test
|
||||
SRC_CPP = ../../../test/unit/cppunit/test_main.cpp \
|
||||
../../../test/unit/accum_test.cpp \
|
||||
../../../test/unit/adj_test.cpp \
|
||||
../../../test/unit/advance_test.cpp \
|
||||
../../../test/unit/alg_test.cpp \
|
||||
../../../test/unit/algorithm_header_test.cpp \
|
||||
../../../test/unit/allocator_test.cpp \
|
||||
../../../test/unit/bcompos_test.cpp \
|
||||
../../../test/unit/bind_test.cpp \
|
||||
../../../test/unit/binsert_test.cpp \
|
||||
../../../test/unit/bitset_test.cpp \
|
||||
../../../test/unit/bitset_header_test.cpp \
|
||||
../../../test/unit/bnegate_test.cpp \
|
||||
../../../test/unit/boost_check.cpp \
|
||||
../../../test/unit/bound_test.cpp \
|
||||
../../../test/unit/bsearch_test.cpp \
|
||||
../../../test/unit/bvector_test.cpp \
|
||||
../../../test/unit/cassert_header_test.cpp \
|
||||
../../../test/unit/cctype_header_test.cpp \
|
||||
../../../test/unit/cerrno_header_test.cpp \
|
||||
../../../test/unit/cfloat_header_test.cpp \
|
||||
../../../test/unit/ciso646_header_test.cpp \
|
||||
../../../test/unit/climits_header_test.cpp \
|
||||
../../../test/unit/clocale_header_test.cpp \
|
||||
../../../test/unit/cmath_test.cpp \
|
||||
../../../test/unit/cmath_header_test.cpp \
|
||||
../../../test/unit/codecvt_test.cpp \
|
||||
../../../test/unit/collate_facets_test.cpp \
|
||||
../../../test/unit/complex_header_test.cpp \
|
||||
../../../test/unit/config_test.cpp \
|
||||
../../../test/unit/copy_test.cpp \
|
||||
../../../test/unit/count_test.cpp \
|
||||
../../../test/unit/csetjmp_header_test.cpp \
|
||||
../../../test/unit/setjmp_header_test2.cpp \
|
||||
../../../test/unit/csignal_header_test.cpp \
|
||||
../../../test/unit/cstdarg_header_test.cpp \
|
||||
../../../test/unit/cstddef_header_test.cpp \
|
||||
../../../test/unit/cstdio_header_test.cpp \
|
||||
../../../test/unit/cstdlib_header_test.cpp \
|
||||
../../../test/unit/cstring_test.cpp \
|
||||
../../../test/unit/cstring_header_test.cpp \
|
||||
../../../test/unit/ctime_header_test.cpp \
|
||||
../../../test/unit/ctype_facets_test.cpp \
|
||||
../../../test/unit/cwchar_header_test.cpp \
|
||||
../../../test/unit/cwctype_header_test.cpp \
|
||||
../../../test/unit/deque_test.cpp \
|
||||
../../../test/unit/deque_header_test.cpp \
|
||||
../../../test/unit/divides_test.cpp \
|
||||
../../../test/unit/equal_test.cpp \
|
||||
../../../test/unit/exception_test.cpp \
|
||||
../../../test/unit/exception_header_test.cpp \
|
||||
../../../test/unit/epilog_test.cpp \
|
||||
../../../test/unit/fill_test.cpp \
|
||||
../../../test/unit/find_test.cpp \
|
||||
../../../test/unit/finsert_test.cpp \
|
||||
../../../test/unit/foreach_test.cpp \
|
||||
../../../test/unit/fstream_test.cpp \
|
||||
../../../test/unit/fstream_header_test.cpp \
|
||||
../../../test/unit/func_test.cpp \
|
||||
../../../test/unit/functional_header_test.cpp \
|
||||
../../../test/unit/generator_test.cpp \
|
||||
../../../test/unit/greater_test.cpp \
|
||||
../../../test/unit/hash_test.cpp \
|
||||
../../../test/unit/heap_test.cpp \
|
||||
../../../test/unit/includes_test.cpp \
|
||||
../../../test/unit/innerprod_test.cpp \
|
||||
../../../test/unit/inplace_test.cpp \
|
||||
../../../test/unit/insert_test.cpp \
|
||||
../../../test/unit/ioiter_test.cpp \
|
||||
../../../test/unit/iomanip_header_test.cpp \
|
||||
../../../test/unit/ios_header_test.cpp \
|
||||
../../../test/unit/iosfwd_header_test.cpp \
|
||||
../../../test/unit/iostream_header_test.cpp \
|
||||
../../../test/unit/iostream_test.cpp \
|
||||
../../../test/unit/iota_test.cpp \
|
||||
../../../test/unit/istmit_test.cpp \
|
||||
../../../test/unit/istream_header_test.cpp \
|
||||
../../../test/unit/iter_test.cpp \
|
||||
../../../test/unit/iterator_header_test.cpp \
|
||||
../../../test/unit/less_test.cpp \
|
||||
../../../test/unit/lexcmp_test.cpp \
|
||||
../../../test/unit/limits_test.cpp \
|
||||
../../../test/unit/limits_header_test.cpp \
|
||||
../../../test/unit/list_test.cpp \
|
||||
../../../test/unit/list_header_test.cpp \
|
||||
../../../test/unit/locale_test.cpp \
|
||||
../../../test/unit/locale_header_test.cpp \
|
||||
../../../test/unit/logic_test.cpp \
|
||||
../../../test/unit/macro_checks.cpp \
|
||||
../../../test/unit/map_test.cpp \
|
||||
../../../test/unit/map_header_test.cpp \
|
||||
../../../test/unit/max_test.cpp \
|
||||
../../../test/unit/memory_header_test.cpp \
|
||||
../../../test/unit/memory_test.cpp \
|
||||
../../../test/unit/merge_test.cpp \
|
||||
../../../test/unit/messages_facets_test.cpp \
|
||||
../../../test/unit/mfunptr_test.cpp \
|
||||
../../../test/unit/min_test.cpp \
|
||||
../../../test/unit/mismatch_test.cpp \
|
||||
../../../test/unit/modulus_test.cpp \
|
||||
../../../test/unit/money_facets_test.cpp \
|
||||
../../../test/unit/multiset_test.cpp \
|
||||
../../../test/unit/mvctor_test.cpp \
|
||||
../../../test/unit/mvctor_declaration_test.cpp \
|
||||
../../../test/unit/mvctor_traits_test.cpp \
|
||||
../../../test/unit/neq_test.cpp \
|
||||
../../../test/unit/new_header_test.cpp \
|
||||
../../../test/unit/nthelm_test.cpp \
|
||||
../../../test/unit/num_facets_test.cpp \
|
||||
../../../test/unit/num_put_get_test.cpp \
|
||||
../../../test/unit/numeric_header_test.cpp \
|
||||
../../../test/unit/ostmit_test.cpp \
|
||||
../../../test/unit/ostream_header_test.cpp \
|
||||
../../../test/unit/pair_test.cpp \
|
||||
../../../test/unit/partial_test.cpp \
|
||||
../../../test/unit/partition_test.cpp \
|
||||
../../../test/unit/perm_test.cpp \
|
||||
../../../test/unit/plusminus_test.cpp \
|
||||
../../../test/unit/ptr2_test.cpp \
|
||||
../../../test/unit/ptrspec_test.cpp \
|
||||
../../../test/unit/queue_test.cpp \
|
||||
../../../test/unit/queue_header_test.cpp \
|
||||
../../../test/unit/rawriter_test.cpp \
|
||||
../../../test/unit/reference_wrapper_test.cpp \
|
||||
../../../test/unit/resolve_name.cpp \
|
||||
../../../test/unit/reviter_test.cpp \
|
||||
../../../test/unit/rm_cp_test.cpp \
|
||||
../../../test/unit/rndshf_test.cpp \
|
||||
../../../test/unit/rope_test.cpp \
|
||||
../../../test/unit/rotate_test.cpp \
|
||||
../../../test/unit/search_test.cpp \
|
||||
../../../test/unit/set_test.cpp \
|
||||
../../../test/unit/set_header_test.cpp \
|
||||
../../../test/unit/setdiff_test.cpp \
|
||||
../../../test/unit/setinter_test.cpp \
|
||||
../../../test/unit/setunion_test.cpp \
|
||||
../../../test/unit/shared_ptr_test.cpp \
|
||||
../../../test/unit/slist_test.cpp \
|
||||
../../../test/unit/sort_test.cpp \
|
||||
../../../test/unit/sstream_test.cpp \
|
||||
../../../test/unit/sstream_header_test.cpp \
|
||||
../../../test/unit/stack_test.cpp \
|
||||
../../../test/unit/stack_header_test.cpp \
|
||||
../../../test/unit/stdexcept_header_test.cpp \
|
||||
../../../test/unit/stldbg_include.cpp \
|
||||
../../../test/unit/string_test.cpp \
|
||||
../../../test/unit/strstream_buffer_read_test.cpp \
|
||||
../../../test/unit/strstream_header_test.cpp \
|
||||
../../../test/unit/swap_test.cpp \
|
||||
../../../test/unit/times_test.cpp \
|
||||
../../../test/unit/transform_test.cpp \
|
||||
../../../test/unit/type_traits_test.cpp \
|
||||
../../../test/unit/typeinfo_header_test.cpp \
|
||||
../../../test/unit/unary_test.cpp \
|
||||
../../../test/unit/uninitialized_test.cpp \
|
||||
../../../test/unit/unique_test.cpp \
|
||||
../../../test/unit/unordered_test.cpp \
|
||||
../../../test/unit/utility_header_test.cpp \
|
||||
../../../test/unit/valarray_test.cpp \
|
||||
../../../test/unit/valarray_header_test.cpp \
|
||||
../../../test/unit/vector_test.cpp \
|
||||
../../../test/unit/vector_header_test.cpp \
|
||||
../../../test/unit/test_errno.cpp \
|
||||
../../../test/unit/time_facets_test.cpp
|
||||
|
||||
SRC_C = ../../../test/unit/assert_header_test.c \
|
||||
../../../test/unit/ctype_header_test.c \
|
||||
../../../test/unit/c_limits_header_test.c \
|
||||
../../../test/unit/c_locale_header_test.c \
|
||||
../../../test/unit/errno_header_test.c \
|
||||
../../../test/unit/float_header_test.c \
|
||||
../../../test/unit/iso646_header_test.c \
|
||||
../../../test/unit/math_header_test.c \
|
||||
../../../test/unit/setjmp_header_test.c \
|
||||
../../../test/unit/signal_header_test.c \
|
||||
../../../test/unit/stdarg_header_test.c \
|
||||
../../../test/unit/stddef_header_test.c \
|
||||
../../../test/unit/stdio_header_test.c \
|
||||
../../../test/unit/stdlib_header_test.c \
|
||||
../../../test/unit/string_header_test.c \
|
||||
../../../test/unit/time_header_test.c \
|
||||
../../../test/unit/wchar_header_test.c \
|
||||
../../../test/unit/wctype_header_test.c
|
||||
|
|
818
sdk/lib/3rdparty/stlport/build/test/unit/README
vendored
818
sdk/lib/3rdparty/stlport/build/test/unit/README
vendored
|
@ -1,409 +1,409 @@
|
|||
$Id$
|
||||
|
||||
===========================
|
||||
STLport testing unit README
|
||||
===========================
|
||||
|
||||
=======
|
||||
Purpose
|
||||
=======
|
||||
Provide independent STLport unit tests, with clearly defined pass/failed
|
||||
result for every single test without any user action (i.e. diff)
|
||||
and without any input request (i.e. files, cin input ...).
|
||||
|
||||
=====
|
||||
Build
|
||||
=====
|
||||
Use makefile(s):
|
||||
|
||||
make -f gcc.mak
|
||||
|
||||
======================
|
||||
Running the test suite
|
||||
======================
|
||||
commad-line syntax as follows:
|
||||
stl_unit_test [OPTIONS]
|
||||
where OPTIONS are
|
||||
-t=CLASS[::TEST] run the test class CLASS or member test CLASS::TEST
|
||||
-f=FILE save output in file FILE instead of stdout
|
||||
|
||||
examples:
|
||||
./stl_unit_test
|
||||
- runs all tests registered with this unit
|
||||
|
||||
./stl_unit_test -f=out.txt
|
||||
- runs all tests registered with this unit but print results into out.txt instead of stdout
|
||||
|
||||
./stl_unit_test -t=VectorTest
|
||||
- runs all tests registered in VectorTest class
|
||||
|
||||
./stl_unit_test -t=VectorTest::vec_test_1 -f=out.txt
|
||||
- runs only VectorTest::vec_test_1() test, print result into out.txt instead of stdout
|
||||
|
||||
==================
|
||||
CU mini background
|
||||
==================
|
||||
see:
|
||||
http://www.stlport.com/dcforum/DCForumID5/764.html
|
||||
|
||||
Note: cppunit mini sources are modified from original!
|
||||
|
||||
===============
|
||||
Adding new test
|
||||
===============
|
||||
You can add/create new tests easily just use _template.cpp as your new
|
||||
test class and do not forget to edit Makefile.inc
|
||||
|
||||
For guide to CppUnit like tests see http://cppunit.sourceforge.net/
|
||||
|
||||
==============================================
|
||||
Replacement of regression by unit tests:
|
||||
==============================================
|
||||
|
||||
regression unit
|
||||
-----------------------------------------
|
||||
accum1.cpp accum_test.cpp
|
||||
accum2.cpp
|
||||
|
||||
adjdiff0.cpp adj_test.cpp
|
||||
adjdiff1.cpp
|
||||
adjdiff2.cpp
|
||||
adjfind0.cpp
|
||||
adjfind1.cpp
|
||||
adjfind2.cpp
|
||||
|
||||
advance.cpp advance_test.cpp
|
||||
|
||||
alg1.cpp alg_test.cpp
|
||||
alg2.cpp
|
||||
alg3.cpp
|
||||
alg4.cpp
|
||||
alg5.cpp
|
||||
|
||||
bcompos1.cpp bcompos_test.cpp
|
||||
bcompos2.cpp
|
||||
|
||||
bind1st1.cpp bind_test.cpp
|
||||
bind1st2.cpp
|
||||
bind2nd1.cpp
|
||||
bind2nd2.cpp
|
||||
|
||||
binsert1.cpp binsert_test.cpp
|
||||
binsert2.cpp
|
||||
|
||||
binsrch1.cpp bsearch_test.cpp
|
||||
binsrch2.cpp
|
||||
|
||||
bnegate1.cpp bnegate_test.cpp
|
||||
bnegate2.cpp
|
||||
|
||||
bvec1.cpp bvector_test.cpp
|
||||
|
||||
bug.cpp -
|
||||
|
||||
copy1.cpp copy_test.cpp
|
||||
copy2.cpp
|
||||
copy3.cpp
|
||||
copy4.cpp
|
||||
copyb0.cpp
|
||||
copyb.cpp
|
||||
|
||||
count0.cpp count_test.cpp
|
||||
count1.cpp
|
||||
countif1.cpp
|
||||
|
||||
deque1.cpp deque_test.cpp
|
||||
|
||||
divides.cpp divides_test.cpp
|
||||
|
||||
eqlrnge0.cpp equal_test.cpp
|
||||
eqlrnge1.cpp
|
||||
eqlrnge2.cpp
|
||||
equal0.cpp
|
||||
equal1.cpp
|
||||
equal2.cpp
|
||||
equalto.cpp
|
||||
|
||||
fill1.cpp fill_test.cpp
|
||||
filln1.cpp
|
||||
|
||||
find0.cpp find_test.cpp
|
||||
find1.cpp
|
||||
findif0.cpp
|
||||
findif1.cpp
|
||||
|
||||
finsert1.cpp finsert_test.cpp
|
||||
finsert2.cpp
|
||||
|
||||
float_input.cpp floatio_test.cpp
|
||||
float_output.cpp
|
||||
|
||||
foreach0.cpp foreach_test.cpp
|
||||
foreach1.cpp
|
||||
|
||||
fstream1.cpp -
|
||||
|
||||
func1.cpp func_test.cpp
|
||||
func2.cpp
|
||||
func3.cpp
|
||||
|
||||
gener1.cpp generator_test.cpp
|
||||
gener2.cpp
|
||||
genern1.cpp
|
||||
genern2.cpp
|
||||
|
||||
greateq.cpp greater_test.cpp
|
||||
greater.cpp
|
||||
|
||||
hmap1.cpp hash_test.cpp
|
||||
hmmap1.cpp
|
||||
hmset1.cpp
|
||||
hset2.cpp
|
||||
|
||||
incl0.cpp includes_test.cpp
|
||||
incl1.cpp
|
||||
incl2.cpp
|
||||
|
||||
inplmrg1.cpp inplace_test.cpp
|
||||
inplmrg2.cpp
|
||||
|
||||
inrprod0.cpp innerprod_test.cpp
|
||||
inrprod1.cpp
|
||||
inrprod2.cpp
|
||||
|
||||
insert1.cpp insert_test.cpp
|
||||
insert2.cpp
|
||||
|
||||
ioiter.cpp ioiter_test.cpp
|
||||
|
||||
iota1.cpp iota_test.cpp
|
||||
|
||||
istmit1.cpp istmit_test.cpp
|
||||
|
||||
iter1.cpp iter_test.cpp
|
||||
iter2.cpp
|
||||
iter3.cpp
|
||||
iter4.cpp
|
||||
iterswp.cpp
|
||||
|
||||
less.cpp less_test.cpp
|
||||
lesseq.cpp
|
||||
|
||||
lexcmp1.cpp lexcmp_test.cpp
|
||||
lexcmp2.cpp
|
||||
|
||||
list1.cpp list_test.cpp
|
||||
list2.cpp
|
||||
list3.cpp
|
||||
list4.cpp
|
||||
|
||||
logicand.cpp logic_test.cpp
|
||||
logicnot.cpp
|
||||
logicor.cpp
|
||||
|
||||
lwrbnd1.cpp bound_test.cpp
|
||||
lwrbnd2.cpp
|
||||
uprbnd1.cpp
|
||||
uprbnd2.cpp
|
||||
|
||||
map1.cpp map_test.cpp
|
||||
mmap1.cpp
|
||||
mmap2.cpp
|
||||
|
||||
max1.cpp max_test.cpp
|
||||
max2.cpp
|
||||
maxelem1.cpp
|
||||
maxelem2.cpp
|
||||
|
||||
memfunptr.cpp mfunptr_test.cpp
|
||||
|
||||
merge0.cpp merge_test.cpp
|
||||
merge1.cpp
|
||||
merge2.cpp
|
||||
|
||||
min1.cpp min_test.cpp
|
||||
min2.cpp
|
||||
minelem1.cpp
|
||||
minelem2.cpp
|
||||
|
||||
minus.cpp plusminus.cpp
|
||||
|
||||
mismtch0.cpp mismatch_test.cpp
|
||||
mismtch1.cpp
|
||||
mismtch2.cpp
|
||||
|
||||
mkheap0.cpp heap_test.cpp
|
||||
mkheap1.cpp
|
||||
pheap0.cpp
|
||||
pheap1.cpp
|
||||
|
||||
modulus.cpp modulus_test.cpp
|
||||
|
||||
move_constructor.cpp mvctor_test.cpp
|
||||
|
||||
multiset.cpp multiset_test.cpp
|
||||
|
||||
negate.cpp neq_test.cpp
|
||||
nequal.cpp
|
||||
|
||||
nextprm0.cpp perm_test.cpp
|
||||
nextprm1.cpp
|
||||
nextprm2.cpp
|
||||
prevprm0.cpp
|
||||
prevprm1.cpp
|
||||
prevprm2.cpp
|
||||
|
||||
nthelem0.cpp nthelm_test.cpp
|
||||
nthelem1.cpp
|
||||
nthelem2.cpp
|
||||
|
||||
ostmit.cpp ostmit_test.cpp
|
||||
|
||||
pair0.cpp pair_test.cpp
|
||||
pair1.cpp
|
||||
pair2.cpp
|
||||
|
||||
parsrt0.cpp partial_test.cpp
|
||||
parsrt1.cpp
|
||||
parsrt2.cpp
|
||||
parsrtc0.cpp
|
||||
parsrtc1.cpp
|
||||
parsrtc2.cpp
|
||||
partsum0.cpp
|
||||
partsum1.cpp
|
||||
partsum2.cpp
|
||||
|
||||
pqueue1.cpp queue_test.cpp
|
||||
queue1.cpp
|
||||
|
||||
ptition0.cpp partition_test.cpp
|
||||
ptition1.cpp
|
||||
stblptn0.cpp
|
||||
stblptn1.cpp
|
||||
|
||||
ptrbinf1.cpp ptr2_test.cpp
|
||||
ptrbinf2.cpp
|
||||
ptrunf1.cpp
|
||||
ptrunf2.cpp
|
||||
|
||||
ptr_specialization.cpp ptrspec_test.cpp
|
||||
|
||||
quiet_signal_nan.cpp -
|
||||
|
||||
rawiter.cpp rawiter.cpp
|
||||
|
||||
remcopy1.cpp rm_cp_test.cpp
|
||||
remcpif1.cpp
|
||||
remif1.cpp
|
||||
remove1.cpp
|
||||
repcpif1.cpp
|
||||
replace0.cpp
|
||||
replace1.cpp
|
||||
replcpy1.cpp
|
||||
replif1.cpp
|
||||
revcopy1.cpp
|
||||
reverse1.cpp
|
||||
|
||||
reviter1.cpp reviter_test.cpp
|
||||
reviter2.cpp
|
||||
revbit1.cpp
|
||||
|
||||
rndshuf0.cpp rndshf_test.cpp
|
||||
rndshuf1.cpp
|
||||
rndshuf2.cpp
|
||||
|
||||
rotate0.cpp rotate_copy.cpp
|
||||
rotate1.cpp
|
||||
rotcopy0.cpp
|
||||
rotcopy1.cpp
|
||||
|
||||
search0.cpp search_test.cpp
|
||||
search1.cpp
|
||||
search2.cpp
|
||||
|
||||
seek.cpp -
|
||||
|
||||
set.cpp set_test.cpp
|
||||
|
||||
setdiff0.cpp setdiff_test.cpp
|
||||
setdiff1.cpp
|
||||
setdiff2.cpp
|
||||
setsymd0.cpp
|
||||
setsymd1.cpp
|
||||
setsymd2.cpp
|
||||
|
||||
setintr0.cpp setinter_test.cpp
|
||||
setintr1.cpp
|
||||
setintr2.cpp
|
||||
|
||||
setunon0.cpp setunion_test.cpp
|
||||
setunon1.cpp
|
||||
setunon2.cpp
|
||||
|
||||
single.cpp -
|
||||
|
||||
slist1.cpp slist_test.cpp
|
||||
|
||||
sort1.cpp sort_test.cpp
|
||||
sort2.cpp
|
||||
stblsrt1.cpp
|
||||
stblsrt2.cpp
|
||||
|
||||
sstream1.cpp -
|
||||
|
||||
stack1.cpp stack_test.cpp
|
||||
stack2.cpp
|
||||
|
||||
strass1.cpp -
|
||||
|
||||
string1.cpp string_test.cpp
|
||||
string_mt.cpp
|
||||
short_string.cpp
|
||||
|
||||
swap1.cpp swap_test.cpp
|
||||
swprnge1.cpp
|
||||
|
||||
times.cpp times_test.cpp
|
||||
|
||||
trnsfrm1.cpp transform_test.cpp
|
||||
trnsfrm2.cpp
|
||||
|
||||
tstdeq.cpp -
|
||||
|
||||
ucompos1.cpp unary_test.cpp
|
||||
ucompos2.cpp
|
||||
unegate1.cpp
|
||||
unegate2.cpp
|
||||
|
||||
uniqcpy1.cpp unique_test.cpp
|
||||
uniqcpy2.cpp
|
||||
unique1.cpp
|
||||
unique2.cpp
|
||||
|
||||
vec.cpp vector_test.cpp
|
||||
|
||||
======
|
||||
Status
|
||||
======
|
||||
So far all tests from regression directory were ported except following ones:
|
||||
|
||||
iter2.cpp (pointless - already tested in iter1.cpp,
|
||||
see iter_test.cpp)
|
||||
move_constructor.cpp (not fully tested see mvctor_test.cpp)
|
||||
mset1.cpp (moved in multiset.cpp)
|
||||
mset3.cpp (moved in multiset.cpp)
|
||||
mset4.cpp (moved in multiset.cpp)
|
||||
mset5.cpp (moved in multiset.cpp)
|
||||
pair1.cpp (pointless - already tested in pair0.cpp,
|
||||
see pair_test.cpp)
|
||||
pair2.cpp (pointless - already tested in pair0.cpp,
|
||||
see pair_test.cpp)
|
||||
partsrt0.cpp (identic w ith parsrt0.cpp - tested in
|
||||
pair_test.cpp )
|
||||
quiet_signal_nan.cpp
|
||||
revbit2.cpp (pointless - already tested in revbit1.cpp,
|
||||
see reviter_test.cpp )
|
||||
rndshuf1.cpp (pointless - already tested in rndshuf0.cpp,
|
||||
see rndshf_test.cpp )
|
||||
set1.cpp (moved in set.cpp)
|
||||
set2.cpp (moved in set.cpp)
|
||||
$Id$
|
||||
|
||||
===========================
|
||||
STLport testing unit README
|
||||
===========================
|
||||
|
||||
=======
|
||||
Purpose
|
||||
=======
|
||||
Provide independent STLport unit tests, with clearly defined pass/failed
|
||||
result for every single test without any user action (i.e. diff)
|
||||
and without any input request (i.e. files, cin input ...).
|
||||
|
||||
=====
|
||||
Build
|
||||
=====
|
||||
Use makefile(s):
|
||||
|
||||
make -f gcc.mak
|
||||
|
||||
======================
|
||||
Running the test suite
|
||||
======================
|
||||
commad-line syntax as follows:
|
||||
stl_unit_test [OPTIONS]
|
||||
where OPTIONS are
|
||||
-t=CLASS[::TEST] run the test class CLASS or member test CLASS::TEST
|
||||
-f=FILE save output in file FILE instead of stdout
|
||||
|
||||
examples:
|
||||
./stl_unit_test
|
||||
- runs all tests registered with this unit
|
||||
|
||||
./stl_unit_test -f=out.txt
|
||||
- runs all tests registered with this unit but print results into out.txt instead of stdout
|
||||
|
||||
./stl_unit_test -t=VectorTest
|
||||
- runs all tests registered in VectorTest class
|
||||
|
||||
./stl_unit_test -t=VectorTest::vec_test_1 -f=out.txt
|
||||
- runs only VectorTest::vec_test_1() test, print result into out.txt instead of stdout
|
||||
|
||||
==================
|
||||
CU mini background
|
||||
==================
|
||||
see:
|
||||
http://www.stlport.com/dcforum/DCForumID5/764.html
|
||||
|
||||
Note: cppunit mini sources are modified from original!
|
||||
|
||||
===============
|
||||
Adding new test
|
||||
===============
|
||||
You can add/create new tests easily just use _template.cpp as your new
|
||||
test class and do not forget to edit Makefile.inc
|
||||
|
||||
For guide to CppUnit like tests see http://cppunit.sourceforge.net/
|
||||
|
||||
==============================================
|
||||
Replacement of regression by unit tests:
|
||||
==============================================
|
||||
|
||||
regression unit
|
||||
-----------------------------------------
|
||||
accum1.cpp accum_test.cpp
|
||||
accum2.cpp
|
||||
|
||||
adjdiff0.cpp adj_test.cpp
|
||||
adjdiff1.cpp
|
||||
adjdiff2.cpp
|
||||
adjfind0.cpp
|
||||
adjfind1.cpp
|
||||
adjfind2.cpp
|
||||
|
||||
advance.cpp advance_test.cpp
|
||||
|
||||
alg1.cpp alg_test.cpp
|
||||
alg2.cpp
|
||||
alg3.cpp
|
||||
alg4.cpp
|
||||
alg5.cpp
|
||||
|
||||
bcompos1.cpp bcompos_test.cpp
|
||||
bcompos2.cpp
|
||||
|
||||
bind1st1.cpp bind_test.cpp
|
||||
bind1st2.cpp
|
||||
bind2nd1.cpp
|
||||
bind2nd2.cpp
|
||||
|
||||
binsert1.cpp binsert_test.cpp
|
||||
binsert2.cpp
|
||||
|
||||
binsrch1.cpp bsearch_test.cpp
|
||||
binsrch2.cpp
|
||||
|
||||
bnegate1.cpp bnegate_test.cpp
|
||||
bnegate2.cpp
|
||||
|
||||
bvec1.cpp bvector_test.cpp
|
||||
|
||||
bug.cpp -
|
||||
|
||||
copy1.cpp copy_test.cpp
|
||||
copy2.cpp
|
||||
copy3.cpp
|
||||
copy4.cpp
|
||||
copyb0.cpp
|
||||
copyb.cpp
|
||||
|
||||
count0.cpp count_test.cpp
|
||||
count1.cpp
|
||||
countif1.cpp
|
||||
|
||||
deque1.cpp deque_test.cpp
|
||||
|
||||
divides.cpp divides_test.cpp
|
||||
|
||||
eqlrnge0.cpp equal_test.cpp
|
||||
eqlrnge1.cpp
|
||||
eqlrnge2.cpp
|
||||
equal0.cpp
|
||||
equal1.cpp
|
||||
equal2.cpp
|
||||
equalto.cpp
|
||||
|
||||
fill1.cpp fill_test.cpp
|
||||
filln1.cpp
|
||||
|
||||
find0.cpp find_test.cpp
|
||||
find1.cpp
|
||||
findif0.cpp
|
||||
findif1.cpp
|
||||
|
||||
finsert1.cpp finsert_test.cpp
|
||||
finsert2.cpp
|
||||
|
||||
float_input.cpp floatio_test.cpp
|
||||
float_output.cpp
|
||||
|
||||
foreach0.cpp foreach_test.cpp
|
||||
foreach1.cpp
|
||||
|
||||
fstream1.cpp -
|
||||
|
||||
func1.cpp func_test.cpp
|
||||
func2.cpp
|
||||
func3.cpp
|
||||
|
||||
gener1.cpp generator_test.cpp
|
||||
gener2.cpp
|
||||
genern1.cpp
|
||||
genern2.cpp
|
||||
|
||||
greateq.cpp greater_test.cpp
|
||||
greater.cpp
|
||||
|
||||
hmap1.cpp hash_test.cpp
|
||||
hmmap1.cpp
|
||||
hmset1.cpp
|
||||
hset2.cpp
|
||||
|
||||
incl0.cpp includes_test.cpp
|
||||
incl1.cpp
|
||||
incl2.cpp
|
||||
|
||||
inplmrg1.cpp inplace_test.cpp
|
||||
inplmrg2.cpp
|
||||
|
||||
inrprod0.cpp innerprod_test.cpp
|
||||
inrprod1.cpp
|
||||
inrprod2.cpp
|
||||
|
||||
insert1.cpp insert_test.cpp
|
||||
insert2.cpp
|
||||
|
||||
ioiter.cpp ioiter_test.cpp
|
||||
|
||||
iota1.cpp iota_test.cpp
|
||||
|
||||
istmit1.cpp istmit_test.cpp
|
||||
|
||||
iter1.cpp iter_test.cpp
|
||||
iter2.cpp
|
||||
iter3.cpp
|
||||
iter4.cpp
|
||||
iterswp.cpp
|
||||
|
||||
less.cpp less_test.cpp
|
||||
lesseq.cpp
|
||||
|
||||
lexcmp1.cpp lexcmp_test.cpp
|
||||
lexcmp2.cpp
|
||||
|
||||
list1.cpp list_test.cpp
|
||||
list2.cpp
|
||||
list3.cpp
|
||||
list4.cpp
|
||||
|
||||
logicand.cpp logic_test.cpp
|
||||
logicnot.cpp
|
||||
logicor.cpp
|
||||
|
||||
lwrbnd1.cpp bound_test.cpp
|
||||
lwrbnd2.cpp
|
||||
uprbnd1.cpp
|
||||
uprbnd2.cpp
|
||||
|
||||
map1.cpp map_test.cpp
|
||||
mmap1.cpp
|
||||
mmap2.cpp
|
||||
|
||||
max1.cpp max_test.cpp
|
||||
max2.cpp
|
||||
maxelem1.cpp
|
||||
maxelem2.cpp
|
||||
|
||||
memfunptr.cpp mfunptr_test.cpp
|
||||
|
||||
merge0.cpp merge_test.cpp
|
||||
merge1.cpp
|
||||
merge2.cpp
|
||||
|
||||
min1.cpp min_test.cpp
|
||||
min2.cpp
|
||||
minelem1.cpp
|
||||
minelem2.cpp
|
||||
|
||||
minus.cpp plusminus.cpp
|
||||
|
||||
mismtch0.cpp mismatch_test.cpp
|
||||
mismtch1.cpp
|
||||
mismtch2.cpp
|
||||
|
||||
mkheap0.cpp heap_test.cpp
|
||||
mkheap1.cpp
|
||||
pheap0.cpp
|
||||
pheap1.cpp
|
||||
|
||||
modulus.cpp modulus_test.cpp
|
||||
|
||||
move_constructor.cpp mvctor_test.cpp
|
||||
|
||||
multiset.cpp multiset_test.cpp
|
||||
|
||||
negate.cpp neq_test.cpp
|
||||
nequal.cpp
|
||||
|
||||
nextprm0.cpp perm_test.cpp
|
||||
nextprm1.cpp
|
||||
nextprm2.cpp
|
||||
prevprm0.cpp
|
||||
prevprm1.cpp
|
||||
prevprm2.cpp
|
||||
|
||||
nthelem0.cpp nthelm_test.cpp
|
||||
nthelem1.cpp
|
||||
nthelem2.cpp
|
||||
|
||||
ostmit.cpp ostmit_test.cpp
|
||||
|
||||
pair0.cpp pair_test.cpp
|
||||
pair1.cpp
|
||||
pair2.cpp
|
||||
|
||||
parsrt0.cpp partial_test.cpp
|
||||
parsrt1.cpp
|
||||
parsrt2.cpp
|
||||
parsrtc0.cpp
|
||||
parsrtc1.cpp
|
||||
parsrtc2.cpp
|
||||
partsum0.cpp
|
||||
partsum1.cpp
|
||||
partsum2.cpp
|
||||
|
||||
pqueue1.cpp queue_test.cpp
|
||||
queue1.cpp
|
||||
|
||||
ptition0.cpp partition_test.cpp
|
||||
ptition1.cpp
|
||||
stblptn0.cpp
|
||||
stblptn1.cpp
|
||||
|
||||
ptrbinf1.cpp ptr2_test.cpp
|
||||
ptrbinf2.cpp
|
||||
ptrunf1.cpp
|
||||
ptrunf2.cpp
|
||||
|
||||
ptr_specialization.cpp ptrspec_test.cpp
|
||||
|
||||
quiet_signal_nan.cpp -
|
||||
|
||||
rawiter.cpp rawiter.cpp
|
||||
|
||||
remcopy1.cpp rm_cp_test.cpp
|
||||
remcpif1.cpp
|
||||
remif1.cpp
|
||||
remove1.cpp
|
||||
repcpif1.cpp
|
||||
replace0.cpp
|
||||
replace1.cpp
|
||||
replcpy1.cpp
|
||||
replif1.cpp
|
||||
revcopy1.cpp
|
||||
reverse1.cpp
|
||||
|
||||
reviter1.cpp reviter_test.cpp
|
||||
reviter2.cpp
|
||||
revbit1.cpp
|
||||
|
||||
rndshuf0.cpp rndshf_test.cpp
|
||||
rndshuf1.cpp
|
||||
rndshuf2.cpp
|
||||
|
||||
rotate0.cpp rotate_copy.cpp
|
||||
rotate1.cpp
|
||||
rotcopy0.cpp
|
||||
rotcopy1.cpp
|
||||
|
||||
search0.cpp search_test.cpp
|
||||
search1.cpp
|
||||
search2.cpp
|
||||
|
||||
seek.cpp -
|
||||
|
||||
set.cpp set_test.cpp
|
||||
|
||||
setdiff0.cpp setdiff_test.cpp
|
||||
setdiff1.cpp
|
||||
setdiff2.cpp
|
||||
setsymd0.cpp
|
||||
setsymd1.cpp
|
||||
setsymd2.cpp
|
||||
|
||||
setintr0.cpp setinter_test.cpp
|
||||
setintr1.cpp
|
||||
setintr2.cpp
|
||||
|
||||
setunon0.cpp setunion_test.cpp
|
||||
setunon1.cpp
|
||||
setunon2.cpp
|
||||
|
||||
single.cpp -
|
||||
|
||||
slist1.cpp slist_test.cpp
|
||||
|
||||
sort1.cpp sort_test.cpp
|
||||
sort2.cpp
|
||||
stblsrt1.cpp
|
||||
stblsrt2.cpp
|
||||
|
||||
sstream1.cpp -
|
||||
|
||||
stack1.cpp stack_test.cpp
|
||||
stack2.cpp
|
||||
|
||||
strass1.cpp -
|
||||
|
||||
string1.cpp string_test.cpp
|
||||
string_mt.cpp
|
||||
short_string.cpp
|
||||
|
||||
swap1.cpp swap_test.cpp
|
||||
swprnge1.cpp
|
||||
|
||||
times.cpp times_test.cpp
|
||||
|
||||
trnsfrm1.cpp transform_test.cpp
|
||||
trnsfrm2.cpp
|
||||
|
||||
tstdeq.cpp -
|
||||
|
||||
ucompos1.cpp unary_test.cpp
|
||||
ucompos2.cpp
|
||||
unegate1.cpp
|
||||
unegate2.cpp
|
||||
|
||||
uniqcpy1.cpp unique_test.cpp
|
||||
uniqcpy2.cpp
|
||||
unique1.cpp
|
||||
unique2.cpp
|
||||
|
||||
vec.cpp vector_test.cpp
|
||||
|
||||
======
|
||||
Status
|
||||
======
|
||||
So far all tests from regression directory were ported except following ones:
|
||||
|
||||
iter2.cpp (pointless - already tested in iter1.cpp,
|
||||
see iter_test.cpp)
|
||||
move_constructor.cpp (not fully tested see mvctor_test.cpp)
|
||||
mset1.cpp (moved in multiset.cpp)
|
||||
mset3.cpp (moved in multiset.cpp)
|
||||
mset4.cpp (moved in multiset.cpp)
|
||||
mset5.cpp (moved in multiset.cpp)
|
||||
pair1.cpp (pointless - already tested in pair0.cpp,
|
||||
see pair_test.cpp)
|
||||
pair2.cpp (pointless - already tested in pair0.cpp,
|
||||
see pair_test.cpp)
|
||||
partsrt0.cpp (identic w ith parsrt0.cpp - tested in
|
||||
pair_test.cpp )
|
||||
quiet_signal_nan.cpp
|
||||
revbit2.cpp (pointless - already tested in revbit1.cpp,
|
||||
see reviter_test.cpp )
|
||||
rndshuf1.cpp (pointless - already tested in rndshuf0.cpp,
|
||||
see rndshf_test.cpp )
|
||||
set1.cpp (moved in set.cpp)
|
||||
set2.cpp (moved in set.cpp)
|
||||
|
|
1712
sdk/lib/3rdparty/stlport/build/test/unit/STATUS
vendored
1712
sdk/lib/3rdparty/stlport/build/test/unit/STATUS
vendored
File diff suppressed because it is too large
Load diff
664
sdk/lib/3rdparty/stlport/configure
vendored
664
sdk/lib/3rdparty/stlport/configure
vendored
|
@ -1,333 +1,333 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Time-stamp: <08/06/07 15:22:19 yeti>
|
||||
|
||||
base=`cd \`dirname $0\`; echo $PWD`
|
||||
|
||||
configmak=$base/build/Makefiles/gmake/config.mak
|
||||
|
||||
write_option() {
|
||||
target=`echo $1 | sed -e 's/^[^=]*=//'`
|
||||
echo $2 := $3$target >> ${configmak}
|
||||
}
|
||||
|
||||
write_over_option() {
|
||||
target=`echo $1 | sed -e 's/^[^=]*=//'`
|
||||
echo $2 ?= $target >> ${configmak}
|
||||
}
|
||||
|
||||
print_help() {
|
||||
cat <<EOF
|
||||
Configuration utility.
|
||||
|
||||
Usage:
|
||||
|
||||
configure [options]
|
||||
|
||||
Available options:
|
||||
|
||||
--prefix=<dir> base install path (/usr/local/)
|
||||
--bindir=<dir> install path for executables (PREFIX/bin)
|
||||
--libdir=<dir> install path for libraries (PREFIX/lib)
|
||||
--includedir=<dir> install path for headers (PREFIX/include)
|
||||
|
||||
--target=<target> target platform (cross-compiling)
|
||||
|
||||
--help print this help message and exit
|
||||
|
||||
--with-stlport=<dir> use STLport in catalog <dir>
|
||||
--without-stlport compile without STLport
|
||||
--with-boost=<dir> use boost headers in catalog <dir>
|
||||
--with-system-boost use boost installed on this system
|
||||
--with-msvc=<dir> use MS VC from this catalog
|
||||
--with-mssdk=<dir> use MS SDK from this catalog
|
||||
--with-extra-cxxflags=<options>
|
||||
pass extra options to C++ compiler
|
||||
--with-extra-cflags=<options>
|
||||
pass extra options to C compiler
|
||||
--with-extra-ldflags=<options>
|
||||
pass extra options to linker (via C/C++)
|
||||
--use-static-gcc use static gcc libs instead of shared libgcc_s (useful for gcc compiler,
|
||||
that was builded with --enable-shared [default]; if compiler was builded
|
||||
with --disable-shared, static libraries will be used in any case)
|
||||
--clean remove custom settings (file ${configmak})
|
||||
and use default values
|
||||
--with-cxx=<name> use <name> as C++ compiler (use --target= for cross-compilation)
|
||||
--with-cc=<name> use <name> as C compiler (use --target= for cross-compilation)
|
||||
--use-compiler-family=<name> use compiler family; one of:
|
||||
gcc GNU compilers (default)
|
||||
icc Intel compilers
|
||||
aCC HP's aCC compilers
|
||||
CC SunPro's CC compilers
|
||||
bcc Borland's compilers
|
||||
--without-debug don't build debug variant
|
||||
--without-stldebug don't build STLport's STLP_DEBUG mode
|
||||
--enable-static build static
|
||||
--disable-shared don't build shared
|
||||
--with-lib-motif=<motif>
|
||||
Use this option to customize the generated library name.
|
||||
The motif will be used in the last place before version information,
|
||||
separated by an underscore, ex:
|
||||
stlportd_MOTIF.5.0.lib
|
||||
stlportstld_static_MOTIF.5.1.lib
|
||||
--without-thread Per default STLport libraries are built in order to be usable
|
||||
in a multithreaded context. If you don't need this you can ask
|
||||
for a not thread safe version with this option.
|
||||
--without-rtti Disable RTTI when building libraries.
|
||||
--with-static-rtl
|
||||
--with-dynamic-rtl
|
||||
Enables usage of static (libc.lib family) or dynamic (msvcrt.lib family)
|
||||
C/C++ runtime library when linking with STLport. If you want your appli/dll
|
||||
to link statically with STLport but using the dynamic C runtime use
|
||||
--with-dynamic-rtl; if you want to link dynamicaly with STLport but using the
|
||||
static C runtime use --with-static-rtl. See README.options for details.
|
||||
Don't forget to signal the link method when building your appli or dll, in
|
||||
stlport/stl/config/host.h set the following macro depending on the configure
|
||||
option:
|
||||
--with-static-rtl -> _STLP_USE_DYNAMIC_LIB"
|
||||
--with-dynamic-rtl -> _STLP_USE_STATIC_LIB"
|
||||
--windows-platform=<name>
|
||||
Targetted OS when building for Windows; one of:
|
||||
win95 Windows 95
|
||||
win98 Windows 98
|
||||
winxp Windows XP and later (default)
|
||||
|
||||
Environment variables:
|
||||
|
||||
\$CXX C++ compiler name (use --target= for cross-compilation)
|
||||
\$CC C compiler name (use --target= for cross-compilation)
|
||||
\$CXXFLAGS pass extra options to C++ compiler
|
||||
\$CFLAGS pass extra options to C compiler
|
||||
\$LDFLAGS pass extra options to linker (via C/C++)
|
||||
|
||||
Options has preference over environment variables.
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
default_settings () {
|
||||
# if [ "$boost_set" = "" ]; then
|
||||
# write_option "${PWD}/external/boost" BOOST_DIR
|
||||
# fi
|
||||
|
||||
# if [ -z "${stlport_set}" ]; then
|
||||
# write_over_option "$base" STLPORT_DIR
|
||||
# fi
|
||||
|
||||
# Set in Makefiles/gmake/top.mak
|
||||
if [ -z "${compiler_family_set}" ]; then
|
||||
# write_option gcc COMPILER_NAME
|
||||
echo include gcc.mak > ${base}/build/lib/Makefile
|
||||
echo include gcc.mak > ${base}/build/test/unit/Makefile
|
||||
echo include gcc.mak > ${base}/build/test/eh/Makefile
|
||||
fi
|
||||
|
||||
# Set in Makefiles/gmake/targetdirs.mak
|
||||
# if [ -z "${prefix_set}" ]; then
|
||||
# write_option "/usr/local" BASE_INSTALL_DIR '${DESTDIR}'
|
||||
# fi
|
||||
}
|
||||
|
||||
[ $# -eq 0 ] && { >${configmak}; default_settings; exit 0; }
|
||||
|
||||
for a in $@ ; do
|
||||
case $a in
|
||||
--help)
|
||||
print_help
|
||||
exit 0
|
||||
;;
|
||||
--clean)
|
||||
rm -f ${configmak}
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
>${configmak}
|
||||
|
||||
while :
|
||||
do
|
||||
case $# in
|
||||
0)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
option="$1"
|
||||
shift
|
||||
case $option in
|
||||
--target=*)
|
||||
write_option "$option" TARGET_OS
|
||||
target_set=y
|
||||
;;
|
||||
--with-stlport=*)
|
||||
write_option "$option" STLPORT_DIR
|
||||
stlport_set=y
|
||||
;;
|
||||
--without-stlport)
|
||||
write_option 1 WITHOUT_STLPORT
|
||||
stlport_set=y
|
||||
;;
|
||||
--with-boost=*)
|
||||
write_option "$option" BOOST_DIR
|
||||
;;
|
||||
--with-system-boost)
|
||||
write_option 1 USE_SYSTEM_BOOST
|
||||
;;
|
||||
--with-msvc=*)
|
||||
write_option "$option" MSVC_DIR
|
||||
;;
|
||||
--with-mssdk=*)
|
||||
write_option "$option" MSSDK_DIR
|
||||
;;
|
||||
--with-extra-cxxflags=*)
|
||||
write_option "$option" EXTRA_CXXFLAGS
|
||||
cxxflags_set=y
|
||||
;;
|
||||
--with-extra-cflags=*)
|
||||
write_option "$option" EXTRA_CFLAGS
|
||||
cflags_set=y
|
||||
;;
|
||||
--with-extra-ldflags=*)
|
||||
write_option "$option" EXTRA_LDFLAGS
|
||||
ldflags_set=y
|
||||
;;
|
||||
--with-lib-motif=*)
|
||||
echo "Using $option in generated library names"
|
||||
write_option "$option" LIB_MOTIF
|
||||
;;
|
||||
--without-thread)
|
||||
write_option 1 WITHOUT_THREAD
|
||||
;;
|
||||
--without-rtti)
|
||||
write_option 1 WITHOUT_RTTI
|
||||
;;
|
||||
--with-dynamic-rtl)
|
||||
write_option 1 WITH_DYNAMIC_RTL
|
||||
;;
|
||||
--with-static-rtl)
|
||||
write_option 1 WITH_STATIC_RTL
|
||||
;;
|
||||
--use-static-gcc)
|
||||
write_option 1 USE_STATIC_LIBGCC
|
||||
;;
|
||||
--without-debug)
|
||||
write_option 1 _NO_DBG_BUILD
|
||||
;;
|
||||
--without-stldebug)
|
||||
write_option 1 _NO_STLDBG_BUILD
|
||||
;;
|
||||
--enable-static)
|
||||
write_option 1 _STATIC_BUILD
|
||||
;;
|
||||
--disable-shared)
|
||||
write_option 1 _NO_SHARED_BUILD
|
||||
;;
|
||||
--with-cxx=*)
|
||||
write_option "$option" _FORCE_CXX
|
||||
cxx_set=y
|
||||
;;
|
||||
--with-cc=*)
|
||||
write_option "$option" _FORCE_CC
|
||||
cc_set=y
|
||||
;;
|
||||
--use-compiler-family=*)
|
||||
case `echo $option | sed -e 's/^[^=]*=//'` in
|
||||
gcc|icc|aCC|CC|bcc|dmc)
|
||||
target=`echo $option | sed -e 's/^[^=]*=//'`
|
||||
echo COMPILER_NAME := $target >> ${configmak}
|
||||
echo include $target.mak > ${base}/build/lib/Makefile
|
||||
echo include $target.mak > ${base}/build/test/unit/Makefile
|
||||
echo include $target.mak > ${base}/build/test/eh/Makefile
|
||||
;;
|
||||
*)
|
||||
echo "Not supported compilers family"
|
||||
exit -1
|
||||
;;
|
||||
esac
|
||||
compiler_family_set=y
|
||||
;;
|
||||
--prefix=*)
|
||||
write_option "$option" BASE_INSTALL_DIR '${DESTDIR}'
|
||||
prefix_set=y
|
||||
;;
|
||||
--bindir=*)
|
||||
write_option "$option" INSTALL_BIN_DIR '${DESTDIR}'
|
||||
;;
|
||||
--libdir=*)
|
||||
write_option "$option" INSTALL_LIB_DIR '${DESTDIR}'
|
||||
;;
|
||||
--includedir=*)
|
||||
write_option "$option" INSTALL_HDR_DIR '${DESTDIR}'
|
||||
;;
|
||||
--windows-platform=*)
|
||||
case `echo $option | sed -e 's/^[^=]*=//'` in
|
||||
win95)
|
||||
write_option 0x0400 WINVER
|
||||
;;
|
||||
win98)
|
||||
write_option 0x0410 WINVER
|
||||
;;
|
||||
winxp)
|
||||
write_option 0x0501 WINVER
|
||||
;;
|
||||
*)
|
||||
echo "Not supported windows platform"
|
||||
exit -1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo "Unknown configuration option '$option'"
|
||||
exit -1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -n "${CXX}" ]; then
|
||||
if [ -n "${cxx_set}" ]; then
|
||||
echo "Both --with-cxx and \$CXX set, using the first"
|
||||
elif [ -z "${target_set}" ]; then
|
||||
write_option "${CXX}" _FORCE_CXX
|
||||
else
|
||||
echo "For cross-compilation with gcc use --target option only"
|
||||
fi
|
||||
if [ -z "${CC}" -a -z "${cc_set}" ]; then
|
||||
echo "\$CXX set, but I don't see \$CC!"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "${CC}" ]; then
|
||||
if [ -n "${cxx_set}" ]; then
|
||||
echo "Both --with-cc and \$CC set, using the first"
|
||||
else
|
||||
write_option "${CC}" _FORCE_CC
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "${CXXFLAGS}" ]; then
|
||||
if [ -z "${cxxflags_set}" ]; then
|
||||
write_option "${CXXFLAGS}" EXTRA_CXXFLAGS
|
||||
else
|
||||
echo "Both --with-extra-cxxflags and \$CXXFLAGS set, using the first"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "${CFLAGS}" ]; then
|
||||
if [ -z "${cflags_set}" ]; then
|
||||
write_option "${CFLAGS}" EXTRA_CFLAGS
|
||||
else
|
||||
echo "Both --with-extra-cflags and \$CFLAGS set, using the first"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "${LDFLAGS}" ]; then
|
||||
if [ -z "${ldflags_set}" ]; then
|
||||
write_option "${LDFLAGS}" EXTRA_LDFLAGS
|
||||
else
|
||||
echo "Both --with-extra-ldflags and \$LDFLAGS set, using the first"
|
||||
fi
|
||||
fi
|
||||
|
||||
# default settings
|
||||
|
||||
#!/bin/sh
|
||||
|
||||
# Time-stamp: <08/06/07 15:22:19 yeti>
|
||||
|
||||
base=`cd \`dirname $0\`; echo $PWD`
|
||||
|
||||
configmak=$base/build/Makefiles/gmake/config.mak
|
||||
|
||||
write_option() {
|
||||
target=`echo $1 | sed -e 's/^[^=]*=//'`
|
||||
echo $2 := $3$target >> ${configmak}
|
||||
}
|
||||
|
||||
write_over_option() {
|
||||
target=`echo $1 | sed -e 's/^[^=]*=//'`
|
||||
echo $2 ?= $target >> ${configmak}
|
||||
}
|
||||
|
||||
print_help() {
|
||||
cat <<EOF
|
||||
Configuration utility.
|
||||
|
||||
Usage:
|
||||
|
||||
configure [options]
|
||||
|
||||
Available options:
|
||||
|
||||
--prefix=<dir> base install path (/usr/local/)
|
||||
--bindir=<dir> install path for executables (PREFIX/bin)
|
||||
--libdir=<dir> install path for libraries (PREFIX/lib)
|
||||
--includedir=<dir> install path for headers (PREFIX/include)
|
||||
|
||||
--target=<target> target platform (cross-compiling)
|
||||
|
||||
--help print this help message and exit
|
||||
|
||||
--with-stlport=<dir> use STLport in catalog <dir>
|
||||
--without-stlport compile without STLport
|
||||
--with-boost=<dir> use boost headers in catalog <dir>
|
||||
--with-system-boost use boost installed on this system
|
||||
--with-msvc=<dir> use MS VC from this catalog
|
||||
--with-mssdk=<dir> use MS SDK from this catalog
|
||||
--with-extra-cxxflags=<options>
|
||||
pass extra options to C++ compiler
|
||||
--with-extra-cflags=<options>
|
||||
pass extra options to C compiler
|
||||
--with-extra-ldflags=<options>
|
||||
pass extra options to linker (via C/C++)
|
||||
--use-static-gcc use static gcc libs instead of shared libgcc_s (useful for gcc compiler,
|
||||
that was builded with --enable-shared [default]; if compiler was builded
|
||||
with --disable-shared, static libraries will be used in any case)
|
||||
--clean remove custom settings (file ${configmak})
|
||||
and use default values
|
||||
--with-cxx=<name> use <name> as C++ compiler (use --target= for cross-compilation)
|
||||
--with-cc=<name> use <name> as C compiler (use --target= for cross-compilation)
|
||||
--use-compiler-family=<name> use compiler family; one of:
|
||||
gcc GNU compilers (default)
|
||||
icc Intel compilers
|
||||
aCC HP's aCC compilers
|
||||
CC SunPro's CC compilers
|
||||
bcc Borland's compilers
|
||||
--without-debug don't build debug variant
|
||||
--without-stldebug don't build STLport's STLP_DEBUG mode
|
||||
--enable-static build static
|
||||
--disable-shared don't build shared
|
||||
--with-lib-motif=<motif>
|
||||
Use this option to customize the generated library name.
|
||||
The motif will be used in the last place before version information,
|
||||
separated by an underscore, ex:
|
||||
stlportd_MOTIF.5.0.lib
|
||||
stlportstld_static_MOTIF.5.1.lib
|
||||
--without-thread Per default STLport libraries are built in order to be usable
|
||||
in a multithreaded context. If you don't need this you can ask
|
||||
for a not thread safe version with this option.
|
||||
--without-rtti Disable RTTI when building libraries.
|
||||
--with-static-rtl
|
||||
--with-dynamic-rtl
|
||||
Enables usage of static (libc.lib family) or dynamic (msvcrt.lib family)
|
||||
C/C++ runtime library when linking with STLport. If you want your appli/dll
|
||||
to link statically with STLport but using the dynamic C runtime use
|
||||
--with-dynamic-rtl; if you want to link dynamicaly with STLport but using the
|
||||
static C runtime use --with-static-rtl. See README.options for details.
|
||||
Don't forget to signal the link method when building your appli or dll, in
|
||||
stlport/stl/config/host.h set the following macro depending on the configure
|
||||
option:
|
||||
--with-static-rtl -> _STLP_USE_DYNAMIC_LIB"
|
||||
--with-dynamic-rtl -> _STLP_USE_STATIC_LIB"
|
||||
--windows-platform=<name>
|
||||
Targetted OS when building for Windows; one of:
|
||||
win95 Windows 95
|
||||
win98 Windows 98
|
||||
winxp Windows XP and later (default)
|
||||
|
||||
Environment variables:
|
||||
|
||||
\$CXX C++ compiler name (use --target= for cross-compilation)
|
||||
\$CC C compiler name (use --target= for cross-compilation)
|
||||
\$CXXFLAGS pass extra options to C++ compiler
|
||||
\$CFLAGS pass extra options to C compiler
|
||||
\$LDFLAGS pass extra options to linker (via C/C++)
|
||||
|
||||
Options has preference over environment variables.
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
default_settings () {
|
||||
# if [ "$boost_set" = "" ]; then
|
||||
# write_option "${PWD}/external/boost" BOOST_DIR
|
||||
# fi
|
||||
|
||||
# if [ -z "${stlport_set}" ]; then
|
||||
# write_over_option "$base" STLPORT_DIR
|
||||
# fi
|
||||
|
||||
# Set in Makefiles/gmake/top.mak
|
||||
if [ -z "${compiler_family_set}" ]; then
|
||||
# write_option gcc COMPILER_NAME
|
||||
echo include gcc.mak > ${base}/build/lib/Makefile
|
||||
echo include gcc.mak > ${base}/build/test/unit/Makefile
|
||||
echo include gcc.mak > ${base}/build/test/eh/Makefile
|
||||
fi
|
||||
|
||||
# Set in Makefiles/gmake/targetdirs.mak
|
||||
# if [ -z "${prefix_set}" ]; then
|
||||
# write_option "/usr/local" BASE_INSTALL_DIR '${DESTDIR}'
|
||||
# fi
|
||||
}
|
||||
|
||||
[ $# -eq 0 ] && { >${configmak}; default_settings; exit 0; }
|
||||
|
||||
for a in $@ ; do
|
||||
case $a in
|
||||
--help)
|
||||
print_help
|
||||
exit 0
|
||||
;;
|
||||
--clean)
|
||||
rm -f ${configmak}
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
>${configmak}
|
||||
|
||||
while :
|
||||
do
|
||||
case $# in
|
||||
0)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
option="$1"
|
||||
shift
|
||||
case $option in
|
||||
--target=*)
|
||||
write_option "$option" TARGET_OS
|
||||
target_set=y
|
||||
;;
|
||||
--with-stlport=*)
|
||||
write_option "$option" STLPORT_DIR
|
||||
stlport_set=y
|
||||
;;
|
||||
--without-stlport)
|
||||
write_option 1 WITHOUT_STLPORT
|
||||
stlport_set=y
|
||||
;;
|
||||
--with-boost=*)
|
||||
write_option "$option" BOOST_DIR
|
||||
;;
|
||||
--with-system-boost)
|
||||
write_option 1 USE_SYSTEM_BOOST
|
||||
;;
|
||||
--with-msvc=*)
|
||||
write_option "$option" MSVC_DIR
|
||||
;;
|
||||
--with-mssdk=*)
|
||||
write_option "$option" MSSDK_DIR
|
||||
;;
|
||||
--with-extra-cxxflags=*)
|
||||
write_option "$option" EXTRA_CXXFLAGS
|
||||
cxxflags_set=y
|
||||
;;
|
||||
--with-extra-cflags=*)
|
||||
write_option "$option" EXTRA_CFLAGS
|
||||
cflags_set=y
|
||||
;;
|
||||
--with-extra-ldflags=*)
|
||||
write_option "$option" EXTRA_LDFLAGS
|
||||
ldflags_set=y
|
||||
;;
|
||||
--with-lib-motif=*)
|
||||
echo "Using $option in generated library names"
|
||||
write_option "$option" LIB_MOTIF
|
||||
;;
|
||||
--without-thread)
|
||||
write_option 1 WITHOUT_THREAD
|
||||
;;
|
||||
--without-rtti)
|
||||
write_option 1 WITHOUT_RTTI
|
||||
;;
|
||||
--with-dynamic-rtl)
|
||||
write_option 1 WITH_DYNAMIC_RTL
|
||||
;;
|
||||
--with-static-rtl)
|
||||
write_option 1 WITH_STATIC_RTL
|
||||
;;
|
||||
--use-static-gcc)
|
||||
write_option 1 USE_STATIC_LIBGCC
|
||||
;;
|
||||
--without-debug)
|
||||
write_option 1 _NO_DBG_BUILD
|
||||
;;
|
||||
--without-stldebug)
|
||||
write_option 1 _NO_STLDBG_BUILD
|
||||
;;
|
||||
--enable-static)
|
||||
write_option 1 _STATIC_BUILD
|
||||
;;
|
||||
--disable-shared)
|
||||
write_option 1 _NO_SHARED_BUILD
|
||||
;;
|
||||
--with-cxx=*)
|
||||
write_option "$option" _FORCE_CXX
|
||||
cxx_set=y
|
||||
;;
|
||||
--with-cc=*)
|
||||
write_option "$option" _FORCE_CC
|
||||
cc_set=y
|
||||
;;
|
||||
--use-compiler-family=*)
|
||||
case `echo $option | sed -e 's/^[^=]*=//'` in
|
||||
gcc|icc|aCC|CC|bcc|dmc)
|
||||
target=`echo $option | sed -e 's/^[^=]*=//'`
|
||||
echo COMPILER_NAME := $target >> ${configmak}
|
||||
echo include $target.mak > ${base}/build/lib/Makefile
|
||||
echo include $target.mak > ${base}/build/test/unit/Makefile
|
||||
echo include $target.mak > ${base}/build/test/eh/Makefile
|
||||
;;
|
||||
*)
|
||||
echo "Not supported compilers family"
|
||||
exit -1
|
||||
;;
|
||||
esac
|
||||
compiler_family_set=y
|
||||
;;
|
||||
--prefix=*)
|
||||
write_option "$option" BASE_INSTALL_DIR '${DESTDIR}'
|
||||
prefix_set=y
|
||||
;;
|
||||
--bindir=*)
|
||||
write_option "$option" INSTALL_BIN_DIR '${DESTDIR}'
|
||||
;;
|
||||
--libdir=*)
|
||||
write_option "$option" INSTALL_LIB_DIR '${DESTDIR}'
|
||||
;;
|
||||
--includedir=*)
|
||||
write_option "$option" INSTALL_HDR_DIR '${DESTDIR}'
|
||||
;;
|
||||
--windows-platform=*)
|
||||
case `echo $option | sed -e 's/^[^=]*=//'` in
|
||||
win95)
|
||||
write_option 0x0400 WINVER
|
||||
;;
|
||||
win98)
|
||||
write_option 0x0410 WINVER
|
||||
;;
|
||||
winxp)
|
||||
write_option 0x0501 WINVER
|
||||
;;
|
||||
*)
|
||||
echo "Not supported windows platform"
|
||||
exit -1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo "Unknown configuration option '$option'"
|
||||
exit -1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -n "${CXX}" ]; then
|
||||
if [ -n "${cxx_set}" ]; then
|
||||
echo "Both --with-cxx and \$CXX set, using the first"
|
||||
elif [ -z "${target_set}" ]; then
|
||||
write_option "${CXX}" _FORCE_CXX
|
||||
else
|
||||
echo "For cross-compilation with gcc use --target option only"
|
||||
fi
|
||||
if [ -z "${CC}" -a -z "${cc_set}" ]; then
|
||||
echo "\$CXX set, but I don't see \$CC!"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "${CC}" ]; then
|
||||
if [ -n "${cxx_set}" ]; then
|
||||
echo "Both --with-cc and \$CC set, using the first"
|
||||
else
|
||||
write_option "${CC}" _FORCE_CC
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "${CXXFLAGS}" ]; then
|
||||
if [ -z "${cxxflags_set}" ]; then
|
||||
write_option "${CXXFLAGS}" EXTRA_CXXFLAGS
|
||||
else
|
||||
echo "Both --with-extra-cxxflags and \$CXXFLAGS set, using the first"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "${CFLAGS}" ]; then
|
||||
if [ -z "${cflags_set}" ]; then
|
||||
write_option "${CFLAGS}" EXTRA_CFLAGS
|
||||
else
|
||||
echo "Both --with-extra-cflags and \$CFLAGS set, using the first"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -n "${LDFLAGS}" ]; then
|
||||
if [ -z "${ldflags_set}" ]; then
|
||||
write_option "${LDFLAGS}" EXTRA_LDFLAGS
|
||||
else
|
||||
echo "Both --with-extra-ldflags and \$LDFLAGS set, using the first"
|
||||
fi
|
||||
fi
|
||||
|
||||
# default settings
|
||||
|
||||
default_settings
|
1108
sdk/lib/3rdparty/stlport/doc/FAQ
vendored
1108
sdk/lib/3rdparty/stlport/doc/FAQ
vendored
File diff suppressed because it is too large
Load diff
308
sdk/lib/3rdparty/stlport/doc/README.borland
vendored
308
sdk/lib/3rdparty/stlport/doc/README.borland
vendored
|
@ -1,154 +1,154 @@
|
|||
|
||||
==================================================
|
||||
STLport README for Borland C++ compilers.
|
||||
==================================================
|
||||
|
||||
by: Francois Dumont, dums@stlport.com, last edited 20 May 2006
|
||||
|
||||
============
|
||||
Introduction
|
||||
============
|
||||
This document describes how STLport can be compiled and used with
|
||||
Borland compilers.
|
||||
|
||||
For any further comments or questions visit STLport mailing lists
|
||||
http://stlport.sourceforge.net/Maillists.shtml or forums
|
||||
https://sourceforge.net/forum/?group_id=146814
|
||||
|
||||
=============
|
||||
Prerequisites
|
||||
=============
|
||||
To build and use STLport you will need following tools and libraries:
|
||||
- Borland C++ compiler package 5.5.1 or higher version.
|
||||
|
||||
In order to build STLport the Borland compiler and linker have to
|
||||
be correctly configurated too. That is to say:
|
||||
|
||||
* For the Borland compiler bcc32:
|
||||
|
||||
In Borland's 'bin' directory (same directory as bcc32.exe), create a
|
||||
bcc32.cfg file containing the compiler option giving it the path to
|
||||
native Borland headers:
|
||||
|
||||
-I%BORLAND_PATH%\BCC55\include
|
||||
|
||||
* For the resource compiler brcc32:
|
||||
|
||||
Create an environment variable INCLUDE containing path to native Borland
|
||||
headers and especially the windows.h file
|
||||
|
||||
set INCLUDE=%BORLAND_PATH%\BCC55\include
|
||||
|
||||
* For the Borland linker ilink32:
|
||||
|
||||
You need to give path to both the Borland libs and Borland PSDK libs.
|
||||
For that you have to create, in the same directory as ilink32.exe, a
|
||||
configuration file, ilink32.cfg, that contains:
|
||||
|
||||
-L%BORLAND_PATH%\BCC55\lib;%BORLAND_PATH%\BCC55\lib\PSDK
|
||||
|
||||
- A GNU make tool. You can get one from www.mingw.org or www.cygwin.com.
|
||||
See README.mingw or README.cygwin for additional informations.
|
||||
|
||||
===================
|
||||
Configuring STLport
|
||||
===================
|
||||
This is intended to be an optional step, if you want to use default
|
||||
configuration simply jump to next chapter 'Building STLport'. Open a console
|
||||
and go to the STLport build/lib folder. Run
|
||||
|
||||
configure --help
|
||||
|
||||
This command will present you the different available build options. Just follow
|
||||
the instructions to set STLport configuration according your needs. For example,
|
||||
to set the typical configuration for most Borland compilers, run
|
||||
|
||||
configure -c bcc
|
||||
|
||||
================
|
||||
Building STLport
|
||||
================
|
||||
This is a step by step description of the actions to take in order to build
|
||||
and install the STLport libraries:
|
||||
|
||||
1. Open a console, you can use a Msys, Cygwin or Windows console.
|
||||
|
||||
2. Go to the STLport build/lib folder:
|
||||
cd C:\STLport\build\lib
|
||||
|
||||
3. Run the following command:
|
||||
make -fbcc.mak install
|
||||
|
||||
Where 'make' is the GNU make utility you have installed. The name of
|
||||
GNU make utility may differ, such as 'mingw32-make'. -f is a make option
|
||||
telling it which makefile to use. You have of course to choose the
|
||||
appropriate makefile for your compiler, 'bcc.mak' in our case.
|
||||
|
||||
Once the command returns you will have all the necessary import libraries
|
||||
in STLport's 'lib' folder and DLLs in STLport's 'bin' folder. For a
|
||||
description of the generated libraries check the FAQ file in the 'doc' folder.
|
||||
For a quick start guide to the STLport make system, see the README file in the
|
||||
'build/lib' folder.
|
||||
|
||||
===============
|
||||
Testing STLport
|
||||
===============
|
||||
You can use the unit tests to verify STLport behaves correctly. Change into
|
||||
STLport's 'build/test/unit' folder and type:
|
||||
|
||||
make -fbcc.mak install
|
||||
|
||||
This will build and install the unit tests with STLport dynamic libraries.
|
||||
Once the unit tests are built you just need to run them. They can be found
|
||||
in STLport's bin, bin-g or bin-stlg folders. To rebuild the unit tests
|
||||
with STLport static libraries, type:
|
||||
|
||||
make -fbcc.mak clean
|
||||
make -fbcc.mak install-static
|
||||
|
||||
=============
|
||||
Using STLport
|
||||
=============
|
||||
Adjust your include and link paths in Borland IDE or in the command line config
|
||||
files. In the include files add the path to STLport's 'stlport' folder. Make sure
|
||||
it is the first directory listed there. Add STLport's 'lib' folder for the library
|
||||
files (order of paths doesn't matter here).
|
||||
|
||||
Now you should be ready to use STLport.
|
||||
|
||||
============
|
||||
Known limitations
|
||||
============
|
||||
|
||||
1. If you extend a locale facet based on a Standard facet definition you will
|
||||
have to grant your own facet id defition. Ex extracted from
|
||||
test/unit/fstream_test.cpp:
|
||||
|
||||
#include <locale>
|
||||
|
||||
using namespace std;
|
||||
|
||||
struct my_state {
|
||||
char dummy;
|
||||
};
|
||||
|
||||
struct my_traits : public char_traits<char> {
|
||||
typedef my_state state_type;
|
||||
typedef fpos<state_type> pos_type;
|
||||
};
|
||||
|
||||
class my_codecvt : public codecvt<char, char, my_state>
|
||||
{};
|
||||
|
||||
// Mandatory locale facet id definition:
|
||||
template <>
|
||||
locale::id codecvt<char, char, my_state>::id;
|
||||
|
||||
2. If you get a linker memory error, e.g. LME351, it probably means that full
|
||||
source debugging is enabled and Borland's .TDS file has exceeded the memory
|
||||
capacity of Borland's linker (ilink32.exe). To resolve this error, check
|
||||
Borland's website for the latest patch for ilink32.exe. In the alternative,
|
||||
disable full source debugging in build\Makefiles\gmake\bcc.mak by deleting
|
||||
the -v option in the OPT settings.
|
||||
|
||||
3. For "'uname' is not recognized . . .", see "Configuring STLport" above.
|
||||
|
||||
==================================================
|
||||
STLport README for Borland C++ compilers.
|
||||
==================================================
|
||||
|
||||
by: Francois Dumont, dums@stlport.com, last edited 20 May 2006
|
||||
|
||||
============
|
||||
Introduction
|
||||
============
|
||||
This document describes how STLport can be compiled and used with
|
||||
Borland compilers.
|
||||
|
||||
For any further comments or questions visit STLport mailing lists
|
||||
http://stlport.sourceforge.net/Maillists.shtml or forums
|
||||
https://sourceforge.net/forum/?group_id=146814
|
||||
|
||||
=============
|
||||
Prerequisites
|
||||
=============
|
||||
To build and use STLport you will need following tools and libraries:
|
||||
- Borland C++ compiler package 5.5.1 or higher version.
|
||||
|
||||
In order to build STLport the Borland compiler and linker have to
|
||||
be correctly configurated too. That is to say:
|
||||
|
||||
* For the Borland compiler bcc32:
|
||||
|
||||
In Borland's 'bin' directory (same directory as bcc32.exe), create a
|
||||
bcc32.cfg file containing the compiler option giving it the path to
|
||||
native Borland headers:
|
||||
|
||||
-I%BORLAND_PATH%\BCC55\include
|
||||
|
||||
* For the resource compiler brcc32:
|
||||
|
||||
Create an environment variable INCLUDE containing path to native Borland
|
||||
headers and especially the windows.h file
|
||||
|
||||
set INCLUDE=%BORLAND_PATH%\BCC55\include
|
||||
|
||||
* For the Borland linker ilink32:
|
||||
|
||||
You need to give path to both the Borland libs and Borland PSDK libs.
|
||||
For that you have to create, in the same directory as ilink32.exe, a
|
||||
configuration file, ilink32.cfg, that contains:
|
||||
|
||||
-L%BORLAND_PATH%\BCC55\lib;%BORLAND_PATH%\BCC55\lib\PSDK
|
||||
|
||||
- A GNU make tool. You can get one from www.mingw.org or www.cygwin.com.
|
||||
See README.mingw or README.cygwin for additional informations.
|
||||
|
||||
===================
|
||||
Configuring STLport
|
||||
===================
|
||||
This is intended to be an optional step, if you want to use default
|
||||
configuration simply jump to next chapter 'Building STLport'. Open a console
|
||||
and go to the STLport build/lib folder. Run
|
||||
|
||||
configure --help
|
||||
|
||||
This command will present you the different available build options. Just follow
|
||||
the instructions to set STLport configuration according your needs. For example,
|
||||
to set the typical configuration for most Borland compilers, run
|
||||
|
||||
configure -c bcc
|
||||
|
||||
================
|
||||
Building STLport
|
||||
================
|
||||
This is a step by step description of the actions to take in order to build
|
||||
and install the STLport libraries:
|
||||
|
||||
1. Open a console, you can use a Msys, Cygwin or Windows console.
|
||||
|
||||
2. Go to the STLport build/lib folder:
|
||||
cd C:\STLport\build\lib
|
||||
|
||||
3. Run the following command:
|
||||
make -fbcc.mak install
|
||||
|
||||
Where 'make' is the GNU make utility you have installed. The name of
|
||||
GNU make utility may differ, such as 'mingw32-make'. -f is a make option
|
||||
telling it which makefile to use. You have of course to choose the
|
||||
appropriate makefile for your compiler, 'bcc.mak' in our case.
|
||||
|
||||
Once the command returns you will have all the necessary import libraries
|
||||
in STLport's 'lib' folder and DLLs in STLport's 'bin' folder. For a
|
||||
description of the generated libraries check the FAQ file in the 'doc' folder.
|
||||
For a quick start guide to the STLport make system, see the README file in the
|
||||
'build/lib' folder.
|
||||
|
||||
===============
|
||||
Testing STLport
|
||||
===============
|
||||
You can use the unit tests to verify STLport behaves correctly. Change into
|
||||
STLport's 'build/test/unit' folder and type:
|
||||
|
||||
make -fbcc.mak install
|
||||
|
||||
This will build and install the unit tests with STLport dynamic libraries.
|
||||
Once the unit tests are built you just need to run them. They can be found
|
||||
in STLport's bin, bin-g or bin-stlg folders. To rebuild the unit tests
|
||||
with STLport static libraries, type:
|
||||
|
||||
make -fbcc.mak clean
|
||||
make -fbcc.mak install-static
|
||||
|
||||
=============
|
||||
Using STLport
|
||||
=============
|
||||
Adjust your include and link paths in Borland IDE or in the command line config
|
||||
files. In the include files add the path to STLport's 'stlport' folder. Make sure
|
||||
it is the first directory listed there. Add STLport's 'lib' folder for the library
|
||||
files (order of paths doesn't matter here).
|
||||
|
||||
Now you should be ready to use STLport.
|
||||
|
||||
============
|
||||
Known limitations
|
||||
============
|
||||
|
||||
1. If you extend a locale facet based on a Standard facet definition you will
|
||||
have to grant your own facet id defition. Ex extracted from
|
||||
test/unit/fstream_test.cpp:
|
||||
|
||||
#include <locale>
|
||||
|
||||
using namespace std;
|
||||
|
||||
struct my_state {
|
||||
char dummy;
|
||||
};
|
||||
|
||||
struct my_traits : public char_traits<char> {
|
||||
typedef my_state state_type;
|
||||
typedef fpos<state_type> pos_type;
|
||||
};
|
||||
|
||||
class my_codecvt : public codecvt<char, char, my_state>
|
||||
{};
|
||||
|
||||
// Mandatory locale facet id definition:
|
||||
template <>
|
||||
locale::id codecvt<char, char, my_state>::id;
|
||||
|
||||
2. If you get a linker memory error, e.g. LME351, it probably means that full
|
||||
source debugging is enabled and Borland's .TDS file has exceeded the memory
|
||||
capacity of Borland's linker (ilink32.exe). To resolve this error, check
|
||||
Borland's website for the latest patch for ilink32.exe. In the alternative,
|
||||
disable full source debugging in build\Makefiles\gmake\bcc.mak by deleting
|
||||
the -v option in the OPT settings.
|
||||
|
||||
3. For "'uname' is not recognized . . .", see "Configuring STLport" above.
|
||||
|
|
86
sdk/lib/3rdparty/stlport/doc/README.cygwin
vendored
86
sdk/lib/3rdparty/stlport/doc/README.cygwin
vendored
|
@ -1,43 +1,43 @@
|
|||
The cygwin platform is used to build STLport with different compilers.
|
||||
|
||||
- gcc (native compiler):
|
||||
|
||||
Makefile : gcc.mak
|
||||
|
||||
Notes:
|
||||
|
||||
1. Static builds (archive)
|
||||
|
||||
If you use the static version of the STLport libraries you have
|
||||
to define the _STLP_USE_STATIC_LIB macro in order to have your
|
||||
executable linked correctly.
|
||||
|
||||
2. Link
|
||||
|
||||
Under this platform STLport is complete replacement for libstdc++.
|
||||
It means that when you were linking with libstdc++ (-lstdc++) you only
|
||||
have to replace it with STLport (-lstlport.5.2 for instance). However
|
||||
default gcc behavior is to automatically link libstdc++ and a number of
|
||||
other system libs. To avoid this behavior you have to use the -nodefaultlibs
|
||||
compiler option and explicitely give all libraries by yourself. See build of
|
||||
unit tests to see what library you might need, here is the list when this
|
||||
note was written:
|
||||
|
||||
without -mnocygwin option:
|
||||
|
||||
-lstlportg.5.2 -lgcc -lm -lc -lpthread -lkernel32
|
||||
|
||||
with -mno-cygwin option:
|
||||
|
||||
-lstlportg.5.2 -lgcc -lmingw32 -lmingwex -lmsvcrt -lm -lmoldname
|
||||
-lcoldname -lkernel32
|
||||
|
||||
3. No cygwin
|
||||
|
||||
To build STLport libraries that do not depend on cygwin1.dll
|
||||
making them freely redistributable pass the following option to
|
||||
the configure script:
|
||||
|
||||
./configure --with-extra-cflags=-mno-cygwin --with-extra-cxxflags=-mno-cygwin
|
||||
|
||||
- Borland C++ compiler
|
||||
The cygwin platform is used to build STLport with different compilers.
|
||||
|
||||
- gcc (native compiler):
|
||||
|
||||
Makefile : gcc.mak
|
||||
|
||||
Notes:
|
||||
|
||||
1. Static builds (archive)
|
||||
|
||||
If you use the static version of the STLport libraries you have
|
||||
to define the _STLP_USE_STATIC_LIB macro in order to have your
|
||||
executable linked correctly.
|
||||
|
||||
2. Link
|
||||
|
||||
Under this platform STLport is complete replacement for libstdc++.
|
||||
It means that when you were linking with libstdc++ (-lstdc++) you only
|
||||
have to replace it with STLport (-lstlport.5.2 for instance). However
|
||||
default gcc behavior is to automatically link libstdc++ and a number of
|
||||
other system libs. To avoid this behavior you have to use the -nodefaultlibs
|
||||
compiler option and explicitely give all libraries by yourself. See build of
|
||||
unit tests to see what library you might need, here is the list when this
|
||||
note was written:
|
||||
|
||||
without -mnocygwin option:
|
||||
|
||||
-lstlportg.5.2 -lgcc -lm -lc -lpthread -lkernel32
|
||||
|
||||
with -mno-cygwin option:
|
||||
|
||||
-lstlportg.5.2 -lgcc -lmingw32 -lmingwex -lmsvcrt -lm -lmoldname
|
||||
-lcoldname -lkernel32
|
||||
|
||||
3. No cygwin
|
||||
|
||||
To build STLport libraries that do not depend on cygwin1.dll
|
||||
making them freely redistributable pass the following option to
|
||||
the configure script:
|
||||
|
||||
./configure --with-extra-cflags=-mno-cygwin --with-extra-cxxflags=-mno-cygwin
|
||||
|
||||
- Borland C++ compiler
|
||||
|
|
162
sdk/lib/3rdparty/stlport/doc/README.dmc
vendored
162
sdk/lib/3rdparty/stlport/doc/README.dmc
vendored
|
@ -1,81 +1,81 @@
|
|||
==================================================
|
||||
STLport README for Digital Mars C++ compilers.
|
||||
==================================================
|
||||
|
||||
Build of STLport with Digital Mars C++ compiler is very similar
|
||||
to the one for Microsoft Visual Studio compiler (see README.msvc).
|
||||
|
||||
Below are some additional hints. [DMC users are encouraged to
|
||||
contribute additional information.]
|
||||
|
||||
=============
|
||||
Prerequisites
|
||||
=============
|
||||
|
||||
- Digital Mars C++ 8.49 or above
|
||||
|
||||
- A GNU environment with make tool. Prefer MinGW/MSys to Cygwin because the
|
||||
latter contains a link command that is also the name of the Digital Mars linker
|
||||
and you might experiment collision between both commands.
|
||||
See README.mingw for additional information.
|
||||
|
||||
===================
|
||||
Installing STLport
|
||||
===================
|
||||
|
||||
- STLport directory can be almost anywhere EXCEPT native dm\include directory.
|
||||
|
||||
===================
|
||||
Configuring STLport
|
||||
===================
|
||||
|
||||
- In a console window go to the STLport build\lib folder. Run
|
||||
|
||||
configure -c dmc
|
||||
|
||||
================
|
||||
Building STLport
|
||||
================
|
||||
|
||||
- To build STLport libraries:
|
||||
|
||||
cd [STLport dir]\build\lib
|
||||
[mingw32-make] -f dmc.mak install
|
||||
|
||||
- To build STLport (dynamic) unit tests:
|
||||
|
||||
cd [STLport dir]\build\test\unit
|
||||
[mingw32-make] -f dmc.mak install
|
||||
|
||||
============
|
||||
Known issues
|
||||
============
|
||||
|
||||
1. typeinfo.h
|
||||
|
||||
DMC forces inclusion of typeinfo.h header at the begining of any
|
||||
translation unit. This breaks the STLport include schema, especially
|
||||
when building the library. As a workaround STLport typeinfo.h simply
|
||||
include native DMC header not performing any internal STLport work as
|
||||
importing things to STLport namespace. As a result typeinfo.h should
|
||||
never be reference in user code, as it is neither a C nor a C++ header
|
||||
this is not considered as a major limitation. The C++ Standard header
|
||||
is typeinfo.
|
||||
|
||||
2. link.exe and lib.exe
|
||||
|
||||
STLport makefiles for DMC use dm_link and dm_lib instead of link and lib to
|
||||
avoid conflicts with other vendors' linkers and archivers. To build STLport
|
||||
with DMC, please copy or rename the following files:
|
||||
|
||||
copy dm\bin\link.exe dm\bin\dm_link.exe
|
||||
copy dm\bin\lib.exe dm\bin\dm_lib.exe
|
||||
|
||||
3. Free online version.
|
||||
|
||||
If DMC's free online version reports compiler or linker errors, the
|
||||
solution may be in a free online CD update. Download and unzip all free
|
||||
CD patches for versions 8.30 and above, in consecutive order, overwriting
|
||||
previous files. Then install free online version 8.49 or above, overwriting
|
||||
previous files.
|
||||
|
||||
==================================================
|
||||
STLport README for Digital Mars C++ compilers.
|
||||
==================================================
|
||||
|
||||
Build of STLport with Digital Mars C++ compiler is very similar
|
||||
to the one for Microsoft Visual Studio compiler (see README.msvc).
|
||||
|
||||
Below are some additional hints. [DMC users are encouraged to
|
||||
contribute additional information.]
|
||||
|
||||
=============
|
||||
Prerequisites
|
||||
=============
|
||||
|
||||
- Digital Mars C++ 8.49 or above
|
||||
|
||||
- A GNU environment with make tool. Prefer MinGW/MSys to Cygwin because the
|
||||
latter contains a link command that is also the name of the Digital Mars linker
|
||||
and you might experiment collision between both commands.
|
||||
See README.mingw for additional information.
|
||||
|
||||
===================
|
||||
Installing STLport
|
||||
===================
|
||||
|
||||
- STLport directory can be almost anywhere EXCEPT native dm\include directory.
|
||||
|
||||
===================
|
||||
Configuring STLport
|
||||
===================
|
||||
|
||||
- In a console window go to the STLport build\lib folder. Run
|
||||
|
||||
configure -c dmc
|
||||
|
||||
================
|
||||
Building STLport
|
||||
================
|
||||
|
||||
- To build STLport libraries:
|
||||
|
||||
cd [STLport dir]\build\lib
|
||||
[mingw32-make] -f dmc.mak install
|
||||
|
||||
- To build STLport (dynamic) unit tests:
|
||||
|
||||
cd [STLport dir]\build\test\unit
|
||||
[mingw32-make] -f dmc.mak install
|
||||
|
||||
============
|
||||
Known issues
|
||||
============
|
||||
|
||||
1. typeinfo.h
|
||||
|
||||
DMC forces inclusion of typeinfo.h header at the begining of any
|
||||
translation unit. This breaks the STLport include schema, especially
|
||||
when building the library. As a workaround STLport typeinfo.h simply
|
||||
include native DMC header not performing any internal STLport work as
|
||||
importing things to STLport namespace. As a result typeinfo.h should
|
||||
never be reference in user code, as it is neither a C nor a C++ header
|
||||
this is not considered as a major limitation. The C++ Standard header
|
||||
is typeinfo.
|
||||
|
||||
2. link.exe and lib.exe
|
||||
|
||||
STLport makefiles for DMC use dm_link and dm_lib instead of link and lib to
|
||||
avoid conflicts with other vendors' linkers and archivers. To build STLport
|
||||
with DMC, please copy or rename the following files:
|
||||
|
||||
copy dm\bin\link.exe dm\bin\dm_link.exe
|
||||
copy dm\bin\lib.exe dm\bin\dm_lib.exe
|
||||
|
||||
3. Free online version.
|
||||
|
||||
If DMC's free online version reports compiler or linker errors, the
|
||||
solution may be in a free online CD update. Download and unzip all free
|
||||
CD patches for versions 8.30 and above, in consecutive order, overwriting
|
||||
previous files. Then install free online version 8.49 or above, overwriting
|
||||
previous files.
|
||||
|
||||
|
|
314
sdk/lib/3rdparty/stlport/doc/README.evc3
vendored
314
sdk/lib/3rdparty/stlport/doc/README.evc3
vendored
|
@ -1,157 +1,157 @@
|
|||
|
||||
========================================
|
||||
STLport README for eMbedded Visual C++ 3
|
||||
========================================
|
||||
|
||||
by: Michael Fink, vividos@users.sourceforge.net, last edited 2005-11-15
|
||||
|
||||
============
|
||||
Introduction
|
||||
============
|
||||
This document describes how STLport can be compiled and used with Microsoft
|
||||
eMbedded Visual C++ 3.
|
||||
|
||||
For any further comments or questsion visit STLport mailing lists
|
||||
http://stlport.sourceforge.net/Maillists.shtml or forums
|
||||
https://sourceforge.net/forum/?group_id=146814
|
||||
|
||||
|
||||
=============
|
||||
Prerequisites
|
||||
=============
|
||||
To build and use STLport you will need following tools and libraries:
|
||||
- eMbedded Visual C++ 3.0
|
||||
- latest CVS version of STLport, use info from page
|
||||
'http://stlport.sourceforge.net/CVS.shtml' to get it.
|
||||
Note that you may have to get a different branch, please check out the
|
||||
STLport forum "Announcements" which sourcecode is being worked on.
|
||||
|
||||
================
|
||||
Building STLport
|
||||
================
|
||||
Note: if you don't plan to use the iostreams part of STLport (via the define
|
||||
_STLP_NO_IOSTREAMS), you don't have to build the library. You can skip straight
|
||||
to the "Using STLport" section.
|
||||
|
||||
If you want to compile for the Pocket PC 2002 SDK (which in most cases you want)
|
||||
be sure to set the PLATFORM environment variable to "Pocket PC 2002", e.g. with
|
||||
this command:
|
||||
|
||||
set PLATFORM=Pocket PC 2002
|
||||
|
||||
Open a command line prompt and execute the batch file that sets up compiling
|
||||
for ARM or x86 processors. These files usually are in a folder like
|
||||
'C:\Program Files\Windows CE eMbedded Tools\EVC\WCE300\BIN\' and are called
|
||||
WCEARM.bat and WCEx86.bat. Check if the environment variables are set up
|
||||
properly after that call. You can also adjust the batch files to have the
|
||||
PLATFORM variable set automatically.
|
||||
|
||||
Go into STLport's 'build\lib' folder and type:
|
||||
|
||||
configure.bat -c evc3
|
||||
|
||||
The makefiles are configured with the given settings. Call configure.bat with
|
||||
the --help option to see all options. The program automatically tells you which
|
||||
command line to use. If you want to install the libraries, add the "install"
|
||||
target as follows:
|
||||
|
||||
nmake /fmsvc.mak install
|
||||
|
||||
All libraries (debug, stldebug, release) are now built, static and shared
|
||||
ones. Import libraries (.lib files) are put in the 'lib\evc3-arm' folder, DLLs
|
||||
are put in the 'bin\evc3-arm' folder. If you use another target platform, the
|
||||
name of the folder is changed accordingly, e.g. evc3-x86 for emulator files.
|
||||
|
||||
Once STLport is built you can decrease the size of the STLport folder by
|
||||
removing intermediate build files. This is done with the following command:
|
||||
|
||||
nmake /fmsvc.mak clobber
|
||||
|
||||
Note: MIPS platform is also available for build, but it may not compile or work
|
||||
properly. Use with caution!
|
||||
|
||||
===============
|
||||
Testing STLport
|
||||
===============
|
||||
You can use the unit tests to verify STLport behaves correctly. Change into
|
||||
STLports 'build\test\unit' folder and type:
|
||||
|
||||
nmake /fmsvc.mak install
|
||||
|
||||
If you want to build the unit tests for the emulator, you have to reconfigure
|
||||
STLport with the configure.bat, as described above.
|
||||
|
||||
Once the unit tests are built, upload the binary (found in the 'bin\evc3-arm'
|
||||
folder) to your device or emulator and start it (the test runs for about 30
|
||||
seconds, depending on the speed of the device). The file 'stlp_test.txt' is
|
||||
created in the root folder of the device, which contains the unit test
|
||||
results. It should report no errors.
|
||||
|
||||
=============
|
||||
Using STLport
|
||||
=============
|
||||
Adjust your include and link paths in eVC3 in 'Tools -> Options -> Directories'
|
||||
and add the paths for all platforms and CPUs on which you want to use STLport.
|
||||
In the include files add the path to STLport's 'stlport' folder. Make sure it
|
||||
is the first directory listed there. Add STLport's 'lib\evc3-arm' or
|
||||
'lib\evc3-x86' (depending on what target you use) folder for the library files
|
||||
(order of paths doesn't matter here).
|
||||
|
||||
There are some preprocessor defines that control usage of the STLport in evc3
|
||||
projects:
|
||||
|
||||
Define the symbol _STLP_USE_STATIC_LIB when you want to statically link against
|
||||
STLport. The linker will remove unused classes and methods then, saving some
|
||||
space in the executable.
|
||||
|
||||
If you don't want to use the iostreams part of the library, you can specify the
|
||||
define _STLP_NO_IOSTREAMS. In this mode there is no need to link against the
|
||||
library.
|
||||
|
||||
STLport uses automatic linking to find the proper .lib file. If you want to see
|
||||
what import library STLport is going to use, define _STLP_VERBOSE_AUTO_LINK.
|
||||
When not using automatic linking (by specifying _STLP_DONT_USE_AUTO_LINK), you
|
||||
have to specify the proper .lib file in the Project Settings, on the "link" tab.
|
||||
The .lib names have the following syntax:
|
||||
|
||||
stlport(d|stld)[_static].<STLport-Version>.lib
|
||||
|
||||
Examples:
|
||||
|
||||
stlport_static.5.0.lib - static release version, Version 5.0.0
|
||||
stlportd_50.lib - dll debug version, Version 5.0.0
|
||||
|
||||
Note that usage of the _STLP_DEBUG mode is currently not recommended for
|
||||
eMbedded Visual C++ builds using the ARM compiler, due to a compiler bug.
|
||||
|
||||
When using STLport together with MFC, be sure to include the MFC headers first,
|
||||
then include STLport headers, e.g. in your Stdafx.h. This way STLport correctly
|
||||
recognizes MFC usage. You also can define the macro _STLP_USE_MFC, either in
|
||||
your project settings or in stlport/stl/config/user_config.h.
|
||||
|
||||
Now you should be ready to use STLport.
|
||||
|
||||
============
|
||||
Known issues
|
||||
============
|
||||
- Unit Tests in _STLP_DEBUG mode (target 'stldbg-shared') fails in
|
||||
__stl_debug_engine::_M_detach() for several tests due to unknown reasons.
|
||||
A compiler bug in the ARM compiler is suspected.
|
||||
There is currently no workaround for this bug. It is recommended to not use
|
||||
_STLP_DEBUG mode.
|
||||
|
||||
- Resource compiler issue:
|
||||
|
||||
The resource compiler is not a C++ compiler, it is a compiler that translates
|
||||
resource files, i.e. files that describe dialogs, strings, version information
|
||||
and other parts of the GUI on MS Windows systems.
|
||||
|
||||
The problem is that it includes files from the C/C++ include path, and
|
||||
STLport uses mechanisms the resource compiler can't handle, e.g. using macro
|
||||
names longer than 31 characters.
|
||||
|
||||
The workaround is to guard all affected headers (stdio.h, string.h, stdarg.h,
|
||||
stdlib.h, ctype.h) against this. The resource compiler is detected by the
|
||||
macro RC_INVOKED.
|
||||
|
||||
- See also README.evc4 issues.
|
||||
|
||||
========================================
|
||||
STLport README for eMbedded Visual C++ 3
|
||||
========================================
|
||||
|
||||
by: Michael Fink, vividos@users.sourceforge.net, last edited 2005-11-15
|
||||
|
||||
============
|
||||
Introduction
|
||||
============
|
||||
This document describes how STLport can be compiled and used with Microsoft
|
||||
eMbedded Visual C++ 3.
|
||||
|
||||
For any further comments or questsion visit STLport mailing lists
|
||||
http://stlport.sourceforge.net/Maillists.shtml or forums
|
||||
https://sourceforge.net/forum/?group_id=146814
|
||||
|
||||
|
||||
=============
|
||||
Prerequisites
|
||||
=============
|
||||
To build and use STLport you will need following tools and libraries:
|
||||
- eMbedded Visual C++ 3.0
|
||||
- latest CVS version of STLport, use info from page
|
||||
'http://stlport.sourceforge.net/CVS.shtml' to get it.
|
||||
Note that you may have to get a different branch, please check out the
|
||||
STLport forum "Announcements" which sourcecode is being worked on.
|
||||
|
||||
================
|
||||
Building STLport
|
||||
================
|
||||
Note: if you don't plan to use the iostreams part of STLport (via the define
|
||||
_STLP_NO_IOSTREAMS), you don't have to build the library. You can skip straight
|
||||
to the "Using STLport" section.
|
||||
|
||||
If you want to compile for the Pocket PC 2002 SDK (which in most cases you want)
|
||||
be sure to set the PLATFORM environment variable to "Pocket PC 2002", e.g. with
|
||||
this command:
|
||||
|
||||
set PLATFORM=Pocket PC 2002
|
||||
|
||||
Open a command line prompt and execute the batch file that sets up compiling
|
||||
for ARM or x86 processors. These files usually are in a folder like
|
||||
'C:\Program Files\Windows CE eMbedded Tools\EVC\WCE300\BIN\' and are called
|
||||
WCEARM.bat and WCEx86.bat. Check if the environment variables are set up
|
||||
properly after that call. You can also adjust the batch files to have the
|
||||
PLATFORM variable set automatically.
|
||||
|
||||
Go into STLport's 'build\lib' folder and type:
|
||||
|
||||
configure.bat -c evc3
|
||||
|
||||
The makefiles are configured with the given settings. Call configure.bat with
|
||||
the --help option to see all options. The program automatically tells you which
|
||||
command line to use. If you want to install the libraries, add the "install"
|
||||
target as follows:
|
||||
|
||||
nmake /fmsvc.mak install
|
||||
|
||||
All libraries (debug, stldebug, release) are now built, static and shared
|
||||
ones. Import libraries (.lib files) are put in the 'lib\evc3-arm' folder, DLLs
|
||||
are put in the 'bin\evc3-arm' folder. If you use another target platform, the
|
||||
name of the folder is changed accordingly, e.g. evc3-x86 for emulator files.
|
||||
|
||||
Once STLport is built you can decrease the size of the STLport folder by
|
||||
removing intermediate build files. This is done with the following command:
|
||||
|
||||
nmake /fmsvc.mak clobber
|
||||
|
||||
Note: MIPS platform is also available for build, but it may not compile or work
|
||||
properly. Use with caution!
|
||||
|
||||
===============
|
||||
Testing STLport
|
||||
===============
|
||||
You can use the unit tests to verify STLport behaves correctly. Change into
|
||||
STLports 'build\test\unit' folder and type:
|
||||
|
||||
nmake /fmsvc.mak install
|
||||
|
||||
If you want to build the unit tests for the emulator, you have to reconfigure
|
||||
STLport with the configure.bat, as described above.
|
||||
|
||||
Once the unit tests are built, upload the binary (found in the 'bin\evc3-arm'
|
||||
folder) to your device or emulator and start it (the test runs for about 30
|
||||
seconds, depending on the speed of the device). The file 'stlp_test.txt' is
|
||||
created in the root folder of the device, which contains the unit test
|
||||
results. It should report no errors.
|
||||
|
||||
=============
|
||||
Using STLport
|
||||
=============
|
||||
Adjust your include and link paths in eVC3 in 'Tools -> Options -> Directories'
|
||||
and add the paths for all platforms and CPUs on which you want to use STLport.
|
||||
In the include files add the path to STLport's 'stlport' folder. Make sure it
|
||||
is the first directory listed there. Add STLport's 'lib\evc3-arm' or
|
||||
'lib\evc3-x86' (depending on what target you use) folder for the library files
|
||||
(order of paths doesn't matter here).
|
||||
|
||||
There are some preprocessor defines that control usage of the STLport in evc3
|
||||
projects:
|
||||
|
||||
Define the symbol _STLP_USE_STATIC_LIB when you want to statically link against
|
||||
STLport. The linker will remove unused classes and methods then, saving some
|
||||
space in the executable.
|
||||
|
||||
If you don't want to use the iostreams part of the library, you can specify the
|
||||
define _STLP_NO_IOSTREAMS. In this mode there is no need to link against the
|
||||
library.
|
||||
|
||||
STLport uses automatic linking to find the proper .lib file. If you want to see
|
||||
what import library STLport is going to use, define _STLP_VERBOSE_AUTO_LINK.
|
||||
When not using automatic linking (by specifying _STLP_DONT_USE_AUTO_LINK), you
|
||||
have to specify the proper .lib file in the Project Settings, on the "link" tab.
|
||||
The .lib names have the following syntax:
|
||||
|
||||
stlport(d|stld)[_static].<STLport-Version>.lib
|
||||
|
||||
Examples:
|
||||
|
||||
stlport_static.5.0.lib - static release version, Version 5.0.0
|
||||
stlportd_50.lib - dll debug version, Version 5.0.0
|
||||
|
||||
Note that usage of the _STLP_DEBUG mode is currently not recommended for
|
||||
eMbedded Visual C++ builds using the ARM compiler, due to a compiler bug.
|
||||
|
||||
When using STLport together with MFC, be sure to include the MFC headers first,
|
||||
then include STLport headers, e.g. in your Stdafx.h. This way STLport correctly
|
||||
recognizes MFC usage. You also can define the macro _STLP_USE_MFC, either in
|
||||
your project settings or in stlport/stl/config/user_config.h.
|
||||
|
||||
Now you should be ready to use STLport.
|
||||
|
||||
============
|
||||
Known issues
|
||||
============
|
||||
- Unit Tests in _STLP_DEBUG mode (target 'stldbg-shared') fails in
|
||||
__stl_debug_engine::_M_detach() for several tests due to unknown reasons.
|
||||
A compiler bug in the ARM compiler is suspected.
|
||||
There is currently no workaround for this bug. It is recommended to not use
|
||||
_STLP_DEBUG mode.
|
||||
|
||||
- Resource compiler issue:
|
||||
|
||||
The resource compiler is not a C++ compiler, it is a compiler that translates
|
||||
resource files, i.e. files that describe dialogs, strings, version information
|
||||
and other parts of the GUI on MS Windows systems.
|
||||
|
||||
The problem is that it includes files from the C/C++ include path, and
|
||||
STLport uses mechanisms the resource compiler can't handle, e.g. using macro
|
||||
names longer than 31 characters.
|
||||
|
||||
The workaround is to guard all affected headers (stdio.h, string.h, stdarg.h,
|
||||
stdlib.h, ctype.h) against this. The resource compiler is detected by the
|
||||
macro RC_INVOKED.
|
||||
|
||||
- See also README.evc4 issues.
|
||||
|
|
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>
|
||||
|
||||
|
|
196
sdk/lib/3rdparty/stlport/doc/README.evc8
vendored
196
sdk/lib/3rdparty/stlport/doc/README.evc8
vendored
|
@ -1,98 +1,98 @@
|
|||
setup VC8 for CE:
|
||||
------------------
|
||||
|
||||
- VC8 doesn't have any setup batchfiles that prepare the environment for compiling
|
||||
with CE. You can take those from eVC4 and adapt them or write your own. This snippet
|
||||
should get you going:
|
||||
|
||||
rem you need to adapt at least these three
|
||||
set OSVERSION=WCE500
|
||||
set PLATFORM=MY_OWN_PLATFORM
|
||||
set TARGETCPU=MIPSII
|
||||
|
||||
rem the compiler is always cl.exe, different compilers are in different paths
|
||||
set CC=cl.exe
|
||||
rem obviously, these need to be adjusted to where you installed VS2005 and the SDKs
|
||||
set VSINSTALLDIR=C:\Programme\Microsoft Visual Studio 8
|
||||
set SDKROOT=C:\Programme\Windows CE Tools
|
||||
|
||||
set PATH=%VSINSTALLDIR%\VC\ce\bin\x86_mips;%VSINSTALLDIR%\VC\bin;%VSINSTALLDIR%\Common7\IDE;%PATH%
|
||||
set PLATFORMROOT=%SDKROOT%\%OSVERSION%\%PLATFORM%
|
||||
|
||||
rem add libs and includes from the SDK
|
||||
set INCLUDE=%PLATFORMROOT%\include\%TARGETCPU%;%PLATFORMROOT%\MFC\include;%PLATFORMROOT%\ATL\include
|
||||
set LIB=%PLATFORMROOT%\lib\%TARGETCPU%;%PLATFORMROOT%\MFC\lib\%TARGETCPU%;%PLATFORMROOT%\ATL\lib\%TARGETCPU%
|
||||
|
||||
rem add libs that came with VC8
|
||||
rem Note: there are more libs and includes under ce\atlmfc, not sure if these are needed.
|
||||
set LIB=%LIB%;%VSINSTALLDIR%\VC\ce\lib\%TARGETCPU%
|
||||
|
||||
|
||||
- The snippet below can be used to build STLport for Pocket PC 2003 (using the
|
||||
Pocket PC 2003 SDK shipped with Visual Studio 2005, this is the SDK used when
|
||||
compiling programs from within the IDE):
|
||||
|
||||
set OSVERSION=WCE420
|
||||
set PLATFORM=POCKET PC 2003
|
||||
set TARGETCPU=ARMV4
|
||||
|
||||
rem the compiler is always cl.exe, different compilers are in different paths
|
||||
set CC=cl.exe
|
||||
|
||||
rem obviously, these need to be adjusted to where you installed VS2005
|
||||
set VSINSTALLDIR=C:\Program Files\Microsoft Visual Studio 8
|
||||
set SDKROOT=%VSINSTALLDIR%\SmartDevices\SDK
|
||||
|
||||
set PATH=%VSINSTALLDIR%\VC\ce\bin\x86_arm;%VSINSTALLDIR%\VC\bin;%VSINSTALLDIR%\Common7\IDE;%PATH%
|
||||
set PLATFORMROOT=%SDKROOT%\PocketPC2003
|
||||
|
||||
rem add libs and includes from the SDK
|
||||
set INCLUDE=%PLATFORMROOT%\include
|
||||
set LIB=%PLATFORMROOT%\lib\%TARGETCPU%
|
||||
|
||||
rem add libs that came with VC8
|
||||
set INCLUDE=%INCLUDE%;%VSINSTALLDIR%\VC\ce\atlmfc\include
|
||||
set LIB=%LIB%;%VSINSTALLDIR%\VC\ce\lib\%TARGETCPU%;%VSINSTALLDIR%\VC\ce\atlmfc\lib\%TARGETCPU%
|
||||
|
||||
|
||||
You should now be able to run cl.exe for the target you expected.
|
||||
|
||||
- The cross compilers of VC8 are the same version as for the native target, i.e. MSC14.
|
||||
|
||||
- The cross compiler for MIPS has the same bug as mentioned in doc/README.evc4 and
|
||||
the same workaround applies. However, using 'whole program optimization', it results
|
||||
in an error in the link phase.
|
||||
|
||||
- In order for STLport to recognize which target you are compiling for, you need to have
|
||||
some macros defined, e.g. for the target architecture. The compilers do that partially on
|
||||
their own, but not sufficiently. Therefore, STLport requires these defines:
|
||||
|
||||
-- These are generally set for CE:
|
||||
_UNICODE;UNICODE;_WIN32;WIN32;UNDER_CE;WINCE;
|
||||
-- This one uses an environment variable to set the CE version:
|
||||
_WIN32_WCE=$(CEVER);
|
||||
-- These are used to help STLport recognise the target architecture:
|
||||
$(ARCHFAM);$(_ARCHFAM_);$(INSTRUCTIONSET)
|
||||
Note that the instructionset is not strictly needed for x86 but definitely for ARM. It
|
||||
doesn't hurt for x86 though, so I'd always set these in any new project.
|
||||
-- For release builds:
|
||||
NDEBUG;
|
||||
-- For debug builds:
|
||||
DEBUG;_DEBUG;
|
||||
-- For debug builds with additional STLport diagnostics:
|
||||
DEBUG;_DEBUG;_STLP_DEBUG;
|
||||
-- For MFC applications:
|
||||
_AFXDLL;
|
||||
|
||||
- Further settings:
|
||||
Code generation: Multithreaded [Debug] DLL
|
||||
Language: enable RTTI
|
||||
Optimization: maximise speed and enable whole program optimization for release builds
|
||||
|
||||
- Linker settings:
|
||||
Ignore specific libraries: libc.lib;libcd.lib
|
||||
Commandline: /SUBSYSTEM:WINDOWSCE
|
||||
Optimisation: /LTCG for release builds
|
||||
|
||||
- Resource compiler:
|
||||
Define: UNDER_CE;WINCE;_WIN32_WCE=$(CEVER)
|
||||
setup VC8 for CE:
|
||||
------------------
|
||||
|
||||
- VC8 doesn't have any setup batchfiles that prepare the environment for compiling
|
||||
with CE. You can take those from eVC4 and adapt them or write your own. This snippet
|
||||
should get you going:
|
||||
|
||||
rem you need to adapt at least these three
|
||||
set OSVERSION=WCE500
|
||||
set PLATFORM=MY_OWN_PLATFORM
|
||||
set TARGETCPU=MIPSII
|
||||
|
||||
rem the compiler is always cl.exe, different compilers are in different paths
|
||||
set CC=cl.exe
|
||||
rem obviously, these need to be adjusted to where you installed VS2005 and the SDKs
|
||||
set VSINSTALLDIR=C:\Programme\Microsoft Visual Studio 8
|
||||
set SDKROOT=C:\Programme\Windows CE Tools
|
||||
|
||||
set PATH=%VSINSTALLDIR%\VC\ce\bin\x86_mips;%VSINSTALLDIR%\VC\bin;%VSINSTALLDIR%\Common7\IDE;%PATH%
|
||||
set PLATFORMROOT=%SDKROOT%\%OSVERSION%\%PLATFORM%
|
||||
|
||||
rem add libs and includes from the SDK
|
||||
set INCLUDE=%PLATFORMROOT%\include\%TARGETCPU%;%PLATFORMROOT%\MFC\include;%PLATFORMROOT%\ATL\include
|
||||
set LIB=%PLATFORMROOT%\lib\%TARGETCPU%;%PLATFORMROOT%\MFC\lib\%TARGETCPU%;%PLATFORMROOT%\ATL\lib\%TARGETCPU%
|
||||
|
||||
rem add libs that came with VC8
|
||||
rem Note: there are more libs and includes under ce\atlmfc, not sure if these are needed.
|
||||
set LIB=%LIB%;%VSINSTALLDIR%\VC\ce\lib\%TARGETCPU%
|
||||
|
||||
|
||||
- The snippet below can be used to build STLport for Pocket PC 2003 (using the
|
||||
Pocket PC 2003 SDK shipped with Visual Studio 2005, this is the SDK used when
|
||||
compiling programs from within the IDE):
|
||||
|
||||
set OSVERSION=WCE420
|
||||
set PLATFORM=POCKET PC 2003
|
||||
set TARGETCPU=ARMV4
|
||||
|
||||
rem the compiler is always cl.exe, different compilers are in different paths
|
||||
set CC=cl.exe
|
||||
|
||||
rem obviously, these need to be adjusted to where you installed VS2005
|
||||
set VSINSTALLDIR=C:\Program Files\Microsoft Visual Studio 8
|
||||
set SDKROOT=%VSINSTALLDIR%\SmartDevices\SDK
|
||||
|
||||
set PATH=%VSINSTALLDIR%\VC\ce\bin\x86_arm;%VSINSTALLDIR%\VC\bin;%VSINSTALLDIR%\Common7\IDE;%PATH%
|
||||
set PLATFORMROOT=%SDKROOT%\PocketPC2003
|
||||
|
||||
rem add libs and includes from the SDK
|
||||
set INCLUDE=%PLATFORMROOT%\include
|
||||
set LIB=%PLATFORMROOT%\lib\%TARGETCPU%
|
||||
|
||||
rem add libs that came with VC8
|
||||
set INCLUDE=%INCLUDE%;%VSINSTALLDIR%\VC\ce\atlmfc\include
|
||||
set LIB=%LIB%;%VSINSTALLDIR%\VC\ce\lib\%TARGETCPU%;%VSINSTALLDIR%\VC\ce\atlmfc\lib\%TARGETCPU%
|
||||
|
||||
|
||||
You should now be able to run cl.exe for the target you expected.
|
||||
|
||||
- The cross compilers of VC8 are the same version as for the native target, i.e. MSC14.
|
||||
|
||||
- The cross compiler for MIPS has the same bug as mentioned in doc/README.evc4 and
|
||||
the same workaround applies. However, using 'whole program optimization', it results
|
||||
in an error in the link phase.
|
||||
|
||||
- In order for STLport to recognize which target you are compiling for, you need to have
|
||||
some macros defined, e.g. for the target architecture. The compilers do that partially on
|
||||
their own, but not sufficiently. Therefore, STLport requires these defines:
|
||||
|
||||
-- These are generally set for CE:
|
||||
_UNICODE;UNICODE;_WIN32;WIN32;UNDER_CE;WINCE;
|
||||
-- This one uses an environment variable to set the CE version:
|
||||
_WIN32_WCE=$(CEVER);
|
||||
-- These are used to help STLport recognise the target architecture:
|
||||
$(ARCHFAM);$(_ARCHFAM_);$(INSTRUCTIONSET)
|
||||
Note that the instructionset is not strictly needed for x86 but definitely for ARM. It
|
||||
doesn't hurt for x86 though, so I'd always set these in any new project.
|
||||
-- For release builds:
|
||||
NDEBUG;
|
||||
-- For debug builds:
|
||||
DEBUG;_DEBUG;
|
||||
-- For debug builds with additional STLport diagnostics:
|
||||
DEBUG;_DEBUG;_STLP_DEBUG;
|
||||
-- For MFC applications:
|
||||
_AFXDLL;
|
||||
|
||||
- Further settings:
|
||||
Code generation: Multithreaded [Debug] DLL
|
||||
Language: enable RTTI
|
||||
Optimization: maximise speed and enable whole program optimization for release builds
|
||||
|
||||
- Linker settings:
|
||||
Ignore specific libraries: libc.lib;libcd.lib
|
||||
Commandline: /SUBSYSTEM:WINDOWSCE
|
||||
Optimisation: /LTCG for release builds
|
||||
|
||||
- Resource compiler:
|
||||
Define: UNDER_CE;WINCE;_WIN32_WCE=$(CEVER)
|
||||
|
|
190
sdk/lib/3rdparty/stlport/doc/README.evc9
vendored
190
sdk/lib/3rdparty/stlport/doc/README.evc9
vendored
|
@ -1,95 +1,95 @@
|
|||
setup VC9 for CE:
|
||||
------------------
|
||||
|
||||
- VC9 doesn't have any setup batchfiles that prepare the environment for compiling
|
||||
with CE. You can take those from eVC4 and adapt them or write your own. This snippet
|
||||
should get you going:
|
||||
|
||||
rem you need to adapt at least these three
|
||||
set OSVERSION=WCE500
|
||||
set PLATFORM=MY_OWN_PLATFORM
|
||||
set TARGETCPU=MIPSII
|
||||
|
||||
rem the compiler is always cl.exe, different compilers are in different paths
|
||||
set CC=cl.exe
|
||||
rem obviously, these need to be adjusted to where you installed VS2008 and the SDKs
|
||||
set VSINSTALLDIR=C:\Programme\Microsoft Visual Studio 9.0
|
||||
set SDKROOT=C:\Programme\Windows CE Tools
|
||||
|
||||
set PATH=%VSINSTALLDIR%\VC\ce\bin\x86_mips;%VSINSTALLDIR%\VC\bin;%VSINSTALLDIR%\Common7\IDE;%PATH%
|
||||
set PLATFORMROOT=%SDKROOT%\%OSVERSION%\%PLATFORM%
|
||||
|
||||
rem add libs and includes from the SDK
|
||||
set INCLUDE=%PLATFORMROOT%\include\%TARGETCPU%;%PLATFORMROOT%\MFC\include;%PLATFORMROOT%\ATL\include
|
||||
set LIB=%PLATFORMROOT%\lib\%TARGETCPU%;%PLATFORMROOT%\MFC\lib\%TARGETCPU%;%PLATFORMROOT%\ATL\lib\%TARGETCPU%
|
||||
|
||||
rem add libs that came with VC9
|
||||
rem Note: there are more libs and includes under ce\atlmfc, you need to add these
|
||||
rem instead of the ones in the SDK if you want to use the newer version of ATL/MFC.
|
||||
set LIB=%LIB%;%VSINSTALLDIR%\VC\ce\lib\%TARGETCPU%
|
||||
|
||||
|
||||
- The snippet below can be used to build STLport for Pocket PC 2003 (using the
|
||||
Pocket PC 2003 SDK shipped with Visual Studio 2008, this is the SDK used when
|
||||
compiling programs from within the IDE):
|
||||
|
||||
set OSVERSION=WCE420
|
||||
set PLATFORM=POCKET PC 2003
|
||||
set TARGETCPU=ARMV4
|
||||
|
||||
rem the compiler is always cl.exe, different compilers are in different paths
|
||||
set CC=cl.exe
|
||||
|
||||
rem obviously, these need to be adjusted to where you installed VS2008
|
||||
set VSINSTALLDIR=C:\Program Files\Microsoft Visual Studio 9.0
|
||||
set SDKROOT=%VSINSTALLDIR%\SmartDevices\SDK
|
||||
|
||||
set PATH=%VSINSTALLDIR%\VC\ce\bin\x86_arm;%VSINSTALLDIR%\VC\bin;%VSINSTALLDIR%\Common7\IDE;%PATH%
|
||||
set PLATFORMROOT=%SDKROOT%\PocketPC2003
|
||||
|
||||
rem add libs and includes from the SDK
|
||||
set INCLUDE=%PLATFORMROOT%\include
|
||||
set LIB=%PLATFORMROOT%\lib\%TARGETCPU%
|
||||
|
||||
rem add libs that came with VC9
|
||||
set INCLUDE=%INCLUDE%;%VSINSTALLDIR%\VC\ce\atlmfc\include
|
||||
set LIB=%LIB%;%VSINSTALLDIR%\VC\ce\lib\%TARGETCPU%;%VSINSTALLDIR%\VC\ce\atlmfc\lib\%TARGETCPU%
|
||||
|
||||
|
||||
You should now be able to run cl.exe for the target you expected.
|
||||
|
||||
- The cross compilers of VC9 are the same version as for the native target, i.e. MSC15.
|
||||
|
||||
- In order for STLport to recognize which target you are compiling for, you need to have
|
||||
some macros defined, e.g. for the target architecture. The compilers do that partially on
|
||||
their own, but not sufficiently. Therefore, STLport requires these defines:
|
||||
|
||||
-- These are generally set for CE:
|
||||
_UNICODE;UNICODE;_WIN32;WIN32;UNDER_CE;WINCE;
|
||||
-- This one uses an environment variable to set the CE version:
|
||||
_WIN32_WCE=$(CEVER);
|
||||
-- These are used to help STLport recognise the target architecture:
|
||||
$(ARCHFAM);$(_ARCHFAM_);$(INSTRUCTIONSET)
|
||||
Note that the instructionset is not strictly needed for x86 but definitely for ARM. It
|
||||
doesn't hurt for x86 though, so I'd always set these in any new project.
|
||||
-- For release builds:
|
||||
NDEBUG;
|
||||
-- For debug builds:
|
||||
DEBUG;_DEBUG;
|
||||
-- For debug builds with additional STLport diagnostics:
|
||||
DEBUG;_DEBUG;_STLP_DEBUG;
|
||||
-- For MFC applications:
|
||||
_AFXDLL;
|
||||
|
||||
- Further settings:
|
||||
Code generation: Multithreaded [Debug] DLL
|
||||
Language: enable RTTI
|
||||
Optimization: maximise speed and enable whole program optimization for release builds
|
||||
|
||||
- Linker settings:
|
||||
Ignore specific libraries: libc.lib;libcd.lib
|
||||
Commandline: /SUBSYSTEM:WINDOWSCE
|
||||
Optimisation: /LTCG for release builds
|
||||
|
||||
- Resource compiler:
|
||||
Define: UNDER_CE;WINCE;_WIN32_WCE=$(CEVER)
|
||||
setup VC9 for CE:
|
||||
------------------
|
||||
|
||||
- VC9 doesn't have any setup batchfiles that prepare the environment for compiling
|
||||
with CE. You can take those from eVC4 and adapt them or write your own. This snippet
|
||||
should get you going:
|
||||
|
||||
rem you need to adapt at least these three
|
||||
set OSVERSION=WCE500
|
||||
set PLATFORM=MY_OWN_PLATFORM
|
||||
set TARGETCPU=MIPSII
|
||||
|
||||
rem the compiler is always cl.exe, different compilers are in different paths
|
||||
set CC=cl.exe
|
||||
rem obviously, these need to be adjusted to where you installed VS2008 and the SDKs
|
||||
set VSINSTALLDIR=C:\Programme\Microsoft Visual Studio 9.0
|
||||
set SDKROOT=C:\Programme\Windows CE Tools
|
||||
|
||||
set PATH=%VSINSTALLDIR%\VC\ce\bin\x86_mips;%VSINSTALLDIR%\VC\bin;%VSINSTALLDIR%\Common7\IDE;%PATH%
|
||||
set PLATFORMROOT=%SDKROOT%\%OSVERSION%\%PLATFORM%
|
||||
|
||||
rem add libs and includes from the SDK
|
||||
set INCLUDE=%PLATFORMROOT%\include\%TARGETCPU%;%PLATFORMROOT%\MFC\include;%PLATFORMROOT%\ATL\include
|
||||
set LIB=%PLATFORMROOT%\lib\%TARGETCPU%;%PLATFORMROOT%\MFC\lib\%TARGETCPU%;%PLATFORMROOT%\ATL\lib\%TARGETCPU%
|
||||
|
||||
rem add libs that came with VC9
|
||||
rem Note: there are more libs and includes under ce\atlmfc, you need to add these
|
||||
rem instead of the ones in the SDK if you want to use the newer version of ATL/MFC.
|
||||
set LIB=%LIB%;%VSINSTALLDIR%\VC\ce\lib\%TARGETCPU%
|
||||
|
||||
|
||||
- The snippet below can be used to build STLport for Pocket PC 2003 (using the
|
||||
Pocket PC 2003 SDK shipped with Visual Studio 2008, this is the SDK used when
|
||||
compiling programs from within the IDE):
|
||||
|
||||
set OSVERSION=WCE420
|
||||
set PLATFORM=POCKET PC 2003
|
||||
set TARGETCPU=ARMV4
|
||||
|
||||
rem the compiler is always cl.exe, different compilers are in different paths
|
||||
set CC=cl.exe
|
||||
|
||||
rem obviously, these need to be adjusted to where you installed VS2008
|
||||
set VSINSTALLDIR=C:\Program Files\Microsoft Visual Studio 9.0
|
||||
set SDKROOT=%VSINSTALLDIR%\SmartDevices\SDK
|
||||
|
||||
set PATH=%VSINSTALLDIR%\VC\ce\bin\x86_arm;%VSINSTALLDIR%\VC\bin;%VSINSTALLDIR%\Common7\IDE;%PATH%
|
||||
set PLATFORMROOT=%SDKROOT%\PocketPC2003
|
||||
|
||||
rem add libs and includes from the SDK
|
||||
set INCLUDE=%PLATFORMROOT%\include
|
||||
set LIB=%PLATFORMROOT%\lib\%TARGETCPU%
|
||||
|
||||
rem add libs that came with VC9
|
||||
set INCLUDE=%INCLUDE%;%VSINSTALLDIR%\VC\ce\atlmfc\include
|
||||
set LIB=%LIB%;%VSINSTALLDIR%\VC\ce\lib\%TARGETCPU%;%VSINSTALLDIR%\VC\ce\atlmfc\lib\%TARGETCPU%
|
||||
|
||||
|
||||
You should now be able to run cl.exe for the target you expected.
|
||||
|
||||
- The cross compilers of VC9 are the same version as for the native target, i.e. MSC15.
|
||||
|
||||
- In order for STLport to recognize which target you are compiling for, you need to have
|
||||
some macros defined, e.g. for the target architecture. The compilers do that partially on
|
||||
their own, but not sufficiently. Therefore, STLport requires these defines:
|
||||
|
||||
-- These are generally set for CE:
|
||||
_UNICODE;UNICODE;_WIN32;WIN32;UNDER_CE;WINCE;
|
||||
-- This one uses an environment variable to set the CE version:
|
||||
_WIN32_WCE=$(CEVER);
|
||||
-- These are used to help STLport recognise the target architecture:
|
||||
$(ARCHFAM);$(_ARCHFAM_);$(INSTRUCTIONSET)
|
||||
Note that the instructionset is not strictly needed for x86 but definitely for ARM. It
|
||||
doesn't hurt for x86 though, so I'd always set these in any new project.
|
||||
-- For release builds:
|
||||
NDEBUG;
|
||||
-- For debug builds:
|
||||
DEBUG;_DEBUG;
|
||||
-- For debug builds with additional STLport diagnostics:
|
||||
DEBUG;_DEBUG;_STLP_DEBUG;
|
||||
-- For MFC applications:
|
||||
_AFXDLL;
|
||||
|
||||
- Further settings:
|
||||
Code generation: Multithreaded [Debug] DLL
|
||||
Language: enable RTTI
|
||||
Optimization: maximise speed and enable whole program optimization for release builds
|
||||
|
||||
- Linker settings:
|
||||
Ignore specific libraries: libc.lib;libcd.lib
|
||||
Commandline: /SUBSYSTEM:WINDOWSCE
|
||||
Optimisation: /LTCG for release builds
|
||||
|
||||
- Resource compiler:
|
||||
Define: UNDER_CE;WINCE;_WIN32_WCE=$(CEVER)
|
||||
|
|
38
sdk/lib/3rdparty/stlport/doc/README.intel
vendored
38
sdk/lib/3rdparty/stlport/doc/README.intel
vendored
|
@ -1,19 +1,19 @@
|
|||
Build of STLport with Intel C++ compiler for Windows is identical
|
||||
to the one for Microsoft Visual Studio compiler (see README.msvc).
|
||||
|
||||
Known issues:
|
||||
|
||||
1. If you have bind your Intel C++ compiler to the Visual Studio 6
|
||||
install and build your application without the -Qvc6 option you might
|
||||
experiement linking issue concerning 'std::unexpected' missing symbol.
|
||||
The reason of this problem is that without -Qvc6, ICL adds necessary
|
||||
code to invoke std::unexpected function when a raised exception is
|
||||
different to the one specified in a function prototype. As VC6 library
|
||||
do not contain this symbol ICL cannot find it anywhere.
|
||||
|
||||
As a workaround, STLport has its own std::unexpected implementation
|
||||
that you will find in src/dll_main.cpp. ICL is looking for a static
|
||||
symbol so if you use STLport static lib ICL will use its std::unexpected
|
||||
implementation but if you use STLport dynamic lib then ICL won't find
|
||||
it. You only need then to copy/paste the STLport implementation somewhere
|
||||
in your implementation and ICL will be happy.
|
||||
Build of STLport with Intel C++ compiler for Windows is identical
|
||||
to the one for Microsoft Visual Studio compiler (see README.msvc).
|
||||
|
||||
Known issues:
|
||||
|
||||
1. If you have bind your Intel C++ compiler to the Visual Studio 6
|
||||
install and build your application without the -Qvc6 option you might
|
||||
experiement linking issue concerning 'std::unexpected' missing symbol.
|
||||
The reason of this problem is that without -Qvc6, ICL adds necessary
|
||||
code to invoke std::unexpected function when a raised exception is
|
||||
different to the one specified in a function prototype. As VC6 library
|
||||
do not contain this symbol ICL cannot find it anywhere.
|
||||
|
||||
As a workaround, STLport has its own std::unexpected implementation
|
||||
that you will find in src/dll_main.cpp. ICL is looking for a static
|
||||
symbol so if you use STLport static lib ICL will use its std::unexpected
|
||||
implementation but if you use STLport dynamic lib then ICL won't find
|
||||
it. You only need then to copy/paste the STLport implementation somewhere
|
||||
in your implementation and ICL will be happy.
|
||||
|
|
110
sdk/lib/3rdparty/stlport/doc/README.mingw
vendored
110
sdk/lib/3rdparty/stlport/doc/README.mingw
vendored
|
@ -1,55 +1,55 @@
|
|||
The MinGW GNU make command can be used to build STLport with different
|
||||
compilers
|
||||
|
||||
- gcc (native compiler):
|
||||
|
||||
Makefile : gcc.mak
|
||||
|
||||
Notes:
|
||||
|
||||
1. Static library (archive)
|
||||
|
||||
If you use the static version of the STLport libraries
|
||||
you have to define the _STLP_USE_STATIC_LIB macro in order
|
||||
to have your executable linked correctly.
|
||||
|
||||
2. Shell
|
||||
|
||||
You will need MSys in order to build STLport.
|
||||
|
||||
Be carefull about what make command you are using. STLport comes with a
|
||||
GNU make build system design for unix like platforms, make files have not
|
||||
been adapted for the Windows platform. So you have to use the make command
|
||||
coming with the MinGW package 'mingw32-make' and not the one coming with MSys
|
||||
that is a portage of the GNU make for Windows.
|
||||
|
||||
3. Threading configuration
|
||||
|
||||
STLport libraries are built per default in order to be used in a
|
||||
multithreaded environment. Under MinGW it means that we use the '-mthread'
|
||||
compiler option. Don't forget to add it to your compiler command line too
|
||||
if you want to use STLport libraries. You can also ask for not thread
|
||||
safe libraries using the --no-thread configure script option.
|
||||
|
||||
4. Linking
|
||||
|
||||
In this environment STLport is almost complete replacement for libstdc++.
|
||||
It means that when you were linking with libstdc++ (-lstdc++) you only have
|
||||
to replace it with STLport (-lstlport.5.2 for instance) and with libsupc++
|
||||
containing language compiler support (lsupc++). However default gcc
|
||||
behavior is to automatically link libstdc++ and a number of other system libs.
|
||||
To avoid this behavior you have to use the -nodefaultlibs compiler option and
|
||||
explicitely give all libraries by yourself. See build of unit tests to see what
|
||||
library you might need, here is the list when this note was written:
|
||||
|
||||
-lstlportg.5.2 -lsupc++ -lgcc_s -lmingw32 -lmingwex -lmsvcrt -lm -lmoldname
|
||||
-lcoldname -lkernel32
|
||||
|
||||
- Borland C++ compiler:
|
||||
|
||||
Makefile : bcc.mak
|
||||
|
||||
- Digital Mars C++ compiler:
|
||||
|
||||
Makefile : dmc.mak
|
||||
|
||||
The MinGW GNU make command can be used to build STLport with different
|
||||
compilers
|
||||
|
||||
- gcc (native compiler):
|
||||
|
||||
Makefile : gcc.mak
|
||||
|
||||
Notes:
|
||||
|
||||
1. Static library (archive)
|
||||
|
||||
If you use the static version of the STLport libraries
|
||||
you have to define the _STLP_USE_STATIC_LIB macro in order
|
||||
to have your executable linked correctly.
|
||||
|
||||
2. Shell
|
||||
|
||||
You will need MSys in order to build STLport.
|
||||
|
||||
Be carefull about what make command you are using. STLport comes with a
|
||||
GNU make build system design for unix like platforms, make files have not
|
||||
been adapted for the Windows platform. So you have to use the make command
|
||||
coming with the MinGW package 'mingw32-make' and not the one coming with MSys
|
||||
that is a portage of the GNU make for Windows.
|
||||
|
||||
3. Threading configuration
|
||||
|
||||
STLport libraries are built per default in order to be used in a
|
||||
multithreaded environment. Under MinGW it means that we use the '-mthread'
|
||||
compiler option. Don't forget to add it to your compiler command line too
|
||||
if you want to use STLport libraries. You can also ask for not thread
|
||||
safe libraries using the --no-thread configure script option.
|
||||
|
||||
4. Linking
|
||||
|
||||
In this environment STLport is almost complete replacement for libstdc++.
|
||||
It means that when you were linking with libstdc++ (-lstdc++) you only have
|
||||
to replace it with STLport (-lstlport.5.2 for instance) and with libsupc++
|
||||
containing language compiler support (lsupc++). However default gcc
|
||||
behavior is to automatically link libstdc++ and a number of other system libs.
|
||||
To avoid this behavior you have to use the -nodefaultlibs compiler option and
|
||||
explicitely give all libraries by yourself. See build of unit tests to see what
|
||||
library you might need, here is the list when this note was written:
|
||||
|
||||
-lstlportg.5.2 -lsupc++ -lgcc_s -lmingw32 -lmingwex -lmsvcrt -lm -lmoldname
|
||||
-lcoldname -lkernel32
|
||||
|
||||
- Borland C++ compiler:
|
||||
|
||||
Makefile : bcc.mak
|
||||
|
||||
- Digital Mars C++ compiler:
|
||||
|
||||
Makefile : dmc.mak
|
||||
|
||||
|
|
372
sdk/lib/3rdparty/stlport/doc/README.msvc
vendored
372
sdk/lib/3rdparty/stlport/doc/README.msvc
vendored
|
@ -1,186 +1,186 @@
|
|||
|
||||
==================================================
|
||||
STLport README for Microsoft Visual C++ compilers.
|
||||
==================================================
|
||||
|
||||
by: Francois Dumont, dums@stlport.com, last edited 08/02/2005
|
||||
|
||||
============
|
||||
Introduction
|
||||
============
|
||||
This document describes how STLport can be compiled and used with Microsoft
|
||||
Visual C++ 6 SP5. It can also be used for the MSVC++ family.
|
||||
|
||||
For any further comments or questsion visit STLport mailing lists
|
||||
http://stlport.sourceforge.net/Maillists.shtml or forums
|
||||
https://sourceforge.net/forum/?group_id=146814
|
||||
|
||||
=============
|
||||
Prerequisites
|
||||
=============
|
||||
To build and use STLport you will need following tools and libraries:
|
||||
- Microsoft Visual C++ 6.0 with at least Service Pack 5 or any higher
|
||||
version.
|
||||
|
||||
===================
|
||||
Configuring STLport
|
||||
===================
|
||||
In a console window go to the STLport build/lib folder. Run
|
||||
|
||||
configure --help
|
||||
|
||||
This command will present you the different available build options. Just follow
|
||||
the instructions to set STLport configuration according your needs. The only
|
||||
mandatory configuration is to declare what is the compiler you are going to
|
||||
use, for MSVC 6 it is:
|
||||
|
||||
configure -c msvc6
|
||||
|
||||
================
|
||||
Building STLport
|
||||
================
|
||||
This is a step by step description of the actions to take in order to have
|
||||
the STLport library built:
|
||||
|
||||
1. Open a console window. You can get it executing cmd or command depending
|
||||
on your Windows OS.
|
||||
|
||||
2. Go to MSVC++ Bin directory with a default MSVC6 install it is
|
||||
cd "C:\Program Files\Microsoft Visual Studio\VC98\Bin"
|
||||
|
||||
3. Run the vcvars32.bat script. This sets the environment variables required
|
||||
to have the MSVC++ compiler run during the build process. The most important
|
||||
one is the PATH variable so that you can call the cl.exe command which is the
|
||||
MSVC++ command line compiler. [You may omit this step, if you chose 'Install paths
|
||||
to access command-line tools' during Microsoft Visual Studio installation procedure.]
|
||||
|
||||
4. Go to the STLport build/lib folder:
|
||||
cd C:\STLport\build\lib
|
||||
|
||||
5. Run the following command:
|
||||
nmake /fmsvc.mak install
|
||||
|
||||
nmake is the make utility from Microsoft. /f is an nmake option
|
||||
telling it which make file script to use. You have of course to grant the
|
||||
closer make file to your effective compiler, msvc.mak in our case.
|
||||
|
||||
Once the command returns, you will have all the necessary libraries within
|
||||
the STLport lib folder. For a description of the generated libraries check the README
|
||||
file within the src folder.
|
||||
|
||||
===============
|
||||
Testing STLport
|
||||
===============
|
||||
You can use the unit tests to verify STLport behaves correctly. Change into
|
||||
STLports 'build/test/unit' folder and type:
|
||||
|
||||
nmake /fmsvc.mak install
|
||||
|
||||
Once the unit test is built you just need to run it. They can be found
|
||||
within the STLport bin folder.
|
||||
|
||||
=============
|
||||
Using STLport
|
||||
=============
|
||||
Adjust your include and link paths in MSVC IDE (in 'Tools -> Options -> Directories'
|
||||
for MSVC6 IDE). In the include files add the path to STLport's 'stlport' folder.
|
||||
Make sure it is the first directory listed there. Add STLport's 'lib' folder for
|
||||
the library files (order of paths doesn't matter here).
|
||||
|
||||
There are some preprocessor defines that control usage of the STLport in msvc
|
||||
projects:
|
||||
|
||||
If you don't want to use the iostreams part of the library, you can specify the
|
||||
define _STLP_NO_IOSTREAMS. In this mode there is no need to link against the
|
||||
library.
|
||||
|
||||
STLport uses automatic linking to find the proper .lib file. If you want to see
|
||||
what import library STLport is going to use, define _STLP_VERBOSE_AUTO_LINK.
|
||||
When not using automatic linking (by specifying _STLP_DONT_USE_AUTO_LINK), you
|
||||
have to specify the proper .lib file in the Project Settings, on the "link" tab.
|
||||
The .lib names have the following syntax:
|
||||
|
||||
stlport[d|stld][_x,_static,_statix].<STLport-Version>.lib
|
||||
|
||||
d : debug build
|
||||
stld: debug build with _STLP_DEBUG (STL safe) mode
|
||||
_x: Build of STLport as a dll but statically link to the native runtime.
|
||||
_static : build of a static library
|
||||
_statix : build of a static library link dynamically to the native runtime.
|
||||
|
||||
Examples:
|
||||
|
||||
stlport_static.5.0.lib - static release version, Version 5.0.0
|
||||
stlportd.5.0.lib - dll debug version, Version 5.0.0
|
||||
|
||||
When using STLport together with MFC, be sure to include the MFC headers first,
|
||||
then include STLport headers, e.g. in your Stdafx.h. This way STLport correctly
|
||||
recognizes MFC usage. You also can define the macro _STLP_USE_MFC, either in
|
||||
your project settings or in stlport/stl/config/user_config.h.
|
||||
|
||||
In order to enhance debugging with STLport you can optionally add the content of
|
||||
the etc/autoexp.dat file in the autoexp.dat file coming with your Visual Studio
|
||||
install.
|
||||
|
||||
Now you should be ready to use STLport.
|
||||
|
||||
============
|
||||
Known issues
|
||||
============
|
||||
|
||||
1. InterlockedIncrement
|
||||
|
||||
If you experiment trouble with the InterlockedIncrement Win32 API function
|
||||
like the following message:
|
||||
|
||||
C:\Program Files\Microsoft SDK\Include\.\winbase.h(1392) : error C2733: second C
|
||||
linkage of overloaded function 'InterlockedIncrement' not allowed
|
||||
C:\Program Files\Microsoft SDK\Include\.\winbase.h(1390) : see declaration of
|
||||
'InterlockedIncrement'
|
||||
|
||||
It means that you are using the new Microsoft platform SDK. There is no
|
||||
way to known it from STLport code so you have to signal it in the
|
||||
stlport/stl/config/user_config.h file (uncomment _STLP_NEW_PLATFORM_SDK in this file).
|
||||
|
||||
2. Native C/C++ library headers location
|
||||
|
||||
If you experiment trouble with location of ctime and other Standard headers
|
||||
while building or using STLport you might be using the compiler coming with a
|
||||
platform SDK. If so please uncomment _STLP_USING_PLATFORM_SDK_COMPILER in
|
||||
stlport/stl/config/user_config.h. If it still do not find native headers you will
|
||||
perhaps need to change native headers relative path used by STLport. In this case use
|
||||
_STLP_NATIVE_INCLUDE_PATH and associated macro in stlport/stl/config/host.h.
|
||||
|
||||
4. C symbols in std namespace
|
||||
|
||||
The compiler of MSVC++ 6 has a bug when dealing with symbols existant in both
|
||||
the global namespace and symbols imported by a using-directive or a
|
||||
using-declaration - it will report an ambiguous call to an overloaded
|
||||
function (error C2668). Example:
|
||||
|
||||
void function();
|
||||
namespace ns {
|
||||
void function();
|
||||
// or:
|
||||
// using ::function;
|
||||
}
|
||||
|
||||
using ns::function;
|
||||
// or:
|
||||
// using namespace ns;
|
||||
|
||||
void call() {
|
||||
function();
|
||||
}
|
||||
|
||||
Since we anticipate that using-declarations or even using-directives are common
|
||||
use, STLport by default doesn't import or wrap functions that exist in both the
|
||||
global namespace and namespace std, in particular those are functions with C
|
||||
origin like fopen() or abs(). Also, it defines additional overloads for
|
||||
functions like abs() (overloaded for int, long, float, double, long double) in
|
||||
the global namespace.
|
||||
|
||||
In order to make STLport include them in the std namespace, you can define the
|
||||
_STLP_DO_IMPORT_CSTD_FUNCTIONS macro. Doing so, you will have to explicitely
|
||||
scope all your functions calls like std::abs() though - otherwise you only get
|
||||
the global abs(int) from the C library.
|
||||
|
||||
==================================================
|
||||
STLport README for Microsoft Visual C++ compilers.
|
||||
==================================================
|
||||
|
||||
by: Francois Dumont, dums@stlport.com, last edited 08/02/2005
|
||||
|
||||
============
|
||||
Introduction
|
||||
============
|
||||
This document describes how STLport can be compiled and used with Microsoft
|
||||
Visual C++ 6 SP5. It can also be used for the MSVC++ family.
|
||||
|
||||
For any further comments or questsion visit STLport mailing lists
|
||||
http://stlport.sourceforge.net/Maillists.shtml or forums
|
||||
https://sourceforge.net/forum/?group_id=146814
|
||||
|
||||
=============
|
||||
Prerequisites
|
||||
=============
|
||||
To build and use STLport you will need following tools and libraries:
|
||||
- Microsoft Visual C++ 6.0 with at least Service Pack 5 or any higher
|
||||
version.
|
||||
|
||||
===================
|
||||
Configuring STLport
|
||||
===================
|
||||
In a console window go to the STLport build/lib folder. Run
|
||||
|
||||
configure --help
|
||||
|
||||
This command will present you the different available build options. Just follow
|
||||
the instructions to set STLport configuration according your needs. The only
|
||||
mandatory configuration is to declare what is the compiler you are going to
|
||||
use, for MSVC 6 it is:
|
||||
|
||||
configure -c msvc6
|
||||
|
||||
================
|
||||
Building STLport
|
||||
================
|
||||
This is a step by step description of the actions to take in order to have
|
||||
the STLport library built:
|
||||
|
||||
1. Open a console window. You can get it executing cmd or command depending
|
||||
on your Windows OS.
|
||||
|
||||
2. Go to MSVC++ Bin directory with a default MSVC6 install it is
|
||||
cd "C:\Program Files\Microsoft Visual Studio\VC98\Bin"
|
||||
|
||||
3. Run the vcvars32.bat script. This sets the environment variables required
|
||||
to have the MSVC++ compiler run during the build process. The most important
|
||||
one is the PATH variable so that you can call the cl.exe command which is the
|
||||
MSVC++ command line compiler. [You may omit this step, if you chose 'Install paths
|
||||
to access command-line tools' during Microsoft Visual Studio installation procedure.]
|
||||
|
||||
4. Go to the STLport build/lib folder:
|
||||
cd C:\STLport\build\lib
|
||||
|
||||
5. Run the following command:
|
||||
nmake /fmsvc.mak install
|
||||
|
||||
nmake is the make utility from Microsoft. /f is an nmake option
|
||||
telling it which make file script to use. You have of course to grant the
|
||||
closer make file to your effective compiler, msvc.mak in our case.
|
||||
|
||||
Once the command returns, you will have all the necessary libraries within
|
||||
the STLport lib folder. For a description of the generated libraries check the README
|
||||
file within the src folder.
|
||||
|
||||
===============
|
||||
Testing STLport
|
||||
===============
|
||||
You can use the unit tests to verify STLport behaves correctly. Change into
|
||||
STLports 'build/test/unit' folder and type:
|
||||
|
||||
nmake /fmsvc.mak install
|
||||
|
||||
Once the unit test is built you just need to run it. They can be found
|
||||
within the STLport bin folder.
|
||||
|
||||
=============
|
||||
Using STLport
|
||||
=============
|
||||
Adjust your include and link paths in MSVC IDE (in 'Tools -> Options -> Directories'
|
||||
for MSVC6 IDE). In the include files add the path to STLport's 'stlport' folder.
|
||||
Make sure it is the first directory listed there. Add STLport's 'lib' folder for
|
||||
the library files (order of paths doesn't matter here).
|
||||
|
||||
There are some preprocessor defines that control usage of the STLport in msvc
|
||||
projects:
|
||||
|
||||
If you don't want to use the iostreams part of the library, you can specify the
|
||||
define _STLP_NO_IOSTREAMS. In this mode there is no need to link against the
|
||||
library.
|
||||
|
||||
STLport uses automatic linking to find the proper .lib file. If you want to see
|
||||
what import library STLport is going to use, define _STLP_VERBOSE_AUTO_LINK.
|
||||
When not using automatic linking (by specifying _STLP_DONT_USE_AUTO_LINK), you
|
||||
have to specify the proper .lib file in the Project Settings, on the "link" tab.
|
||||
The .lib names have the following syntax:
|
||||
|
||||
stlport[d|stld][_x,_static,_statix].<STLport-Version>.lib
|
||||
|
||||
d : debug build
|
||||
stld: debug build with _STLP_DEBUG (STL safe) mode
|
||||
_x: Build of STLport as a dll but statically link to the native runtime.
|
||||
_static : build of a static library
|
||||
_statix : build of a static library link dynamically to the native runtime.
|
||||
|
||||
Examples:
|
||||
|
||||
stlport_static.5.0.lib - static release version, Version 5.0.0
|
||||
stlportd.5.0.lib - dll debug version, Version 5.0.0
|
||||
|
||||
When using STLport together with MFC, be sure to include the MFC headers first,
|
||||
then include STLport headers, e.g. in your Stdafx.h. This way STLport correctly
|
||||
recognizes MFC usage. You also can define the macro _STLP_USE_MFC, either in
|
||||
your project settings or in stlport/stl/config/user_config.h.
|
||||
|
||||
In order to enhance debugging with STLport you can optionally add the content of
|
||||
the etc/autoexp.dat file in the autoexp.dat file coming with your Visual Studio
|
||||
install.
|
||||
|
||||
Now you should be ready to use STLport.
|
||||
|
||||
============
|
||||
Known issues
|
||||
============
|
||||
|
||||
1. InterlockedIncrement
|
||||
|
||||
If you experiment trouble with the InterlockedIncrement Win32 API function
|
||||
like the following message:
|
||||
|
||||
C:\Program Files\Microsoft SDK\Include\.\winbase.h(1392) : error C2733: second C
|
||||
linkage of overloaded function 'InterlockedIncrement' not allowed
|
||||
C:\Program Files\Microsoft SDK\Include\.\winbase.h(1390) : see declaration of
|
||||
'InterlockedIncrement'
|
||||
|
||||
It means that you are using the new Microsoft platform SDK. There is no
|
||||
way to known it from STLport code so you have to signal it in the
|
||||
stlport/stl/config/user_config.h file (uncomment _STLP_NEW_PLATFORM_SDK in this file).
|
||||
|
||||
2. Native C/C++ library headers location
|
||||
|
||||
If you experiment trouble with location of ctime and other Standard headers
|
||||
while building or using STLport you might be using the compiler coming with a
|
||||
platform SDK. If so please uncomment _STLP_USING_PLATFORM_SDK_COMPILER in
|
||||
stlport/stl/config/user_config.h. If it still do not find native headers you will
|
||||
perhaps need to change native headers relative path used by STLport. In this case use
|
||||
_STLP_NATIVE_INCLUDE_PATH and associated macro in stlport/stl/config/host.h.
|
||||
|
||||
4. C symbols in std namespace
|
||||
|
||||
The compiler of MSVC++ 6 has a bug when dealing with symbols existant in both
|
||||
the global namespace and symbols imported by a using-directive or a
|
||||
using-declaration - it will report an ambiguous call to an overloaded
|
||||
function (error C2668). Example:
|
||||
|
||||
void function();
|
||||
namespace ns {
|
||||
void function();
|
||||
// or:
|
||||
// using ::function;
|
||||
}
|
||||
|
||||
using ns::function;
|
||||
// or:
|
||||
// using namespace ns;
|
||||
|
||||
void call() {
|
||||
function();
|
||||
}
|
||||
|
||||
Since we anticipate that using-declarations or even using-directives are common
|
||||
use, STLport by default doesn't import or wrap functions that exist in both the
|
||||
global namespace and namespace std, in particular those are functions with C
|
||||
origin like fopen() or abs(). Also, it defines additional overloads for
|
||||
functions like abs() (overloaded for int, long, float, double, long double) in
|
||||
the global namespace.
|
||||
|
||||
In order to make STLport include them in the std namespace, you can define the
|
||||
_STLP_DO_IMPORT_CSTD_FUNCTIONS macro. Doing so, you will have to explicitely
|
||||
scope all your functions calls like std::abs() though - otherwise you only get
|
||||
the global abs(int) from the C library.
|
||||
|
|
102
sdk/lib/3rdparty/stlport/doc/README.utf8
vendored
102
sdk/lib/3rdparty/stlport/doc/README.utf8
vendored
|
@ -1,51 +1,51 @@
|
|||
Here is a description of how you can use STLport to read/write utf8 files.
|
||||
utf8 is a way of encoding wide characters. As so, management of encoding in
|
||||
the C++ Standard library is handle by the codecvt locale facet which is part
|
||||
of the ctype category. However utf8 only describe how encoding must be
|
||||
performed, it cannot be used to classify characters so it is not enough info
|
||||
to know how to generate the whole ctype category facets of a locale
|
||||
instance.
|
||||
|
||||
In C++ it means that the following code will throw an exception to
|
||||
signal that creation failed:
|
||||
|
||||
#include <locale>
|
||||
// Will throw a std::runtime_error exception.
|
||||
std::locale loc(".utf8");
|
||||
|
||||
For the same reason building a locale with the ctype facets based on
|
||||
UTF8 is also wrong:
|
||||
|
||||
// Will throw a std::runtime_error exception:
|
||||
std::locale loc(locale::classic(), ".utf8", std::locale::ctype);
|
||||
|
||||
The only solution to get a locale instance that will handle utf8 encoding
|
||||
is to specifically signal that the codecvt facet should be based on utf8
|
||||
encoding:
|
||||
|
||||
// Will succeed if there is necessary platform support.
|
||||
locale loc(locale::classic(), new codecvt_byname<wchar_t, char, mbstate_t>(".utf8"));
|
||||
|
||||
Once you have obtain a locale instance you can inject it in a file stream to
|
||||
read/write utf8 files:
|
||||
|
||||
std::fstream fstr("file.utf8");
|
||||
fstr.imbue(loc);
|
||||
|
||||
You can also access the facet directly to perform utf8 encoding/decoding operations:
|
||||
|
||||
typedef std::codecvt<wchar_t, char, mbstate_t> codecvt_t;
|
||||
const codecvt_t& encoding = use_facet<codecvt_t>(loc);
|
||||
|
||||
Notes:
|
||||
|
||||
1. The dot ('.') is mandatory in front of utf8. This is a POSIX convention, locale
|
||||
names have the following format:
|
||||
language[_country[.encoding]]
|
||||
|
||||
Ex: 'fr_FR'
|
||||
'french'
|
||||
'ru_RU.koi8r'
|
||||
|
||||
2. utf8 encoding is only supported for the moment under Windows. The less common
|
||||
utf7 encoding is also supported.
|
||||
Here is a description of how you can use STLport to read/write utf8 files.
|
||||
utf8 is a way of encoding wide characters. As so, management of encoding in
|
||||
the C++ Standard library is handle by the codecvt locale facet which is part
|
||||
of the ctype category. However utf8 only describe how encoding must be
|
||||
performed, it cannot be used to classify characters so it is not enough info
|
||||
to know how to generate the whole ctype category facets of a locale
|
||||
instance.
|
||||
|
||||
In C++ it means that the following code will throw an exception to
|
||||
signal that creation failed:
|
||||
|
||||
#include <locale>
|
||||
// Will throw a std::runtime_error exception.
|
||||
std::locale loc(".utf8");
|
||||
|
||||
For the same reason building a locale with the ctype facets based on
|
||||
UTF8 is also wrong:
|
||||
|
||||
// Will throw a std::runtime_error exception:
|
||||
std::locale loc(locale::classic(), ".utf8", std::locale::ctype);
|
||||
|
||||
The only solution to get a locale instance that will handle utf8 encoding
|
||||
is to specifically signal that the codecvt facet should be based on utf8
|
||||
encoding:
|
||||
|
||||
// Will succeed if there is necessary platform support.
|
||||
locale loc(locale::classic(), new codecvt_byname<wchar_t, char, mbstate_t>(".utf8"));
|
||||
|
||||
Once you have obtain a locale instance you can inject it in a file stream to
|
||||
read/write utf8 files:
|
||||
|
||||
std::fstream fstr("file.utf8");
|
||||
fstr.imbue(loc);
|
||||
|
||||
You can also access the facet directly to perform utf8 encoding/decoding operations:
|
||||
|
||||
typedef std::codecvt<wchar_t, char, mbstate_t> codecvt_t;
|
||||
const codecvt_t& encoding = use_facet<codecvt_t>(loc);
|
||||
|
||||
Notes:
|
||||
|
||||
1. The dot ('.') is mandatory in front of utf8. This is a POSIX convention, locale
|
||||
names have the following format:
|
||||
language[_country[.encoding]]
|
||||
|
||||
Ex: 'fr_FR'
|
||||
'french'
|
||||
'ru_RU.koi8r'
|
||||
|
||||
2. utf8 encoding is only supported for the moment under Windows. The less common
|
||||
utf7 encoding is also supported.
|
||||
|
|
188
sdk/lib/3rdparty/stlport/doc/README.wince
vendored
188
sdk/lib/3rdparty/stlport/doc/README.wince
vendored
|
@ -1,94 +1,94 @@
|
|||
Programming under MS Windows CE with STLport
|
||||
=============================================
|
||||
|
||||
This is supposed to give an overview for programming on MS Windows CE, with and
|
||||
partially without STLport, what tools are available and what common pitfalls
|
||||
exist. Note that for every supported compiler there is another readme file which
|
||||
explains the specifics of that compiler.
|
||||
|
||||
|
||||
|
||||
Available compilers:
|
||||
---------------------
|
||||
|
||||
- Embedded Visual C++ 3 (eVC3): this IDE/compiler is for the CE3 target platforms.
|
||||
The included compiler is MSC12, the same as for VC6, so many workarounds for its
|
||||
'features' apply here, too. STLport works out of the box with this.
|
||||
|
||||
- Embedded Visual C++ 4 (eVC4): basically the same as eVC3, but it can compile for
|
||||
CE4.x and 5. Note that currently (2007-03-06) I haven't tested this with CE5,
|
||||
because you can use a better compiler using VC8/VS2005. This compiler can be
|
||||
downloaded for free from the MS website, including a product activation key.
|
||||
STLport works out of the box with this.
|
||||
|
||||
- Visual C++ 8 (VC8) aka Visual Studio 2005 (VS2005): with this version (and
|
||||
partially already version 7) the embedded and desktop IDEs have been merged again,
|
||||
so it supports compiling for MS Windows CE, versions 5 and later. Note that the
|
||||
freely downloadable express edition does not(!) allow compiling for CE. This IDE
|
||||
uses MSC14 as compiler. STLport works out of the box with CE5.
|
||||
|
||||
- Platform Builders (PB): this tool is used to create a CE image. You can select the
|
||||
modules (e.g. Explorer, but also C++ RTTI) you include in the image. These IDEs use
|
||||
several different compilers (MSC12-14). STLport hasn't been tested with this
|
||||
IDE, AFAIK.
|
||||
|
||||
- There used to be an addon for VC6(?) that allowed compiling for CE. This plugin
|
||||
has been superceeded by eVC3/4 and support for it has been removed from STLport in
|
||||
version 5.
|
||||
|
||||
- Others: some vendors (e.g. Intel) provide compilers that are able to generate
|
||||
CE executables. I'm not aware of an attempt to compile STLport with them.
|
||||
|
||||
|
||||
|
||||
Environment specialties:
|
||||
-------------------------
|
||||
|
||||
- In order to develop for a platform, the first thing you need is a so-called SDK.
|
||||
This package includes headers and libraries that (more or less) resemble the APIs
|
||||
available on the device. The IDEs come with a basic selection of SDKs, but in
|
||||
general you need to retrieve an according SDK from the vendor. If you are the
|
||||
vendor, you can generate an SDK for a platform with Platform Builder.
|
||||
|
||||
- The provided API is typically a subset of the 'normal' win32 API. Often, some
|
||||
features are simply not supported, like security descriptors when opening files.
|
||||
Also, these APIs are only supported for wchar_t strings, e.g. only CreateFileW()
|
||||
and not CreateFileA().
|
||||
|
||||
- CE doesn't have a current directory, hence no relative paths to that dir. You can
|
||||
have relative parts in global paths though.
|
||||
|
||||
- CE doesn't have environment variables, thus STLport can't support e.g.
|
||||
setenv/getenv. It also doesn't attempt to provide workarounds.
|
||||
|
||||
- Since many features are optional (see the description of Platform Builder), it
|
||||
is possible that you don't have e.g. a console that std::cout could write to. The
|
||||
same applies to exceptions (see e.g. the add-on lib for RTTI for eVC4). Other
|
||||
features might go amiss, too. This makes it hard for STLport to adapt to, in
|
||||
particular because this information is not available outside PB, a header might
|
||||
declare a function that in fact is not present. Keep this in mind when you get
|
||||
linker errors.
|
||||
|
||||
- The supplied C++ standard library is extremely cut down, e.g. iostreams and
|
||||
locales are missing completely.
|
||||
|
||||
- The supplied standard C API is at best rudimentary. Functions like e.g. time() or
|
||||
clock() are declared but not defined. STLport doesn't include any workarounds for
|
||||
these missing functions at present.
|
||||
|
||||
- All compilers are cross-compilers, i.e. you run them on a win32 host and they
|
||||
produce executable code for the target platform. The same applies to the debugger,
|
||||
which is connected via serial, USB or ethernet. Alternatively, there are emulators
|
||||
that run on the host machine and simulate the target platform.
|
||||
|
||||
- The entrypoint for executables is generally WinMain. Normally, you would have
|
||||
switched to a normal main() using /SUBSYSTEM:CONSOLE on the linker commandline.
|
||||
The linkers for at least CE4 and 5 don't understand this switch, they claim it
|
||||
conflicts with CE targets. Instead, set the entrypoint directly to
|
||||
mainACRTStartup.
|
||||
|
||||
- The name of a DLL loaded via an import library can't be longer than 32 chars. If
|
||||
this is not the case, the application will behave as if the DLL was not present or
|
||||
couldn't be loaded for whatever other reason. This limitation applies to at least
|
||||
CE 4 and 5.
|
||||
|
||||
Programming under MS Windows CE with STLport
|
||||
=============================================
|
||||
|
||||
This is supposed to give an overview for programming on MS Windows CE, with and
|
||||
partially without STLport, what tools are available and what common pitfalls
|
||||
exist. Note that for every supported compiler there is another readme file which
|
||||
explains the specifics of that compiler.
|
||||
|
||||
|
||||
|
||||
Available compilers:
|
||||
---------------------
|
||||
|
||||
- Embedded Visual C++ 3 (eVC3): this IDE/compiler is for the CE3 target platforms.
|
||||
The included compiler is MSC12, the same as for VC6, so many workarounds for its
|
||||
'features' apply here, too. STLport works out of the box with this.
|
||||
|
||||
- Embedded Visual C++ 4 (eVC4): basically the same as eVC3, but it can compile for
|
||||
CE4.x and 5. Note that currently (2007-03-06) I haven't tested this with CE5,
|
||||
because you can use a better compiler using VC8/VS2005. This compiler can be
|
||||
downloaded for free from the MS website, including a product activation key.
|
||||
STLport works out of the box with this.
|
||||
|
||||
- Visual C++ 8 (VC8) aka Visual Studio 2005 (VS2005): with this version (and
|
||||
partially already version 7) the embedded and desktop IDEs have been merged again,
|
||||
so it supports compiling for MS Windows CE, versions 5 and later. Note that the
|
||||
freely downloadable express edition does not(!) allow compiling for CE. This IDE
|
||||
uses MSC14 as compiler. STLport works out of the box with CE5.
|
||||
|
||||
- Platform Builders (PB): this tool is used to create a CE image. You can select the
|
||||
modules (e.g. Explorer, but also C++ RTTI) you include in the image. These IDEs use
|
||||
several different compilers (MSC12-14). STLport hasn't been tested with this
|
||||
IDE, AFAIK.
|
||||
|
||||
- There used to be an addon for VC6(?) that allowed compiling for CE. This plugin
|
||||
has been superceeded by eVC3/4 and support for it has been removed from STLport in
|
||||
version 5.
|
||||
|
||||
- Others: some vendors (e.g. Intel) provide compilers that are able to generate
|
||||
CE executables. I'm not aware of an attempt to compile STLport with them.
|
||||
|
||||
|
||||
|
||||
Environment specialties:
|
||||
-------------------------
|
||||
|
||||
- In order to develop for a platform, the first thing you need is a so-called SDK.
|
||||
This package includes headers and libraries that (more or less) resemble the APIs
|
||||
available on the device. The IDEs come with a basic selection of SDKs, but in
|
||||
general you need to retrieve an according SDK from the vendor. If you are the
|
||||
vendor, you can generate an SDK for a platform with Platform Builder.
|
||||
|
||||
- The provided API is typically a subset of the 'normal' win32 API. Often, some
|
||||
features are simply not supported, like security descriptors when opening files.
|
||||
Also, these APIs are only supported for wchar_t strings, e.g. only CreateFileW()
|
||||
and not CreateFileA().
|
||||
|
||||
- CE doesn't have a current directory, hence no relative paths to that dir. You can
|
||||
have relative parts in global paths though.
|
||||
|
||||
- CE doesn't have environment variables, thus STLport can't support e.g.
|
||||
setenv/getenv. It also doesn't attempt to provide workarounds.
|
||||
|
||||
- Since many features are optional (see the description of Platform Builder), it
|
||||
is possible that you don't have e.g. a console that std::cout could write to. The
|
||||
same applies to exceptions (see e.g. the add-on lib for RTTI for eVC4). Other
|
||||
features might go amiss, too. This makes it hard for STLport to adapt to, in
|
||||
particular because this information is not available outside PB, a header might
|
||||
declare a function that in fact is not present. Keep this in mind when you get
|
||||
linker errors.
|
||||
|
||||
- The supplied C++ standard library is extremely cut down, e.g. iostreams and
|
||||
locales are missing completely.
|
||||
|
||||
- The supplied standard C API is at best rudimentary. Functions like e.g. time() or
|
||||
clock() are declared but not defined. STLport doesn't include any workarounds for
|
||||
these missing functions at present.
|
||||
|
||||
- All compilers are cross-compilers, i.e. you run them on a win32 host and they
|
||||
produce executable code for the target platform. The same applies to the debugger,
|
||||
which is connected via serial, USB or ethernet. Alternatively, there are emulators
|
||||
that run on the host machine and simulate the target platform.
|
||||
|
||||
- The entrypoint for executables is generally WinMain. Normally, you would have
|
||||
switched to a normal main() using /SUBSYSTEM:CONSOLE on the linker commandline.
|
||||
The linkers for at least CE4 and 5 don't understand this switch, they claim it
|
||||
conflicts with CE targets. Instead, set the entrypoint directly to
|
||||
mainACRTStartup.
|
||||
|
||||
- The name of a DLL loaded via an import library can't be longer than 32 chars. If
|
||||
this is not the case, the application will behave as if the DLL was not present or
|
||||
couldn't be loaded for whatever other reason. This limitation applies to at least
|
||||
CE 4 and 5.
|
||||
|
||||
|
|
110
sdk/lib/3rdparty/stlport/doc/README.windows
vendored
110
sdk/lib/3rdparty/stlport/doc/README.windows
vendored
|
@ -1,55 +1,55 @@
|
|||
Note for Windows users:
|
||||
|
||||
It is highly recommended to declare the Windows OS version you are
|
||||
targetting when building the library as well as when using it. You can do so
|
||||
thanks to the well known Microsoft macros WINVER, _WIN32_WINDOWS or
|
||||
_WIN32_WINNT, see your platform SDK documentation for a description
|
||||
of those macros and how to use them. To define it when building the
|
||||
library, use the configure script --extra-cxxflag option. Here is the
|
||||
configuration to build STLport using Visual Studio 2005 and targetting
|
||||
Windows XP:
|
||||
|
||||
configure -c msvc8 --extra-cxxflag "/D_WIN32_WINNT=0x0501"
|
||||
|
||||
If you do not declare it at build time STLport will adapt to the PSDK in
|
||||
use, windows.h gives a default value to WINVER. However, when using the
|
||||
library, windows.h is not necessarily included, at least not by STLport
|
||||
internally, so none of the macros are defined which will result in an
|
||||
inconsistency in the build process which most of time will generate undefined
|
||||
behavior at runtime.
|
||||
|
||||
Here is the main reason for following this advise, the Windows 95
|
||||
compatibility issue:
|
||||
|
||||
Because of a modification in the behavior of the Win32 API functions
|
||||
InterlockedIncrement and InterlockedDecrement after Windows 95, STLport
|
||||
libraries built for Windows 95 cannot be used to generate an application
|
||||
built for Windows XP for instance. So, if you build STLport with a Windows
|
||||
95 PSDK, STLport will be ready for Windows 95. If you then use it without
|
||||
defining _WIN32_WINDOWS to signal Windows 95 compatibility, STLport will
|
||||
consider that it can use latest Windows OS features like the new
|
||||
InterlockedIncrement and InterlockedDecrement functions which change the
|
||||
memory footprint of some internal STLport objects making it incompatible
|
||||
with the libraries built for Windows 95.
|
||||
|
||||
Normally, doing so wouldn't generate any compilation or link error, you
|
||||
would only experiment undefined behavior at runtime. In order to make this
|
||||
problem more obvious STLport forces a link time error in debug mode (_DEBUG
|
||||
macro defined).
|
||||
|
||||
Unresolved symbol will be:
|
||||
- 'building_for_at_least_windows98_but_library_built_for_windows95'
|
||||
if you are trying to use STLport libraries built for Windows 98 or later
|
||||
to generate an application targetting the Windows 95 platform.
|
||||
- 'building_for_windows95_but_library_built_for_at_least_windows98'
|
||||
if you are trying to use STLport libraries built for Windows 95 to generate
|
||||
an appliation targetting the
|
||||
|
||||
Windows XP platform for instance.
|
||||
|
||||
Of course, targetting the latest Windows OS versions will give you the best
|
||||
performance from STLport. This is why when none of the platform macros are
|
||||
defined STLport consider that there is no minimum OS requirement and will
|
||||
use the latest API functions. There is only one exception to this behavior,
|
||||
the SwitchToThread function that is used only if you define _WIN32_WINNT to a
|
||||
value higher or equal to 0X0400.
|
||||
Note for Windows users:
|
||||
|
||||
It is highly recommended to declare the Windows OS version you are
|
||||
targetting when building the library as well as when using it. You can do so
|
||||
thanks to the well known Microsoft macros WINVER, _WIN32_WINDOWS or
|
||||
_WIN32_WINNT, see your platform SDK documentation for a description
|
||||
of those macros and how to use them. To define it when building the
|
||||
library, use the configure script --extra-cxxflag option. Here is the
|
||||
configuration to build STLport using Visual Studio 2005 and targetting
|
||||
Windows XP:
|
||||
|
||||
configure -c msvc8 --extra-cxxflag "/D_WIN32_WINNT=0x0501"
|
||||
|
||||
If you do not declare it at build time STLport will adapt to the PSDK in
|
||||
use, windows.h gives a default value to WINVER. However, when using the
|
||||
library, windows.h is not necessarily included, at least not by STLport
|
||||
internally, so none of the macros are defined which will result in an
|
||||
inconsistency in the build process which most of time will generate undefined
|
||||
behavior at runtime.
|
||||
|
||||
Here is the main reason for following this advise, the Windows 95
|
||||
compatibility issue:
|
||||
|
||||
Because of a modification in the behavior of the Win32 API functions
|
||||
InterlockedIncrement and InterlockedDecrement after Windows 95, STLport
|
||||
libraries built for Windows 95 cannot be used to generate an application
|
||||
built for Windows XP for instance. So, if you build STLport with a Windows
|
||||
95 PSDK, STLport will be ready for Windows 95. If you then use it without
|
||||
defining _WIN32_WINDOWS to signal Windows 95 compatibility, STLport will
|
||||
consider that it can use latest Windows OS features like the new
|
||||
InterlockedIncrement and InterlockedDecrement functions which change the
|
||||
memory footprint of some internal STLport objects making it incompatible
|
||||
with the libraries built for Windows 95.
|
||||
|
||||
Normally, doing so wouldn't generate any compilation or link error, you
|
||||
would only experiment undefined behavior at runtime. In order to make this
|
||||
problem more obvious STLport forces a link time error in debug mode (_DEBUG
|
||||
macro defined).
|
||||
|
||||
Unresolved symbol will be:
|
||||
- 'building_for_at_least_windows98_but_library_built_for_windows95'
|
||||
if you are trying to use STLport libraries built for Windows 98 or later
|
||||
to generate an application targetting the Windows 95 platform.
|
||||
- 'building_for_windows95_but_library_built_for_at_least_windows98'
|
||||
if you are trying to use STLport libraries built for Windows 95 to generate
|
||||
an appliation targetting the
|
||||
|
||||
Windows XP platform for instance.
|
||||
|
||||
Of course, targetting the latest Windows OS versions will give you the best
|
||||
performance from STLport. This is why when none of the platform macros are
|
||||
defined STLport consider that there is no minimum OS requirement and will
|
||||
use the latest API functions. There is only one exception to this behavior,
|
||||
the SwitchToThread function that is used only if you define _WIN32_WINNT to a
|
||||
value higher or equal to 0X0400.
|
||||
|
|
6176
sdk/lib/3rdparty/stlport/etc/ChangeLog
vendored
6176
sdk/lib/3rdparty/stlport/etc/ChangeLog
vendored
File diff suppressed because it is too large
Load diff
1336
sdk/lib/3rdparty/stlport/etc/ChangeLog-4.0
vendored
1336
sdk/lib/3rdparty/stlport/etc/ChangeLog-4.0
vendored
File diff suppressed because it is too large
Load diff
16700
sdk/lib/3rdparty/stlport/etc/ChangeLog-5.1
vendored
16700
sdk/lib/3rdparty/stlport/etc/ChangeLog-5.1
vendored
File diff suppressed because it is too large
Load diff
1668
sdk/lib/3rdparty/stlport/etc/autoexp.dat
vendored
1668
sdk/lib/3rdparty/stlport/etc/autoexp.dat
vendored
File diff suppressed because it is too large
Load diff
618
sdk/lib/3rdparty/stlport/etc/msvcincl.dat
vendored
618
sdk/lib/3rdparty/stlport/etc/msvcincl.dat
vendored
|
@ -1,309 +1,309 @@
|
|||
algo.h
|
||||
algobase.h
|
||||
algorith.h
|
||||
algorithm
|
||||
alloc.h
|
||||
bitset
|
||||
bitset.h
|
||||
bvector.h
|
||||
cassert
|
||||
cassert.h
|
||||
cctype
|
||||
cctype.h
|
||||
cerrno
|
||||
cerrno.h
|
||||
cfloat
|
||||
cfloat.h
|
||||
char_traits.h
|
||||
climits
|
||||
climits.h
|
||||
clocale
|
||||
clocale.h
|
||||
cmath
|
||||
cmath.h
|
||||
complex
|
||||
complex.h
|
||||
concept_checks.h
|
||||
configure
|
||||
configure.in
|
||||
csetjmp
|
||||
csetjmp.h
|
||||
csignal
|
||||
csignal.h
|
||||
cstdarg
|
||||
cstdarg.h
|
||||
cstddef
|
||||
cstddef.h
|
||||
cstdio
|
||||
cstdio.h
|
||||
cstdlib
|
||||
cstdlib.h
|
||||
cstring
|
||||
cstring.h
|
||||
ctime
|
||||
ctime.h
|
||||
ctype.h
|
||||
cwchar
|
||||
cwchar.h
|
||||
cwctype
|
||||
cwctype.h
|
||||
c_locale.h
|
||||
defalloc.h
|
||||
deque
|
||||
deque.h
|
||||
exceptio.h
|
||||
exception
|
||||
exception.h
|
||||
export
|
||||
fstream
|
||||
fstream.h
|
||||
function.h
|
||||
functional
|
||||
hashtable.h
|
||||
hash_map
|
||||
hash_map.h
|
||||
hash_set
|
||||
hash_set.h
|
||||
heap.h
|
||||
iomanip
|
||||
iomanip.h
|
||||
ios
|
||||
ios.h
|
||||
iosfwd
|
||||
iosfwd.h
|
||||
iostream
|
||||
iostream.h
|
||||
istream
|
||||
istream.h
|
||||
iterator
|
||||
iterator.h
|
||||
limits
|
||||
limits.h
|
||||
list
|
||||
list.h
|
||||
locale
|
||||
locale.h
|
||||
map
|
||||
map.h
|
||||
math.h
|
||||
mem.h
|
||||
memory
|
||||
memory.h
|
||||
mmemory.h
|
||||
msl_string.h
|
||||
multimap.h
|
||||
multiset.h
|
||||
new
|
||||
new.h
|
||||
numeric
|
||||
numeric.h
|
||||
numeric.h
|
||||
ostream
|
||||
ostream.h
|
||||
pair.h
|
||||
pthread.h
|
||||
pthread_alloc
|
||||
pthread_alloc.h
|
||||
queue
|
||||
queue.h
|
||||
rope
|
||||
rope.h
|
||||
set
|
||||
set.h
|
||||
setjmp.h
|
||||
signal.h
|
||||
slist
|
||||
slist.h
|
||||
sstream
|
||||
sstream.h
|
||||
stack
|
||||
stack.h
|
||||
stdarg.h
|
||||
stddef.h
|
||||
stddef.h
|
||||
stdexcep.h
|
||||
stdexcept
|
||||
stdio.h
|
||||
stdio_streambuf
|
||||
stdlib.h
|
||||
stdlib.h
|
||||
stlcomp.h
|
||||
stlconf.h.in
|
||||
stl_apcc.h
|
||||
stl_apple.bak.h
|
||||
stl_apple.h
|
||||
stl_as400.h
|
||||
stl_bc.h
|
||||
stl_como.h
|
||||
stl_confix.h
|
||||
stl_dec.h
|
||||
stl_dec_vms.h
|
||||
stl_fujitsu.h
|
||||
stl_gcc.h
|
||||
stl_hpacc.h
|
||||
stl_ibm.h
|
||||
stl_intel.h
|
||||
stl_kai.h
|
||||
stl_mlc.h
|
||||
stl_msvc.h
|
||||
stl_mwerks.h
|
||||
stl_mycomp.h
|
||||
stl_sco.h
|
||||
stl_select_lib.h
|
||||
stl_sgi.h
|
||||
stl_solaris.h
|
||||
stl_sunpro.h
|
||||
stl_symantec.h
|
||||
stl_tmpl.h
|
||||
stl_user_config.h
|
||||
stl_watcom.h
|
||||
stl_wince.h
|
||||
streambu.h
|
||||
streambuf
|
||||
streambuf.h
|
||||
string
|
||||
string.h
|
||||
strstrea.h
|
||||
strstream
|
||||
strstream.h
|
||||
tempbuf.h
|
||||
time.h
|
||||
tree.h
|
||||
typeinfo
|
||||
typeinfo.h
|
||||
type_traits.h
|
||||
utility
|
||||
utility.h
|
||||
valarray
|
||||
valarray.h
|
||||
vc_select_lib.h
|
||||
vector
|
||||
vector.h
|
||||
wchar.h
|
||||
wctype.h
|
||||
_abbrevs.h
|
||||
_algo.c
|
||||
_algo.h
|
||||
_algobase.c
|
||||
_algobase.h
|
||||
_alloc.c
|
||||
_alloc.h
|
||||
_alloc_old.h
|
||||
_auto_ptr.h
|
||||
_bitset.c
|
||||
_bitset.h
|
||||
_bvector.h
|
||||
_check_config.h
|
||||
_codecvt.h
|
||||
_collate.h
|
||||
_complex.c
|
||||
_complex.h
|
||||
_config.h
|
||||
_config_compat.h
|
||||
_config_compat_post.h
|
||||
_construct.h
|
||||
_ctraits_fns.h
|
||||
_ctype.h
|
||||
_cwchar.h
|
||||
_debug.c
|
||||
_debug.h
|
||||
_deque.c
|
||||
_deque.h
|
||||
_epilog.h
|
||||
_epilog.h
|
||||
_exception.h
|
||||
_fstream.c
|
||||
_fstream.h
|
||||
_function.h
|
||||
_function_base.h
|
||||
_hashtable.c
|
||||
_hashtable.h
|
||||
_hash_fun.h
|
||||
_hash_map.h
|
||||
_hash_set.h
|
||||
_heap.c
|
||||
_heap.h
|
||||
_ios.c
|
||||
_ios.h
|
||||
_iosfwd.h
|
||||
_ios_base.h
|
||||
_istream.c
|
||||
_istream.h
|
||||
_istreambuf_iterator.h
|
||||
_iterator.h
|
||||
_iterator.h
|
||||
_iterator_base.h
|
||||
_iterator_old.h
|
||||
_limits.c
|
||||
_limits.h
|
||||
_list.c
|
||||
_list.h
|
||||
_list.h
|
||||
_locale.h
|
||||
_map.h
|
||||
_messages_facets.h
|
||||
_mmap.h
|
||||
_monetary.c
|
||||
_monetary.h
|
||||
_msvc_warnings_off.h
|
||||
_null_stream.h
|
||||
_numeric.c
|
||||
_numeric.h
|
||||
_numpunct.h
|
||||
_num_get.c
|
||||
_num_get.h
|
||||
_num_put.c
|
||||
_num_put.h
|
||||
_ostream.c
|
||||
_ostream.h
|
||||
_ostreambuf_iterator.h
|
||||
_pair.h
|
||||
_prolog.h
|
||||
_pthread_alloc.h
|
||||
_ptrs_specialize.h
|
||||
_queue.h
|
||||
_range_errors.h
|
||||
_raw_storage_iter.h
|
||||
_relops.h
|
||||
_relops_cont.h
|
||||
_relops_template.h
|
||||
_rope.c
|
||||
_rope.h
|
||||
_set.h
|
||||
_set_operators.h
|
||||
_site_config.h
|
||||
_slist.c
|
||||
_slist.h
|
||||
_slist_base.c
|
||||
_slist_base.h
|
||||
_sparc_atomic.h
|
||||
_sstream.c
|
||||
_sstream.h
|
||||
_stack.h
|
||||
_stdio_file.h
|
||||
_stdio_file.h.new
|
||||
_streambuf.c
|
||||
_streambuf.h
|
||||
_streambuf_iterator.h
|
||||
_stream_iterator.h
|
||||
_string.c
|
||||
_string.h
|
||||
_string_fwd.c
|
||||
_string_fwd.h
|
||||
_string_hash.h
|
||||
_string_io.c
|
||||
_string_io.h
|
||||
_strstream.h
|
||||
_tempbuf.c
|
||||
_tempbuf.h
|
||||
_threads.c
|
||||
_threads.h
|
||||
_time_facets.c
|
||||
_time_facets.h
|
||||
_tree.c
|
||||
_tree.h
|
||||
_uninitialized.h
|
||||
_valarray.c
|
||||
_valarray.h
|
||||
_vector.c
|
||||
_vector.h
|
||||
algo.h
|
||||
algobase.h
|
||||
algorith.h
|
||||
algorithm
|
||||
alloc.h
|
||||
bitset
|
||||
bitset.h
|
||||
bvector.h
|
||||
cassert
|
||||
cassert.h
|
||||
cctype
|
||||
cctype.h
|
||||
cerrno
|
||||
cerrno.h
|
||||
cfloat
|
||||
cfloat.h
|
||||
char_traits.h
|
||||
climits
|
||||
climits.h
|
||||
clocale
|
||||
clocale.h
|
||||
cmath
|
||||
cmath.h
|
||||
complex
|
||||
complex.h
|
||||
concept_checks.h
|
||||
configure
|
||||
configure.in
|
||||
csetjmp
|
||||
csetjmp.h
|
||||
csignal
|
||||
csignal.h
|
||||
cstdarg
|
||||
cstdarg.h
|
||||
cstddef
|
||||
cstddef.h
|
||||
cstdio
|
||||
cstdio.h
|
||||
cstdlib
|
||||
cstdlib.h
|
||||
cstring
|
||||
cstring.h
|
||||
ctime
|
||||
ctime.h
|
||||
ctype.h
|
||||
cwchar
|
||||
cwchar.h
|
||||
cwctype
|
||||
cwctype.h
|
||||
c_locale.h
|
||||
defalloc.h
|
||||
deque
|
||||
deque.h
|
||||
exceptio.h
|
||||
exception
|
||||
exception.h
|
||||
export
|
||||
fstream
|
||||
fstream.h
|
||||
function.h
|
||||
functional
|
||||
hashtable.h
|
||||
hash_map
|
||||
hash_map.h
|
||||
hash_set
|
||||
hash_set.h
|
||||
heap.h
|
||||
iomanip
|
||||
iomanip.h
|
||||
ios
|
||||
ios.h
|
||||
iosfwd
|
||||
iosfwd.h
|
||||
iostream
|
||||
iostream.h
|
||||
istream
|
||||
istream.h
|
||||
iterator
|
||||
iterator.h
|
||||
limits
|
||||
limits.h
|
||||
list
|
||||
list.h
|
||||
locale
|
||||
locale.h
|
||||
map
|
||||
map.h
|
||||
math.h
|
||||
mem.h
|
||||
memory
|
||||
memory.h
|
||||
mmemory.h
|
||||
msl_string.h
|
||||
multimap.h
|
||||
multiset.h
|
||||
new
|
||||
new.h
|
||||
numeric
|
||||
numeric.h
|
||||
numeric.h
|
||||
ostream
|
||||
ostream.h
|
||||
pair.h
|
||||
pthread.h
|
||||
pthread_alloc
|
||||
pthread_alloc.h
|
||||
queue
|
||||
queue.h
|
||||
rope
|
||||
rope.h
|
||||
set
|
||||
set.h
|
||||
setjmp.h
|
||||
signal.h
|
||||
slist
|
||||
slist.h
|
||||
sstream
|
||||
sstream.h
|
||||
stack
|
||||
stack.h
|
||||
stdarg.h
|
||||
stddef.h
|
||||
stddef.h
|
||||
stdexcep.h
|
||||
stdexcept
|
||||
stdio.h
|
||||
stdio_streambuf
|
||||
stdlib.h
|
||||
stdlib.h
|
||||
stlcomp.h
|
||||
stlconf.h.in
|
||||
stl_apcc.h
|
||||
stl_apple.bak.h
|
||||
stl_apple.h
|
||||
stl_as400.h
|
||||
stl_bc.h
|
||||
stl_como.h
|
||||
stl_confix.h
|
||||
stl_dec.h
|
||||
stl_dec_vms.h
|
||||
stl_fujitsu.h
|
||||
stl_gcc.h
|
||||
stl_hpacc.h
|
||||
stl_ibm.h
|
||||
stl_intel.h
|
||||
stl_kai.h
|
||||
stl_mlc.h
|
||||
stl_msvc.h
|
||||
stl_mwerks.h
|
||||
stl_mycomp.h
|
||||
stl_sco.h
|
||||
stl_select_lib.h
|
||||
stl_sgi.h
|
||||
stl_solaris.h
|
||||
stl_sunpro.h
|
||||
stl_symantec.h
|
||||
stl_tmpl.h
|
||||
stl_user_config.h
|
||||
stl_watcom.h
|
||||
stl_wince.h
|
||||
streambu.h
|
||||
streambuf
|
||||
streambuf.h
|
||||
string
|
||||
string.h
|
||||
strstrea.h
|
||||
strstream
|
||||
strstream.h
|
||||
tempbuf.h
|
||||
time.h
|
||||
tree.h
|
||||
typeinfo
|
||||
typeinfo.h
|
||||
type_traits.h
|
||||
utility
|
||||
utility.h
|
||||
valarray
|
||||
valarray.h
|
||||
vc_select_lib.h
|
||||
vector
|
||||
vector.h
|
||||
wchar.h
|
||||
wctype.h
|
||||
_abbrevs.h
|
||||
_algo.c
|
||||
_algo.h
|
||||
_algobase.c
|
||||
_algobase.h
|
||||
_alloc.c
|
||||
_alloc.h
|
||||
_alloc_old.h
|
||||
_auto_ptr.h
|
||||
_bitset.c
|
||||
_bitset.h
|
||||
_bvector.h
|
||||
_check_config.h
|
||||
_codecvt.h
|
||||
_collate.h
|
||||
_complex.c
|
||||
_complex.h
|
||||
_config.h
|
||||
_config_compat.h
|
||||
_config_compat_post.h
|
||||
_construct.h
|
||||
_ctraits_fns.h
|
||||
_ctype.h
|
||||
_cwchar.h
|
||||
_debug.c
|
||||
_debug.h
|
||||
_deque.c
|
||||
_deque.h
|
||||
_epilog.h
|
||||
_epilog.h
|
||||
_exception.h
|
||||
_fstream.c
|
||||
_fstream.h
|
||||
_function.h
|
||||
_function_base.h
|
||||
_hashtable.c
|
||||
_hashtable.h
|
||||
_hash_fun.h
|
||||
_hash_map.h
|
||||
_hash_set.h
|
||||
_heap.c
|
||||
_heap.h
|
||||
_ios.c
|
||||
_ios.h
|
||||
_iosfwd.h
|
||||
_ios_base.h
|
||||
_istream.c
|
||||
_istream.h
|
||||
_istreambuf_iterator.h
|
||||
_iterator.h
|
||||
_iterator.h
|
||||
_iterator_base.h
|
||||
_iterator_old.h
|
||||
_limits.c
|
||||
_limits.h
|
||||
_list.c
|
||||
_list.h
|
||||
_list.h
|
||||
_locale.h
|
||||
_map.h
|
||||
_messages_facets.h
|
||||
_mmap.h
|
||||
_monetary.c
|
||||
_monetary.h
|
||||
_msvc_warnings_off.h
|
||||
_null_stream.h
|
||||
_numeric.c
|
||||
_numeric.h
|
||||
_numpunct.h
|
||||
_num_get.c
|
||||
_num_get.h
|
||||
_num_put.c
|
||||
_num_put.h
|
||||
_ostream.c
|
||||
_ostream.h
|
||||
_ostreambuf_iterator.h
|
||||
_pair.h
|
||||
_prolog.h
|
||||
_pthread_alloc.h
|
||||
_ptrs_specialize.h
|
||||
_queue.h
|
||||
_range_errors.h
|
||||
_raw_storage_iter.h
|
||||
_relops.h
|
||||
_relops_cont.h
|
||||
_relops_template.h
|
||||
_rope.c
|
||||
_rope.h
|
||||
_set.h
|
||||
_set_operators.h
|
||||
_site_config.h
|
||||
_slist.c
|
||||
_slist.h
|
||||
_slist_base.c
|
||||
_slist_base.h
|
||||
_sparc_atomic.h
|
||||
_sstream.c
|
||||
_sstream.h
|
||||
_stack.h
|
||||
_stdio_file.h
|
||||
_stdio_file.h.new
|
||||
_streambuf.c
|
||||
_streambuf.h
|
||||
_streambuf_iterator.h
|
||||
_stream_iterator.h
|
||||
_string.c
|
||||
_string.h
|
||||
_string_fwd.c
|
||||
_string_fwd.h
|
||||
_string_hash.h
|
||||
_string_io.c
|
||||
_string_io.h
|
||||
_strstream.h
|
||||
_tempbuf.c
|
||||
_tempbuf.h
|
||||
_threads.c
|
||||
_threads.h
|
||||
_time_facets.c
|
||||
_time_facets.h
|
||||
_tree.c
|
||||
_tree.h
|
||||
_uninitialized.h
|
||||
_valarray.c
|
||||
_valarray.h
|
||||
_vector.c
|
||||
_vector.h
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# -*- makefile -*- Time-stamp: <04/10/17 21:16:38 ptr>
|
||||
|
||||
PRGNAME = compiler_test
|
||||
SRC_CPP = ttei1.cpp ttei2.cpp ttei3.cpp ttei4.cpp ttei5.cpp ttei6.cpp ttei7.cpp \
|
||||
partial_spec.cpp movable.cpp
|
||||
SRC_CC = eh.cc
|
||||
# -*- makefile -*- Time-stamp: <04/10/17 21:16:38 ptr>
|
||||
|
||||
PRGNAME = compiler_test
|
||||
SRC_CPP = ttei1.cpp ttei2.cpp ttei3.cpp ttei4.cpp ttei5.cpp ttei6.cpp ttei7.cpp \
|
||||
partial_spec.cpp movable.cpp
|
||||
SRC_CC = eh.cc
|
||||
|
|
58
sdk/lib/3rdparty/stlport/test/compiler/README
vendored
58
sdk/lib/3rdparty/stlport/test/compiler/README
vendored
|
@ -1,29 +1,29 @@
|
|||
1. About this tests
|
||||
|
||||
This is tests to check whether compiler understand or not some language
|
||||
construction. It is NOT tests for language support libraries, only tests for
|
||||
compiler!
|
||||
|
||||
The main purposes of this tests is to help for developers to find correct
|
||||
workarounds, if compiler don't understand some (correct) language constructions.
|
||||
|
||||
--------------------------------------------------------
|
||||
|
||||
2. Compilation
|
||||
|
||||
Compilation with GNU Make utility and gcc compiler:
|
||||
|
||||
make -f gcc.mak -k
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------
|
||||
|
||||
Notes about tests.
|
||||
|
||||
ttei1.cpp, ttei2.cpp, ttei3.cpp, ttei4.cpp, ttei5.cpp:
|
||||
|
||||
tests for template-in-the-template explicit specialization.
|
||||
Indeed ttei3.cpp, ttei4.cpp, ttei5.cpp suggest syntax not approved by standard
|
||||
(14.7.3, paragraphs 16--18), but ttei3.cpp, ttei4.cpp accepted (recheck!) by VC6,
|
||||
while ttei5.cpp accepted by gcc before 3.4.0.
|
||||
1. About this tests
|
||||
|
||||
This is tests to check whether compiler understand or not some language
|
||||
construction. It is NOT tests for language support libraries, only tests for
|
||||
compiler!
|
||||
|
||||
The main purposes of this tests is to help for developers to find correct
|
||||
workarounds, if compiler don't understand some (correct) language constructions.
|
||||
|
||||
--------------------------------------------------------
|
||||
|
||||
2. Compilation
|
||||
|
||||
Compilation with GNU Make utility and gcc compiler:
|
||||
|
||||
make -f gcc.mak -k
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------
|
||||
|
||||
Notes about tests.
|
||||
|
||||
ttei1.cpp, ttei2.cpp, ttei3.cpp, ttei4.cpp, ttei5.cpp:
|
||||
|
||||
tests for template-in-the-template explicit specialization.
|
||||
Indeed ttei3.cpp, ttei4.cpp, ttei5.cpp suggest syntax not approved by standard
|
||||
(14.7.3, paragraphs 16--18), but ttei3.cpp, ttei4.cpp accepted (recheck!) by VC6,
|
||||
while ttei5.cpp accepted by gcc before 3.4.0.
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# -*- Makefile -*- Time-stamp: <03/07/09 18:08:47 ptr>
|
||||
|
||||
SRCROOT := ../../../build
|
||||
COMPILER_NAME := gcc
|
||||
|
||||
# WITHOUT_STLPORT = 1
|
||||
# STLPORT_DIR := ../../..
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/top.mak
|
||||
|
||||
#CXXFLAGS += -fuse-cxa-atexit
|
||||
LDFLAGS += -Wl,-rpath=${STLPORT_LIB_DIR}
|
||||
# -*- Makefile -*- Time-stamp: <03/07/09 18:08:47 ptr>
|
||||
|
||||
SRCROOT := ../../../build
|
||||
COMPILER_NAME := gcc
|
||||
|
||||
# WITHOUT_STLPORT = 1
|
||||
# STLPORT_DIR := ../../..
|
||||
include Makefile.inc
|
||||
include ${SRCROOT}/Makefiles/top.mak
|
||||
|
||||
#CXXFLAGS += -fuse-cxa-atexit
|
||||
LDFLAGS += -Wl,-rpath=${STLPORT_LIB_DIR}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# -*- makefile -*- Time-stamp: <02/07/14 14:03:13 ptr>
|
||||
|
||||
PRGNAME = stterm-test
|
||||
SRC_CC = stterm-test.cc
|
||||
# -*- makefile -*- Time-stamp: <02/07/14 14:03:13 ptr>
|
||||
|
||||
PRGNAME = stterm-test
|
||||
SRC_CC = stterm-test.cc
|
||||
|
|
|
@ -1,117 +1,117 @@
|
|||
/*
|
||||
* The conversation with Matti Rintala on STLport forum 2005-08-24:
|
||||
*
|
||||
* Do you mean ISO/IEC 14882 3.6.3 [basic.start.term]?
|
||||
*
|
||||
* Yes. "Destructors (12.4) for initialized objects of static storage duration
|
||||
* (declared at block scope or at namespace scope) are called as a result
|
||||
* of returning from main and as a result of calling exit (18.3). These objects
|
||||
* are destroyed in the reverse order of the completion of their constructor
|
||||
* or of the completion of their dynamic initialization."
|
||||
*
|
||||
* I found a confirmation on the web that gcc may not strictly conform
|
||||
* to this behaviour in certains cases unless -fuse-cxa-atexit is used.
|
||||
*
|
||||
* Test below give (without -fuse-cxa-atexit)
|
||||
|
||||
Init::Init()
|
||||
Init::use_it
|
||||
It ctor done <-- 0
|
||||
Init::use_it done
|
||||
Init ctor done <-- 1
|
||||
Init2 ctor done <-- 2
|
||||
It dtor done <-- 0
|
||||
Init2 dtor done <-- 2
|
||||
Init dtor done <-- 1
|
||||
|
||||
|
||||
* but should:
|
||||
|
||||
Init::Init()
|
||||
Init::use_it
|
||||
It ctor done <-- 0
|
||||
Init::use_it done
|
||||
Init ctor done <-- 1
|
||||
Init2 ctor done <-- 2
|
||||
Init2 dtor done <-- 2
|
||||
Init dtor done <-- 1
|
||||
It dtor done <-- 0
|
||||
|
||||
|
||||
*/
|
||||
#include <stdio.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class Init
|
||||
{
|
||||
public:
|
||||
Init();
|
||||
~Init();
|
||||
|
||||
static void use_it();
|
||||
};
|
||||
|
||||
class Init2
|
||||
{
|
||||
public:
|
||||
Init2();
|
||||
~Init2();
|
||||
|
||||
};
|
||||
|
||||
static Init init;
|
||||
static Init2 init2;
|
||||
|
||||
class It
|
||||
{
|
||||
public:
|
||||
It();
|
||||
~It();
|
||||
};
|
||||
|
||||
Init::Init()
|
||||
{
|
||||
printf( "Init::Init()\n" );
|
||||
use_it();
|
||||
printf( "Init ctor done\n" );
|
||||
}
|
||||
|
||||
Init::~Init()
|
||||
{
|
||||
printf( "Init dtor done\n" );
|
||||
}
|
||||
|
||||
void Init::use_it()
|
||||
{
|
||||
printf( "Init::use_it\n" );
|
||||
|
||||
static It it;
|
||||
|
||||
printf( "Init::use_it done\n" );
|
||||
}
|
||||
|
||||
Init2::Init2()
|
||||
{
|
||||
printf( "Init2 ctor done\n" );
|
||||
}
|
||||
|
||||
Init2::~Init2()
|
||||
{
|
||||
printf( "Init2 dtor done\n" );
|
||||
}
|
||||
|
||||
It::It()
|
||||
{
|
||||
printf( "It ctor done\n" );
|
||||
}
|
||||
|
||||
It::~It()
|
||||
{
|
||||
printf( "It dtor done\n" );
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
* The conversation with Matti Rintala on STLport forum 2005-08-24:
|
||||
*
|
||||
* Do you mean ISO/IEC 14882 3.6.3 [basic.start.term]?
|
||||
*
|
||||
* Yes. "Destructors (12.4) for initialized objects of static storage duration
|
||||
* (declared at block scope or at namespace scope) are called as a result
|
||||
* of returning from main and as a result of calling exit (18.3). These objects
|
||||
* are destroyed in the reverse order of the completion of their constructor
|
||||
* or of the completion of their dynamic initialization."
|
||||
*
|
||||
* I found a confirmation on the web that gcc may not strictly conform
|
||||
* to this behaviour in certains cases unless -fuse-cxa-atexit is used.
|
||||
*
|
||||
* Test below give (without -fuse-cxa-atexit)
|
||||
|
||||
Init::Init()
|
||||
Init::use_it
|
||||
It ctor done <-- 0
|
||||
Init::use_it done
|
||||
Init ctor done <-- 1
|
||||
Init2 ctor done <-- 2
|
||||
It dtor done <-- 0
|
||||
Init2 dtor done <-- 2
|
||||
Init dtor done <-- 1
|
||||
|
||||
|
||||
* but should:
|
||||
|
||||
Init::Init()
|
||||
Init::use_it
|
||||
It ctor done <-- 0
|
||||
Init::use_it done
|
||||
Init ctor done <-- 1
|
||||
Init2 ctor done <-- 2
|
||||
Init2 dtor done <-- 2
|
||||
Init dtor done <-- 1
|
||||
It dtor done <-- 0
|
||||
|
||||
|
||||
*/
|
||||
#include <stdio.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class Init
|
||||
{
|
||||
public:
|
||||
Init();
|
||||
~Init();
|
||||
|
||||
static void use_it();
|
||||
};
|
||||
|
||||
class Init2
|
||||
{
|
||||
public:
|
||||
Init2();
|
||||
~Init2();
|
||||
|
||||
};
|
||||
|
||||
static Init init;
|
||||
static Init2 init2;
|
||||
|
||||
class It
|
||||
{
|
||||
public:
|
||||
It();
|
||||
~It();
|
||||
};
|
||||
|
||||
Init::Init()
|
||||
{
|
||||
printf( "Init::Init()\n" );
|
||||
use_it();
|
||||
printf( "Init ctor done\n" );
|
||||
}
|
||||
|
||||
Init::~Init()
|
||||
{
|
||||
printf( "Init dtor done\n" );
|
||||
}
|
||||
|
||||
void Init::use_it()
|
||||
{
|
||||
printf( "Init::use_it\n" );
|
||||
|
||||
static It it;
|
||||
|
||||
printf( "Init::use_it done\n" );
|
||||
}
|
||||
|
||||
Init2::Init2()
|
||||
{
|
||||
printf( "Init2 ctor done\n" );
|
||||
}
|
||||
|
||||
Init2::~Init2()
|
||||
{
|
||||
printf( "Init2 dtor done\n" );
|
||||
}
|
||||
|
||||
It::It()
|
||||
{
|
||||
printf( "It ctor done\n" );
|
||||
}
|
||||
|
||||
It::~It()
|
||||
{
|
||||
printf( "It dtor done\n" );
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
120
sdk/lib/3rdparty/stlport/test/compiler/eh.cc
vendored
120
sdk/lib/3rdparty/stlport/test/compiler/eh.cc
vendored
|
@ -1,60 +1,60 @@
|
|||
#include <list> /* required, to expose allocator */
|
||||
#include <stdexcept>
|
||||
#include <stdio.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
struct BigStruct
|
||||
{
|
||||
char _data[4096];
|
||||
};
|
||||
|
||||
void bad_alloc_test()
|
||||
{
|
||||
typedef allocator<BigStruct> BigStructAllocType;
|
||||
BigStructAllocType bigStructAlloc;
|
||||
|
||||
try {
|
||||
//Lets try to allocate almost 4096 Go (on most of the platforms) of memory:
|
||||
BigStructAllocType::pointer pbigStruct = bigStructAlloc.allocate(1024 * 1024 * 1024);
|
||||
|
||||
// CPPUNIT_ASSERT( pbigStruct != 0 && "Allocation failed but no exception thrown" );
|
||||
}
|
||||
catch (bad_alloc const&) {
|
||||
printf( "Ok\n" );
|
||||
}
|
||||
catch (...) {
|
||||
//We shouldn't be there:
|
||||
// CPPUNIT_ASSERT( false && "Not bad_alloc exception thrown." );
|
||||
}
|
||||
}
|
||||
|
||||
void bad_alloc_test1()
|
||||
{
|
||||
try {
|
||||
allocator<BigStruct> all;
|
||||
BigStruct *bs = all.allocate(1024*1024*1024);
|
||||
|
||||
// throw bad_alloc();
|
||||
}
|
||||
catch ( bad_alloc const & ) {
|
||||
printf( "I am here\n" );
|
||||
}
|
||||
catch ( ... ) {
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
bad_alloc_test();
|
||||
#if 0
|
||||
try {
|
||||
throw bad_alloc();
|
||||
}
|
||||
catch ( bad_alloc& ) {
|
||||
}
|
||||
catch ( ... ) {
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
#include <list> /* required, to expose allocator */
|
||||
#include <stdexcept>
|
||||
#include <stdio.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
struct BigStruct
|
||||
{
|
||||
char _data[4096];
|
||||
};
|
||||
|
||||
void bad_alloc_test()
|
||||
{
|
||||
typedef allocator<BigStruct> BigStructAllocType;
|
||||
BigStructAllocType bigStructAlloc;
|
||||
|
||||
try {
|
||||
//Lets try to allocate almost 4096 Go (on most of the platforms) of memory:
|
||||
BigStructAllocType::pointer pbigStruct = bigStructAlloc.allocate(1024 * 1024 * 1024);
|
||||
|
||||
// CPPUNIT_ASSERT( pbigStruct != 0 && "Allocation failed but no exception thrown" );
|
||||
}
|
||||
catch (bad_alloc const&) {
|
||||
printf( "Ok\n" );
|
||||
}
|
||||
catch (...) {
|
||||
//We shouldn't be there:
|
||||
// CPPUNIT_ASSERT( false && "Not bad_alloc exception thrown." );
|
||||
}
|
||||
}
|
||||
|
||||
void bad_alloc_test1()
|
||||
{
|
||||
try {
|
||||
allocator<BigStruct> all;
|
||||
BigStruct *bs = all.allocate(1024*1024*1024);
|
||||
|
||||
// throw bad_alloc();
|
||||
}
|
||||
catch ( bad_alloc const & ) {
|
||||
printf( "I am here\n" );
|
||||
}
|
||||
catch ( ... ) {
|
||||
}
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
bad_alloc_test();
|
||||
#if 0
|
||||
try {
|
||||
throw bad_alloc();
|
||||
}
|
||||
catch ( bad_alloc& ) {
|
||||
}
|
||||
catch ( ... ) {
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
|
108
sdk/lib/3rdparty/stlport/test/eh/descrip.mms
vendored
108
sdk/lib/3rdparty/stlport/test/eh/descrip.mms
vendored
|
@ -1,54 +1,54 @@
|
|||
# ;;; -*- Mode:makefile;-*-
|
||||
# Generated manually for MMS
|
||||
|
||||
# point this to proper location
|
||||
STL_INCL= /include="../../stlport"
|
||||
|
||||
|
||||
# STL_INCL= -DEH_NO_SGI_STL
|
||||
|
||||
.SUFFIXES .obj .cpp
|
||||
|
||||
all : check
|
||||
|
||||
AUX_LIST=TestClass.obj,main.obj,nc_alloc.obj,random_number.obj
|
||||
|
||||
TEST_LIST=test_algo.obj,-
|
||||
test_algobase.obj,test_list.obj,test_slist.obj,-
|
||||
test_bit_vector.obj,test_vector.obj,-
|
||||
test_deque.obj,test_set.obj,test_map.obj,-
|
||||
test_hash_map.obj,test_hash_set.obj,test_rope.obj,-
|
||||
test_string.obj,test_bitset.obj,test_valarray.obj
|
||||
|
||||
LIST=$(AUX_LIST),$(TEST_LIST)
|
||||
|
||||
OBJECTS = $(LIST)
|
||||
EXECS = $(LIST:%.obj=%.exe)
|
||||
TESTS = $(LIST:%.obj=%.out)
|
||||
TEST_EXE = eh_test.exe
|
||||
TEST = eh_test.out
|
||||
|
||||
CC = cxx
|
||||
CXX = $(CC)
|
||||
LINK = cxxlink
|
||||
|
||||
# -std strict_ansi_errors
|
||||
|
||||
CXXFLAGS = $(STL_INCL) /define=(__NO_USE_STD_IOSTREAM,EH_VECTOR_OPERATOR_NEW,EH_DELETE_HAS_THROW_SPEC)
|
||||
|
||||
# This is to test with native STL
|
||||
# CXXFLAGS = +w2 -xildoff -D__STL_USE_NEWALLOC -DEH_NO_SGI_STL -DEH_NEW_HEADERS -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC
|
||||
|
||||
|
||||
LIBS =
|
||||
LIBSTDCXX =
|
||||
|
||||
check : $(TEST)
|
||||
|
||||
$(TEST) : $(OBJECTS)
|
||||
$(LINK)/exe=$(TEST_EXE) $(OBJECTS) $(LIBS)
|
||||
run $(TEST_EXE)
|
||||
|
||||
.cpp.obj :
|
||||
$(CXX) $(CXXFLAGS) /obj=$@ $<
|
||||
|
||||
# ;;; -*- Mode:makefile;-*-
|
||||
# Generated manually for MMS
|
||||
|
||||
# point this to proper location
|
||||
STL_INCL= /include="../../stlport"
|
||||
|
||||
|
||||
# STL_INCL= -DEH_NO_SGI_STL
|
||||
|
||||
.SUFFIXES .obj .cpp
|
||||
|
||||
all : check
|
||||
|
||||
AUX_LIST=TestClass.obj,main.obj,nc_alloc.obj,random_number.obj
|
||||
|
||||
TEST_LIST=test_algo.obj,-
|
||||
test_algobase.obj,test_list.obj,test_slist.obj,-
|
||||
test_bit_vector.obj,test_vector.obj,-
|
||||
test_deque.obj,test_set.obj,test_map.obj,-
|
||||
test_hash_map.obj,test_hash_set.obj,test_rope.obj,-
|
||||
test_string.obj,test_bitset.obj,test_valarray.obj
|
||||
|
||||
LIST=$(AUX_LIST),$(TEST_LIST)
|
||||
|
||||
OBJECTS = $(LIST)
|
||||
EXECS = $(LIST:%.obj=%.exe)
|
||||
TESTS = $(LIST:%.obj=%.out)
|
||||
TEST_EXE = eh_test.exe
|
||||
TEST = eh_test.out
|
||||
|
||||
CC = cxx
|
||||
CXX = $(CC)
|
||||
LINK = cxxlink
|
||||
|
||||
# -std strict_ansi_errors
|
||||
|
||||
CXXFLAGS = $(STL_INCL) /define=(__NO_USE_STD_IOSTREAM,EH_VECTOR_OPERATOR_NEW,EH_DELETE_HAS_THROW_SPEC)
|
||||
|
||||
# This is to test with native STL
|
||||
# CXXFLAGS = +w2 -xildoff -D__STL_USE_NEWALLOC -DEH_NO_SGI_STL -DEH_NEW_HEADERS -DEH_VECTOR_OPERATOR_NEW -DEH_DELETE_HAS_THROW_SPEC
|
||||
|
||||
|
||||
LIBS =
|
||||
LIBSTDCXX =
|
||||
|
||||
check : $(TEST)
|
||||
|
||||
$(TEST) : $(OBJECTS)
|
||||
$(LINK)/exe=$(TEST_EXE) $(OBJECTS) $(LIBS)
|
||||
run $(TEST_EXE)
|
||||
|
||||
.cpp.obj :
|
||||
$(CXX) $(CXXFLAGS) /obj=$@ $<
|
||||
|
||||
|
|
74
sdk/lib/3rdparty/stlport/test/eh/export
vendored
74
sdk/lib/3rdparty/stlport/test/eh/export
vendored
|
@ -1,37 +1,37 @@
|
|||
LeakCheck.h
|
||||
Prefix.h
|
||||
SortClass.h
|
||||
TestClass.cpp
|
||||
TestClass.h
|
||||
Tests.h
|
||||
ThrowCompare.h
|
||||
export
|
||||
gcc.mak
|
||||
main.cpp
|
||||
nc_alloc.cpp
|
||||
nc_alloc.h
|
||||
random_number.cpp
|
||||
random_number.h
|
||||
sunpro.mak
|
||||
test_algo.cpp
|
||||
test_algobase.cpp
|
||||
test_assign_op.h
|
||||
test_bit_vector.cpp
|
||||
test_bitset.cpp
|
||||
test_construct.h
|
||||
test_deque.cpp
|
||||
test_hash_map.cpp
|
||||
test_hash_resize.h
|
||||
test_hash_set.cpp
|
||||
test_insert.h
|
||||
test_list.cpp
|
||||
test_map.cpp
|
||||
test_push_back.h
|
||||
test_push_front.h
|
||||
test_rope.cpp
|
||||
test_set.cpp
|
||||
test_slist.cpp
|
||||
test_string.cpp
|
||||
test_valarray.cpp
|
||||
test_vector.cpp
|
||||
vc.mak
|
||||
LeakCheck.h
|
||||
Prefix.h
|
||||
SortClass.h
|
||||
TestClass.cpp
|
||||
TestClass.h
|
||||
Tests.h
|
||||
ThrowCompare.h
|
||||
export
|
||||
gcc.mak
|
||||
main.cpp
|
||||
nc_alloc.cpp
|
||||
nc_alloc.h
|
||||
random_number.cpp
|
||||
random_number.h
|
||||
sunpro.mak
|
||||
test_algo.cpp
|
||||
test_algobase.cpp
|
||||
test_assign_op.h
|
||||
test_bit_vector.cpp
|
||||
test_bitset.cpp
|
||||
test_construct.h
|
||||
test_deque.cpp
|
||||
test_hash_map.cpp
|
||||
test_hash_resize.h
|
||||
test_hash_set.cpp
|
||||
test_insert.h
|
||||
test_list.cpp
|
||||
test_map.cpp
|
||||
test_push_back.h
|
||||
test_push_front.h
|
||||
test_rope.cpp
|
||||
test_set.cpp
|
||||
test_slist.cpp
|
||||
test_string.cpp
|
||||
test_valarray.cpp
|
||||
test_vector.cpp
|
||||
vc.mak
|
||||
|
|
|
@ -1,35 +1,35 @@
|
|||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcscat
|
||||
.code
|
||||
|
||||
FUNC _tcscat
|
||||
FPO 0, 2, 2, 2, 0, FRAME_FPO
|
||||
push esi
|
||||
push edi
|
||||
mov edi, [esp + 12]
|
||||
mov esi, [esp + 16]
|
||||
|
||||
xor eax, eax
|
||||
mov ecx, -1
|
||||
cld
|
||||
|
||||
repne _tscas
|
||||
_tdec(edi)
|
||||
|
||||
.L1:
|
||||
_tlods
|
||||
_tstos
|
||||
test _treg(a), _treg(a)
|
||||
jnz .L1
|
||||
|
||||
mov eax, [esp + 12]
|
||||
pop edi
|
||||
pop esi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcscat
|
||||
.code
|
||||
|
||||
FUNC _tcscat
|
||||
FPO 0, 2, 2, 2, 0, FRAME_FPO
|
||||
push esi
|
||||
push edi
|
||||
mov edi, [esp + 12]
|
||||
mov esi, [esp + 16]
|
||||
|
||||
xor eax, eax
|
||||
mov ecx, -1
|
||||
cld
|
||||
|
||||
repne _tscas
|
||||
_tdec(edi)
|
||||
|
||||
.L1:
|
||||
_tlods
|
||||
_tstos
|
||||
test _treg(a), _treg(a)
|
||||
jnz .L1
|
||||
|
||||
mov eax, [esp + 12]
|
||||
pop edi
|
||||
pop esi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
|
|
@ -1,32 +1,32 @@
|
|||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcschr
|
||||
.code
|
||||
|
||||
FUNC _tcschr
|
||||
FPO 0, 2, 1, 1, 0, FRAME_FPO
|
||||
push esi
|
||||
mov esi, [esp + 8]
|
||||
mov edx, [esp + 12]
|
||||
cld
|
||||
|
||||
.L1:
|
||||
_tlods
|
||||
cmp _treg(d), _treg(a)
|
||||
je .L2
|
||||
test _treg(a), _treg(a)
|
||||
jnz .L1
|
||||
mov esi, _tsize
|
||||
|
||||
.L2:
|
||||
mov eax, esi
|
||||
_tdec(eax)
|
||||
|
||||
pop esi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcschr
|
||||
.code
|
||||
|
||||
FUNC _tcschr
|
||||
FPO 0, 2, 1, 1, 0, FRAME_FPO
|
||||
push esi
|
||||
mov esi, [esp + 8]
|
||||
mov edx, [esp + 12]
|
||||
cld
|
||||
|
||||
.L1:
|
||||
_tlods
|
||||
cmp _treg(d), _treg(a)
|
||||
je .L2
|
||||
test _treg(a), _treg(a)
|
||||
jnz .L1
|
||||
mov esi, _tsize
|
||||
|
||||
.L2:
|
||||
mov eax, esi
|
||||
_tdec(eax)
|
||||
|
||||
pop esi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
|
|
@ -1,37 +1,37 @@
|
|||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcscmp
|
||||
.code
|
||||
|
||||
FUNC _tcscmp
|
||||
FPO 0, 2, 2, 2, 0, FRAME_FPO
|
||||
push esi
|
||||
push edi
|
||||
mov esi, [esp + 12]
|
||||
mov edi, [esp + 16]
|
||||
xor eax, eax
|
||||
cld
|
||||
|
||||
.L1:
|
||||
_tlods
|
||||
_tscas
|
||||
jne .L2
|
||||
test eax, eax
|
||||
jne .L1
|
||||
xor eax, eax
|
||||
jmp .L3
|
||||
|
||||
.L2:
|
||||
sbb eax, eax
|
||||
or al, 1
|
||||
|
||||
.L3:
|
||||
pop edi
|
||||
pop esi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcscmp
|
||||
.code
|
||||
|
||||
FUNC _tcscmp
|
||||
FPO 0, 2, 2, 2, 0, FRAME_FPO
|
||||
push esi
|
||||
push edi
|
||||
mov esi, [esp + 12]
|
||||
mov edi, [esp + 16]
|
||||
xor eax, eax
|
||||
cld
|
||||
|
||||
.L1:
|
||||
_tlods
|
||||
_tscas
|
||||
jne .L2
|
||||
test eax, eax
|
||||
jne .L1
|
||||
xor eax, eax
|
||||
jmp .L3
|
||||
|
||||
.L2:
|
||||
sbb eax, eax
|
||||
or al, 1
|
||||
|
||||
.L3:
|
||||
pop edi
|
||||
pop esi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcscpy
|
||||
.code
|
||||
|
||||
FUNC _tcscpy
|
||||
FPO 0, 2, 2, 2, 0, FRAME_FPO
|
||||
push esi
|
||||
push edi
|
||||
|
||||
mov edi, [esp + 12]
|
||||
mov esi, [esp + 16]
|
||||
cld
|
||||
|
||||
.L1:
|
||||
_tlods
|
||||
_tstos
|
||||
test _treg(a), _treg(a)
|
||||
jnz .L1
|
||||
|
||||
mov eax, [esp + 12]
|
||||
|
||||
pop edi
|
||||
pop esi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcscpy
|
||||
.code
|
||||
|
||||
FUNC _tcscpy
|
||||
FPO 0, 2, 2, 2, 0, FRAME_FPO
|
||||
push esi
|
||||
push edi
|
||||
|
||||
mov edi, [esp + 12]
|
||||
mov esi, [esp + 16]
|
||||
cld
|
||||
|
||||
.L1:
|
||||
_tlods
|
||||
_tstos
|
||||
test _treg(a), _treg(a)
|
||||
jnz .L1
|
||||
|
||||
mov eax, [esp + 12]
|
||||
|
||||
pop edi
|
||||
pop esi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
|
|
@ -1,45 +1,45 @@
|
|||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcslen
|
||||
.code
|
||||
|
||||
FUNC _tcslen
|
||||
FPO 0, 1, 1, 1, 0, FRAME_FPO
|
||||
|
||||
/* Save edi and eflags (according to the x86 ABI, we don't need to do that
|
||||
but since the native function doesn't change the direction flag, we don't
|
||||
either */
|
||||
push edi
|
||||
pushfd
|
||||
|
||||
/* Load the string pointer into edi */
|
||||
mov edi, [esp + 12]
|
||||
|
||||
/* Set eax to 0, since we want to compare with 0 */
|
||||
xor eax, eax
|
||||
|
||||
/* Set ecx to -1 (i.e. 0xFFFFFFFF) */
|
||||
mov ecx, -1
|
||||
|
||||
/* Clear direction flag */
|
||||
cld
|
||||
|
||||
/* Now compare the characters until a 0 is found */
|
||||
repne _tscas
|
||||
|
||||
/* Calculate the count. For n characters, we do (n + 1) comparisons. Initial
|
||||
value of ecx was -1, so end value of ecx is (-1 - (n + 1)) = -(n + 2).
|
||||
=> n = -ecx - 2 = ~ecx - 1 */
|
||||
not ecx
|
||||
lea eax, [ecx - 1]
|
||||
|
||||
/* Restore eflags/edi and return the result */
|
||||
popfd
|
||||
pop edi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcslen
|
||||
.code
|
||||
|
||||
FUNC _tcslen
|
||||
FPO 0, 1, 1, 1, 0, FRAME_FPO
|
||||
|
||||
/* Save edi and eflags (according to the x86 ABI, we don't need to do that
|
||||
but since the native function doesn't change the direction flag, we don't
|
||||
either */
|
||||
push edi
|
||||
pushfd
|
||||
|
||||
/* Load the string pointer into edi */
|
||||
mov edi, [esp + 12]
|
||||
|
||||
/* Set eax to 0, since we want to compare with 0 */
|
||||
xor eax, eax
|
||||
|
||||
/* Set ecx to -1 (i.e. 0xFFFFFFFF) */
|
||||
mov ecx, -1
|
||||
|
||||
/* Clear direction flag */
|
||||
cld
|
||||
|
||||
/* Now compare the characters until a 0 is found */
|
||||
repne _tscas
|
||||
|
||||
/* Calculate the count. For n characters, we do (n + 1) comparisons. Initial
|
||||
value of ecx was -1, so end value of ecx is (-1 - (n + 1)) = -(n + 2).
|
||||
=> n = -ecx - 2 = ~ecx - 1 */
|
||||
not ecx
|
||||
lea eax, [ecx - 1]
|
||||
|
||||
/* Restore eflags/edi and return the result */
|
||||
popfd
|
||||
pop edi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
|
|
@ -1,45 +1,45 @@
|
|||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcsncat
|
||||
.code
|
||||
|
||||
FUNC _tcsncat
|
||||
FPO 0, 3, 2, 2, 0, FRAME_FPO
|
||||
push esi
|
||||
push edi
|
||||
mov edi, [esp + 12]
|
||||
mov esi, [esp + 16]
|
||||
cld
|
||||
|
||||
xor eax, eax
|
||||
mov ecx, -1
|
||||
repne _tscas
|
||||
_tdec(edi)
|
||||
|
||||
mov ecx, [esp + 20]
|
||||
|
||||
.L1:
|
||||
dec ecx
|
||||
js .L2
|
||||
_tlods
|
||||
_tstos
|
||||
test _treg(a), _treg(a)
|
||||
jne .L1
|
||||
jmp .L3
|
||||
|
||||
.L2:
|
||||
xor eax, eax
|
||||
_tstos
|
||||
|
||||
.L3:
|
||||
mov eax, [esp + 12]
|
||||
pop edi
|
||||
pop esi
|
||||
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcsncat
|
||||
.code
|
||||
|
||||
FUNC _tcsncat
|
||||
FPO 0, 3, 2, 2, 0, FRAME_FPO
|
||||
push esi
|
||||
push edi
|
||||
mov edi, [esp + 12]
|
||||
mov esi, [esp + 16]
|
||||
cld
|
||||
|
||||
xor eax, eax
|
||||
mov ecx, -1
|
||||
repne _tscas
|
||||
_tdec(edi)
|
||||
|
||||
mov ecx, [esp + 20]
|
||||
|
||||
.L1:
|
||||
dec ecx
|
||||
js .L2
|
||||
_tlods
|
||||
_tstos
|
||||
test _treg(a), _treg(a)
|
||||
jne .L1
|
||||
jmp .L3
|
||||
|
||||
.L2:
|
||||
xor eax, eax
|
||||
_tstos
|
||||
|
||||
.L3:
|
||||
mov eax, [esp + 12]
|
||||
pop edi
|
||||
pop esi
|
||||
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
|
|
@ -1,43 +1,43 @@
|
|||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcsncmp
|
||||
.code
|
||||
|
||||
FUNC _tcsncmp
|
||||
FPO 0, 3, 2, 2, 0, FRAME_FPO
|
||||
push esi
|
||||
push edi
|
||||
mov esi, [esp + 12] /* s1 */
|
||||
mov edi, [esp + 16] /* s2 */
|
||||
mov ecx, [esp + 20] /* n */
|
||||
|
||||
xor eax, eax
|
||||
cld
|
||||
|
||||
.L1:
|
||||
dec ecx
|
||||
js .L2
|
||||
_tlods
|
||||
_tscas
|
||||
jne .L3
|
||||
test eax, eax
|
||||
jne .L1
|
||||
|
||||
.L2:
|
||||
xor eax, eax
|
||||
jmp .L4
|
||||
|
||||
.L3:
|
||||
sbb eax, eax
|
||||
or al, 1
|
||||
|
||||
.L4:
|
||||
pop edi
|
||||
pop esi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcsncmp
|
||||
.code
|
||||
|
||||
FUNC _tcsncmp
|
||||
FPO 0, 3, 2, 2, 0, FRAME_FPO
|
||||
push esi
|
||||
push edi
|
||||
mov esi, [esp + 12] /* s1 */
|
||||
mov edi, [esp + 16] /* s2 */
|
||||
mov ecx, [esp + 20] /* n */
|
||||
|
||||
xor eax, eax
|
||||
cld
|
||||
|
||||
.L1:
|
||||
dec ecx
|
||||
js .L2
|
||||
_tlods
|
||||
_tscas
|
||||
jne .L3
|
||||
test eax, eax
|
||||
jne .L1
|
||||
|
||||
.L2:
|
||||
xor eax, eax
|
||||
jmp .L4
|
||||
|
||||
.L3:
|
||||
sbb eax, eax
|
||||
or al, 1
|
||||
|
||||
.L4:
|
||||
pop edi
|
||||
pop esi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
|
|
@ -1,37 +1,37 @@
|
|||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcsncpy
|
||||
.code
|
||||
|
||||
FUNC _tcsncpy
|
||||
FPO 0, 3, 2, 2, 0, FRAME_FPO
|
||||
push esi
|
||||
push edi
|
||||
mov edi, [esp + 12] /* s1 */
|
||||
mov esi, [esp + 16] /* s2 */
|
||||
mov ecx, [esp + 20] /* n */
|
||||
|
||||
xor eax, eax
|
||||
cld
|
||||
|
||||
.L1:
|
||||
dec ecx
|
||||
js .L2
|
||||
_tlods
|
||||
_tstos
|
||||
test _treg(a), _treg(a)
|
||||
jnz .L1
|
||||
rep _tstos
|
||||
|
||||
.L2:
|
||||
mov eax, [esp + 12]
|
||||
|
||||
pop edi
|
||||
pop esi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcsncpy
|
||||
.code
|
||||
|
||||
FUNC _tcsncpy
|
||||
FPO 0, 3, 2, 2, 0, FRAME_FPO
|
||||
push esi
|
||||
push edi
|
||||
mov edi, [esp + 12] /* s1 */
|
||||
mov esi, [esp + 16] /* s2 */
|
||||
mov ecx, [esp + 20] /* n */
|
||||
|
||||
xor eax, eax
|
||||
cld
|
||||
|
||||
.L1:
|
||||
dec ecx
|
||||
js .L2
|
||||
_tlods
|
||||
_tstos
|
||||
test _treg(a), _treg(a)
|
||||
jnz .L1
|
||||
rep _tstos
|
||||
|
||||
.L2:
|
||||
mov eax, [esp + 12]
|
||||
|
||||
pop edi
|
||||
pop esi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcsnlen
|
||||
.code
|
||||
|
||||
FUNC _tcsnlen
|
||||
FPO 0, 2, 1, 1, 0, FRAME_FPO
|
||||
push edi
|
||||
mov edi, [esp + 8]
|
||||
mov ecx, [esp + 12]
|
||||
xor eax, eax
|
||||
test ecx, ecx
|
||||
jz .L1
|
||||
mov edx, ecx
|
||||
|
||||
cld
|
||||
|
||||
repne _tscas
|
||||
|
||||
sete al
|
||||
sub edx, ecx
|
||||
sub edx, eax
|
||||
mov eax, edx
|
||||
|
||||
.L1:
|
||||
pop edi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcsnlen
|
||||
.code
|
||||
|
||||
FUNC _tcsnlen
|
||||
FPO 0, 2, 1, 1, 0, FRAME_FPO
|
||||
push edi
|
||||
mov edi, [esp + 8]
|
||||
mov ecx, [esp + 12]
|
||||
xor eax, eax
|
||||
test ecx, ecx
|
||||
jz .L1
|
||||
mov edx, ecx
|
||||
|
||||
cld
|
||||
|
||||
repne _tscas
|
||||
|
||||
sete al
|
||||
sub edx, ecx
|
||||
sub edx, eax
|
||||
mov eax, edx
|
||||
|
||||
.L1:
|
||||
pop edi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
|
|
@ -1,34 +1,34 @@
|
|||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcsrchr
|
||||
.code
|
||||
|
||||
FUNC _tcsrchr
|
||||
FPO 0, 2, 1, 1, 0, FRAME_FPO
|
||||
push esi
|
||||
mov esi, [esp + 8]
|
||||
mov edx, [esp + 12]
|
||||
|
||||
cld
|
||||
mov ecx, _tsize
|
||||
|
||||
.L1:
|
||||
_tlods
|
||||
cmp _treg(d), _treg(a)
|
||||
jne .L2
|
||||
mov ecx, esi
|
||||
|
||||
.L2:
|
||||
test _treg(a), _treg(a)
|
||||
jnz .L1
|
||||
|
||||
mov eax, ecx
|
||||
_tdec(eax)
|
||||
pop esi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
||||
#include "tchar.h"
|
||||
#include <asm.inc>
|
||||
|
||||
PUBLIC _tcsrchr
|
||||
.code
|
||||
|
||||
FUNC _tcsrchr
|
||||
FPO 0, 2, 1, 1, 0, FRAME_FPO
|
||||
push esi
|
||||
mov esi, [esp + 8]
|
||||
mov edx, [esp + 12]
|
||||
|
||||
cld
|
||||
mov ecx, _tsize
|
||||
|
||||
.L1:
|
||||
_tlods
|
||||
cmp _treg(d), _treg(a)
|
||||
jne .L2
|
||||
mov ecx, esi
|
||||
|
||||
.L2:
|
||||
test _treg(a), _treg(a)
|
||||
jnz .L1
|
||||
|
||||
mov eax, ecx
|
||||
_tdec(eax)
|
||||
pop esi
|
||||
ret
|
||||
ENDFUNC
|
||||
|
||||
END
|
||||
/* EOF */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
=== MMIXER TASKS ===
|
||||
|
||||
- Add hacks for source lines, such that Wave Mixer line always has a volume control
|
||||
- Support custom mixer controls
|
||||
- Assign mixer controls after all controls have been assigned (starting on the destination lines)
|
||||
=== MMIXER TASKS ===
|
||||
|
||||
- Add hacks for source lines, such that Wave Mixer line always has a volume control
|
||||
- Support custom mixer controls
|
||||
- Assign mixer controls after all controls have been assigned (starting on the destination lines)
|
||||
- TESTING & BUGFIXING
|
Loading…
Add table
Add a link
Reference in a new issue