]> git.saurik.com Git - wxWidgets.git/blame - docs/base/readme.txt
Fixed wxAtomicInc/Dec() to not use asm/atomic.h header on Linux - it's kernel interna...
[wxWidgets.git] / docs / base / readme.txt
CommitLineData
f6eff86e
VZ
1 wxBase README
2 =============
2224580a 3
22b41d3e 4NB: this file applies to wxBase library only. If you are using a GUI version
fc2171bd 5 of wxWidgets, please refer to the documentation in the appropriate
22b41d3e 6 subdirectory (msw, gtk, motif &c).
2224580a 7
2224580a 8
22b41d3e
VZ
9 Welcome to wxBase!
10
110. Introduction
12---------------
13
fc2171bd 14 wxBase is the library providing most of the non-GUI classes of the wxWidgets
22b41d3e
VZ
15cross-platform C++ framework. wxBase has some generic classes such as yet
16another C++ string class, typesafe dynamic arrays, hashes and lists and, more
f6eff86e 17excitingly, wxDateTime -- a very flexible and powerful class for manipulating
22b41d3e
VZ
18the dates in the range of 580 million years with up to millisecond precision.
19Another useful class not present in the standard C++ library is wxRegEx which
20allows you to use regular expressions for string matching and replacing.
21
22 There are also classes for writing portable programs in C++ painlessly which
23encapsulate things like files (and their names), directories, processes,
24threads, sockets and much more. Some of the other utility classes allow you to
25parse the command line, limit the number of instances of your program
26executing simultaneously (portably!) and so on.
27
f6eff86e 28
2edb0bde 291. Requirements and supported platforms
22b41d3e
VZ
30--------------------------------------
31
32 wxBase can be compiled and used under Win32, mostly any modern Unix system
f6eff86e
VZ
33(including Mac OS X), VMS and BeOS (this release couldn't be tested under
34these platforms so you might encounter some problems but they should be easy
35to solve -- please contact us in this case!)
22b41d3e
VZ
36
37 It is written without using any modern C++ features (such as templates,
38exceptions, namespaces) for maximal portability and so you shouldn't have
39problems compiling it with any C++ compiler at all. However, we only provide
f6eff86e
VZ
40the project files for Microsoft Visual C++ 6.0 and make files for Borland C++
41for Win32 (any contributions are welcome!) -- but our Unix makefiles should
42work with any compiler.
43
22b41d3e
VZ
44
452. Installing under Win32
46-------------------------
47
48Please note that wxBase can be compiled in different configurations under
49Win32: as a static or shared library, in debug or release mode and in ANSI
50or Unicode mode for a total of 8 possibilities.
51
52a) Using Visual C++ 6.0
53
dcb39c53 54 Simply open the build/msw/wx_base.dsp file in MSDEV and build it. When it is
22b41d3e
VZ
55done you can also open samples/console/console.dsp project and build it as
56well.
57
58b) Cygwin
59
f6eff86e 60 Please refer to the Unix section below.
22b41d3e 61
14ff1954
MW
62 Note that gcc's precompiled headers do not work on current versions of
63 Cygwin. If your version of Cygwin is affected you will need to use the
64 --disable-precomp-headers configure option.
65
b7b45f6f 66c) Borland
b7b45f6f 67
f6eff86e 68 Please refer to the docs/msw/install.txt. The console sample compiles and
dcb39c53 69 runs but does not pass all tests.
f6eff86e
VZ
70
71d) Watcom
72
73 The compilation has been tested only with OpenWatcom but should also work
74 with Watcom 11.0 but probably not the earlier versions.
75
76 To build wxBase itself (only static library build is supported), enter the
77 directory src\msw and type "wmake -f makebase.wat". See also Watcom notes in
78 docs/msw/install.txt.
79
80 There is makefile.wat in samples\console which can be used to build the
81 console sample with Watcom and also shows how can you write your own
82 makefiles for wxBase and Watcom compiler.
83
84e) Other compilers
22b41d3e
VZ
85
86 Unfortunately we don't have the makefiles for any other compilers yet.
87Please contact us if you would like to help us with creating one for the
88compiler you use.
89
f6eff86e 90
22b41d3e
VZ
913. Installing under Unix/BeOS
92-----------------------------
93
fc2171bd 94NB: If you're building wxBase from the wxWidgets distribution and not from a
22b41d3e
VZ
95 separate wxBase one you will need to add "--disable-gui" to configure
96 arguments below!
97
f6eff86e
VZ
98Please note that GNU make may be required to build wxBase, please use it if
99you get any errors from the native Unix make.
22b41d3e
VZ
100
101The recommended way to build wxBase is:
102
fc2171bd 103 % cd ..../wxWidgets
f6eff86e
VZ
104 % mkdir base-release # or any other directory of your liking
105 % cd base-release
106 % ../configure
107 # ignore the error messages about missing samples
108 % make
109 % make install
22b41d3e
VZ
110
111You can also do:
112
f6eff86e
VZ
113 % mkdir base-debug
114 % cd base-debug
115 % ../configure --enable-debug
116 % make
22b41d3e
VZ
117
118To build the sample then cd to samples/console and make there.
119
f6eff86e 120
22b41d3e
VZ
1214. Documentation and support
122----------------------------
123
124 The console sample provided with this distribution tests most (but not all)
125wxBase classes. It doesn't do anything useful per itself but you may want to
126look at its code to see examples of usage of the class you are interested in.
127
fc2171bd 128 There is no separate documentation for wxBase, please refer to wxWidgets
22b41d3e
VZ
129documentation instead.
130
fc2171bd 131 Support for wxBase is available from the same places as for wxWidgets itself,
22b41d3e
VZ
132namely:
133
134* Usenet newsgroup comp.soft-sys.wxwindows
135
136* Mailing lists: see http://lists.wxwindows.org/ for more information
137
fc2171bd 138* WWW page: http://www.wxwidgets.org/
22b41d3e
VZ
139
140
141 Hope you will find wxBase useful!
142
f6eff86e 143 Vadim Zeitlin