2024-01-05 18:18 UTC-0500 Ron Pinkas <ronpinkas/AT/gmail/com>
* make_bc.bat
* make_pc.bat
* make_vc.bat
* winmake/find_bc.bat
* winmake/find_pc.bat
* winmake/find_vc.bat
* winmake/found_cc.bat
* winmake/functions.bat
* Simplified, fixed reported issues and added debgging
Ron Pinkas wrote:
2024-01-05 18:18 UTC-0500 Ron Pinkas <ronpinkas/AT/gmail/com>
* make_bc.bat
* make_pc.bat
* make_vc.bat
* winmake/find_bc.bat
* winmake/find_pc.bat
* winmake/find_vc.bat
* winmake/found_cc.bat
* winmake/functions.bat
* Simplified, fixed reported issues and added debgging
Enrico,
You should be able to use like this [only of NOTT in KNOWN places]:
SET CC_DIR=<your BCC Root>
There should be no need tto set LFLAGS
if you get an error please forward winmake\functions.log
Ron
Ron Pinkas wrote:
Ron Pinkas wrote:
2024-01-05 18:18 UTC-0500 Ron Pinkas <ronpinkas/AT/gmail/com>
* make_bc.bat
* make_pc.bat
* make_vc.bat
* winmake/find_bc.bat
* winmake/find_pc.bat
* winmake/find_vc.bat
* winmake/found_cc.bat
* winmake/functions.bat
* Simplified, fixed reported issues and added debgging
Enrico,
You should be able to use like this [only of NOTT in KNOWN places]:
SET CC_DIR=<your BCC Root>
There should be no need tto set LFLAGS
if you get an error please forward winmake\functions.log
Ron
To summerize,
1. If user have a default installattion of BCC, Pelles C, or MSVC then
NO SETING needed at all, not CC_DIR, nor path, user can simply open
terminal andd type make_bc/make_pc/make_vc - all should build fine.
2. If user has BCC, Pelles C, or MSVC in a CUSTOM location then user
can EITHER:
a. Set PATH to <root>\bin of the CUSTOM directory.
OR
b. Set CC_DIR to <root> of the CUSTOM directory.
Either way, NO NEED to set INCLUDE or LIB flags for standard
directories!
In case of BCC where there may be multiple executables user may specify:
SET CC=<exename> (withOUT the .exe exttension!)
or may set HB_ARCH=w64 if bcc64 is desired.
Other normal flags used in older setups should still be supported.
Other Windows compilers like MingW, djgpp, etc.
This in make_b32.log:
MAKE Version 5.43Â Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
    ILINK32 -ap -Tpe -x -Gn -C -Llib\b32 -LECHO disattivato.
c0x32.obj obj\b32\hblib.obj ,bin\b32\hblib.exe,,  ws2_32.lib
cw32mt.lib import32.lib
Turbo Incremental Link 6.97 Copyright (c) 1997-2022 Embarcadero
Technologies, Inc.
Fatal: Unable to open file 'DISATTIVATO.'
With this batch:
SET CC_DIR=e:\bcc32\bcc
CALL make_bc all
I get this on the console:
For your convenience xHarbour's bin directory was added to your PATH.
For your convenience xHarbour's bin directory was added to your PATH.
For your convenience xHarbour's bin directory was added to your PATH.
For your convenience bcc32's bin directory was added to your PATH
Creating System Files (ST) ...
This in make_b32.log:
MAKE Version 5.43 Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
ILINK32 -ap -Tpe -x -Gn -C -Llib\b32 -LECHO disattivato. c0x32.obj obj\b32\hblib.obj ,bin\b32\hblib.exe,, ws2_32.lib cw32mt.lib
import32.lib
Turbo Incremental Link 6.97 Copyright (c) 1997-2022 Embarcadero
Technologies, Inc.
Fatal: Unable to open file 'DISATTIVATO.'
** error 2 ** deleting bin\b32\hblib.exe
And this in functions.log:
*** START [E:\FW\xHarbour\make_bc.bat](all)
*** started [E:\FW\xHarbour\winmake\find_bc.bat]
*** started(bcc32c) [E:\FW\xHarbour\winmake\found_cc.bat]
*** Raw Arguments: (toAbsPath E:\FW\xHarbour\winmake\.. HB_INSTALL)
*** Raw Arguments: [toAbsPath] [E:\FW\xHarbour\winmake\..] [HB_INSTALL]
[] []
*** Parsed [2] :toAbsPath(
E:\FW\xHarbour\winmake\..=\FW\xHarbour\winmake\.. HB_INSTALL= )
+++ Entry point: toAbsPath('E:\FW\xHarbour\winmake\..' 'HB_INSTALL')(2)
:toAbsPath(E:\FW\xHarbour\winmake\.. HB_INSTALL)
:isValidVarName(HB_INSTALL)
:value(E:\FW\xHarbour\winmake\.. _varOrRelPath)
:isValidVarName(_varOrRelPath)
--- Exit point: toAbsPath E:\FW\xHarbour\winmake\.. HB_INSTALL
*** Ret: 0 0
*** ended[1] [E:\FW\xHarbour\winmake\found_cc.bat]
*** started(bcc32) [E:\FW\xHarbour\winmake\found_cc.bat]
*** ended[1] [E:\FW\xHarbour\winmake\found_cc.bat]
*** started(bcc64) [E:\FW\xHarbour\winmake\found_cc.bat]
*** ended[1] [E:\FW\xHarbour\winmake\found_cc.bat]
*** finished[0] [E:\FW\xHarbour\winmake\find_bc.bat]
With this batch:
SET CC_DIR=e:\bcc32\bcc
CALL make_bc all
I get this on the console:
For your convenience xHarbour's bin directory was added to your PATH.
For your convenience xHarbour's bin directory was added to your PATH.
For your convenience xHarbour's bin directory was added to your PATH.
It seems in your case BCC_LIB is NOT empty instead it has value of
'ECHO disattivato.' - are you sure you do not thave a MODIFIED
find_bc.bat - did you maybe add some ECHO sttatements tto debug?
FWIW BCC_LIB should not be empty even in your case IF your e:\bcc32\bcc
has lib\psdk sub directory.
Also EVEN IF you move your compilers bcc32c.cfg should work because the
file uses '@' to signify root so the settings are RELATIVE.
With this batch:
SET CC_DIR=e:\fw\temp\bcc64\bcc
CALL make_bc all
I get this on the console:
For your convenience xHarbour's bin directory was added to your PATH.
For your convenience xHarbour's bin directory was added to your PATH.
For your convenience xHarbour's bin directory was added to your PATH.
For your convenience bcc64's bin directory was added to your PATH
Creating System Files (ST) ...
bcc64.exe: error: unsupported option '-b -q'
This in make_bc64.log:
MAKE Version 5.43 Copyright (c) 1987, 2019 Embarcadero Technologies, Inc.
bcc64 -c -tWM -D__WIN32__ -D_HAVE_SQLITE_CONFIG_H -DHAVE_CONFIG_H -DHARBOUR_CONF -DOPENSSL_NO_DEPRECATED -DHB_VM_ALL -DHB_FM_DL_ALLOC -I"source\rtl\zlib" -I"contrib\pdflite\include" -I"contrib\png" -I"contrib\tiff" -I"contrib\jpeg" -I"include" -I"e:\fw\temp\bcc64\bcc\include" -I"obj\bc64" -I"contrib\sixapi\include" -I"contrib\freeimage\include" -I"contrib\gd\include"
-I"contrib\xwt\include" -I"contrib\xwt\src\xwt_win" -O2 -b -q -a8 -w -oobj\bc64\hblib.o utils\misc\hblib.c
** error 1 ** deleting obj\bc64\hblib.o
And this in functions.log:
*** START [E:\FW\xHarbour\make_bc.bat](all)
*** started [E:\FW\xHarbour\winmake\find_bc.bat]
*** started(bcc32c) [E:\FW\xHarbour\winmake\found_cc.bat]
*** Raw Arguments: (toAbsPath E:\FW\xHarbour\winmake\.. HB_INSTALL)
*** Raw Arguments: [toAbsPath] [E:\FW\xHarbour\winmake\..] [HB_INSTALL]
[] []
*** Parsed [2] :toAbsPath(
E:\FW\xHarbour\winmake\..=\FW\xHarbour\winmake\.. HB_INSTALL= )
+++ Entry point: toAbsPath('E:\FW\xHarbour\winmake\..' 'HB_INSTALL')(2)
:toAbsPath(E:\FW\xHarbour\winmake\.. HB_INSTALL)
:isValidVarName(HB_INSTALL)
:value(E:\FW\xHarbour\winmake\.. _varOrRelPath)
:isValidVarName(_varOrRelPath)
--- Exit point: toAbsPath E:\FW\xHarbour\winmake\.. HB_INSTALL
*** Ret: 0 0
*** ended[1] [E:\FW\xHarbour\winmake\found_cc.bat]
*** started(bcc32) [E:\FW\xHarbour\winmake\found_cc.bat]
*** ended[1] [E:\FW\xHarbour\winmake\found_cc.bat]
*** started(bcc64) [E:\FW\xHarbour\winmake\found_cc.bat]
*** ended[1] [E:\FW\xHarbour\winmake\found_cc.bat]
*** finished[0] [E:\FW\xHarbour\winmake\find_bc.bat]
*** END [E:\FW\xHarbour\make_bc.bat]
bcc64.exe: error: unsupported option '-b -q'
I don't have BCC64 you will need to adjust the flags in makefile.bc.
Il 06/01/2024 16:33, Ron Pinkas ha scritto:
It seems in your case BCC_LIB is NOT empty instead it has value of
'ECHO disattivato.' - are you sure you do not thave a MODIFIED
find_bc.bat - did you maybe add some ECHO sttatements tto debug?
Absolutely not. I download the new repository afresh at any change.
FWIW BCC_LIB should not be empty even in your case IF your e:\bcc32\bcc
has lib\psdk sub directory.
Yes, it has.
Also EVEN IF you move your compilers bcc32c.cfg should work because the file uses '@' to signify root so the settings are RELATIVE.
Yes, I already use it. But it is supported only for -I and not for -L (I
just tried it).
Il 06/01/2024 16:22, Ron Pinkas ha scritto:
bcc64.exe: error: unsupported option '-b -q'
I don't have BCC64 you will need to adjust the flags in makefile.bc.
What is -b for? This is the related help:
-b Enable -bi and treat enums as ints from a typechecking point of
view
* -bi Make sizeof(enum x) == sizeof(int) unless explicitly stated otherwise
I don't think it is required. Can I remove it for BCC32 too?
I get this on the console:
For your convenience xHarbour's bin directory was added to your PATH.
For your convenience xHarbour's bin directory was added to your PATH.
For your convenience xHarbour's bin directory was added to your PATH.
The only explaination I can think of is that you do NOT have the system WHERE.exe available - it requires 'C:\Windows\System32' to be in the
PATH.
Good. - then BCC_LIB will be set auttomatically even withOUT .cfg
Also EVEN IF you move your compilers bcc32c.cfg should work because the
file uses '@' to signify root so the settings are RELATIVE.
Yes, I already use it. But it is supported only for -I and not for -L (I
just tried it).
Not exactly it used by bcc32c if you use bcc32c to compile and link in
one step. iLink32 does not use it. But we do read .cfg file and do set it auomattically for iLink32 too.
Il 06/01/2024 16:43, Ron Pinkas ha scritto:
I get this on the console:
For your convenience xHarbour's bin directory was added to your PATH.
For your convenience xHarbour's bin directory was added to your PATH.
For your convenience xHarbour's bin directory was added to your PATH.
The only explaination I can think of is that you do NOT have the system WHERE.exe available - it requires 'C:\Windows\System32' to be in the PATH.
From the console:
E:\FW\xHarbour>where
Sintassi del comando:
WHERE [/R dir] [/Q] [/F] [/T] pattern...
Descrizione:
Visualizza il percorso dei file corrispondenti ai criteri di ricerca.
Per impostazione predefinita, la ricerca viene eseguita
nella directory corrente e nei percorsi specificati dalla
variabile d'ambiente PATH.
Elenco parametri:
/R Esegue una ricerca ricorsiva e visualizza i file corrispondenti
allo schema indicato a partire dalla directory specificata.
/Q Restituisce solo il codice di uscita, senza visualizzare
l'elenco
dei file corrispondenti (modalità non interattiva)
/F Visualizza i nomi dei file corrispondenti tra virgolette.
/T Visualizza la dimensione, la data e l'ora dell'ultima modifica
per tutti i file corrispondenti.
pattern Specifica i criteri di ricerca a cui i file devono
corrispondere.
Nello schema è possibile utilizzare i caratteri jolly * e ?.
Possono essere specificati anche i formati "$env:pattern"
e "path:pattern", dove "env" è una variabile
d'ambiente e la ricerca viene eseguita nei percorsi
specificati della variabile d'ambiente "env".
Questi formati non devono essere utilizzati
con /R. La ricerca viene anche eseguita aggiungendo le
estensioni della variabile PATHEXT allo schema.
/? Visualizza questo messaggio della Guida.
NOTA: lo strumento restituisce un livello di errore 0 se la ricerca
riesce, 1 se la ricerca non riesce e 2 se si verifica
un errore.
Esempi:
WHERE /?
WHERE myfilename1 myfile????.*
WHERE $windir:*.*
WHERE /R c:\windows *.exe *.dll *.bat
WHERE /Q ??.???
WHERE "c:\windows;c:\windows\system32:*.dll"
WHERE /F /T *.dll
Cool, let's debug:
After you call make_bc and itt prints tthe triplicate about xHarbour's
bin added tto path, please type PATH - does it have xHarbour' bin 3
times? 1 time? None?
Enrico Maria Giordano wrote:
Il 06/01/2024 16:43, Ron Pinkas ha scritto:
I get this on the console:
For your convenience xHarbour's bin directory was added to your PATH. For your convenience xHarbour's bin directory was added to your PATH. For your convenience xHarbour's bin directory was added to your PATH.
The only explaination I can think of is that you do NOT have the system WHERE.exe available - it requires 'C:\Windows\System32' to be in the PATH.
From the console:
E:\FW\xHarbour>where
Sintassi del comando:
WHERE [/R dir] [/Q] [/F] [/T] pattern...
Descrizione:
Visualizza il percorso dei file corrispondenti ai criteri di ricerca.
Per impostazione predefinita, la ricerca viene eseguita
nella directory corrente e nei percorsi specificati dalla
variabile d'ambiente PATH.
Elenco parametri:
/R Esegue una ricerca ricorsiva e visualizza i file corrispondenti
allo schema indicato a partire dalla directory specificata.
/Q Restituisce solo il codice di uscita, senza visualizzare
l'elenco
dei file corrispondenti (modalità non interattiva)
/F Visualizza i nomi dei file corrispondenti tra virgolette.
/T Visualizza la dimensione, la data e l'ora dell'ultima modifica
per tutti i file corrispondenti.
pattern Specifica i criteri di ricerca a cui i file devono
corrispondere.
Nello schema è possibile utilizzare i caratteri jolly * e ?.
Possono essere specificati anche i formati "$env:pattern"
e "path:pattern", dove "env" è una variabile
d'ambiente e la ricerca viene eseguita nei percorsi
specificati della variabile d'ambiente "env".
Questi formati non devono essere utilizzati
con /R. La ricerca viene anche eseguita aggiungendo le
estensioni della variabile PATHEXT allo schema.
/? Visualizza questo messaggio della Guida.
NOTA: lo strumento restituisce un livello di errore 0 se la ricerca
riesce, 1 se la ricerca non riesce e 2 se si verifica
un errore.
Esempi:
WHERE /?
WHERE myfilename1 myfile????.*
WHERE $windir:*.*
WHERE /R c:\windows *.exe *.dll *.bat
WHERE /Q ??.???
WHERE "c:\windows;c:\windows\system32:*.dll"
WHERE /F /T *.dll
Cool, let's debug:
After you call make_bc and itt prints tthe triplicate about xHarbour's
bin added tto path, please type PATH - does it have xHarbour' bin 3
times? 1 time? None?
Il 06/01/2024 17:11, Ron Pinkas ha scritto:
Good. - then BCC_LIB will be set auttomatically even withOUT .cfg
What do you want me to do exactly? Please feel free to ask me whatever
test you need to find the problem.
Also EVEN IF you move your compilers bcc32c.cfg should work because the file uses '@' to signify root so the settings are RELATIVE.
Yes, I already use it. But it is supported only for -I and not for -L (I just tried it).
Not exactly it used by bcc32c if you use bcc32c to compile and link in
one step. iLink32 does not use it. But we do read .cfg file and do set it auomattically for iLink32 too.
I didn't try with bcc32c.exe but I'm sure (as I tried) that bcc32.exe
does not support @ for -L.
Il 06/01/2024 17:16, Ron Pinkas ha scritto:
Cool, let's debug:
After you call make_bc and itt prints tthe triplicate about xHarbour's
bin added tto path, please type PATH - does it have xHarbour' bin 3
times? 1 time? None?
3 times.
Il 06/01/2024 17:16, Ron Pinkas ha scritto:
Cool, let's debug:
After you call make_bc and itt prints tthe triplicate about xHarbour's
bin added tto path, please type PATH - does it have xHarbour' bin 3
times? 1 time? None?
3 times.
3 times.
Should be fixed after: 2024-01-06 11:48 UTC-0500 Ron Pinkas <ronpinkas/AT/gmail/com
What is -b for? This is the related help:
-b Enable -bi and treat enums as ints from a typechecking point of
view
* -bi Make sizeof(enum x) == sizeof(int) unless explicitly stated
otherwise
I don't think it is required. Can I remove it for BCC32 too?
I think you should try - sseems fine to me.
Il 06/01/2024 17:50, Ron Pinkas ha scritto:
3 times.
Should be fixed after: 2024-01-06 11:48 UTC-0500 Ron Pinkas <ronpinkas/AT/gmail/com
Ok, something has changed. On the console now I get:
For your convenience xHarbour's bin directory was added to your PATH.
For your convenience bcc32's bin directory was added to your PATH
Creating System Files (ST) ...
In the log I get:
ILINK32 -ap -Tpe -x -Gn -C -Llib\b32 -LECHO disattivato. c0x32.obj obj\b32\hblib.obj ,bin\b32\hblib.exe,, ws2_32.lib cw32mt.lib
import32.lib
Turbo Incremental Link 6.97 Copyright (c) 1997-2022 Embarcadero
Technologies, Inc.
Fatal: Unable to open file 'DISATTIVATO.'
Please try after: 2024-01-06 13:03 UTC-0500 Ron Pinkas <ronpinkas/AT/gmail/com>
Il 06/01/2024 17:14, Ron Pinkas ha scritto:
What is -b for? This is the related help:
-b Enable -bi and treat enums as ints from a typechecking point of view
* -bi Make sizeof(enum x) == sizeof(int) unless explicitly stated otherwise
I don't think it is required. Can I remove it for BCC32 too?
I think you should try - sseems fine to me.
Done. Now I get from BCC64 the same that I get with BCC32. On the console:
For your convenience xHarbour's bin directory was added to your PATH.
For your convenience bcc64's bin directory was added to your PATH
Creating System Files (ST) ...
And in the log file:
ilink64 -ap -Tpe -x -Gn -C -Llib\bc64 -LECHO disattivato. c0x64.o obj\bc64\hblib.o ,bin\bc64\hblib.exe,, ws2_32.a cw64mt.a import64.a Turbo Incremental Link64 6.98 Copyright (c) 1997-2023 Embarcadero Technologies, Inc.
Fatal: Unable to open file 'DISATTIVATO.'
Il 06/01/2024 19:06, Ron Pinkas ha scritto:
Please try after: 2024-01-06 13:03 UTC-0500 Ron Pinkas <ronpinkas/AT/gmail/com>
Still a little problem:
For your convenience xHarbour's bin directory was added to your PATH. Impossibile trovare l'etichetta batch specificata - CHECK_CC_DIR
---------------------------------------
Make Utility for Borland C/C++
---------------------------------------
Borland C/C++ not found.
Please install and try again.
SShould be fixed after: 2024-01-06 13:42 UTC-0500 Ron Pinkas <ronpinkas/AT/gmail/com>
Il 06/01/2024 19:44, Ron Pinkas ha scritto:
SShould be fixed after: 2024-01-06 13:42 UTC-0500 Ron Pinkas <ronpinkas/AT/gmail/com>
Now the build process has started and is going on...
Now the build process has started and is going on...
Ufff thanks for your patience
- would you believe such idiotic bugs in a batch parsser that is:-(
decades old? Shame on Microssoft!
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 399 |
Nodes: | 16 (2 / 14) |
Uptime: | 67:00:49 |
Calls: | 8,355 |
Calls today: | 15 |
Files: | 13,159 |
Messages: | 5,894,221 |
Posted today: | 1 |