Open awik32 opened 7 months ago
It's a bug in src/EditPE/MAKEFILE. Line
AOPT=-c -nologo -coff -Sg -Fl$* -Fo$* $(AOPTD) -I$(HXINST)\Include
should actually be:
AOPT=-c -nologo -coff -Sg -Fl$* -Fo$* $(AOPTD) -I$(INC32DIR)
OK. Next error:
Q:\git\HX\Src>wmake -ms >wmake.out
Error(E42): Last command making (Release\EDITPE.EXE) returned a bad status
Error(E02): Make execution terminated
Excerpt from wmake.out:
cd ..\EDITPE
Warning! W1008: cannot open dkrnl32.lib : No such file or directory
Warning! W1008: cannot open libc32s.lib : No such file or directory
Error! E2028: _mainCRTStartup is an undefined reference
Error! E2028: _fopen is an undefined reference
Are you sure you have installed the HXDEV package before running nmake?
I think so, yes:
Q:\git\HX\Src>dir c:\hx\dkrnl32.lib /s
...
Directory of C:\HX\LIB
DKRNL32 LIB 129,682 27/01/23 9:52 DKRNL32.lib
1 file(s) 129,682 bytes
And the DIRS are as follows:
Q:\git\HX\Src>cat dirs
# HXINST: location where to install HX binaries
# LIBCOFF: location where COFF libraries will be read from
#HXINST=\hx
HXINST=C:\myHX
#LIBCOFF=$(HXINST)\Lib
LIBCOFF=C:\HX\Lib
INC32DIR=..\..\Include
INC16DIR=.
#MAKE=nmake.exe /nologo
MAKE=wmake.exe -h -ms
ASM=jwasm.exe -q
MSLINK=0
LINKBIN=jwlink.exe
LINK16BIN=jwlink.exe
LIBBIN=jwlib.exe -q -fa -n
LIB16BIN=jwlib.exe -q -b -n
Q:\git\HX\Src>
Makefile for EditPE obviously assumes that HXINST contains the directories supplied with HXDEV.
Is not LIBCOFF supposed to be used for finding the libraries?
Anyway, I changed the HXINST variable to the path where I installed the binary release of HX. After that, the build finished without further errors. Then I changed HX again, back to the c:\my.HX directory where I want my build installed.
However, there is something peculiar about "wmake -ms install" (in the Src directory). I end up with the following files in my install directory:
Q:\git\HX\Src>dir c:\my.HX\
Volume in drive C has no label
Volume Serial Number is 353A-18E6
Directory of C:\my.HX
. <DIR> 06/02/24 7:51 .
.. <DIR> 06/02/24 7:51 ..
BIN 714 06/02/24 7:47 Bin
INCLUDE 4,732 04/02/24 18:12 Include
DOC 1,571 04/02/24 18:12 Doc
UNSUPP 3,025 04/02/24 18:12 UnSupp
LIB 18,642 04/02/24 19:21 Lib
LIBOMF 791 06/02/24 7:47 LibOMF
LIB16 131 06/02/24 7:47 Lib16
7 file(s) 29,606 bytes
2 dir(s) 6,536.24 MB free
Q:\git\HX\Src>
Note that these directory entries are not directories, but ordinary files!
Is not LIBCOFF supposed to be used for finding the libraries?
Yes, I think that was the goal. Nevertheless, the current status is that LIBCOFF should be "$(HXINST)\Lib". The "stubs" are also supposed to be taken from "$(HXINST)\Bin", so corrently it's still kind of a mix.
Note that these directory entries are not directories, but ordinary files!
A wmake bug? Did you use the binary from OW v1.9? OW 2.0 still has no "official" release.
The same problem occurs with NMake.
From stderr:
Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
Path not found - c:\my.HX\OWSupp\WDSupp
File not found - HXHELP\TRAP\HX.TRP
Path not found - c:\my.HX\OWSupp\WDSupp
Path not found - c:\my.HX\OWSupp16\HXHP16.EXE
File not found - HXHELP\TRAP\HX16.TRP
From stdin:
1 file(s) copied
1 file(s) copied
1 file(s) copied
...
0 file(s) copied
0 file(s) copied
0 file(s) copied
0 file(s) copied
0 file(s) copied
1 file(s) copied
1 file(s) copied
1 file(s) copied
...
A wmake bug? Did you use the binary from OW v1.9? OW 2.0 still has no "official" release.
Q:\git\HX\Src>wmake -?
Open Watcom Make Version 1.9
Portions Copyright (c) 1988-2002 Sybase, Inc. All Rights Reserved.
The same problem occurs with NMake. Path not found - c:\my.HX\OWSupp\WDSupp File not found - HXHELP\TRAP\HX.TRP
Hm, doesn't really look like "the same problem". The "Path not found" errors are trivial to fix by a few lines in MAKEFILE:
install:
@if not exist $(HXINST)\NUL mkdir $(HXINST)
@if not exist $(HXINST)\Bin\NUL mkdir $(HXINST)\Bin
@if not exist $(HXINST)\Doc\NUL mkdir $(HXINST)\Doc
@if not exist $(HXINST)\Include\NUL mkdir $(HXINST)\Include
@if not exist $(HXINST)\Lib\NUL mkdir $(HXINST)\Lib
@if not exist $(HXINST)\LibOMF\NUL mkdir $(HXINST)\LibOMF
@if not exist $(HXINST)\Lib16\NUL mkdir $(HXINST)\Lib16
@if not exist $(HXINST)\OWSupp\NUL mkdir $(HXINST)\OWSupp
@if not exist $(HXINST)\OWSupp\WDSupp\NUL mkdir $(HXINST)\OWSupp\WDSupp
@if not exist $(HXINST)\OWSupp16\NUL mkdir $(HXINST)\OWSupp16
@if not exist $(HXINST)\Unsupp\NUL mkdir $(HXINST)\UnSupp
The "file not found" errors are of a different nature - the generation of the trap files for the Watcom debugger hasn't succeeded. Those are indeed a bit problematic, since, IIRC they need parts of OW. Will have a look at this later.
Ok, I added the binary trap files to src\hxhelp\trap, although I really don't like to supply binary files with source.
After doing "nmake install", is the %hxinst% directory supposed to be identical to that of a (zipped) release?
Here are the differences (in the directory tree, not files) between my C:\HX (from release) and C:\my.HX (from source):
--- hx.find 2024-02-09 10:36:52 +0000
+++ myhx.find 2024-02-09 10:36:42 +0000
@@ -6,43 +6,6 @@
./lib16
./libomf
./owsupp
-./owsupp/dll
-./owsupp/dos
-./owsupp/helper
-./owsupp/nt
./owsupp/wdsupp
./owsupp16
-./sample16
-./samples
-./samples/cc386
-./samples/djgpp
-./samples/dynload
-./samples/fasm
-./samples/gas
-./samples/hello
-./samples/lzasm
-./samples/masm1
-./samples/masm2
-./samples/masm3
-./samples/mfcobol
-./samples/msc1
-./samples/msc2
-./samples/nasm
-./samples/ow1
-./samples/ow2
-./samples/ow3
-./samples/ow4
-./samples/pascal1
-./samples/pascal2
-./samples/pbasic
-./samples/plasma08
-./samples/plasma32
-./samples/showbmp
-./samples/textout
-./samples/thread
-./samples/tsrsmple
-./samples/vesa1
-./samples/vesa2
-./samples/vesa3
-./test
./unsupp
Is there a way to produce the .ZIP files?
After doing "nmake install", is the %hxinst% directory supposed to be identical to that of a (zipped) release?
It's supposed that you install into HXINST all zips that are delivered: hxrt, hxgui, hxdev. And run nmake after those steps.
Yes, that's what I did. The question is whether you can create, from source, all the same files you get from the ZIPs, or even generate the ZIPs themselves?
The question is whether you can create, from source, all the same files you get from the ZIPs, or even generate the ZIPs themselves?
No, obviously.
I'm trying to build HX
The environment is Win98SE under VMware under Linux. More information available on request.