diff --git a/README.md b/README.md index 939d4a58..68c9bc3c 100644 --- a/README.md +++ b/README.md @@ -27,26 +27,23 @@ You can download installation package for supported linux distributions in [Open 2. Install the required libraries - * autoconf - * automake - * binutils - * coreutils + * pkgconfig + * gettext-devel + * curl + * meson * gcc-c++ - * gettext-devel - * m4 - * pkgconfig * openssl-devel * dbus-1-devel * xz (This command can make it easy on SuSE: grep -i buildrequires rpm/lib3270.spec | cut -d: -f2 | sudo xargs zypper in ) -3. Configure and build +3. Setup, build and install ```shell - ./autogen.sh - make clean - make all + meson setup .build + meson compile -C .build + meson install -C .build ``` ## Building for Windows @@ -70,48 +67,23 @@ You can download installation package for supported linux distributions in [Open 3. Install cross compilers ```shell - ./lib3270/win/install-cross.sh --all (for 32 and 64 bits) - ``` - -3. Configure build - - ```shell - ./lib3270/win/win-configure.sh --64 (for 64 bits) - ``` - -4. Build - - ```shell - cd lib3270 - make clean - make all + zypper in \ + pkgconfig \ + gettext-devel \ + mingw64-libcurl-devel \ + mingw64-cross-meson \ + mingw64-libopenssl-devel \ + mingw64-cross-gcc-c++ ``` -### Windows native with MSYS2 (Using bundle script) - -1. Install and update MSYS2 - - * Download and install [msys2](https://www.msys2.org/) - * Update msys: - - ```shell - pacman -Syu - ``` - Afther this close and reopen mingw shell. -2. Get lib3270 sources from git using the mingw shell - - ```shell - git clone https://github.com/PerryWerneck/lib3270.git ./lib3270 - ``` - -3. Run bundle script +3. Configure and build ```shell - cd lib3270 - ./win/bundle.msys --pre-reqs --build + meson setup --cross-file /usr/lib/rpm/macros.d/meson-mingw64-cross-file.txt .build + meson compile -C .build ``` -### Windows native with MSYS2 (Manual) +### Windows native with MSYS2 1. Install and update MSYS2 @@ -130,7 +102,15 @@ You can download installation package for supported linux distributions in [Open 3. Install devel packages using pacman on mingw shell ```shell - pacman -S --needed zip dos2unix mingw-w64-x86_64-gcc automake autoconf make git pkgconf mingw-w64-x86_64-gettext gettext-devel mingw-w64-x86_64-openssl libtool + pacman -S \ + dos2unix \ + mingw-w64-x86_64-gcc \ + mingw-w64-x86_64-meson \ + mingw-w64-x86_64-iconv \ + pkgconf \ + mingw-w64-x86_64-gettext \ + gettext-devel \ + mingw-w64-x86_64-openssl ``` Afther this close and reopen mingw shell. @@ -141,18 +121,10 @@ You can download installation package for supported linux distributions in [Open git clone https://github.com/PerryWerneck/lib3270.git ./lib3270 ``` -5. Build library using the mingw shell +5. Build with packman ```shell - cd lib3270 - ./autogen.sh - make all - ``` - -6. Install - - ```shell - make install + makepkg BUILDDIR=/tmp/pkg -p PKGBUILD.mingw ``` ## Building for macOS @@ -195,16 +167,3 @@ Uninstall rm -fr "$(brew --cellar)/lib3270" ``` -### Using jhbuild - -1. Install jhbuild - - https://wiki.gnome.org/Projects/GTK/OSX/Building - -2. build - - ```shell - jhbuild --moduleset=https://raw.githubusercontent.com/PerryWerneck/lib3270/master/mac/lib3270.modules build lib3270 - ``` - - diff --git a/meson.build b/meson.build index cd8a611d..c0a408da 100644 --- a/meson.build +++ b/meson.build @@ -60,6 +60,11 @@ if not libssl.found() libssl = dependency('openssl', required: false) endif +libssl = dependency('OpenSSL', required: false) +if not libssl.found() + libssl = dependency('openssl', required: false) +endif + lib_extra = [ dependency('threads'), libintl, @@ -380,14 +385,14 @@ if host_machine.system() == 'windows' ] ) - pkg.generate( - name: meson.project_name() + '-delayed', - description: project_description, - variables: pkg_variables, - libraries: [ - '-l3270.delayed', - ] - ) +# pkg.generate( +# name: meson.project_name() + '-delayed', +# description: project_description, +# variables: pkg_variables, +# libraries: [ +# '-l3270.delayed', +# ] +# ) else @@ -518,22 +523,22 @@ if host_machine.system() == 'windows' 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') - ) + #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', diff --git a/win/bundle.common b/win/bundle.common deleted file mode 100644 index cbf1c123..00000000 --- a/win/bundle.common +++ /dev/null @@ -1,359 +0,0 @@ -#!/bin/bash -# -# SPDX-License-Identifier: LGPL-3.0-or-later -# -# Copyright (C) 2023 Perry Werneck -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published -# by the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# - -# Check command-line arguments -argument() { - - local cmdline - for cmdline in ${BASH_ARGV[*]} - do - if [ "$(echo ${cmdline} | sed "s@^--@@g" | sed "s@^-@@g" | cut -d= -f1)" == "${1}" ]; then - local value - value="$(echo ${cmdline} | cut -d= -f2)" - if [ -z "${value}" ]; then - echo "1" - else - echo "${value}" - fi - return 0 - fi - done - echo "" - return 2 -} - -argument "help" > /dev/null -if [ "$?" == "0" ]; then - echo "Use ${0} options" - echo "" - echo " --help Help options (this screen)" - echo " --zip Build zipfile" - - if [ -e "${srcdir}/win/${PACKAGE_NAME}.nsi" ]; then - echo " --nsi Build nsi installer" - fi - echo " --upload Upload bundle to github" -fi - -# Setup default paths -srcdir="$(dirname $(dirname $(readlink -f "${0}")))" -cd ${srcdir} -if [ "$?" != "0" ]; then - echo "Cant cd to ${srcdir}" - exit -1 -fi - -if [ -z ${MINGW_PREFIX} ]; then - if [ -d "/usr/x86_64-w64-mingw32/sys-root/mingw" ]; then - MINGW_PREFIX="/usr/x86_64-w64-mingw32/sys-root/mingw" - PKG_CONFIG="/usr/bin/x86_64-w64-mingw32-pkg-config" - else - echo "Cant determine mingw prefix" - exit -1 - fi -fi - -if [ -z ${PKG_CONFIG} ]; then - PKG_CONFIG=${MINGW_PREFX}/bin/pkg-config -fi - -PACKAGE_NAME=$(grep AC_INIT configure.ac | cut -d[ -f2 | cut -d] -f1) -if [ -z ${PACKAGE_NAME} ]; then - echo "Cant determine package name" - exit -1 -fi - -PACKAGE_VERSION=$(grep AC_INIT configure.ac | cut -d[ -f3 | cut -d] -f1) -if [ -z ${PACKAGE_VERSION} ]; then - echo "Cant determine package name" - exit -1 -fi - -mkdir -p .bin/bundle -if [ "$?" != "0" ]; then - echo "Cant mkdir base buildroot" - exit -1 -fi - -buildroot=$(readlink -f .bin/bundle) -if [ -z ${buildroot} ]; then - echo "Cant detect buildroot ${buildroot}" - exit -1 -fi - -mkdir -p "${buildroot}" -if [ "$?" != "0" ]; then - echo "Cant mkdir ${buildroot}" - exit -1 -fi - -rm -fr "${buildroot}/*" -if [ "$?" != "0" ]; then - echo "Cant clean ${buildroot}" - exit -1 -fi - -bindir="${buildroot}${MINGW_PREFIX}/bin" -sysdir="${buildroot}/windows/system32" - -if [ -z "${WIN_ROOT}" ]; then - WIN_ROOT="/c/Windows" -fi - -export LANG=C - -prepare() { - - argument "help" > /dev/null - if [ "$?" == "0" ]; then - exit 0 - fi - - rm -fr "${buildroot}" - mkdir -p "${buildroot}" -} - -install_bin() { - - mkdir -p "${bindir}" - - AGAIN=1 - until [ $AGAIN = 0 ]; do - - SOURCES=$(mktemp) - REQUIRES=$(mktemp) - - find "${buildroot}" -iname "*.dll" > ${SOURCES} - find "${buildroot}" -iname "*.exe" >> ${SOURCES} - - while read FILENAME - do - echo ${FILENAME} - objdump -p ${FILENAME} | grep "DLL Name:" | cut -d: -f2 | tr "[:upper:]" "[:lower:]" >> ${REQUIRES} - done < ${SOURCES} - - libs_to_exclude=" - advapi32.dll - cfgmgr32.dll - comctl32.dll - comdlg32.dll - crypt32.dll - d3d8.dll - d3d9.dll - ddraw.dll - dnsapi.dll - dsound.dll - dwmapi.dll - gdi32.dll - gdiplus.dll - glu32.dll - glut32.dll - imm32.dll - iphlpapi.dll - kernel32.dll - ksuser.dll - mpr.dll - mscms.dll - mscoree.dll - msimg32.dll - msvcr71.dll - msvcr80.dll - msvcr90.dll - msvcrt.dll - mswsock.dll - netapi32.dll - odbc32.dll - ole32.dll - oleacc.dll - oleaut32.dll - opengl32.dll - psapi.dll - rpcrt4.dll - secur32.dll - setupapi.dll - shell32.dll - shlwapi.dll - user32.dll - usp10.dll - version.dll - wininet.dll - winmm.dll - wldap32.dll - ws2_32.dll - wsock32.dll - winspool.drv - ntdll.dll - winhttp.dll - hid.dll - bcrypt.dll - " - - # Remove system DLLs from list - for i in $libs_to_exclude; do - sed -i -e "/${i}/d" ${REQUIRES} - done - - AGAIN=0 - while read FILENAME - do - - echo ${FILENAME} - - if [ ! -e "${bindir}/${FILENAME}" ]; then - - if [ -e ${MINGW_PREFIX}/bin/${FILENAME} ]; then - - AGAIN=1 - cp -v "${MINGW_PREFIX}/bin/${FILENAME}" "${bindir}/${FILENAME}" - if [ "$?" != "0" ]; then - exit -1 - fi - - elif [ -e ${MINGW_PREFIX}/lib/${FILENAME} ]; then - - AGAIN=1 - cp -v "${MINGW_PREFIX}/lib/${FILENAME}" "${bindir}/${FILENAME}" - if [ "$?" != "0" ]; then - exit -1 - fi - - elif [ -e "${WIN_ROOT}/System32/${FILENAME}" ]; then - - echo "Ignoring ${WIN_ROOT}/System32/${FILENAME}" - - else - - echo "Can't find ${MINGW_PREFIX}/bin/${FILENAME} or ${WIN_ROOT}/System32/${FILENAME}" - find "${MINGW_PREFIX}" -iname "${FILENAME}" - exit -1 - - fi - - fi - - done < ${REQUIRES} - - rm -f ${SOURCES} - rm -f ${REQUIRES} - - done - - # libhllapi should be available in windows path - if [ -e "${bindir}/libhllapi.dll" ]; then - mkdir -p "${sysdir}" - mv "${bindir}/libhllapi.dll" "${sysdir}" - if [ "$?" != "0" ]; then - exit -1 - fi - fi - -} - -install_locale() { - - mkdir -p ${buildroot}${MINGW_PREFIX}/share/locale/pt_BR/LC_MESSAGES - - locales=" - gettext-runtime.mo - gettext-tools.mo - glib20.mo - gtk30.mo - gtk30-properties.mo - " - - FILENAMES=$(mktemp) - for i in ${locales} - do - find "${MINGW_PREFIX}/share/locale" -name ${i} >> ${FILENAMES} - done - - while read FILENAME - do - mkdir -p $(dirname "${buildroot}${FILENAME}") - cp -v "${FILENAME}" "${buildroot}${FILENAME}" - if [ "$?" != "0" ]; then - exit -1 - fi - done < ${FILENAMES} - rm -f ${FILENAMES} -} - - -make_zip() { - - cd ${buildroot}${MINGW_PREFIX} - if [ "$?" != "0" ]; then - exit -1 - fi - - rm -f ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip - - zip -9 -r ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip . - if [ "$?" != "0" ]; then - exit -1 - fi - - cd ${srcdir} - if [ "$?" != "0" ]; then - exit -1 - fi - - if [ -z $(which gh 2> /dev/null) ]; then - return 0 - fi - - argument "upload" > /dev/null - if [ "$?" == "0" ]; then - gh release upload --clobber "${PACKAGE_VERSION}" ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.bundle.zip - fi - -} - -install_license() { - mkdir -p "${buildroot}${MINGW_PREFIX}/usr/share/${PACKAGE_NAME}" - cp "${srcdir}/LICENSE" "${buildroot}${MINGW_PREFIX}/usr/share/${PACKAGE_NAME}" - if [ "$?" != "0" ]; then - echo "Cant copy LICENSE" - exit -1 - fi -} - -install_runtime() { - install_bin - install_locale -} - -build_package() { - - # Build - make -C "${srcdir}" all - if [ "$?" != "0" ]; then - echo "Build failed" - exit -1 - fi - - make -C "${srcdir}" "DESTDIR=${buildroot}" install - if [ "$?" != "0" ]; then - echo "Install failed" - exit -1 - fi - -} - diff --git a/win/bundle.cross b/win/bundle.cross deleted file mode 100755 index 67df6688..00000000 --- a/win/bundle.cross +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash -# -# SPDX-License-Identifier: LGPL-3.0-or-later -# -# Copyright (C) 2023 Perry Werneck -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published -# by the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# - -MINGW_PREFIX="/usr/x86_64-w64-mingw32/sys-root/mingw" -PKG_CONFIG="/usr/bin/x86_64-w64-mingw32-pkg-config" -MINGW_PACKAGE_PREFIX="mingw64" - -# Load bundle functions -. "$(dirname $(readlink -f "${0}"))/bundle.common" - -argument "help" > /dev/null -if [ "$?" == "0" ]; then - echo " --install-requires Install required packages" - echo " --build Build application from source" -fi - -prepare - -argument "build" > /dev/null -if [ "$?" == "0" ]; then - - NOCONFIGURE=1 ./autogen.sh - if [ "$?" != "0" ]; then - echo "Configure failed" - exit -1 - fi - - ${MINGW_PACKAGE_PREFIX}-configure - if [ "$?" != "0" ]; then - echo "Configure failed" - exit -1 - fi - - build_package - -fi - -install_bin -install_license -make_zip - -echo "Bundle build complete" - diff --git a/win/bundle.msys b/win/bundle.msys deleted file mode 100755 index e01ff953..00000000 --- a/win/bundle.msys +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/bash -# -# SPDX-License-Identifier: LGPL-3.0-or-later -# -# Copyright (C) 2023 Perry Werneck -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published -# by the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . -# - -# Load bundle functions -. "$(dirname $(readlink -f "${0}"))/bundle.common" - -prepare - -argument "pre-reqs" > /dev/null -if [ "$?" == "0" ]; then - pacman \ - -S --needed \ - zip \ - autoconf \ - automake \ - make \ - libtool \ - pkgconf \ - gzip \ - dos2unix \ - ${MINGW_PACKAGE_PREFIX}-gcc \ - ${MINGW_PACKAGE_PREFIX}-gettext \ - ${MINGW_PACKAGE_PREFIX}-openssl - - if [ "$?" != "0" ]; then - echo "pacman failed" - exit -1 - fi -fi - -argument "build" > /dev/null -if [ "$?" == "0" ]; then - - NOCONFIGURE=1 ./autogen.sh - if [ "$?" != "0" ]; then - echo "Configure failed" - exit -1 - fi - - ./configure - if [ "$?" != "0" ]; then - echo "Configure failed" - exit -1 - fi - -fi - -build_package -install_bin -install_license -make_zip - - diff --git a/win/configure.sh b/win/configure.sh deleted file mode 100755 index 90f580f2..00000000 --- a/win/configure.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/bash -cd $(dirname $(dirname $(readlink -f ${0}))) - -aclocal -if test $? != 0 ; then - echo "aclocal failed." - exit -1 -fi - -autoconf -if test $? != 0 ; then - echo "autoconf failed." - exit -1 -fi - -mkdir -p scripts -automake --add-missing 2> /dev/null | true - -export HOST_CC=/usr/bin/gcc - -until [ -z "${1}" ] -do - if [ ${1:0:2} = '--' ]; then - tmp=${1:2} - parameter=${tmp%%=*} - parameter=$(echo $parameter | tr "[:lower:]" "[:upper:]") - - case $parameter in - - 32) - rm -f win32.cache - ./configure \ - --cache-file=win32.cache \ - --host=i686-w64-mingw32 \ - --prefix=/usr/i686-w64-mingw32/sys-root/mingw \ - --libdir=/usr/i686-w64-mingw32/sys-root/mingw/lib - - exit $? - ;; - - 64) - rm -f win64.cache - ./configure \ - --cache-file=win64.cache \ - --host=x86_64-w64-mingw32 \ - --prefix=/usr/x86_64-w64-mingw32/sys-root/mingw \ - --libdir=/usr/x86_64-w64-mingw32/sys-root/mingw/lib - exit $? - ;; - - ALL) - ;; - - - *) - value=${tmp##*=} - eval $parameter=$value - esac - - fi - - shift -done - -echo "Execute:" -echo " ${0} --32 for 32 bits windows." -echo " ${0} --64 for 64 bits windows." - -exit -1 - diff --git a/win/lib3270.def b/win/lib3270.def deleted file mode 100644 index 755dda81..00000000 --- a/win/lib3270.def +++ /dev/null @@ -1,359 +0,0 @@ -EXPORTS - lib3270_action @1 - lib3270_action_activate @2 - lib3270_action_get_by_name @3 - lib3270_action_group_get_activatable @4 - lib3270_action_group_notify @5 - lib3270_action_is_activatable @6 - lib3270_activate_by_name @7 - lib3270_add_poll_fd @8 - lib3270_allow_reconnect @9 - lib3270_asc2ebc @10 - lib3270_attn @11 - lib3270_autoptr_cleanup_HKEY @12 - lib3270_autoptr_cleanup_LIB3270_POPUP @13 - lib3270_autoptr_cleanup_char @14 - lib3270_backspace @15 - lib3270_break @16 - lib3270_build_config_filename @17 - lib3270_build_data_filename @18 - lib3270_build_filename @19 - lib3270_calloc @20 - lib3270_can_paste_next @21 - lib3270_charsettable @22 - lib3270_check_revision @23 - lib3270_chomp @24 - lib3270_chug @25 - lib3270_clear @26 - lib3270_clear_operator_error @27 - lib3270_cmp_string_at @28 - lib3270_cmp_string_at_address @29 - lib3270_connect_url @30 - lib3270_connection_state_get_name @31 - lib3270_crl_get_preferred_protocol @32 - lib3270_crl_set_preferred_protocol @33 - lib3270_cursor_down @34 - lib3270_cursor_left @35 - lib3270_cursor_right @36 - lib3270_cursor_up @37 - lib3270_cut_selected @38 - lib3270_data_recv @39 - lib3270_delete @40 - lib3270_deletefield @41 - lib3270_deleteword @42 - lib3270_disconnect @43 - lib3270_drag_selection @44 - lib3270_dup @45 - lib3270_ebc2asc @46 - lib3270_emulate_input @47 - lib3270_enter @48 - lib3270_erase @49 - lib3270_erase_selected @50 - lib3270_eraseeof @51 - lib3270_eraseeol @52 - lib3270_eraseinput @53 - lib3270_field_addr @54 - lib3270_field_length @55 - lib3270_fieldend @56 - lib3270_fieldmark @57 - lib3270_firstfield @58 - lib3270_free @59 - lib3270_ft_cancel @60 - lib3270_ft_destroy @61 - lib3270_ft_get_user_data @62 - lib3270_ft_new @63 - lib3270_ft_set_blksize @64 - lib3270_ft_set_lrecl @65 - lib3270_ft_set_options @66 - lib3270_ft_set_primspace @67 - lib3270_ft_set_secspace @68 - lib3270_ft_set_user_data @69 - lib3270_ft_start @70 - lib3270_get_action @71 - lib3270_get_actions @72 - lib3270_get_associated_luname @73 - lib3270_get_attribute_at_address @74 - lib3270_get_auto_reconnect @75 - lib3270_get_boolean_properties_list @76 - lib3270_get_color_type @77 - lib3270_get_connection_state @78 - lib3270_get_connection_state_as_string @79 - lib3270_get_contents @80 - lib3270_get_cursor_address @81 - lib3270_get_cursor_position @82 - lib3270_get_default_charset @83 - lib3270_get_default_host @84 - lib3270_get_default_session_handle @85 - lib3270_get_display_charset @86 - lib3270_get_element @87 - lib3270_get_field_attribute @88 - lib3270_get_field_bounds @89 - lib3270_get_field_end @90 - lib3270_get_field_len @91 - lib3270_get_field_start @92 - lib3270_get_field_string_at @93 - lib3270_get_ft_callbacks @94 - lib3270_get_ft_state @95 - lib3270_get_has_copy @96 - lib3270_get_has_selection @97 - lib3270_get_height @98 - lib3270_get_host @99 - lib3270_get_host_charset @100 - lib3270_get_host_type @101 - lib3270_get_host_type_name @102 - lib3270_get_installation_path @103 - lib3270_get_int_properties_list @104 - lib3270_get_int_property @105 - lib3270_get_is_protected @106 - lib3270_get_is_protected_at @107 - lib3270_get_keyboard_lock_state @108 - lib3270_get_length @109 - lib3270_get_lock_on_operator_error @110 - lib3270_get_lock_status @111 - lib3270_get_log_filename @112 - lib3270_get_lunames @113 - lib3270_get_max_height @114 - lib3270_get_max_width @115 - lib3270_get_model @116 - lib3270_get_model_name @117 - lib3270_get_model_number @118 - lib3270_get_next_unprotected @119 - lib3270_get_numeric_lock @120 - lib3270_get_oia_box_solid @121 - lib3270_get_option_list @122 - lib3270_get_oversize @123 - lib3270_get_pointer @124 - lib3270_get_product_name @125 - lib3270_get_program_message @126 - lib3270_get_program_message_as_string @127 - lib3270_get_region @128 - lib3270_get_revision @129 - lib3270_get_screen_size @130 - lib3270_get_selected @131 - lib3270_get_selected_text @132 - lib3270_get_selection @133 - lib3270_get_selection_bounds @134 - lib3270_get_selection_flags @135 - lib3270_get_selection_rectangle @136 - lib3270_get_session_callbacks @137 - lib3270_get_session_id @138 - lib3270_get_ssl_crl_text @139 - lib3270_get_ssl_peer_certificate_text @140 - lib3270_get_ssl_state @141 - lib3270_get_ssl_state_as_string @142 - lib3270_get_ssl_state_description @143 - lib3270_get_ssl_state_icon_name @144 - lib3270_get_ssl_state_message @145 - lib3270_get_string_at @146 - lib3270_get_string_at_address @147 - lib3270_get_string_properties_list @148 - lib3270_get_task_count @149 - lib3270_get_termname @150 - lib3270_get_termtype @151 - lib3270_get_toggle @152 - lib3270_get_toggle_description @153 - lib3270_get_toggle_id @154 - lib3270_get_toggle_label @155 - lib3270_get_toggle_list @156 - lib3270_get_toggle_name @157 - lib3270_get_toggle_summary @158 - lib3270_get_toggles @159 - lib3270_get_trace_filename @160 - lib3270_get_trace_handler @161 - lib3270_get_translation_domain @162 - lib3270_get_typeahead @163 - lib3270_get_undera @164 - lib3270_get_unlock_delay @165 - lib3270_get_unsigned_properties_list @166 - lib3270_get_url @167 - lib3270_get_user_data @168 - lib3270_get_version @169 - lib3270_get_version_info @170 - lib3270_get_width @171 - lib3270_get_word_bounds @172 - lib3270_getpeername @173 - lib3270_getsockname @174 - lib3270_half_connected @175 - lib3270_has_active_script @176 - lib3270_has_selection @177 - lib3270_host_get_name @178 - lib3270_iconv_free @179 - lib3270_iconv_from_host @180 - lib3270_iconv_new @181 - lib3270_iconv_to_host @182 - lib3270_in_3270 @183 - lib3270_in_ansi @184 - lib3270_in_e @185 - lib3270_in_neither @186 - lib3270_in_sscp @187 - lib3270_in_tn3270e @188 - lib3270_input_string @189 - lib3270_is_as400 @190 - lib3270_is_connected @191 - lib3270_is_disconnected @192 - lib3270_is_formatted @193 - lib3270_is_protected @194 - lib3270_is_ready @195 - lib3270_is_secure @196 - lib3270_is_selected @197 - lib3270_is_tso @198 - lib3270_is_unlocked @199 - lib3270_kybdreset @200 - lib3270_load @201 - lib3270_main_iterate @202 - lib3270_malloc @203 - lib3270_move_cursor @204 - lib3270_move_selected_area @205 - lib3270_move_selection @206 - lib3270_newline @207 - lib3270_nextfield @208 - lib3270_nextword @209 - lib3270_pakey @210 - lib3270_parse_host_type @211 - lib3270_paste_next @212 - lib3270_paste_text @213 - lib3270_pconnected @214 - lib3270_pfkey @215 - lib3270_popup @216 - lib3270_popup_an_errno @217 - lib3270_popup_clone_printf @218 - lib3270_popup_dialog @219 - lib3270_popup_va @220 - lib3270_previousfield @221 - lib3270_previousword @222 - lib3270_print @223 - lib3270_print_all @224 - lib3270_print_copy @225 - lib3270_print_selected @226 - lib3270_property_get_by_name @227 - lib3270_property_get_description @228 - lib3270_property_get_label @229 - lib3270_property_get_name @230 - lib3270_property_get_summary @231 - lib3270_property_get_tooltip @232 - lib3270_realloc @233 - lib3270_receive @234 - lib3270_reconnect @235 - lib3270_register_action_group_listener @236 - lib3270_register_fd_handlers @237 - lib3270_register_io_controller @238 - lib3270_register_schange @239 - lib3270_register_timer_handlers @240 - lib3270_register_toggle_listener @241 - lib3270_remap_char @242 - lib3270_remove_poll @243 - lib3270_remove_poll_fd @244 - lib3270_reselect @245 - lib3270_reset_callbacks @246 - lib3270_reset_charset @247 - lib3270_reset_ft_callbacks @248 - lib3270_ring_bell @249 - lib3270_run_task @250 - lib3270_save @251 - lib3270_save_all @252 - lib3270_save_copy @253 - lib3270_save_selected @254 - lib3270_select_all @255 - lib3270_select_field @256 - lib3270_select_field_at @257 - lib3270_select_region @258 - lib3270_select_to @259 - lib3270_select_word @260 - lib3270_select_word_at @261 - lib3270_selection_get_length @262 - lib3270_selection_new @263 - lib3270_send @264 - lib3270_service_get_name @265 - lib3270_session_free @266 - lib3270_session_new @267 - lib3270_set_as400 @268 - lib3270_set_auto_reconnect @269 - lib3270_set_boolean_property @270 - lib3270_set_color_type @271 - lib3270_set_connected_initial @272 - lib3270_set_cursor_address @273 - lib3270_set_cursor_position @274 - lib3270_set_dft_buffersize @275 - lib3270_set_disconnected @276 - lib3270_set_field @277 - lib3270_set_has_copy @278 - lib3270_set_host_charset @279 - lib3270_set_host_type @280 - lib3270_set_host_type_by_name @281 - lib3270_set_int_property @282 - lib3270_set_lock_on_operator_error @283 - lib3270_set_log_filename @284 - lib3270_set_log_handler @285 - lib3270_set_lunames @286 - lib3270_set_model @287 - lib3270_set_model_name @288 - lib3270_set_model_number @289 - lib3270_set_numeric_lock @290 - lib3270_set_oversize @291 - lib3270_set_poll_state @292 - lib3270_set_popup_handler @293 - lib3270_set_session_id @294 - lib3270_set_string @295 - lib3270_set_string_at @296 - lib3270_set_string_at_address @297 - lib3270_set_string_property @298 - lib3270_set_syslog @299 - lib3270_set_toggle @300 - lib3270_set_trace_filename @301 - lib3270_set_trace_handler @302 - lib3270_set_tso @303 - lib3270_set_uint_property @304 - lib3270_set_unlock_delay @305 - lib3270_set_url @306 - lib3270_set_user_data @307 - lib3270_setup_session @308 - lib3270_ssl_get_crl_download @309 - lib3270_ssl_set_crl_download @310 - lib3270_state_get_name @311 - lib3270_strdup @312 - lib3270_strdup_printf @313 - lib3270_strip @314 - lib3270_sysreq @315 - lib3270_testpattern @316 - lib3270_toggle @317 - lib3270_toggle_get_by_name @318 - lib3270_toggle_get_description @319 - lib3270_toggle_get_from_id @320 - lib3270_toggle_get_label @321 - lib3270_toggle_get_name @322 - lib3270_toggle_get_summary @323 - lib3270_trace_data @324 - lib3270_trace_event @325 - lib3270_translate_char @326 - lib3270_translate_ft_message @327 - lib3270_translate_to_address @328 - lib3270_unregister_action_group_listener @329 - lib3270_unregister_schange @330 - lib3270_unregister_toggle_listener @331 - lib3270_unselect @332 - lib3270_unsigned_property_get_by_name @333 - lib3270_update_poll_fd @334 - lib3270_vsprintf @335 - lib3270_wait @336 - lib3270_wait_for_connected @337 - lib3270_wait_for_cstate @338 - lib3270_wait_for_keyboard_unlock @339 - lib3270_wait_for_ready @340 - lib3270_wait_for_string @341 - lib3270_wait_for_string_at @342 - lib3270_wait_for_string_at_address @343 - lib3270_wait_for_update @344 - lib3270_win32_create_regkey @345 - lib3270_win32_get_dword @346 - lib3270_win32_local_charset @347 - lib3270_win32_set_string @348 - lib3270_win32_strerror @349 - lib3270_win32_translate_error_code @350 - lib3270_write_dstrace @351 - lib3270_write_event_trace @352 - lib3270_write_log @353 - lib3270_write_nettrace @354 - lib3270_write_rc @355 - lib3270_write_screen_trace @356 - lib3270_write_trace @357 - lib3270_write_va_log @358 diff --git a/win/lib3270.mak.in b/win/lib3270.mak.in deleted file mode 100644 index 54d8f9c7..00000000 --- a/win/lib3270.mak.in +++ /dev/null @@ -1,30 +0,0 @@ -# -# "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270 -# (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a -# aplicativos mainframe. Registro no INPI sob o nome G3270. -# -# Copyright (C) <2008> -# -# Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob -# os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela -# Free Software Foundation. -# -# Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER -# GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO -# A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para -# obter mais detalhes. -# -# Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este -# programa; se não, escreva para a Free Software Foundation, Inc., 59 Temple -# Place, Suite 330, Boston, MA, 02111-1307, USA -# -# Contatos: -# -# perry.werneck@gmail.com (Alexandre Perry de Souza Werneck) -# erico.mendonca@gmail.com (Erico Mascarenhas de Mendonça) -# - -PRODUCT_NAME=@PRODUCT_NAME@ -LIB3270_NAME=lib@LIB3270_NAME@ -LIB3270_REVISION=@RPQ_REVISION@ - diff --git a/win/mingw-build.sh b/win/mingw-build.sh deleted file mode 100755 index ed7005a6..00000000 --- a/win/mingw-build.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash -# -# SPDX-License-Identifier: LGPL-3.0-or-later -# -# Copyright (C) 2008 Banco do Brasil S.A. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published -# by the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program. If not, see . - -# -# References: -# -# * https://www.msys2.org/docs/ci/ -# - -echo "Running ${0}" - -LOGFILE=build.log -rm -f ${LOGFILE} - -die ( ) { - [ -s $LOGFILE ] && tail $LOGFILE - [ "$1" ] && echo "$*" - exit -1 -} - -cd $(dirname $(dirname $(readlink -f ${0}))) - -# -# Install pre-reqs -# -#echo "Installing pre-reqs..." -#pacman -U --noconfirm *.pkg.tar.zst || die "pacman failure" - -# -# Build -# -echo "Building package..." -dos2unix PKGBUILD.mingw || die "dos2unix failure" -makepkg BUILDDIR=/tmp/pkg -p PKGBUILD.mingw || die "makepkg failure" - -echo "Build complete" - diff --git a/win/msvc-build.sh b/win/msvc-build.sh deleted file mode 100644 index 060568d7..00000000 --- a/win/msvc-build.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash -# -# References: -# -# * https://www.msys2.org/docs/ci/ -# -# -echo "Running ${0}" - -LOGFILE=build.log -rm -f ${LOGFILE} - -die ( ) { - [ -s $LOGFILE ] && tail $LOGFILE - [ "$1" ] && echo "$*" - exit -1 -} - -srcdir="$(dirname $(dirname $(readlink -f "${0}")))" -cd ${srcdir} -if [ "$?" != "0" ]; then - echo "Cant cd to ${srcdir}" - exit -1 -fi - -if [ -z ${PKG_CONFIG} ]; then - PKG_CONFIG=${MINGW_PREFX}/bin/pkg-config -fi - -PACKAGE_NAME=$(grep AC_INIT configure.ac | cut -d[ -f2 | cut -d] -f1) -if [ -z ${PACKAGE_NAME} ]; then - echo "Cant determine package name" - exit -1 -fi - -PACKAGE_VERSION=$(grep AC_INIT configure.ac | cut -d[ -f3 | cut -d] -f1) -if [ -z ${PACKAGE_VERSION} ]; then - echo "Cant determine package name" - exit -1 -fi - -# -# Build LIB3270 -# -echo "Building lib3270" -./autogen.sh > $LOGFILE 2>&1 || die "Autogen failure" -./configure > $LOGFILE 2>&1 || die "Configure failure" -make clean > $LOGFILE 2>&1 || die "Make clean failure" -make all > $LOGFILE 2>&1 || die "Make failure" -make DESTDIR=.bin/package.msvc install > $LOGFILE 2>&1 || die "Install failure" - -cd .bin/package.msvc -zip \ - -9 -r \ - -x'*.a' \ - -x'*.pc' \ - ${srcdir}/${MINGW_PACKAGE_PREFIX}-${PACKAGE_NAME}-${PACKAGE_VERSION}.devel.zip * \ - > $LOGFILE 2>&1 || die "Zip failure" - - \ No newline at end of file diff --git a/win/x86_32/_service b/win/x86_32/_service deleted file mode 100644 index 86d7d3c4..00000000 --- a/win/x86_32/_service +++ /dev/null @@ -1,26 +0,0 @@ - - - - - enable - @PARENT_TAG@ - https://github.com/PerryWerneck/lib3270.git - git - - - - - - - *.tar - xz - - - - - - diff --git a/win/x86_32/mingw32-lib3270.spec b/win/x86_32/mingw32-lib3270.spec deleted file mode 100644 index 54ee8907..00000000 --- a/win/x86_32/mingw32-lib3270.spec +++ /dev/null @@ -1,146 +0,0 @@ -# -# spec file for package mingw32-%{_libname} -# -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. -# Copyright (C) <2008> -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - -%define _libname lib3270 -%define _product pw3270 - -%define __strip %{_mingw32_strip} -%define __objdump %{_mingw32_objdump} -%define _use_internal_dependency_generator 0 -%define __find_requires %{_mingw32_findrequires} -%define __find_provides %{_mingw32_findprovides} -%define __os_install_post %{_mingw32_debug_install_post} \ - %{_mingw32_install_post} - -#---[ Package header ]------------------------------------------------------------------------------------------------ - -Summary: TN3270 access library for 32 bits Windows -Name: mingw32-%{_libname} -Version: 5.5.0 -Release: 0 -License: LGPL-3.0 - -Source: lib3270-%{version}.tar.xz - -URL: https://github.com/PerryWerneck/lib3270 - -Group: System/Libraries -BuildRoot: /var/tmp/%{name}-%{version} - -BuildRequires: autoconf >= 2.61 -BuildRequires: automake -BuildRequires: libtool -BuildRequires: gettext-devel -BuildRequires: xz -BuildRequires: fdupes - -BuildRequires: mingw32-cross-binutils -BuildRequires: mingw32-cross-gcc -BuildRequires: mingw32-cross-gcc-c++ -BuildRequires: mingw32-cross-pkg-config -BuildRequires: mingw32-filesystem -BuildRequires: mingw32-libopenssl-devel -BuildRequires: mingw32-zlib-devel -BuildRequires: mingw32(lib:iconv) -BuildRequires: mingw32(lib:intl) - -%description -TN3270 access library, originally designed as part of the %{_product} application. - -For more details, see https://softwarepublico.gov.br/social/pw3270/ . - -#---[ Library ]------------------------------------------------------------------------------------------------------- - -%define MAJOR_VERSION %(echo %{version} | cut -d. -f1) -%define MINOR_VERSION %(echo %{version} | cut -d. -f2 | cut -d+ -f1) -%define _libvrs %{MAJOR_VERSION}_%{MINOR_VERSION} - -%package -n %{name}-%{_libvrs} -Summary: TN3270 Access library -Group: Development/Libraries/C and C++ - -%description -n %{name}-%{_libvrs} -TN3270 access library, originally designed as part of the %{_product} application. - -For more details, see https://softwarepublico.gov.br/social/pw3270/ . - -%package devel - -Summary: TN3270 Access library development files -Group: Development/Libraries/C and C++ -Requires: %{name}-%{_libvrs} = %{version} - -%description devel -Header files for the TN3270 access library. - -#---[ Build & Install ]----------------------------------------------------------------------------------------------- - -%prep -%setup -n lib3270-%{version} - -NOCONFIGURE=1 \ - ./autogen.sh - -%{_mingw32_configure} - -%build -make all %{?_smp_mflags} - -%{_mingw32_strip} \ - --strip-all \ - .bin/Release/*.dll - - -%install - -# The macro changes the prefix! -#%{_mingw64_makeinstall} -make DESTDIR=%{buildroot} install - -%_mingw32_find_lang %{_libname}-%{MAJOR_VERSION}.%{MINOR_VERSION} langfiles -%fdupes %{buildroot} - -%files -n %{name}-%{_libvrs} -f langfiles -%defattr(-,root,root) - -%doc AUTHORS README.md -%license LICENSE - -%dir %{_mingw32_datadir}/%{_product} - -%{_mingw32_libdir}/*.dll -%{_mingw32_bindir}/*.dll - -%files devel -%defattr(-,root,root) - -%{_mingw32_libdir}/*.a - -%{_mingw32_includedir}/*.h -%{_mingw32_includedir}/lib3270 - -%{_mingw32_libdir}/pkgconfig/*.pc - -%dir %{_mingw32_datadir}/%{_product}/def -%{_mingw32_datadir}/%{_product}/def/*.def -%{_mingw32_datadir}/%{_product}/def/*.mak - -%dir %{_mingw32_datadir}/%{_product}/pot -%{_mingw32_datadir}/%{_product}/pot/*.pot - -%changelog diff --git a/win/x86_64/CHANGELOG b/win/x86_64/CHANGELOG deleted file mode 100644 index 1fca6e77..00000000 --- a/win/x86_64/CHANGELOG +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------- -Tue Nov 13 12:45:25 UTC 2018 - perry.werneck@gmail.com - -- lib3270 is now an independant package. diff --git a/win/x86_64/_service b/win/x86_64/_service deleted file mode 100644 index 08634dbb..00000000 --- a/win/x86_64/_service +++ /dev/null @@ -1,27 +0,0 @@ - - - - - enable - https://github.com/PerryWerneck/lib3270.git - @PARENT_TAG@+git%cd - git - develop - - - - - - - *.tar - xz - - - - - - diff --git a/win/x86_64/mingw64-lib3270.spec b/win/x86_64/mingw64-lib3270.spec deleted file mode 100644 index 89838759..00000000 --- a/win/x86_64/mingw64-lib3270.spec +++ /dev/null @@ -1,144 +0,0 @@ -# -# spec file for package mingw64-%{_libname} -# -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. -# Copyright (C) <2008> -# -# All modifications and additions to the file contributed by third parties -# remain the property of their copyright owners, unless otherwise agreed -# upon. The license for this file, and modifications and additions to the -# file, is the same license as for the pristine package itself (unless the -# license for the pristine package is not an Open Source License, in which -# case the license is the MIT License). An "Open Source License" is a -# license that conforms to the Open Source Definition (Version 1.9) -# published by the Open Source Initiative. - -# Please submit bugfixes or comments via http://bugs.opensuse.org/ -# - -%define _libname lib3270 -%define _product pw3270 - -# Only build in tumbleweed -%if 0%{?suse_version} < 1699 -ExclusiveArch: do_not_build -%endif - -#---[ Package header ]------------------------------------------------------------------------------------------------ - -Summary: TN3270 access library for 64 bits Windows -Name: mingw64-%{_libname} -Version: 5.5.0 -Release: 0 -License: LGPL-3.0 - -Source: lib3270-%{version}.tar.xz - -URL: https://github.com/PerryWerneck/lib3270 - -Group: System/Libraries -BuildRoot: /var/tmp/%{name}-%{version} - -BuildRequires: autoconf >= 2.61 -BuildRequires: automake -BuildRequires: libtool -BuildRequires: gettext-devel -BuildRequires: xz -BuildRequires: fdupes - -BuildRequires: mingw64-cross-binutils -BuildRequires: mingw64-cross-gcc -BuildRequires: mingw64-cross-gcc-c++ -BuildRequires: mingw64-cross-pkg-config -BuildRequires: mingw64-filesystem -BuildRequires: mingw64-zlib-devel -BuildRequires: mingw64-win_iconv-devel-static -BuildRequires: mingw64-libintl-devel -BuildRequires: mingw64-gettext-tools -BuildRequires: mingw64-libressl-devel - -%description -TN3270 access library, originally designed as part of the %{_product} application. - -For more details, see https://softwarepublico.gov.br/social/pw3270/ . - -#---[ Library ]------------------------------------------------------------------------------------------------------- - -%define MAJOR_VERSION %(echo %{version} | cut -d. -f1) -%define MINOR_VERSION %(echo %{version} | cut -d. -f2 | cut -d+ -f1) -%define _libvrs %{MAJOR_VERSION}_%{MINOR_VERSION} - -%package -n %{name}-%{_libvrs} -Summary: TN3270 Access library -Group: Development/Libraries/C and C++ - -%description -n %{name}-%{_libvrs} -TN3270 access library, originally designed as part of the %{_product} application. - -For more details, see https://softwarepublico.gov.br/social/pw3270/ . - -%package devel - -Summary: TN3270 Access library development files -Group: Development/Libraries/C and C++ -Requires: %{name}-%{_libvrs} = %{version} - -%description devel -Header files for the TN3270 access library. - -#---[ Build & Install ]----------------------------------------------------------------------------------------------- - -%prep -%setup -n lib3270-%{version} - -NOCONFIGURE=1 \ - ./autogen.sh - -%{_mingw64_configure} - -%build -make all %{?_smp_mflags} - -%{_mingw64_strip} \ - --strip-all \ - .bin/Release/*.dll - - -%install - -# The macro changes the prefix! -#%{_mingw64_makeinstall} -make DESTDIR=%{buildroot} install - -%_mingw64_find_lang %{_libname}-%{MAJOR_VERSION}.%{MINOR_VERSION} langfiles -%fdupes %{buildroot} - -%files -n %{name}-%{_libvrs} -f langfiles -%defattr(-,root,root) - -%doc AUTHORS README.md -%license LICENSE - -%dir %{_mingw64_datadir}/%{_product} - -%{_mingw64_bindir}/*.dll -%exclude %{_mingw64_libdir}/*.dll - -%files devel -%defattr(-,root,root) - -%{_mingw64_libdir}/*.a - -%{_mingw64_includedir}/*.h -%{_mingw64_includedir}/lib3270 - -%{_mingw64_libdir}/pkgconfig/*.pc - -%dir %{_mingw64_datadir}/%{_product}/def -%{_mingw64_datadir}/%{_product}/def/*.def -%{_mingw64_datadir}/%{_product}/def/*.mak - -%dir %{_mingw64_datadir}/%{_product}/pot -%{_mingw64_datadir}/%{_product}/pot/*.pot - -%changelog