As promised the complete xHarbour.com sources of ALL of our products, scripts, documentation, etc. have been uploaded to the xHarbour.org GitHub repository (including all commit history) into the xHarbourBuilder sub folder.
Thank you, Ron! Unfortunately, the new version of xHarbour from GitHub
is useless for me as it can't be built. I hope it will be fixed soon. In
the meantime I'll keep using the one from SVN.
As promised the complete xHarbour.com sources of ALL of our products, scripts, documentation, etc. have been uploaded to the xHarbour.org GitHub repository (including all commit history) into the xHarbourBuilder sub folder.
Enjoy!
Ron
As promised the complete xHarbour.com sources of ALL of our products, scripts, documentation, etc. have been uploaded to the xHarbour.org GitHub repository (including all commit history) into the xHarbourBuilder sub folder.
Enjoy!
Ron
Thank you, Ron! Unfortunately, the new version of xHarbour from GitHub
is useless for me as it can't be built. I hope it will be fixed soon. In
the meantime I'll keep using the one from SVN.
Sorry Enrico, I somehow missed that - which O/S and Compiler? What error?
Warning W8004 source\pp\ppgen.c 717: 'szUTC' is assigned a value that is never used in function hb_pp_parseChangelog
Warning W8056 obj\b32\comptool.c 631: Integer arithmetic overflow in
function hb_verCvsID
Warning W8056 obj\b32\hbrc.c 359: Integer arithmetic overflow in
function main
Warning W8056 obj\b32\hbrc.c 360: Integer arithmetic overflow in
function main
Warning W8056 obj\b32\hbrc.c 380: Integer arithmetic overflow in
function main
Warning W8056 obj\b32\hbrc.c 384: Integer arithmetic overflow in
function main
Error harbour.exe.rc 3 0: Too many digits in a number
And this is what I get using this batch for MSC32 (works fine with
xHarbour from SVN):
...
Result:
Removing System and Object Files ...
Removing DLL and Object Files ...
Removing Contrib Libraries and Object Files ...
Done ...
****** End of Job *****
Em segunda-feira, 14 de agosto de 2023 às 15:26:47 UTC-3, Ron Pinkas escreveu:which is part of this distribution are NOT part of the xHarbour project, and are NOT subject to the GPL but are products from xHarbour.com Inc. which grants you the non exclusive right to use these files only in conjunction with xHarbour distributions
As promised the complete xHarbour.com sources of ALL of our products, scripts, documentation, etc. have been uploaded to the xHarbour.org GitHub repository (including all commit history) into the xHarbourBuilder sub folder.
Enjoy!
RonRon,
Thank you.
The source code is under which license ?
I found this info:
https://github.com/ronpinkas/xharbour/blob/main/xHarbourBuilder/Free/ReadMe.rtf
"This distribution of xHarbour from http://free.xHarbour.com is made from a combination of free software as well as proprietary software from xHarbour.com Inc.
Special care should be given to making sure that you are absolutely clear on the License that apply to each respective component. Be advised that "xeditw.exe", "xbuild.exe", "xbuildw.exe", "XBScript.dll" and "xHarbour Language Reference Guide.chm"
I would like to adapt SQLRDD to work with my fork of Harbour:
https://github.com/marcosgambeta/harbourpp-v1
But I dont want to violate any license. :-)
CALL bcc32 /paths
Il 15/08/2023 14:24, Enrico Maria Giordano ha scritto:If someone manages to compile with vc22+, please post the steps here
CALL bcc32 /paths
Sorry, this is
SET BCC=e:\bcc32\bcc
--
Enrico Maria Giordano
http://www.emagsoftware.it
http://www.emagsoftware.it/emgmusic
http://www.emagsoftware.it/spectrum
http://www.emagsoftware.it/tbosg
And this is what I get using this batch for MSC32 (works fine with
xHarbour from SVN):
...
Result:
Removing System and Object Files ...
Removing DLL and Object Files ...
Removing Contrib Libraries and Object Files ...
Done ...
****** End of Job *****
I am not familiar with this, and sadly it does not provide any error info. I simply use make_vc.bat as it has builtin auto detection. Which specific version of Windows and MSC are you using? Can you try to see what is the actual error in the log files?
If someone manages to compile with vc22+, please post the steps here
Il 15/08/2023 14:31, Marco Aurélio ha scritto:Can you compile SQLRDD with VC22+?
If someone manages to compile with vc22+, please post the steps hereI'm using this compiler and it is working fine with SVN version of
xHarbour, so the problem lies in one of the recent changes.
Microsoft (R) C/C++ Optimizing Compiler Version 19.32.31329 for x86
(Date: 20220531)
--
Enrico Maria Giordano
http://www.emagsoftware.it
http://www.emagsoftware.it/emgmusic
http://www.emagsoftware.it/spectrum
http://www.emagsoftware.it/tbosg
Please update and check after:
2023-08-14 18:04 UTC-0500 Ron Pinkas <ronpinkas/AT/gmail/com>
* source/pp/ppgen.c
* Fixed compiler warnings caused by the auto generated /include/hbver.h
As promised the complete xHarbour.com sources of ALL of our products, scripts, documentation, etc. have been uploaded to the xHarbour.org GitHub repository (including all commit history) into the xHarbourBuilder sub folder.Very good master.
Enjoy!
Ron
Can you compile SQLRDD with VC22+?
I'm using this compiler and it is working fine with SVN version of
xHarbour, so the problem lies in one of the recent changes.
Microsoft (R) C/C++ Optimizing Compiler Version 19.32.31329 for x86 http://www.emagsoftware.it/tbosg
Em terça-feira, 15 de agosto de 2023 às 09:26:59 UTC-3, Enrico Maria Giordano escreveu:
Il 15/08/2023 14:24, Enrico Maria Giordano ha scritto:
CALL bcc32 /paths
Sorry, this is
SET BCC=e:\bcc32\bcc
--
Enrico Maria Giordano
http://www.emagsoftware.itIf someone manages to compile with vc22+, please post the steps here
http://www.emagsoftware.it/emgmusic
http://www.emagsoftware.it/spectrum
http://www.emagsoftware.it/tbosg
On Tuesday, August 15, 2023 at 7:32:01 AM UTC-5, Marco Aurélio wrote:Hi Ron, this will compile libs in xHarbourBuilder folder?
Em terça-feira, 15 de agosto de 2023 às 09:26:59 UTC-3, Enrico Maria Giordano escreveu:
Il 15/08/2023 14:24, Enrico Maria Giordano ha scritto:
CALL bcc32 /paths
Sorry, this is
SET BCC=e:\bcc32\bcc
--
Enrico Maria Giordano
If you install (free) VS 2022 using default installer settings (not changing tareget folders) than you should build no problem by just:http://www.emagsoftware.itIf someone manages to compile with vc22+, please post the steps here
http://www.emagsoftware.it/emgmusic
http://www.emagsoftware.it/spectrum
http://www.emagsoftware.it/tbosg
cd \xharbour
make_vc clean
make_vc
Works for me perfectly.
Il 15/08/2023 01:24, Ron Pinkas ha scritto:
Please update and check after:
2023-08-14 18:04 UTC-0500 Ron Pinkas <ronpinkas/AT/gmail/com>Now I get:
* source/pp/ppgen.c
* Fixed compiler warnings caused by the auto generated /include/hbver.h
source\compiler\hbmain.c:
Borland Resource Compiler Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
Error harbour.exe.rc 3 0: Too many digits in a number
And in the console I get:
Removing System and Object Files ...
Removing DLL and Object Files ...
Removing Contrib Libraries and Object Files ...
Done ...
****** End of Job *****
Creating System Files (ST) ...
Creating Contrib Libraries ...
Impossibile trovare l'etichetta batch specificata - CONTRIBS_ERR
Premere un tasto per continuare . . .
I'm compiling with BCC32 and the following batch:
@ ECHO OFF
CALL bcc32 /paths
SET CC_DIR=%BCC%
SET CFLAGS=-w!-
SET LFLAGS=-L%BCC%\lib;%BCC%\lib\psdk
SET HB_DIR_OPENSSL=e:\xhbsvn\openssl-win32
SET HB_GUI=1
SET HB_NO_BACKGROUND=1
SET HB_NO_DV_MEMCPY=1
SET HB_NO_FM_DL_ALLOC=1
SET HB_NO_VM_ALL=1
CALL make_bc clean
CALL make_bc core
CALL make_bc contrib
PAUSE
--
Enrico Maria Giordano
http://www.emagsoftware.it
http://www.emagsoftware.it/emgmusic
http://www.emagsoftware.it/spectrum
http://www.emagsoftware.it/tbosg
cd \xharbour
make_vc clean
make_vc
Hi Ron, this will compile libs in xHarbourBuilder folder?
to also support what we just donated free of charge.cd \xharbour
make_vc clean
make_vc
Hi Ron, this will compile libs in xHarbourBuilder folder?No. We provided all our sources and build procedures, which obviously were using OUR tools. But since xBuild project files are provided you should be able to easily change xCC to MSVC. Naturally there may be some challenges, but please don't expect us
RonHi, Ron, Thanks again for all your efforts and support
If you install (free) VS 2022 using default installer settings (not changing tareget folders) than you should build no problem by just:
cd \xharbour
make_vc clean
make_vc
Works for me perfectly.
make_vc.bat - works for me perfectly.You are using a NON STANDARD Install of VS2022 (Your batch file shows MSC=e:\msc32\msc ). I believe the problem is with latest make_vc.bat not supporting such a configuration. I would strongly recommend a STANDARD INSTALL of VS 2022 and using plain
Please revert make_vc.bat to the SVN version, it is working fine! We
must be free to change the compiler directory!
You are using a NON STANDARD Install of VS2022 (Your batch file shows MSC=e:\msc32\msc ). I believe the problem is with latest make_vc.bat not supporting such a configuration. I would strongly recommend a STANDARD INSTALL of VS 2022 and using plainmake_vc.bat - works for me perfectly.
Please revert make_vc.bat to the SVN version, it is working fine! We
must be free to change the compiler directory!
the wrong approach, instead we should find the exact cause of your issue,Please revert make_vc.bat to the SVN version, it is working fine! We
must be free to change the compiler directory!
make_vc has been cleaned, standardized to provide more consistent support to the many complexities and different tools installed by Microsoft. Support was also added for newer versions of all tools and the O/S itself. So your request to revert seems
This is not "my issue", this is a bug YOU introduced. Please fix it. If
you need my help then ask for my help, clearly and gently.
The BCC32 build is failing even with make_vc.bat from SVN:
source\compiler\hbmain.c:
Borland Resource Compiler Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
Error harbour.exe.rc 3 0: Too many digits in a number
** error 20018 ** deleting obj\b32\harbour.exe.res
So there is a bug to fix somewhere else.
needed to fix it since I do not have such setup available to me. If you do not care for the the new fixes (and possible "bugs") you can of course keep using the SVN.This is not "my issue", this is a bug YOU introduced. Please fix it. If
you need my help then ask for my help, clearly and gently.
Please let's avoid hostility and getting personal. I apologize, did not mean to say the issue is "you" - I said "your issue" as in the issue you encountered. The correct solution is to find the cause, and only you can trace it and provide the details
Enrico,
The BCC32 build is failing even with make_vc.bat from SVN:
I believe you mean make_bc.bat right?
have any control over. We are forced to switch to someway of relying on what is available with GIT if we want to use GIT.source\compiler\hbmain.c:
Borland Resource Compiler Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
Error harbour.exe.rc 3 0: Too many digits in a number
** error 20018 ** deleting obj\b32\harbour.exe.res
So there is a bug to fix somewhere else.
The bug seems to be with the Borland Resource Compiler not able to compile 'hbver.h' (C99 standard long long number). We were forced to change old version numbers relying on SVN version ID because it is not supported by GIT. This is not something I
have any control over. We are forced to switch to someway of relying on what is available with GIT if we want to use GIT.The bug seems to be with the Borland Resource Compiler not able to compile 'hbver.h' (C99 standard long long number). We were forced to change old version numbers relying on SVN version ID because it is not supported by GIT. This is not something I
hbver.h seems identical (one comment apart) to the old version. What ID
are you referring to?
Ok, I'll try to find the problem in make_vc.bat and report back here.
I'm still trying to find the bug...
As promised the complete xHarbour.com sources of ALL of our products, scripts, documentation, etc. have been uploaded to the xHarbour.org GitHub repository (including all commit history) into the xHarbourBuilder sub folder.
Enjoy!
Ron
This is working:
IF "%VSINSTALLDIR%"=="" IF EXIST "%CC_DIR%"\vcvarsall.bat CALL
"%CC_DIR%"\vcvarsall.bat
IF "%VSINSTALLDIR%"=="" IF "%VCINSTALLDIR%"=="" set
PATH="%CC_DIR%\bin";%VSCOMMONTOOLS%;"%RC_DIR%";"%BISON_DIR%";%~dp0bin;%PATH% >> Can you commit this or change it as you like (and commit)?
Cool. Maybe () grouping not supported by the Windows version you have.
Please test after:
--------
2023-08-15 12:16 UTC-0500 Ron Pinkas <ronpinkas/AT/gmail/com>
* .gitignore
+ *.map
* make_vc.bat
* Removed usage of () to group IF logic
------
Sorry, meant the AUTO GENERATED hbverbld.h - specifically this:
#define HB_VER_GITFAKEID 202308141804LL
#define HB_VER_CVSID 202308141804LL
Can I see a sample of that .RC file that I can test with BCC resource compiler?
This is working:
IF "%VSINSTALLDIR%"=="" IF EXIST "%CC_DIR%"\vcvarsall.bat CALL "%CC_DIR%"\vcvarsall.bat
IF "%VSINSTALLDIR%"=="" IF "%VCINSTALLDIR%"=="" set PATH="%CC_DIR%\bin";%VSCOMMONTOOLS%;"%RC_DIR%";"%BISON_DIR%";%~dp0bin;%PATH% Can you commit this or change it as you like (and commit)?
hbver.h seems identical (one comment apart) to the old version. What ID
are you referring to?
Sorry, meant the AUTO GENERATED hbverbld.h - specifically this:
#define HB_VER_GITFAKEID 202308141804LL
#define HB_VER_CVSID 202308141804LL
Cool. Maybe () grouping not supported by the Windows version you have.
Can I see a sample of that .RC file that I can test with BCC resource
compiler?
Sure, IIRC just look for harbour.rc
There is no harbour.rc in the repository.
Can I see a sample of that .RC file that I can test with BCC resource
compiler?
Sure, IIRC just look for harbour.rc
harbour.exe.rc
It is an automatically generated file by a utility called hbrc (xharbour\utils\misc\hbrc.c)
Ok. Inside it there are:
FILEVERSION 1,2,3,202308151216
PRODUCTVERSION 1,2,3,202308151216
They should be (according to MS docs) four 16bit numbers. So this big
number is wrong.
https://learn.microsoft.com/en-us/windows/win32/menurc/versioninfo-resource
I suspect this issue can be fixed in that source.
Can you guide me to some tests that I can do?
There is no harbour.rc in the repository.
Sorry I noticed my mistake and deleted the message. The file is actually:
harbour.exe.rc
It is an automatically generated file by a utility called hbrc (xharbour\utils\misc\hbrc.c)
I suspect this issue can be fixed in that source.
harbour.exe.rc
It is an automatically generated file by a utility called hbrc (xharbour\utils\misc\hbrc.c)
Ok. Inside it there are:
FILEVERSION 1,2,3,202308151216
PRODUCTVERSION 1,2,3,202308151216
They should be (according to MS docs) four 16bit numbers. So this big number is wrong.
https://learn.microsoft.com/en-us/windows/win32/menurc/versioninfo-resource
I suspect this issue can be fixed in that source.
Can you guide me to some tests that I can do?I believe the code can be modified to possibly allocate the FILEVERSION 4 pieces (4x16=64bit) to encode the LL number, and modify the PRODUCTVERSION to omit the LL number (0).
This means the resource will have both the exact Build's Date+Time Stamp as well as the explicit version number specified in the sources.
But truly I never looked into this RC file and have no idea what is even needed for.
Ron
rebuild sqlrdd for bcc 7.60 ok :-)
using hbmk2.exe from harbour with -xhb parameters, using bison tools.
sqlrdd parser sql. :-)
Maybe something like this:
unsigned long long llvalue = HB_VER_CVSID;
unsigned long dw1 = llvalue >> 32; // Get the first DWORD (the higher 32 bits)
unsigned long dw2 = llvalue & 0xFFFFFFFF; // Get the second DWORD (the lower 32 bits)
unsigned short hiword1 = dw1 >> 16; // Get the high word of dw1
unsigned short loword1 = dw1 & 0xFFFF; // Get the low word of dw1
unsigned short hiword2 = dw2 >> 16; // Get the high word of dw2
unsigned short loword2 = dw2 & 0xFFFF; // Get the low word of dw2
fprintf(h, "FILEVERSION %u,%u,%u,%u\n", hiword1, loword1, hiword2, loword2);
Perfect! This is working fine. Please commit. BCC32 and BCC54 builds are OK!
int main( int argc, char * argv[] )Enrico,
{
if( argc >= 7 )
{
FILE * h = fopen( argv[ 1 ], "wb" );
if( h )
{
SYSTEMTIME t;
char * cCompiler = _hb_verCompiler();
char * aMo[] = { "January", "February", "March",
"April", "May", "June", "July", "August", "September", "October",
"November", "December" };
char szParam[ 265 ];
unsigned long long llvalue = HB_VER_CVSID;
unsigned long dw1 = llvalue >> 32; // Get the first DWORD (the
higher 32 bits)
unsigned long dw2 = llvalue & 0xFFFFFFFF; // Get the second DWORD
(the lower 32 bits)
unsigned short hiword1 = dw1 >> 16; // Get the high word of dw1
unsigned short loword1 = dw1 & 0xFFFF; // Get the low word of dw1
unsigned short hiword2 = dw2 >> 16; // Get the high word of dw2
unsigned short loword2 = dw2 & 0xFFFF; // Get the low word of dw2 GetLocalTime( &t );
fprintf( h, "1 VERSIONINFO\n" );
fprintf(h, "FILEVERSION %u,%u,%u,%u\n", hiword1, loword1, hiword2,
loword2);
fprintf(h, "PRODUCTVERSION %u,%u,%u,%u\n", hiword1, loword1,
hiword2, loword2);
// fprintf( h, "FILEVERSION %d,%d,%d,%lld\n", HB_VER_MAJOR,HB_VER_MINOR,HB_VER_REVISION,HB_VER_CVSID );
// fprintf( h, "PRODUCTVERSION %d,%d,%d,%lld\n", HB_VER_MAJOR,HB_VER_MINOR,HB_VER_REVISION,HB_VER_CVSID );
--
Enrico,
I just fixed my code here, and compiled fine!
Il 15/08/2023 22:54, Ron Pinkas ha scritto:
Maybe something like this:
unsigned long long llvalue = HB_VER_CVSID;
unsigned long dw1 = llvalue >> 32; // Get the first DWORD (the higher 32 bits)
unsigned long dw2 = llvalue & 0xFFFFFFFF; // Get the second DWORD (the lower 32 bits)
unsigned short hiword1 = dw1 >> 16; // Get the high word of dw1
unsigned short loword1 = dw1 & 0xFFFF; // Get the low word of dw1
unsigned short hiword2 = dw2 >> 16; // Get the high word of dw2
unsigned short loword2 = dw2 & 0xFFFF; // Get the low word of dw2
fprintf(h, "FILEVERSION %u,%u,%u,%u\n", hiword1, loword1, hiword2, loword2);Perfect! This is working fine. Please commit. BCC32 and BCC54 builds are OK!
Perfect! This is working fine. Please commit. BCC32 and BCC54 builds are OK!
Check after:
2023-08-16 09:17 UTC-0500 Ron Pinkas <ronpinkas/AT/gmail/com>
* utils/misc/hbrc.c
* Modified FILEVERSION to be the 4 16bit parts of HB_VER_CVSID
* Modified PRODUCTVERSION 4th part to be 0
Besides downloading bcc what else do I need to configure to compile on windows?
Besides downloading bcc what else do I need to configure to compile on windows?
Probably better to use the free Microsoft VC 2022.
https://visualstudio.microsoft.com/vs/community/
Il 16/08/2023 16:22, Ron Pinkas ha scritto:
Besides downloading bcc what else do I need to configure to compile on windows?
Probably better to use the free Microsoft VC 2022.
https://visualstudio.microsoft.com/vs/community/Yes, I confirm. If correctly used, MSC produced smaller EXEs in less
time. Thanks to Antonio Linares, I have reduced MSC32 and MSC64 installationa with the usual bin, include and lib directory.
--
Enrico Maria Giordano
http://www.emagsoftware.it
http://www.emagsoftware.it/emgmusic
http://www.emagsoftware.it/spectrum
http://www.emagsoftware.it/tbosg
Ron/Enrico
From the moment I clone the xharbour repository what else do I need to do?
Is it possible to describe a step by step?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 251 |
Nodes: | 16 (0 / 16) |
Uptime: | 03:08:49 |
Calls: | 5,571 |
Files: | 11,686 |
Messages: | 5,131,655 |