From ba275575a4aca2534d4d799103edff6cac06cdf3 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Sat, 20 Sep 2025 10:46:59 -0300 Subject: [PATCH 1/8] Fixing codeql workflow --- .github/workflows/codeql.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index bd907f73..bc4667e5 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -57,8 +57,8 @@ jobs: - name: Install Packages run: | - echo 'deb https://download.opensuse.org/repositories/home:/PerryWerneck:/udjat/xUbuntu_24.04/ /' | sudo tee /etc/apt/sources.list.d/home:PerryWerneck:udjat.list - curl -fsSL https://download.opensuse.org/repositories/home:/PerryWerneck:/udjat/xUbuntu_24.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_PerryWerneck_udjat.gpg > /dev/null + echo 'deb http://download.opensuse.org/repositories/home:/PerryWerneck:/pw3270/xUbuntu_24.04/ /' | sudo tee /etc/apt/sources.list.d/home:PerryWerneck:pw3270.list + curl -fsSL https://download.opensuse.org/repositories/home:PerryWerneck:pw3270/xUbuntu_24.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_PerryWerneck_pw3270.gpg > /dev/null sudo apt-get update sudo apt-get install --yes meson pkg-config python3-dev pkg-config gettext libssl-dev libcurl4-openssl-dev libglib2.0-dev From 59c1072489372fe117ed74578cd74caf70210a76 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Sun, 21 Sep 2025 11:09:48 -0300 Subject: [PATCH 2/8] Fixing read.me --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 68c9bc3c..6fd9fc13 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ You can download installation package for supported linux distributions in [Open mingw64-cross-gcc-c++ ``` -3. Configure and build +4. Configure and build ```shell meson setup --cross-file /usr/lib/rpm/macros.d/meson-mingw64-cross-file.txt .build From 0b3f1f09b31a82ac27af7620d811934fb954dc95 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 22 Sep 2025 21:30:30 -0300 Subject: [PATCH 3/8] Adding delayed library. --- meson.build | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/meson.build b/meson.build index c0a408da..7dd3fc1e 100644 --- a/meson.build +++ b/meson.build @@ -522,24 +522,6 @@ if host_machine.system() == 'windows' dlltool = find_program('dlltool', required: true) endif - # https://mesonbuild.com/Reference-manual_functions.html#custom_target - #custom_target( - # 'delaylib', - # depends: dynamic, - # build_by_default: true, - # command: [ - # dlltool, - # '--input-def','lib3270.def', - # '--dllname','lib3270.dll', - # '--kill-at', - # '--output-lib','lib3270.delayed.a' - # ], - # output: 'lib3270.delayed.a', - # install: true, - # install_tag: 'devel', - # install_dir: get_option('libdir') - #) - static = static_library( '3270', config_src + lib_src, @@ -550,6 +532,28 @@ if host_machine.system() == 'windows' include_directories: includes_dir ) + # https://mesonbuild.com/Reference-manual_functions.html#custom_target + delayed_library = declare_dependency( + link_with : custom_target( + 'delaylib', + depends: dynamic, + build_by_default: true, + command: [ + dlltool, + '--input-def','lib3270.def', + '--dllname','lib3270.dll', + '--kill-at', + '--output-lib','lib3270.delayed.a' + ], + output: 'lib3270.delayed.a', + install: true, + install_tag: 'devel', + install_dir: get_option('libdir') + ), + include_directories : includes_dir, + variables: pkg_variables, + ) + elif host_machine.system() == 'darwin' dynamic = shared_library( From c19e58650ba921b7bf84ea3a49f1f4cc5e34cd89 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 22 Sep 2025 21:32:05 -0300 Subject: [PATCH 4/8] Removing 'publish' badge since it's no longer needed. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 6fd9fc13..4ac59bec 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,6 @@ Created originally as part of PW3270 application. [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) ![CodeQL](https://github.com/PerryWerneck/lib3270/workflows/CodeQL/badge.svg) [![build result](https://build.opensuse.org/projects/home:PerryWerneck:pw3270/packages/lib3270/badge.svg?type=percent)](https://build.opensuse.org/package/show/home:PerryWerneck:pw3270/lib3270) -[![Publish](https://github.com/PerryWerneck/lib3270/actions/workflows/publish.yml/badge.svg)](https://github.com/PerryWerneck/lib3270/actions/workflows/publish.yml) ![Downloads](https://img.shields.io/github/downloads/PerryWerneck/lib3270/total.svg) ## Installation From 2dee03fa782d057c2e820e7fd24e865ac619d207 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 29 Sep 2025 13:30:50 -0300 Subject: [PATCH 5/8] Installing pkg-config for win32 delayed library. --- meson.build | 9 ++ po/POTFILES.in | 97 +++------------- po/pt_BR.po | 302 ++++++++++++++++++++++++------------------------- 3 files changed, 178 insertions(+), 230 deletions(-) diff --git a/meson.build b/meson.build index aa54b93a..e70b139a 100644 --- a/meson.build +++ b/meson.build @@ -372,6 +372,13 @@ if host_machine.system() == 'windows' libraries: [ '-l3270.dll' ] ) + pkg.generate( + name: meson.project_name() + '-delayed', + description: project_description, + variables: pkg_variables, + libraries: [ '-l3270.delayed' ] + ) + pkg.generate( name: meson.project_name() + '-static', description: project_description, @@ -386,6 +393,8 @@ if host_machine.system() == 'windows' '-lwtsapi32', '-lcomdlg32' ] + + ) # pkg.generate( diff --git a/po/POTFILES.in b/po/POTFILES.in index 77f0d378..8854ce8e 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -59,94 +59,33 @@ src/library/toggles/getset.c src/library/toggles/init.c src/library/toggles/listener.c src/library/toggles/table.c -src/library/ansi.c -src/library/bounds.c -src/library/ctlr.c +src/library/array.c +src/library/connect.c src/library/cursor.c src/library/host.c -src/library/iocalls.c -src/library/model.c +src/library/init.c +src/library/log.c +src/library/options.c src/library/popup.c -src/library/rpq.c +src/library/resources.c +src/library/screen.c src/library/session.c src/library/state.c src/library/telnet.c -src/library/trace_ds.c -src/library/array.c -src/library/connect.c -src/library/field.c -src/library/init.c -src/library/log.c -src/library/paste.c -src/library/resources.c -src/library/see.c src/library/util.c +src/library/wait.c +src/library/ansi.c +src/library/bounds.c +src/library/ctlr.c +src/library/field.c src/library/html.c src/library/linkedlist.c -src/library/options.c +src/library/model.c +src/library/paste.c src/library/printer.c -src/library/screen.c +src/library/rpq.c +src/library/see.c src/library/sf.c -src/library/wait.c +src/library/trace_ds.c +src/library/iocalls.c src/tools/mkfb/mkfb.c -src/include/X11keysym.h -src/include/arpa_telnet.h -src/include/cg.h -src/include/darwin/lib3270/os.h -src/include/ft_cut_ds.h -src/include/ft_cutc.h -src/include/ft_dft_ds.h -src/include/ft_dftc.h -src/include/ftc.h -src/include/lib3270/charset.h -src/include/lib3270/selection.h -src/include/lib3270/ssl.h -src/include/lib3270/actions.h -src/include/lib3270/filetransfer.h -src/include/lib3270/html.h -src/include/lib3270/internals.h -src/include/lib3270/keyboard.h -src/include/lib3270/log.h -src/include/lib3270/popup.h -src/include/lib3270/properties.h -src/include/lib3270/session.h -src/include/lib3270/toggle.h -src/include/lib3270/trace.h -src/include/linux/lib3270/os.h -src/include/private/intl.h -src/include/seec.h -src/include/tn3270e.h -src/include/utf8c.h -src/include/w3miscc.h -src/include/widec.h -src/include/windows/lib3270/os.h -src/include/3270ds.h -src/include/ansic.h -src/include/array.h -src/include/ctlrc.h -src/include/hostc.h -src/include/internals.h -src/include/kybdc.h -src/include/lib3270.h -src/include/linkedlist.h -src/include/localdefs.h -src/include/networking.h -src/include/popupsc.h -src/include/resources.h -src/include/screen.h -src/include/screenc.h -src/include/sf.h -src/include/shlobj_missing.h -src/include/statusc.h -src/include/telnetc.h -src/include/togglesc.h -src/include/trace_dsc.h -src/include/utilc.h -src/include/winversc.h -src/include/xioc.h -src/include/xl.h -src/library/network/default/private.h -src/library/network/openssl/private.h -src/library/os/darwin/private.h -src/library/os/linux/private.h -src/library/os/windows/private.h diff --git a/po/pt_BR.po b/po/pt_BR.po index 34810cc3..264273e1 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: pw3270 5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-12 11:05-0300\n" +"POT-Creation-Date: 2025-09-29 13:29-0300\n" "PO-Revision-Date: 2023-04-21 08:40-0300\n" "Last-Translator: Perry Werneck \n" "Language-Team: Brazilian Portuguese \n" @@ -1139,13 +1139,13 @@ msgstr "Divergência nos números de série da autoridade e emissor " msgid "" "The current candidate issuer certificate was rejected because its issuer " "name and serial number was present and did not match the authority key " -"identifier of the current certificate. Only displayed when the -" -"issuer_checks option is set." +"identifier of the current certificate. Only displayed when the " +"-issuer_checks option is set." msgstr "" "The current candidate issuer certificate was rejected because its issuer " "name and serial number was present and did not match the authority key " -"identifier of the current certificate. Only displayed when the -" -"issuer_checks option is set." +"identifier of the current certificate. Only displayed when the " +"-issuer_checks option is set." #: src/library/network/openssl/messages.c:401 msgid "Key usage does not include certificate signing" @@ -2192,132 +2192,33 @@ msgstr "Reconectar automaticamente" msgid "Automatically reconnect to the host if it ever disconnects" msgstr "Reconecta automaticamente caso o servidor desconecte" -#: src/library/ctlr.c:171 src/library/ctlr.c:181 src/library/ctlr.c:192 -#: src/library/ctlr.c:203 -msgid "Invalid oversize" -msgstr "Valor inválido para 'oversize'" - -#: src/library/ctlr.c:172 -msgid "The oversize values are invalid." -msgstr "Os valores para 'oversize' não são válidos." - -#: src/library/ctlr.c:173 -#, c-format -msgid "%dx%d is negative or zero" -msgstr "%dx%d é negativa ou zero" - -#: src/library/ctlr.c:182 -msgid "The oversize values are too big." -msgstr "Os valores do 'oversize' são muito grandes." - -#: src/library/ctlr.c:183 -#, c-format -msgid "%dx%d screen size is bigger than the maximum size" -msgstr "Tela %dx%d é maior que o tamanho máximo" - -#: src/library/ctlr.c:193 -msgid "The oversize width is too small." -msgstr "A largura do 'oversize' é muito pequena." - -#: src/library/ctlr.c:194 -#, c-format -msgid "The width %d is less than model %d columns (%d)" -msgstr "A largura %d é menor que a do modelo %d (%d)" - -#: src/library/ctlr.c:204 -msgid "The oversize height is too small." -msgstr "A altura definida para 'oversize' é muito pequena." - -#: src/library/ctlr.c:205 -#, c-format -msgid "The height %d is less than model %d rows (%d)" -msgstr "A altura %d é menor que o número de linhas do modelo %d (%d)" - -#. unknown 3270 command -#: src/library/ctlr.c:402 -#, c-format -msgid "Unknown 3270 Data Stream command: 0x%X" -msgstr "Unknown 3270 Data Stream command: 0x%X" - -#: src/library/rpq.c:222 -msgid "RPQ Error" -msgstr "Erro RPQ" - -#: src/library/rpq.c:223 -msgid "Unsupported RPQ term" -msgstr "Unsupported RPQ term" - -#: src/library/rpq.c:224 -#, c-format -msgid "RPQ term %d is unknown" -msgstr "Termo RPM %d não foi reconhecido" - -#: src/library/rpq.c:229 -#, c-format -msgid "RPQ %s term omitted due to insufficient space" -msgstr "Termo RPQ %s omitido por falta de espaço" - -#: src/library/rpq.c:338 -#, c-format -msgid "RPQ %s term override ignored" -msgstr "RPQ %s term override ignored" - -#: src/library/rpq.c:350 -#, c-format -msgid "RPQ term \"%s\" is unrecognized" -msgstr "Termo RPQ desconhecido: \"%s\" " - -#: src/library/rpq.c:403 src/library/rpq.c:412 -msgid "RPQ TIMEZONE term is invalid - use +/-hhmm" -msgstr "Termo RPQ TIMEZONE é invalido - usar +/-hhmm" - -#: src/library/rpq.c:424 -msgid "RPQ: Unable to determine workstation local time" -msgstr "RPQ: Incapaz de determinar a hora local da estação de trabalho" - -#: src/library/rpq.c:434 src/library/rpq.c:444 -msgid "RPQ: Unable to determine workstation UTC time" -msgstr "RPQ: Incapaz de determinar a hora UTC da estação de trabalho" - -#: src/library/rpq.c:465 -msgid "RPQ timezone exceeds 12 hour UTC offset" -msgstr "RPQ timezone excede as 12 horas de deslocamento da UTC" - -#: src/library/rpq.c:520 -msgid "RPQ USER term has non-hex character" -msgstr "Termo RPQ USER tem caractere não hexadecimal" - -#: src/library/rpq.c:526 -#, c-format -msgid "RPQ USER term truncated after %d bytes" -msgstr "Termo RPQ USER truncado depois de %d bytes" - -#: src/library/rpq.c:545 -msgid "RPQ USER term has odd number of hex digits" -msgstr "RPQ USER term has odd number of hex digits" +#: src/library/connect.c:167 +msgid "Can't determine the TLS/SSL state" +msgstr "Não foi possível determinar o estado TLS/SSL" -#: src/library/rpq.c:570 -#, c-format -msgid "RPQ USER term truncated after %d characters" -msgstr "Termo RPQ USER truncado depois de %d caracteres" +#: src/library/connect.c:168 +msgid "" +"The network module didn't set the TLS/SSL state message, this is not " +"supposed to happen and can be a coding error" +msgstr "" +"O módulo de rede não definiu uma mensagem para o estado TLS/SSL, isso não " +"deveria acontecer e pode ser um erro de codificação" -#: src/library/rpq.c:642 src/library/rpq.c:712 -#, c-format -msgid "RPQ ADDRESS term has unrecognized family %u" -msgstr "Família %u não reconhecida no termo RPQ ADDRESS" +#: src/library/options.c:42 +msgid "IBM S/390" +msgstr "IBM S/390" -#: src/library/rpq.c:650 src/library/rpq.c:679 src/library/rpq.c:719 -msgid "RPQ ADDRESS term incomplete due to space limit" -msgstr "Termo RPQ ADDRESS incompleto devido ao limite de espaço" +#: src/library/options.c:48 +msgid "IBM AS/400" +msgstr "IBM AS/400" -#: src/library/rpq.c:655 -#, c-format -msgid "RPQ: can't resolve '%s': %s" -msgstr "RPQ: Não foi possível resolver '%s': %s" +#: src/library/options.c:54 +msgid "Other (TSO)" +msgstr "Outro (TSO)" -#: src/library/rpq.c:668 -msgid "RPQ: gethostbyname error" -msgstr "RPQ: Erro em gethostbyname" +#: src/library/options.c:60 +msgid "Other (VM/CMS)" +msgstr "Outro (VM/CMS)" #: src/library/session.c:164 msgid "Can't print" @@ -2457,17 +2358,57 @@ msgstr "Saindo" msgid "Charset" msgstr "Tabela de caracteres" -#: src/library/connect.c:167 -msgid "Can't determine the TLS/SSL state" -msgstr "Não foi possível determinar o estado TLS/SSL" +#: src/library/util.c:270 +#, c-format +msgid "The system error was '%s' (rc=%d)" +msgstr "O erro do sistema foi \"%s\" (rc=%d)" -#: src/library/connect.c:168 -msgid "" -"The network module didn't set the TLS/SSL state message, this is not " -"supposed to happen and can be a coding error" -msgstr "" -"O módulo de rede não definiu uma mensagem para o estado TLS/SSL, isso não " -"deveria acontecer e pode ser um erro de codificação" +#: src/library/ctlr.c:171 src/library/ctlr.c:181 src/library/ctlr.c:192 +#: src/library/ctlr.c:203 +msgid "Invalid oversize" +msgstr "Valor inválido para 'oversize'" + +#: src/library/ctlr.c:172 +msgid "The oversize values are invalid." +msgstr "Os valores para 'oversize' não são válidos." + +#: src/library/ctlr.c:173 +#, c-format +msgid "%dx%d is negative or zero" +msgstr "%dx%d é negativa ou zero" + +#: src/library/ctlr.c:182 +msgid "The oversize values are too big." +msgstr "Os valores do 'oversize' são muito grandes." + +#: src/library/ctlr.c:183 +#, c-format +msgid "%dx%d screen size is bigger than the maximum size" +msgstr "Tela %dx%d é maior que o tamanho máximo" + +#: src/library/ctlr.c:193 +msgid "The oversize width is too small." +msgstr "A largura do 'oversize' é muito pequena." + +#: src/library/ctlr.c:194 +#, c-format +msgid "The width %d is less than model %d columns (%d)" +msgstr "A largura %d é menor que a do modelo %d (%d)" + +#: src/library/ctlr.c:204 +msgid "The oversize height is too small." +msgstr "A altura definida para 'oversize' é muito pequena." + +#: src/library/ctlr.c:205 +#, c-format +msgid "The height %d is less than model %d rows (%d)" +msgstr "A altura %d é menor que o número de linhas do modelo %d (%d)" + +#. unknown 3270 command +#: src/library/ctlr.c:402 +#, c-format +msgid "Unknown 3270 Data Stream command: 0x%X" +msgstr "Unknown 3270 Data Stream command: 0x%X" #: src/library/paste.c:373 msgid "Action failed" @@ -2485,26 +2426,85 @@ msgstr "Teclado está bloqueado" msgid "Unexpected error" msgstr "Erro inesperado" -#: src/library/util.c:270 +#: src/library/rpq.c:222 +msgid "RPQ Error" +msgstr "Erro RPQ" + +#: src/library/rpq.c:223 +msgid "Unsupported RPQ term" +msgstr "Unsupported RPQ term" + +#: src/library/rpq.c:224 #, c-format -msgid "The system error was '%s' (rc=%d)" -msgstr "O erro do sistema foi \"%s\" (rc=%d)" +msgid "RPQ term %d is unknown" +msgstr "Termo RPM %d não foi reconhecido" -#: src/library/options.c:42 -msgid "IBM S/390" -msgstr "IBM S/390" +#: src/library/rpq.c:229 +#, c-format +msgid "RPQ %s term omitted due to insufficient space" +msgstr "Termo RPQ %s omitido por falta de espaço" -#: src/library/options.c:48 -msgid "IBM AS/400" -msgstr "IBM AS/400" +#: src/library/rpq.c:338 +#, c-format +msgid "RPQ %s term override ignored" +msgstr "RPQ %s term override ignored" -#: src/library/options.c:54 -msgid "Other (TSO)" -msgstr "Outro (TSO)" +#: src/library/rpq.c:350 +#, c-format +msgid "RPQ term \"%s\" is unrecognized" +msgstr "Termo RPQ desconhecido: \"%s\" " -#: src/library/options.c:60 -msgid "Other (VM/CMS)" -msgstr "Outro (VM/CMS)" +#: src/library/rpq.c:403 src/library/rpq.c:412 +msgid "RPQ TIMEZONE term is invalid - use +/-hhmm" +msgstr "Termo RPQ TIMEZONE é invalido - usar +/-hhmm" + +#: src/library/rpq.c:424 +msgid "RPQ: Unable to determine workstation local time" +msgstr "RPQ: Incapaz de determinar a hora local da estação de trabalho" + +#: src/library/rpq.c:434 src/library/rpq.c:444 +msgid "RPQ: Unable to determine workstation UTC time" +msgstr "RPQ: Incapaz de determinar a hora UTC da estação de trabalho" + +#: src/library/rpq.c:465 +msgid "RPQ timezone exceeds 12 hour UTC offset" +msgstr "RPQ timezone excede as 12 horas de deslocamento da UTC" + +#: src/library/rpq.c:520 +msgid "RPQ USER term has non-hex character" +msgstr "Termo RPQ USER tem caractere não hexadecimal" + +#: src/library/rpq.c:526 +#, c-format +msgid "RPQ USER term truncated after %d bytes" +msgstr "Termo RPQ USER truncado depois de %d bytes" + +#: src/library/rpq.c:545 +msgid "RPQ USER term has odd number of hex digits" +msgstr "RPQ USER term has odd number of hex digits" + +#: src/library/rpq.c:570 +#, c-format +msgid "RPQ USER term truncated after %d characters" +msgstr "Termo RPQ USER truncado depois de %d caracteres" + +#: src/library/rpq.c:642 src/library/rpq.c:712 +#, c-format +msgid "RPQ ADDRESS term has unrecognized family %u" +msgstr "Família %u não reconhecida no termo RPQ ADDRESS" + +#: src/library/rpq.c:650 src/library/rpq.c:679 src/library/rpq.c:719 +msgid "RPQ ADDRESS term incomplete due to space limit" +msgstr "Termo RPQ ADDRESS incompleto devido ao limite de espaço" + +#: src/library/rpq.c:655 +#, c-format +msgid "RPQ: can't resolve '%s': %s" +msgstr "RPQ: Não foi possível resolver '%s': %s" + +#: src/library/rpq.c:668 +msgid "RPQ: gethostbyname error" +msgstr "RPQ: Erro em gethostbyname" #~ msgid " and %s for %s." #~ msgstr " e %s para %s." From 806f6aa2fe4b2346188b463ce3ee3ffc233a0e5a Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 29 Sep 2025 19:42:20 -0300 Subject: [PATCH 6/8] Debugging windows build. --- meson.build | 6 ++++++ po/pt_BR.po | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index e70b139a..914a84ec 100644 --- a/meson.build +++ b/meson.build @@ -540,6 +540,12 @@ if host_machine.system() == 'windows' pic: true, c_args: [ '-DSTATIC_LIBRARY' ], install: true, + link_args: [ + '-lwinhttp', + '-lws2_32', + '-lwtsapi32', + '-lcomdlg32', + ], dependencies: lib_deps, include_directories: includes_dir ) diff --git a/po/pt_BR.po b/po/pt_BR.po index 264273e1..9509dfdb 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: pw3270 5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-09-29 13:29-0300\n" +"POT-Creation-Date: 2025-09-29 13:30-0300\n" "PO-Revision-Date: 2023-04-21 08:40-0300\n" "Last-Translator: Perry Werneck \n" "Language-Team: Brazilian Portuguese \n" From 10d4aa53d0d3e3ee506f3d0b156cea42f22c88f3 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 29 Sep 2025 20:48:07 -0300 Subject: [PATCH 7/8] Debugging win32 package. --- meson.build | 72 +++++++++++++++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/meson.build b/meson.build index 914a84ec..11da3e1d 100644 --- a/meson.build +++ b/meson.build @@ -534,21 +534,25 @@ if host_machine.system() == 'windows' dlltool = find_program('dlltool', required: true) endif - static = static_library( - '3270', - config_src + lib_src, - pic: true, - c_args: [ '-DSTATIC_LIBRARY' ], - install: true, + static_library = declare_dependency( + link_with : static_library( + '3270', + config_src + lib_src, + pic: true, + c_args: [ '-DSTATIC_LIBRARY' ], + install: true, + dependencies: lib_deps, + include_directories: includes_dir + ), + include_directories : includes_dir, + variables: pkg_variables, link_args: [ '-lwinhttp', '-lws2_32', '-lwtsapi32', '-lcomdlg32', ], - dependencies: lib_deps, - include_directories: includes_dir - ) + ) # https://mesonbuild.com/Reference-manual_functions.html#custom_target delayed_library = declare_dependency( @@ -585,15 +589,19 @@ elif host_machine.system() == 'darwin' include_directories: includes_dir ) - static = static_library( - '3270', - config_src + lib_src, - pic: true, - c_args: [ '-DSTATIC_LIBRARY' ], - install: true, - dependencies: lib_deps, - include_directories: includes_dir - ) + static_library = declare_dependency( + link_with : static_library( + '3270', + config_src + lib_src, + pic: true, + c_args: [ '-DSTATIC_LIBRARY' ], + install: true, + dependencies: lib_deps, + include_directories: includes_dir + ), + include_directories : includes_dir, + variables: pkg_variables, + ) else @@ -609,15 +617,19 @@ else include_directories: includes_dir ) - static = static_library( - '3270', - config_src + lib_src, - pic: true, - c_args: [ '-DSTATIC_LIBRARY', '-fno-lto' ], - install: true, - dependencies: lib_deps, - include_directories: includes_dir - ) + static_library = declare_dependency( + link_with : static_library( + '3270', + config_src + lib_src, + pic: true, + c_args: [ '-DSTATIC_LIBRARY', '-fno-lto' ], + install: true, + dependencies: lib_deps, + include_directories: includes_dir + ), + include_directories : includes_dir, + variables: pkg_variables, + ) endif @@ -627,12 +639,6 @@ dynamic_library = declare_dependency( variables: pkg_variables, ) -static_library = declare_dependency( - link_with : static, - include_directories : includes_dir, - variables: pkg_variables, -) - executable( meson.project_name(), config_src + [ 'src/testprogram/testprogram.c' ], From 1742f278d64b6152c804c96518604e0283fe9f0c Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Sat, 4 Oct 2025 10:58:33 -0300 Subject: [PATCH 8/8] Fixing pkg-config defs. --- meson.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 11da3e1d..498648a5 100644 --- a/meson.build +++ b/meson.build @@ -353,7 +353,8 @@ pkg_variables = [ 'library_name=lib3270', 'product_id=br.app.@0@'.format(product_name), - 'plugin_path=@0@/@0@/@1@.@2@/plugins/'.format( + 'plugin_path=@0@/@1@/@2@/@3@.@4@/plugins/'.format( + get_option('prefix'), get_option('libdir'), product_name, pkg_major_version,