]> git.saurik.com Git - wxWidgets.git/blob - src/motif/mdi/README
Fix crash in wxDC::GetMultiLineTextExtent() after last commit.
[wxWidgets.git] / src / motif / mdi / README
1 Motif Multi-Document Interface Version 1.0
2 ------------------------------------------
3
4 INTRODUCTION
5 ============
6
7 The Motif Multi-Document Interface (MDI) is a collection of C++ classes
8 that emulates the behaviour of the Multi-Document Interface in Microsoft
9 Windows. The MDI framework allows a user to view multiple documents (windows)
10 constrained to a single parent window.
11
12
13 REQUIREMENTS
14 ============
15
16 The following are required to build MDI:
17
18 C++ compiler
19 X11R5/X11R6
20 Motif1.2
21
22
23 PLATFORMS
24 =========
25
26 The MDI package is known to compile on the following platforms:
27
28 SGI IRIX 5.2
29 SunOS 4.1.3
30 Sun Solaris 5.4
31 HP-UX 9.05
32 AIX 4.1
33 Alpha/OSF1 v3.2
34 Linux 1.1.90 (gcc version 2.5.8)
35
36
37 INSTALLATION
38 ============
39
40 MDI is written in C++. It does not use any language extensions like
41 exceptions or templates, so it should compile with most C++ compilers.
42
43 To build MDI, you need to set the name of your C++ compiler in the file
44 "config/MDI.tmpl". An attempt is made to pick a logical default for your
45 machine, but if it fails, you will need to edit this file.
46
47 After setting your compiler, just type:
48
49 xmkmf
50 make Makefiles
51 make
52
53 If successful, the MDI library (libXsw.a) will be created in the "lib"
54 directory. Additionally, a short test program (MDItest) will be created
55 in the "test" directory.
56
57 If you are not successful, see the "Possible Problems" section below. I
58 have had no luck with imake as it seems to only work on about 1/2 of the
59 platforms I have tried. If imake does not work, don't despair. The MDI
60 library is really simple to build by hand. Just follow the following steps
61 and it will work just fine. I have given detailed instructions in the
62 "Possible Problems" section below where I had problems using imake. If
63 anyone sees a problem with my Imakefile (I assume there are many), please
64 let me know.
65
66 In order to build the MDI package by hand, do the following:
67
68 1. "cd" into the "lib" directory (cd lib)
69 2. Compile all of the source code (CC -g -c *.C). Your compiler
70 name will vary. Some common compilers are:
71 CC: SGI, Sun, Solaris, HP-UX
72 xlC: AIX RS/6000
73 cxx: Alpha/OSF1
74 g++: Linux
75 gcc: Most other platforms
76
77 3. Create the library "libXsw.a" (ar rlv libXsw.a *.o)
78 4. Run "ranlib" (not necessary on all machines)
79 5. "cd" into the "test" directory (cd ../test)
80 6. Compile the source code (see step #2 above)
81 7. Link the test program (CC *.o -o MDItest ../lib/libXsw.a \
82 -lXm -lXt -lX11). Again, the compiler name will vary
83
84 If you still can't get it to work after all of that, email me and I'll give
85 you a hand.
86
87
88 POSSIBLE PROBLEMS
89 =================
90
91 SunOS 4.1.3
92 Kept getting this message when trying to make:
93
94 make: Fatal error: Don't know how to make target `XsComponent.o'
95
96 I ended up building the library and test case with the following:
97
98 cd lib
99 CC -g -c *.C
100 ar rlv libXsw.a *.o
101 ranlib libXsw.a
102 cd ../test
103 CC -g -c *.C -I../lib
104 CC -g *.o -o MDItest ../lib/libXsw.a -L/usr/lib -lXm -lXt -lX11
105
106
107 Solaris 5.4
108 The generated Makefile had some unsupported options being passed to
109 the linker. I don't know what they were for, so I just removed them.
110 All worked fine after that.
111
112
113 HP-UX 9.05
114 I did not have "xmkmf" on this platform. To build the library and test
115 case, I did the following (paths may vary):
116
117 cd lib
118 CC -g -c *.C -I/usr/include/Motif1.2 -I/usr/include/X11R5
119 ar rlv libXsw.a *.o
120 cd ../test
121 CC -g -c *.C -I../lib -I/usr/include/Motif1.2 -I/usr/include/X11R5
122 CC -g *.o -o MDItest ../lib/libXsw.a -L/usr/lib/Motif1.2 \
123 -L/usr/lib/X11R5 -lXm -lXt -lX11
124
125
126 AIX 4.1
127 Running xmkmf on the top Makefile did not work. Got the following:
128
129 "./Imakefile", line 8.1: 1506-215 (E) Too many arguments
130 specified for macro NamedTargetSubdirs.
131
132 In order to build the library, I cd'd into both the "lib" and "test"
133 directory and did the following there:
134
135 xmkmf
136 make
137
138
139 Alpha/OSF1 v3.2
140 Kept getting this message when trying to make:
141
142 Make: Don't know how to make XsComponent.o. Stop.
143
144 I ended up building the library and test case with the following:
145
146 cd lib
147 cxx -g -c *.C
148 ar rlv libXsw.a *.o
149 cd ../test
150 cxx -g -c *.C -I../lib
151 cxx -g *.o -o MDItest ../lib/libXsw.a -lXm -lXt -lX11
152
153
154 Linux
155 "make Makefiles" did not work correctly. Just cd'd into both the
156 "lib" and "test" directories and type:
157
158 xmkmf
159 make
160
161 Also, if you don't have the C++ library (libC.a), you will get some
162 undefined symbols like when linking:
163
164 ../lib/libXsw.a(XsComponent.o): Undefined symbol _cout
165 referenced from text segment
166 ../lib/libXsw.a(XsComponent.o): Undefined symbol
167 ostream::operator<<(char const *) referenced from text segment
168
169 To get rid of these errors, you will need to recompile the library
170 (specifically XsComponent.C) with -DNDEBUG. This will remove the calls
171 to the <iostream> library and will eliminate the need to link with the
172 C++ library
173
174
175 DOCUMENTATION
176 =============
177
178 All documentation is written in HTML and can be found in the "doc" directory.
179 The top-most documentation file is "mdi.html"
180
181
182 AVAILABILITY
183 ===============
184
185 The latest version of MDI is available at:
186
187 ftp://itimail.iti-oh.com/pub/project/sws/MDI-<version>.tar.gz
188 ftp://itimail.iti-oh.com/pub/project/sws/MDI-<version>.tar.Z
189
190 The MDI WWW page is located at:
191
192 http://www.iti-oh.com/~sws/mdi.html
193
194
195 COPYRIGHT
196 =========
197
198 Copyright (c) 1996 Scott W. Sadler
199 All rights reserved.
200
201 See license conditions in the COPYRIGHT file of the MDI distribution
202
203
204 BUG REPORTS
205 ===========
206
207 Please report any bugs, suggestions or criticisms directly to me at the
208 address below. I want to make this as quality a software package as
209 possible: stable, efficient and portable. It is the feedback from the X
210 community that makes writing the software worthwhile.
211
212 Scott W. Sadler
213 sws@iti-oh.com
214 http://www.iti-oh.com/~sws
215
216
217 HISTORY
218 =======
219
220 03-Mar-96 Version 1.0 Released
221