-
Notifications
You must be signed in to change notification settings - Fork 15
/
INSTALL.txt
149 lines (90 loc) · 4.76 KB
/
INSTALL.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
Midnight Commander Win32 Native build and installation tools.
Requirements:
o Suitable compiler chain, from one of the following
o Open Watcom 1.9 or the later 2.0.
o Microsoft Visual Studio 2013 (or greater).
o mingw32/64
o Perl - Make system generation and run-time support.
o Unix binary tools - Make system run-time support.
o InnoSetup - Required for the creation of installation packages.
Components:
o mcsrc - Midnight Commander source (currently 4.8.29).
mc-win32 changes enclosed within "ifdefined(WIN32)"
and/or are labelled with "//WIN32" comment blocks.
o mcwin32 - Windows specific code and build env.
Build steps:
1. binutils
A unix style bintools needs to be available, plus the installation should be
visible within the current PATH.
Examples:
o gnuwin32 [ http://unxutils.sourceforge.net/ ]
Note:
These set of tools are aging, for example the gmake bundled with gnuwin32 is
an older 3.81 release, which wont function correctly. GNU make 4.0 or greater
is required, advise replacing with the bundled 'mcwin32/support/gmake-42.exe'.
o msys2
Note: cygwin is not suitable nor supported.
2. Compiler installation
One of the following C/C++ toolchains needs to be available, plus the installation
should be visible within the current PATH.
Suitable distributions include:
o Open Watcom 1.9 or the later 2.0.
o Microsoft Visual Studio 2013 (or greater).
o mingw32/64 [ experimental ].
Note: OpenWatcom is currently utlised for releases.
3. Perl installation
A perl installation needs to be available plus the installation should be visible
within the current PATH.
Suitable perl distributions include:
o ActiveState Perl.
o Strawberry Perl.
4. InnoSetup installation, optional
Install InnoSetup 5.6.x within its default installation path; if modified the
arguments to the support scripts below shall need to tbe adjusted to match,
set the envvar INNO="<install-path>" prior to priming the tree.
This package is optional and only required if an installer is being built.
6.x Inno and later is also an option, but the Installer will only function on Vista
or greater. 6.x and later versions of Inno no longer support Windows 2000, XP, and Server
2003.
4. Prime the build tree; generate makefiles
$ cd mcwin32
$ support\vc2015config.bat
or $ support\vc2017config.bat
or $ support\vc2019config.bat
or $ support\owcconfig.bat
or $ support\owc20config.bat
Note:
These scripts execute the perl module makelib.pl which generates Makefiles targeted
for the specified toolchain.
5. Build the entire tree with:
$ gmake release
or $ support\gmake-42 release
Usage:
| make [VERBOSE=1] [release or debug] target
|
| Build one or more of the following targets recursively within each sub-directory
| for the toolchain <toolchains>.
|
| Options:
| VERBOSE - increase run-time diagnostics; suppress stderr filtering.
|
| Targets:
|
| build - build everything.
| package - build package.
| clean - delete everything which can be remade.
| vclean - delete all.
| help - command line usage.
6. To create the installer.
$ support\gmake-42 release package
or $ start mc-inno-setup.iss
Note:
Alternatively zip/copy the bin tree to your desired install location, as the
application is portable.
7. Finally, please review the packaged example alternative configurations as win32
development environments can be problematic, dependent on the host setup:
o .github/workflows, github build actions for latest OWC, MSVC abd MINGW toolchains.
o Appveyor CI integration notes under mcwin32/support.
plus other helper scripts under mcwin32/support.
Last Update: Feb/2023
=end=