-
Notifications
You must be signed in to change notification settings - Fork 5
/
build.txt
210 lines (162 loc) · 9.25 KB
/
build.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
Build(2) microemacs Build(2)
BUILD
MicroEmacs 2009 may be compiled from the source files using the command
shell build scripts build (UNIX Bourne Shell) or build.bat (DOS/Windows).
A default compile sequence may be achieved with a simple:
build
from the command line. The build script attempts to detect the host system
and available compiler and build the editor.
The build script recognizes the following options:-
-C Build clean. Delete all of the object files.
-d Build a debugging version, the output is med (or med32 for 32-bit
Windows versions).
-h Display a simple help page
-l logfile
Redirect all compilation output to the logfile, this may not work on
DOS or Windows systems.
-la logfile
Append all compilation output to the end of logfile, this may not
work on DOS or Windows systems.
-m makefile
Build using the specified makefile. over-riding the auto system
detect. The supplied makefiles include:-
* aix4.mak IBM AIX 4.x native.
* aix5.mak IBM AIX 5.x native.
* aix4.gmk IBM AIX 4.x using GNU tools.
* aix5.gmk IBM AIX 5.x using GNU tools.
* cygwin.gmk Cygwin using GNU tools under Windows.
* darwin.gmk Apple Darwin (console and X-Windows).
* dosdj1.mak Microsoft DOS build using djgpp version 1.
* dosdj2.mak Microsoft DOS build using djgpp version 2.
* freebsd.gmk Free BSD using GNU tools.
* hpux9.gmk HP-UX 9.x using GNU tools.
* hpux9.mak HP-UX 9.x native
* hpux10.gmk HP-UX 10.x using GNU tools.
* hpux10.mak HP-UX 10.x native
* hpux11.gmk HP-UX 11.x using GNU tools.
* hpux11.mak HP-UX 11.x native
* irix5.gmk Silicon Graphics IRIX 5.x using GNU tools
* irix5.mak Silicon Graphics IRIX 5.x native
* irix6.gmk Silicon Graphics IRIX 6.x using GNU tools
* irix6.mak Silicon Graphics IRIX 6.x native
* linux2.gmk Linux 2.2/4 kernels using GNU tools
* linux26.gmk Linux 2.6 kernels using GNU tools
* mingw.gmk minGW http://www.MinGW.org using GNU tools.
* osf1.gmk OSF1 using GNU tools.
* openbsd.gmk OpenBSD using GNU tools.
* openstep.mak Openstep 4.2 on NeXTstep (BSD 4.3).
* sunos5.gmak Sun Solaris 5.5/6/7/8/9/10 using GNU tools
* sunos5.mak Sun Solaris 5.6/7/8/9/10 native
* sunosx86.gmk Sun Solarais 2.6/7/8/9/10 (Intel) using GNU tools.
* win32bc.mak Borland C, 32-bit Windows version.
* win32b55.mak Borland C 5.5, 32-bit Windows version (Free
compiler).
* win32sv2.mak Microsoft Developer v2.x, Win32s (for Win 3.xx)
* win32sv4.mak Microsoft Developer v4.2, Win32s (for Win 3.xx)
* win32v2.mak Microsoft Developer v2.x, 32-bit Windows.
* win32v5.mak Microsoft Developer v5.x, 32-bit Windows.
* win32v6.mak Microsoft Developer v6.x, 32-bit Windows.
* zaurus.gmk Zauras palm using GNU tools.
-ne Build NanoEmacs (a cut down version aimed as a vi replacement), the
output is ne (or ned32 for 32-bit Windows versions).
-S Build spotless. Deletes all of the object files and any backup files,
tag files etc.
-t type
Set the build type, where type can be one of the following:
* c Build a console only version (i.e. no window support), the
output is mec (or mec32 on Windows).
* w Build a windows only version (i.e. no console support), the
output is mew (or mew32 on Windows).
* cw Build a version which supports both console and windows, the
output is mecw (or mecw32 on Windows).
Makefiles
The supplied makefiles are provided in two forms:-
* .gmk - GNU make, using gcc.
* .mak - Native make, consistent with the compiler and platform.
The makefiles are supplied with the following targets:-
* all - Default build.
* clean - Removes intermediate files.
* spotless - Removes intermediate files and any backup files.
* me - Builds the default MicroEmacs executable.
* med - Builds a debugging version.
* mec - Builds a console only version.
* mew - Builds a windows only version.
* mecw - Builds a version which supports both console and windows.
* ne - Builds NanoEmacs executable.
WINDOWS ENVIRONMENT
The Windows environment is a little more difficult than UNIX because it
does not have a good native command line environment. There are two
Microsoft Developer options for building. If you have not purchased MS-DEV
then use the FREE Borland compiler which runs on the command line.
MinGW Build
A collection of freely available and freely distributable Windows specific
header files and import libraries combined with GNU toolsets that allow
one to produce native Windows programs that do not rely on any 3rd-party C
runtime DLLs. Available from http://www.mingw.org, mingw allows a
Microsoft Windows version MicroEmacs to bu built and maintained.
MS-Dev GUI Build
MicroEmacs is supplied with a MS-Dev 6.x project for building. This has
only been set up for debugging and has limited build options, it will also
produce a large executable image. The MS-Windows images shipped by JASSPA
are built using the command line build environment which is detailed in a
later section.
MS-Dev Command Line Build
The command line build with MS-Dev is a little messy to set up, in the
following sections we discuss MS-Dev 6.x under Windows 2000. There will be
differences with different operating systems versions, different install
paths and different versions of the MS-Dev toolkit. Use the following
information as an outline ONLY, JASSPA will not take responsibility for
the configuration of the command line environment, if in doubt then use
the GUI builder.
To run nmake(1) from a DOS box then the MS-Dev compiler tools must be
available in the command path. The MS-Dev kit V6.x is supplied with the
necessary file to set up the path which is called VCVARS32.BAT and is
typically located in directory:
C:\Program Files\Microsoft Visual Studio\VC98\Bin
This should be run first and then the command line make files may be run
using nmake i.e. to build ME:-
nmake -f win32v6.mak me
To build NE:-
nmake -f win32v6.mak ne
To clean up after:-
nmake -f spotless
If you are going to perform a lot of command line building then it is
easier to set up the environment and not have to run VCVARS32.BAT every
time you compile.
You can add the variables to your environment, you will need to expand the
VCVARS32.BAT script and then add the results. The following example is for
MS-Dev 6.0 under W2K, the settings will differ depending on what O/S
variant you are running and where you have installed software. The
following ONLY serves as an example, you need to tailor for your
installation.
* To set up the variables then Start -> Settings -> Control Panel which
displays the Control Panel items.
* Select System -> Advanced -> Environment variables
* In User Variables for <User> then New... or Edit... the PATH
variable. Add the command line tools execution paths to the
environment variable, this will be something like the following (but
without newlines):-
Variable Name: PATH
Variable Value: %PATH%;
C:\PROGRA~1\MICROS~3\Common\msdev98\BIN;
C:\PROGRA~1\MICROS~3\VC98\BIN;
C:\PROGRA~1\MICROS~3\Common\TOOLS\WINNT;
C:\PROGRA~1\MICROS~3\Common\TOOLS;
* Similarly add the INCLUDE variable:-
Variable Name: INCLUDE
Variable Value: C:\PROGRA~1\MICROS~3\VC98\ATL\INCLUDE;
C:\PROGRA~1\MICROS~3\VC98\INCLUDE;
C:\PROGRA~1\MICROS~3\VC98\MFC\INCLUDE;
%INCLUDE%
* Similarly add the LIB variable:-
Variable Name: LIB
Variable Value: C:\PROGRA~1\MICROS~3\VC98\LIB;
C:\PROGRA~1\MICROS~3\VC98\MFC\LIB;
%LIB%
* Accept the entries and close down the dialog. Start a new DOS command
line and the variables should be set up ready for the build.
NOTES
Other UNIX ports should be fairly easy from the base set of ported
platforms. If any new platform ports are performed by individuals then
please submit the makefiles and any source changes back to JASSPA - see
Contact Information.