Msys2 6 opções para compilar o Harbour

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Msys2 6 opções para compilar o Harbour

Mensagem por Itamar M. Lins Jr. »

Olá!
E o que achou? Vantagem usar assim?
Qual é o objetivo?
Essa é a maneira que os desenvolvedores usam e indicam, para mantermos o Harbour atualizado. Não só o Harbour mas todas as outras ferramentas.
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 ~
No Harbour teve atualizações no mês 10, mês 11, mês 12...

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...
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.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Msys2 6 opções para compilar o Harbour

Mensagem por Itamar M. Lins Jr. »

Olá!
Atualizando gcc 15 UCRT.
Apenas pacman Sys e depois pacman Su
2025-04-28_09-06-47.png
Depois só recompilar o harbour
win-make clean install
Atualiza todos os pacotes, sem precisar ficar procurando.
2025-04-28_09-17-44.png
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Msys2 6 opções para compilar o Harbour

Mensagem por JoséQuintas »

SOSSOFT escreveu:E o que achou? Vantagem usar assim?
Qual é o objetivo?
A vantagem é que se você usa várias coisas, isso atualiza tudo.
Não se trata apenas de mingw, mas de muitas ferramentas que esse programa pode baixar, e de lugar seguro, geralmente distribuído pelo desenvolvedor/fornecedor.

Pode ser mingw, 7zip, git, e muitos outros utilitários open source.

Ao invés de ficar procurando pela internet, é só pedir pra ele.
Opcionalmente, um batzinho, e um computador zerado vai ter todas as ferramentas que precisa.

E com um comando, pode atualizar tudo de uma vez.

Tem o MSYS2, tem um tal de chocolatey, acho que é esse o nome, e devem ter outros.
São programas oficiais, que baixam das localizações oficiais.

Isso é uma coisa normal em Linux, que ainda está começando no Windows.

Também pode ser interessante como forma de combater vírus, não baixando de sites duvidosos.

Quantas vezes viu a pergunta : onde baixo tal coisa....
Então... baixa por um programa desses.
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/
Responder