Baixar e compilar Harbour do CVS
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Baixar e compilar Harbour do CVS
Agora tá mais fácil fazer isso.
Achei legal a ferramenta CVS, por linha de comando.
A desvantagem é que sempre baixa tudo do zero.
A vantagem é que só baixa o CVS, sem criar pastas e arquivos escondidos
A diferença no resultado é a pasta do CVS ocupar uns 60mb ao invés de 300mb.
Normal... é apenas pra download, enquanto a outra é pra quem usa upload/download e controle de versão
E pra quem não quiser o RUN do 3.2 diferente do 3.0, só trocar o run.c, da pasta src/rtl.
Obs. Da outra vez a nightly compilada com mingw não funcionava diferente.
Ou então alterar esta linha, que é a única coisa diferente: (no run.c)
No Harbour 3.0
#if defined( HB_OS_WIN_CE )
No Harbour 3.2
#if defined( HB_OS_WIN )
o tutorial que foi feito está aqui:
http://www.elektrosoft.it/tutorials/how ... indows.asp
Ainda não sei se vai funcionar bem. Quem quiser, faça por sua conta e risco.
No msvc deu alguns avisos na compilação que deixam na dúvida, mas tá funcionando.
Avisos do tipo:
harboury.c(4089) : warning C4244: '=' : conversion from 'int' to 'yytype_int16', possible loss of data
harbour.y(1371) : warning C4309: 'argument' : truncation of constant value
harbour.y(1374) : warning C4309: 'argument' : truncation of constant value
d:\harbour\src\compiler\obj\win\msvc\harboury.c(7737) : warning C4702: unreachable code
d:\harbour\src\compiler\obj\win\msvc\harboury.c(7776) : warning C4701: potentially uninitialized local variable 'hb_comp_yylval' used
Achei legal a ferramenta CVS, por linha de comando.
A desvantagem é que sempre baixa tudo do zero.
A vantagem é que só baixa o CVS, sem criar pastas e arquivos escondidos
A diferença no resultado é a pasta do CVS ocupar uns 60mb ao invés de 300mb.
Normal... é apenas pra download, enquanto a outra é pra quem usa upload/download e controle de versão
E pra quem não quiser o RUN do 3.2 diferente do 3.0, só trocar o run.c, da pasta src/rtl.
Obs. Da outra vez a nightly compilada com mingw não funcionava diferente.
Ou então alterar esta linha, que é a única coisa diferente: (no run.c)
No Harbour 3.0
#if defined( HB_OS_WIN_CE )
No Harbour 3.2
#if defined( HB_OS_WIN )
o tutorial que foi feito está aqui:
http://www.elektrosoft.it/tutorials/how ... indows.asp
Ainda não sei se vai funcionar bem. Quem quiser, faça por sua conta e risco.
No msvc deu alguns avisos na compilação que deixam na dúvida, mas tá funcionando.
Avisos do tipo:
harboury.c(4089) : warning C4244: '=' : conversion from 'int' to 'yytype_int16', possible loss of data
harbour.y(1371) : warning C4309: 'argument' : truncation of constant value
harbour.y(1374) : warning C4309: 'argument' : truncation of constant value
d:\harbour\src\compiler\obj\win\msvc\harboury.c(7737) : warning C4702: unreachable code
d:\harbour\src\compiler\obj\win\msvc\harboury.c(7776) : warning C4701: potentially uninitialized local variable 'hb_comp_yylval' used
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Baixar e compilar Harbour do CVS
Olá José,
Obrigado por compartilhar a dica.
Baixei e compilei. Parece que está tudo certo. Vou aproveitar seu tópico e colocar mais açúcar nesse doce:
1 - Quem ainda não tem o SVN Tool instalado, baixe aqui: SVN Tool
2 - Salve o código abaixo com a extensão .bat e rode no prompt de comando (importante: após instalar o SVN Tool)
3 - Altere o Path do Windows, removendo a instrução: C:\hb32\bin por: c:\hb32\comp\mingw\bin;C:\harbour\bin
Obrigado por compartilhar a dica.
Baixei e compilei. Parece que está tudo certo. Vou aproveitar seu tópico e colocar mais açúcar nesse doce:
1 - Quem ainda não tem o SVN Tool instalado, baixe aqui: SVN Tool
2 - Salve o código abaixo com a extensão .bat e rode no prompt de comando (importante: após instalar o SVN Tool)
3 - Altere o Path do Windows, removendo a instrução: C:\hb32\bin por: c:\hb32\comp\mingw\bin;C:\harbour\bin
Código: Selecionar todos
svn export https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour c:\harbour
if errorlevel 1 goto fim
pause
PATH=C:\hb32\comp\mingw\bin
SET HB_INSTALL_PREFIX=c:\harbour
cd c:\harbour
win-make.exe clean install
:fimAbraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Baixar e compilar Harbour do CVS
Só que tem mais detalhes....
O resultado vai para uma pasta nova, portanto os fontes devem estar em uma pasta diferente de hb_install_prefix
aqui criei este bat, apesar de não usar hwgui:
O resultado vai para uma pasta nova, portanto os fontes devem estar em uma pasta diferente de hb_install_prefix
aqui criei este bat, apesar de não usar hwgui:
Código: Selecionar todos
rem
rem Harbour 1.0
rem svn export https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/branches/harbour-1.0 d:\cvsfiles\harbour10
rem
rem Harbour 2.0
rem svn export https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/branches/harbour-2.0 d:\cvsfiles\harbour20
rem
rem Harbour 3.0
rem svn export https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/branches/harbour-3.0 d:\cvsfiles\harbour30
rem
rem HWGui
rem svn export svn://svn.code.sf.net/p/hwgui/code/trunk/hwgui d:\cvsfiles\hwgui
rem
rem Harbour CVS
svn export https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour d:\cvsfiles\harbour32
Editado pela última vez por Pablo César em 07 Nov 2012 15:21, em um total de 2 vezes.
Razão: Favor utilizar as tags URL para que os links não se percam. Aguardamos correção.
Razão: Favor utilizar as tags URL para que os links não se percam. Aguardamos correção.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Baixar e compilar Harbour do CVS
Outra diferença no Harbour 3.2:
Retornos que eram bytearray no harbour 3.0, retornam string no harbour 3.2.
tipo...
oHttp:ResponseBody
Não sei se isso é recente, ou sempre foi assim no Harbour 3.2.
Mas a primeira coisa que veio na minha cabeça foi sobre minigui, hwgui, e bibliotecas que não fazem parte do harbour.
Mudanças assim devem causar um belo estrago.
Retornos que eram bytearray no harbour 3.0, retornam string no harbour 3.2.
tipo...
oHttp:ResponseBody
Não sei se isso é recente, ou sempre foi assim no Harbour 3.2.
Mas a primeira coisa que veio na minha cabeça foi sobre minigui, hwgui, e bibliotecas que não fazem parte do harbour.
Mudanças assim devem causar um belo estrago.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Baixar e compilar Harbour do CVS
Olá José,
Sobre o :ResponseBody não sei dizer, porque há muito tempo passei a usar HB_LibLoad("UrlMon.dll"). Porém, sobre o Hb_Run( cComando ), este não funciona com as sugestões que você passou, e nem mesmo substituindo o arquivo run.c.
Penso que a versão que contempla suporte para console, parou na versão 3.0.0. Creio que a partir dela, a preocupação maior já é em modo GUI, uma vez que este processo me parece natural.
Pela manhã, vou usar as informações de seu post anterior e tentar baixar a versão 3.0.0. Depois dos testes, posto aqui.
Sobre o :ResponseBody não sei dizer, porque há muito tempo passei a usar HB_LibLoad("UrlMon.dll"). Porém, sobre o Hb_Run( cComando ), este não funciona com as sugestões que você passou, e nem mesmo substituindo o arquivo run.c.
Penso que a versão que contempla suporte para console, parou na versão 3.0.0. Creio que a partir dela, a preocupação maior já é em modo GUI, uma vez que este processo me parece natural.
Pela manhã, vou usar as informações de seu post anterior e tentar baixar a versão 3.0.0. Depois dos testes, posto aqui.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Baixar e compilar Harbour do CVS
Tenho basicamente um EXE com TUDO, tudo mesmo.
O EXE roda nos clientes e no meu servidor.
No meu servidor fica processando notas fiscais eletrônicas, acessando Secretaria da Fazenda, e enviando email.
E também, ao liberar pra clientes, eu faço upload pro site, e eles o download.
Como já disse por aqui, meus testes são colocando pra valer.
Meu primeiro teste ao trocar o Harbour é enviar email, e já falhou logo de cara.
Só funcionou com o run.c do Harbour 3.0.
Depois no servidor já deu erro na consulta de nota fiscal da Fazenda, por causa do retorno diferente.
E não consegui mais fazer upload/download do site, também por causa do retorno diferente.
Como fiquei fazendo testes, andei retornando os fontes do Harbour originais, e recompilando (do 3.2).
Pra não esquecer do run.c, coloquei na pasta do aplicativo.
O detalhe da compilação do CVS é o que falei: a pasta de destino (hb_install_prefix) tem que ser diferente da pasta dos fontes.
Se não fizer isso, pode estar usando o harbour anterior pensando que está no harbour recém compilado.
Na primeira compilação aqui, usando o drive D:, e pasta d:\harbour, o harbour compilado ficou em C:\harbour, e quase não percebi.
Resumindo:
Estou usando na prática, o sistema só funcionou igual antes ao fazer as alterações: run.c no harbour, e string ao invés de byte array.
Só que cometi uma falha ao postar: usei um nome de variável que confunde.
Foi na comunicação SOAP, então é mais apropriado oSoap:Responsebody.
oHttp confunde com o objeto do explorer.
O EXE roda nos clientes e no meu servidor.
No meu servidor fica processando notas fiscais eletrônicas, acessando Secretaria da Fazenda, e enviando email.
E também, ao liberar pra clientes, eu faço upload pro site, e eles o download.
Como já disse por aqui, meus testes são colocando pra valer.
Meu primeiro teste ao trocar o Harbour é enviar email, e já falhou logo de cara.
Só funcionou com o run.c do Harbour 3.0.
Depois no servidor já deu erro na consulta de nota fiscal da Fazenda, por causa do retorno diferente.
E não consegui mais fazer upload/download do site, também por causa do retorno diferente.
Como fiquei fazendo testes, andei retornando os fontes do Harbour originais, e recompilando (do 3.2).
Pra não esquecer do run.c, coloquei na pasta do aplicativo.
O detalhe da compilação do CVS é o que falei: a pasta de destino (hb_install_prefix) tem que ser diferente da pasta dos fontes.
Se não fizer isso, pode estar usando o harbour anterior pensando que está no harbour recém compilado.
Na primeira compilação aqui, usando o drive D:, e pasta d:\harbour, o harbour compilado ficou em C:\harbour, e quase não percebi.
Resumindo:
Estou usando na prática, o sistema só funcionou igual antes ao fazer as alterações: run.c no harbour, e string ao invés de byte array.
Só que cometi uma falha ao postar: usei um nome de variável que confunde.
Foi na comunicação SOAP, então é mais apropriado oSoap:Responsebody.
oHttp confunde com o objeto do explorer.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Baixar e compilar Harbour do CVS
Olá José,
Deu certo! Baixei a versão 3.0.0 rev 17074 tudo do zero. Fiz como você sugeriu, a pasta de download diferente da pasta hb_install_prefix.
Ficou assim aqui: arquivos do CVS na pasta hbcvs30 e o harbour na pasta harbour.
Pode ser impressão (mas acho que não é), mas o sistema compilado com essa versão me pareceu bem mais rápido.
Valeu as dicas. Obrigado.
Deu certo! Baixei a versão 3.0.0 rev 17074 tudo do zero. Fiz como você sugeriu, a pasta de download diferente da pasta hb_install_prefix.
Ficou assim aqui: arquivos do CVS na pasta hbcvs30 e o harbour na pasta harbour.
Pode ser impressão (mas acho que não é), mas o sistema compilado com essa versão me pareceu bem mais rápido.
Valeu as dicas. Obrigado.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Baixar e compilar Harbour do CVS
Complemento:
Para o Harbour 3.2 rodar arquivos BAT, passei a usar o seguinte:
RUN (GetEnv("COMSPEC") + " /c " + cArquivoBat )
Desta forma, não precisa mais do run.c do Harbour 3.0.
Para o Harbour 3.2 rodar arquivos BAT, passei a usar o seguinte:
RUN (GetEnv("COMSPEC") + " /c " + cArquivoBat )
Desta forma, não precisa mais do run.c do Harbour 3.0.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Baixar e compilar Harbour do CVS
Atualizando a última informação:
Usando em console funciona sempre.
Se usar gtwvt, somente trocando pelo run.c do Harbour 3.0.
Usando em console funciona sempre.
Se usar gtwvt, somente trocando pelo run.c do Harbour 3.0.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Baixar e compilar Harbour do CVS
Para o caso de alguém chegar a este tópico:
* harbour/src/rtl/run.c
* harbour/src/rtl/hbrunfun.c
! use MSCRTL system call in desktop MS-Windows builds of __RUN()
and HB_RUN() functions.
It restores Clipper compatible __RUN() behavior and now both
functions work in the same way on all platforms except WinCE/Mobile
which does not have shell system.
O inconveniente com RUN não existe mais no Harbour oficial a partir de fevereiro.
* harbour/src/rtl/run.c
* harbour/src/rtl/hbrunfun.c
! use MSCRTL system call in desktop MS-Windows builds of __RUN()
and HB_RUN() functions.
It restores Clipper compatible __RUN() behavior and now both
functions work in the same way on all platforms except WinCE/Mobile
which does not have shell system.
O inconveniente com RUN não existe mais no Harbour oficial a partir de fevereiro.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/