Msys2 6 opções para compilar o Harbour
Enviado: 13 Dez 2024 09:42
Olá!
Hoje é 13-12-2024 já aconteceram inúmeras correções/fix avanços em muitas que uso, Harbour, Hwgui, GCC-UCRT...
Ontem teve no msys2 e hoje... há todo momento estão atualizando alguma coisa.
No Harbour teve atualizações no mês 10, mês 11, mês 12...
O objetivo é esse: aprender a ter CONTATO DIRETO com o pessoal (desenvolvedores) das nossas ferramentas SEM INTERMEDIÁRIOS. Aprender a COMPILAR OS FONTES do HARBOUR e das nossas BIBLIOTECAS, PEGANDO DIRETO DA FONTE. E aprender a conversar com eles se tivermos alguma correção, avanço, melhora, naquilo que usamos.
Quando usamos um PACOTE, precisamos BAIXAR o TAL PACOTE o tempo todo ou ficar SUJEITO(preso) na boa vontade de quem está gerando, inclusive o tamanho do tal PACOTE de 300 megas até mais de 1GIGA!!! vai depender de quais compiladores estarão empacotados.
Com 3 comandos eu atualizo o que preciso.
1) Atualizar o GCC-UCRT (opcional) -> pacman -Suy
2) git pull (atualizar o Harbour)
3) win-make.exe clean install
Fico em dia, e é muito rápido só vai puxar o que houver necessidade, não vai baixar 400megas de arquivos.
Se for só o Harbour: -> git pull e em seguida win-make clean install
Ah! Já ia me esquecendo. Esse tutorial é para quem quer usar GCC/CLANG! Tem muitos usuários que usam MSVC(compilador da microsoft) Inclusive teve algumas atualizações no Harbour nesse sentido, quem eu sei que usa é o pessoal do Antonio Linares, o Eric Landvai, esse inclusive fez muitos tutoriais e tem muitos exemplos.
A pessoa que GERA e DISPONIBILIZA o tal pacote, faz assim... Ou um pouco com mais trabalho(pra ele) caso não use o msys2, pq precisa PROCURAR as outras LIBS que não vem junto com o GCC/CLANG.
Eu usava assim, antigamente ficava baixando de sites isso há muito tempo, tinha que procurar em 3,4 locais as LIBS OpenSSL, cURL. Nisso o Viktor Szakats me ensinou(dica) a usar o msys2(fui aprendendo aos trancos e barrancos)...
Usei muito o GCC da T-DRAGON... Depois com msys2 não precisou mais. (tem até umas postagens minha aqui baixando o GCC da T-Dragon...)
Saudações,
Itamar M. Lins Jr.
Essa é a maneira que os desenvolvedores usam e indicam, para mantermos o Harbour atualizado. Não só o Harbour mas todas as outras ferramentas.E o que achou? Vantagem usar assim?
Qual é o objetivo?
Hoje é 13-12-2024 já aconteceram inúmeras correções/fix avanços em muitas que uso, Harbour, Hwgui, GCC-UCRT...
Ontem teve no msys2 e hoje... há todo momento estão atualizando alguma coisa.
Código: Selecionar todos
Itamar@DESKTOP-MP8Q5KH UCRT64 ~
$ pacman -Suy
:: Synchronizing package databases...
clangarm64 429.2 KiB 173 KiB/s 00:02 [###############################] 100%
mingw32 203.8 KiB 71.7 KiB/s 00:03 [###############################] 100%
mingw64 450.9 KiB 117 KiB/s 00:04 [###############################] 100%
ucrt64 481.8 KiB 116 KiB/s 00:04 [###############################] 100%
clang32 13.9 KiB 7.69 KiB/s 00:02 [###############################] 100%
clang64 468.8 KiB 144 KiB/s 00:03 [###############################] 100%
msys 312.7 KiB 140 KiB/s 00:02 [###############################] 100%
:: Starting core system upgrade...
there is nothing to do
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (3) mingw-w64-ucrt-x86_64-nghttp2-1.64.0-1 mingw-w64-x86_64-glib2-2.82.4-1
mingw-w64-x86_64-nghttp2-1.64.0-1
Total Download Size: 5.43 MiB
Total Installed Size: 40.37 MiB
Net Upgrade Size: 0.02 MiB
:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
mingw-w64-x86_64-nghttp2-1... 204.4 KiB 144 KiB/s 00:01 [###############################] 100%
mingw-w64-ucrt-x86_64-nght... 203.6 KiB 107 KiB/s 00:02 [###############################] 100%
mingw-w64-x86_64-glib2-2.8... 5.0 MiB 516 KiB/s 00:10 [###############################] 100%
Total (3/3) 5.4 MiB 537 KiB/s 00:10 [###############################] 100%
(3/3) checking keys in keyring [###############################] 100%
(3/3) checking package integrity [###############################] 100%
(3/3) loading package files [###############################] 100%
(3/3) checking for file conflicts [###############################] 100%
(3/3) checking available disk space [###############################] 100%
:: Processing package changes...
(1/3) upgrading mingw-w64-ucrt-x86_64-nghttp2 [###############################] 100%
(2/3) upgrading mingw-w64-x86_64-glib2 [###############################] 100%
(3/3) upgrading mingw-w64-x86_64-nghttp2 [###############################] 100%
Itamar@DESKTOP-MP8Q5KH UCRT64 ~
Código: Selecionar todos
2024-12-13 09:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/compiler/harbour.y
* src/macro/macro.y
* replaced depreciated bison macro %pure-parser with %define api.pure
* src/compiler/complex.c
* src/macro/macrolex.c
* src/compiler/harbour.y
* src/macro/macro.y
* replaced depreciated bison macro %name-prefix with %define api.prefix
; Warning: now Bison 2.6 or newer is required to regenerate Harbour grammar
files. If someone wants/needs to work with older bison versions
then it's enough to restore depreciated macros, Harbour compiler
and macros lexers will work with both versions.
* src/compiler/harbour.yyc
* src/compiler/harbour.yyh
* src/macro/macro.yyc
* src/macro/macro.yyh
* regenerated with Bison 3.02 (the same as before)
* re-added HB_SYMBOL_UNUSED( yynerrs ) to pacify some compilers warnings
2024-12-12 21:30 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/compiler/genc.c
! fixed detection of C function written in C inside
#pragma BEGINDUMP / #pragma ENDDUMP
2024-12-12 21:18 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* ChangeLog.txt
* contrib/gtqtc/gtqtc.h
* contrib/gtqtc/gtqtc1.cpp
* contrib/hbzebra/datamtrx.c
* contrib/sddoci/core.c
* src/compiler/genc.c
! reverted my unintentional commit from dummy branch
2024-12-11 19:35 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/xhb/hbcompat.ch
! fixed HSetAACompatibility() #xtranslate
* contrib/hbzebra/code39.c
* pacified warning, it's also fix for possible buffer overflow.
* include/hbcomp.h
* src/compiler/genc.c
* src/compiler/hbmain.c
* replaced function hb_compFunctionMarkStatic() with
hb_compFunctionSetScope()
* src/compiler/genc.c
* detect public prg functions written in C inside
#pragma BEGINDUMP / #pragma ENDDUMP and mark them as LOCAL ones
* src/vm/hvm.c
! removed my pseudo fix from 2023-01-30 15:18 UTC+0100 Przemyslaw Czerpak.
It was ugly hack which can work only with some linkers.
This modification fixes FILE() function used with C functions written
without own symbol table
* src/rdd/dbf1.c
* minor code formatting
2024-12-04 15:25 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* src/common/hbver.c
! added lacking VER_BUILDNUMBER definition that is missing
in very old compiler sets/SDKs (pre Windows 2000),
noticed by DF7BE - Wilfried Brunken in #362
* README.md
* slightly updated list of supported compilers and
examples to mention MSVC for ARM64 and Clang
* ChangeLog.txt
* hb_scan -> hb_hscan in prev
2024-12-03 01:27 UTC-0300 Lailton Fernando Mariano (lailton/at/paysoft.com.br)
* src/vm/hashfunc.c
! fixed issue hb_hscan when we are looking for a logical value as true. Many thanks to Marcos Gambeta who found the problem.
2024-10-28 16:57 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* src/rdd/dbf1.c
! reading varchar binary field ("Q:B") from a .dbf
could free a wrong pointer in the record buffer.
Bug located and fixed by Marek.
2024-10-25 14:09 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* contrib/hbziparc/ziparc.prg
! return value of hb_zipDeleteFile() is not logical,
fix by Grigory Filatov.
2024-10-18 07:56 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* src/common/hbver.c
* guard Win10 build number getter from the unknown,
using old Win32 API that is not going to be deprecated.
2024-10-17 15:04 UTC+0200 Aleksander Czajczynski (hb fki.pl)
* .github/workflows/windows-ci.yml
* update windows MSYS2 integration runner set of
requested packages. PGSQL, Firebird and MariaDB libs
are no longer available in the 32-bit environment
+ add clang x86_64 compiler for testing under this CI
* include/harbour.hbx
* include/hbapi.h
* src/common/hbver.c
* src/harbour.def
* src/rtl/version.c
! fixed Windows 11 detection, by vendor likings it has
NT Kernel Version stamped with 10.0, so now Build Number
is more significant as a recognition factor.
+ new C helper functions hb_winisbuild(), hb_iswin11()
+ added PRG function hb_osIsWin11()
* also try to detect new Windows Server versions
* config/win/clang.mk
* utils/hbmk2/hbmk2.prg
* ChangeLog.txt
! recursion happening in the Makefiles rendered recently
introduced compatibility option unreliable. Changed to
use separate variable: HB_USER_FIXES=--mingw-script
You don't need it, the problem shouldn't exist, but
anyway...
Quando usamos um PACOTE, precisamos BAIXAR o TAL PACOTE o tempo todo ou ficar SUJEITO(preso) na boa vontade de quem está gerando, inclusive o tamanho do tal PACOTE de 300 megas até mais de 1GIGA!!! vai depender de quais compiladores estarão empacotados.
Com 3 comandos eu atualizo o que preciso.
1) Atualizar o GCC-UCRT (opcional) -> pacman -Suy
2) git pull (atualizar o Harbour)
3) win-make.exe clean install
Fico em dia, e é muito rápido só vai puxar o que houver necessidade, não vai baixar 400megas de arquivos.
Se for só o Harbour: -> git pull e em seguida win-make clean install
Ah! Já ia me esquecendo. Esse tutorial é para quem quer usar GCC/CLANG! Tem muitos usuários que usam MSVC(compilador da microsoft) Inclusive teve algumas atualizações no Harbour nesse sentido, quem eu sei que usa é o pessoal do Antonio Linares, o Eric Landvai, esse inclusive fez muitos tutoriais e tem muitos exemplos.
A pessoa que GERA e DISPONIBILIZA o tal pacote, faz assim... Ou um pouco com mais trabalho(pra ele) caso não use o msys2, pq precisa PROCURAR as outras LIBS que não vem junto com o GCC/CLANG.
Eu usava assim, antigamente ficava baixando de sites isso há muito tempo, tinha que procurar em 3,4 locais as LIBS OpenSSL, cURL. Nisso o Viktor Szakats me ensinou(dica) a usar o msys2(fui aprendendo aos trancos e barrancos)...
Usei muito o GCC da T-DRAGON... Depois com msys2 não precisou mais. (tem até umas postagens minha aqui baixando o GCC da T-Dragon...)
Saudações,
Itamar M. Lins Jr.