From 83e646f403e104d9697fc27a35696b392b6c08ee Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 23 Sep 2019 11:23:45 -0300 Subject: [PATCH] Adjustments in windows package generator. --- win/pack.sh | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------ win/pw3270.nsi.in | 4 ++++ 2 files changed, 109 insertions(+), 12 deletions(-) diff --git a/win/pack.sh b/win/pack.sh index be29512..e56222a 100755 --- a/win/pack.sh +++ b/win/pack.sh @@ -169,6 +169,99 @@ buildLibrary() esac + # Create install dirs + mkdir -p ${WORKDIR}/build/${ARCH} + mkdir -p ${WORKDIR}/cache/${ARCH} + mkdir -p ${WORKDIR}/build/${ARCH}/locale + mkdir -p ${WORKDIR}/build/${ARCH}/include + + export PKG_CONFIG_PATH=${WORKDIR}/build/${ARCH}/pkgconfig + export cache=${WORKDIR}/cache/${ARCH}/${1}.cache + + cd ${WORKDIR}/sources/${1} + + if [ -x ${PROJECTDIR}/win/configure.${1} ]; then + + host="${host}" \ + prefix="${prefix}" \ + BUILDDIR="${WORKDIR}/build/${ARCH}" \ + CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ + CXXFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ + LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ + ${PROJECTDIR}/win/configure.${1} + + else + + ./configure \ + CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ + CXXFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ + LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ + --host=${host} \ + --prefix=${prefix} \ + --with-product-name="${PRODUCT_NAME}" \ + --bindir=${WORKDIR}/build/${ARCH} \ + --libdir=${WORKDIR}/build/${ARCH} \ + --localedir=${WORKDIR}/build/${ARCH}/locale \ + --includedir=${WORKDIR}/build/${ARCH}/include \ + --sysconfdir=${WORKDIR}/build/${ARCH} \ + --datadir=${WORKDIR}/build/${ARCH} \ + --datarootdir=${WORKDIR}/build/${ARCH} + fi + + if [ "$?" != "0" ]; then + failed "Can't configure ${1}" + fi + + make all + if [ "$?" != "0" ]; then + failed "Can't buid ${1}" + fi + + make install + if [ "$?" != "0" ]; then + failed "Can't install ${1}" + fi + + done + +} + +# +# Build language binding +# +buildLanguageBinding() +{ + + echo "Building language binding ${1}" + + for ARCH in ${TARGET_ARCHS} + do + + echo -e "\e]2;Building ${1} for ${ARCH}\a" + echo "Building ${1} for ${ARCH}" + + case ${ARCH} in + x86_32) + host=i686-w64-mingw32 + host_cpu=i686 + prefix=/usr/i686-w64-mingw32/sys-root/mingw + tools=i686-w64-mingw32 + pkg_config=/usr/bin/i686-w64-mingw32-pkg-config + ;; + + x86_64) + host=x86_64-w64-mingw32 + host_cpu=x86_64 + prefix=/usr/x86_64-w64-mingw32/sys-root/mingw + tools=x86_64-w64-mingw32 + pkg_config=/usr/bin/x86_64-w64-mingw32-pkg-config + ;; + + *) + failed "Arquitetura desconhecida: ${ARCH}" + + esac + # Required for lib3270 build tools export HOST_CC=/usr/bin/gcc @@ -194,14 +287,16 @@ buildLibrary() prefix="${prefix}" \ BUILDDIR="${WORKDIR}/build/${ARCH}" \ CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ - LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ + CXXFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ + LDFLAGS="-static-libgcc -static-libstdc++ -L${WORKDIR}/build/${ARCH}" \ ${PROJECTDIR}/win/configure.${1} else ./configure \ CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ - LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ + CXXFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ + LDFLAGS="-static-libgcc -static-libstdc++ -L${WORKDIR}/build/${ARCH}" \ --host=${host} \ --prefix=${prefix} \ --with-product-name="${PRODUCT_NAME}" \ @@ -211,7 +306,9 @@ buildLibrary() --includedir=${WORKDIR}/build/${ARCH}/include \ --sysconfdir=${WORKDIR}/build/${ARCH} \ --datadir=${WORKDIR}/build/${ARCH} \ - --datarootdir=${WORKDIR}/build/${ARCH} + --datarootdir=${WORKDIR}/build/${ARCH} \ + --without-static-ipc3270 + fi if [ "$?" != "0" ]; then @@ -228,14 +325,6 @@ buildLibrary() failed "Can't install ${1}" fi - for NSI in $(find ./win -name '*.nsi') - do - cp "${NSI}" "${WORKDIR}/build/${ARCH}" - if [ "$?" != "0" ]; then - failed "Can't copy ${NSI}" - fi - done - done } @@ -570,6 +659,10 @@ do TARGET_ARCHS=${value} ;; + NO-PRE-REQS) + GET_PREREQS=0 + ;; + PROJECT-PATH) PROJECTDIR=$(readlink -f ${value}) ;; @@ -653,7 +746,7 @@ done for src in ${PACKAGE_LANGUAGE_BINDINGS} do - buildLibrary lib3270-${src}-bindings + buildLanguageBinding lib3270-${src}-bindings done # diff --git a/win/pw3270.nsi.in b/win/pw3270.nsi.in index 62ea4a9..bd89049 100644 --- a/win/pw3270.nsi.in +++ b/win/pw3270.nsi.in @@ -79,6 +79,8 @@ SubSection "@PRODUCT_NAME@" SecMain file "/oname=$INSTDIR\lib@LIBRARY_NAME@.dll" "lib@LIBRARY_NAME@.dll" file "/oname=$INSTDIR\libv3270.dll" "libv3270.dll" file "/oname=$INSTDIR\@PACKAGE@.dll" "@PACKAGE@.dll" + file "/oname=$SYSDIR\libipc3270.dll" "libipc3270.dll" + # Configuration files file "/oname=$INSTDIR\@PRODUCT_NAME@-logo.png" "@PRODUCT_NAME@\@PRODUCT_NAME@-logo.png" @@ -256,6 +258,8 @@ Section "Uninstall" DeleteRegKey HKLM "Software\@PRODUCT_NAME@" # Delete System libraries + delete $SYSDIR\libipc3270.dll + !ifdef WITHHLLAPI delete $SYSDIR\libhllapi.dll delete $SYSDIR\hllapi.dll -- libgit2 0.21.2