]> git.saurik.com Git - wxWidgets.git/blame - src/motif/mdi/README
Add some version checks to help compiling on OSX.
[wxWidgets.git] / src / motif / mdi / README
CommitLineData
100af5a8
JS
1Motif Multi-Document Interface Version 1.0
2------------------------------------------
3
4INTRODUCTION
5============
6
7The Motif Multi-Document Interface (MDI) is a collection of C++ classes
4c51a665 8that emulates the behaviour of the Multi-Document Interface in Microsoft
100af5a8
JS
9Windows. The MDI framework allows a user to view multiple documents (windows)
10constrained to a single parent window.
11
12
13REQUIREMENTS
14============
15
16The following are required to build MDI:
17
18 C++ compiler
19 X11R5/X11R6
20 Motif1.2
21
22
23PLATFORMS
24=========
25
26The 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
37INSTALLATION
38============
39
40MDI is written in C++. It does not use any language extensions like
41exceptions or templates, so it should compile with most C++ compilers.
42
43To 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
45machine, but if it fails, you will need to edit this file.
46
47After setting your compiler, just type:
48
49 xmkmf
50 make Makefiles
51 make
52
53If successful, the MDI library (libXsw.a) will be created in the "lib"
54directory. Additionally, a short test program (MDItest) will be created
55in the "test" directory.
56
57If you are not successful, see the "Possible Problems" section below. I
58have had no luck with imake as it seems to only work on about 1/2 of the
59platforms I have tried. If imake does not work, don't despair. The MDI
60library is really simple to build by hand. Just follow the following steps
61and it will work just fine. I have given detailed instructions in the
62"Possible Problems" section below where I had problems using imake. If
63anyone sees a problem with my Imakefile (I assume there are many), please
64let me know.
65
66In 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
84If you still can't get it to work after all of that, email me and I'll give
85you a hand.
86
87
88POSSIBLE PROBLEMS
89=================
90
91SunOS 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
107Solaris 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
113HP-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
126AIX 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
139Alpha/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
154Linux
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
175DOCUMENTATION
176=============
177
178All documentation is written in HTML and can be found in the "doc" directory.
179The top-most documentation file is "mdi.html"
180
181
182AVAILABILITY
183===============
184
185The 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
190The MDI WWW page is located at:
191
192 http://www.iti-oh.com/~sws/mdi.html
193
194
195COPYRIGHT
196=========
197
198Copyright (c) 1996 Scott W. Sadler
199All rights reserved.
200
201See license conditions in the COPYRIGHT file of the MDI distribution
202
203
204BUG REPORTS
205===========
206
207Please report any bugs, suggestions or criticisms directly to me at the
208address below. I want to make this as quality a software package as
209possible: stable, efficient and portable. It is the feedback from the X
210community that makes writing the software worthwhile.
211
212Scott W. Sadler
213sws@iti-oh.com
214http://www.iti-oh.com/~sws
215
216
217HISTORY
218=======
219
22003-Mar-96 Version 1.0 Released
221