Página 2 de 2

Msys2 6 opções para compilar o Harbour

Enviado: 13 Dez 2024 09:42
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.

Msys2 6 opções para compilar o Harbour

Enviado: 28 Abr 2025 09:03
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.

Msys2 6 opções para compilar o Harbour

Enviado: 28 Abr 2025 19:24
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.