Document domain parameter of wxTranslations::GetTranslatedString().
[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