Commit 83e646f403e104d9697fc27a35696b392b6c08ee
1 parent
29d2f429
Exists in
master
and in
5 other branches
Adjustments in windows package generator.
Showing
2 changed files
with
109 additions
and
12 deletions
Show diff stats
win/pack.sh
| @@ -169,6 +169,99 @@ buildLibrary() | @@ -169,6 +169,99 @@ buildLibrary() | ||
| 169 | 169 | ||
| 170 | esac | 170 | esac |
| 171 | 171 | ||
| 172 | + # Create install dirs | ||
| 173 | + mkdir -p ${WORKDIR}/build/${ARCH} | ||
| 174 | + mkdir -p ${WORKDIR}/cache/${ARCH} | ||
| 175 | + mkdir -p ${WORKDIR}/build/${ARCH}/locale | ||
| 176 | + mkdir -p ${WORKDIR}/build/${ARCH}/include | ||
| 177 | + | ||
| 178 | + export PKG_CONFIG_PATH=${WORKDIR}/build/${ARCH}/pkgconfig | ||
| 179 | + export cache=${WORKDIR}/cache/${ARCH}/${1}.cache | ||
| 180 | + | ||
| 181 | + cd ${WORKDIR}/sources/${1} | ||
| 182 | + | ||
| 183 | + if [ -x ${PROJECTDIR}/win/configure.${1} ]; then | ||
| 184 | + | ||
| 185 | + host="${host}" \ | ||
| 186 | + prefix="${prefix}" \ | ||
| 187 | + BUILDDIR="${WORKDIR}/build/${ARCH}" \ | ||
| 188 | + CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ | ||
| 189 | + CXXFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ | ||
| 190 | + LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ | ||
| 191 | + ${PROJECTDIR}/win/configure.${1} | ||
| 192 | + | ||
| 193 | + else | ||
| 194 | + | ||
| 195 | + ./configure \ | ||
| 196 | + CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ | ||
| 197 | + CXXFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ | ||
| 198 | + LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ | ||
| 199 | + --host=${host} \ | ||
| 200 | + --prefix=${prefix} \ | ||
| 201 | + --with-product-name="${PRODUCT_NAME}" \ | ||
| 202 | + --bindir=${WORKDIR}/build/${ARCH} \ | ||
| 203 | + --libdir=${WORKDIR}/build/${ARCH} \ | ||
| 204 | + --localedir=${WORKDIR}/build/${ARCH}/locale \ | ||
| 205 | + --includedir=${WORKDIR}/build/${ARCH}/include \ | ||
| 206 | + --sysconfdir=${WORKDIR}/build/${ARCH} \ | ||
| 207 | + --datadir=${WORKDIR}/build/${ARCH} \ | ||
| 208 | + --datarootdir=${WORKDIR}/build/${ARCH} | ||
| 209 | + fi | ||
| 210 | + | ||
| 211 | + if [ "$?" != "0" ]; then | ||
| 212 | + failed "Can't configure ${1}" | ||
| 213 | + fi | ||
| 214 | + | ||
| 215 | + make all | ||
| 216 | + if [ "$?" != "0" ]; then | ||
| 217 | + failed "Can't buid ${1}" | ||
| 218 | + fi | ||
| 219 | + | ||
| 220 | + make install | ||
| 221 | + if [ "$?" != "0" ]; then | ||
| 222 | + failed "Can't install ${1}" | ||
| 223 | + fi | ||
| 224 | + | ||
| 225 | + done | ||
| 226 | + | ||
| 227 | +} | ||
| 228 | + | ||
| 229 | +# | ||
| 230 | +# Build language binding | ||
| 231 | +# | ||
| 232 | +buildLanguageBinding() | ||
| 233 | +{ | ||
| 234 | + | ||
| 235 | + echo "Building language binding ${1}" | ||
| 236 | + | ||
| 237 | + for ARCH in ${TARGET_ARCHS} | ||
| 238 | + do | ||
| 239 | + | ||
| 240 | + echo -e "\e]2;Building ${1} for ${ARCH}\a" | ||
| 241 | + echo "Building ${1} for ${ARCH}" | ||
| 242 | + | ||
| 243 | + case ${ARCH} in | ||
| 244 | + x86_32) | ||
| 245 | + host=i686-w64-mingw32 | ||
| 246 | + host_cpu=i686 | ||
| 247 | + prefix=/usr/i686-w64-mingw32/sys-root/mingw | ||
| 248 | + tools=i686-w64-mingw32 | ||
| 249 | + pkg_config=/usr/bin/i686-w64-mingw32-pkg-config | ||
| 250 | + ;; | ||
| 251 | + | ||
| 252 | + x86_64) | ||
| 253 | + host=x86_64-w64-mingw32 | ||
| 254 | + host_cpu=x86_64 | ||
| 255 | + prefix=/usr/x86_64-w64-mingw32/sys-root/mingw | ||
| 256 | + tools=x86_64-w64-mingw32 | ||
| 257 | + pkg_config=/usr/bin/x86_64-w64-mingw32-pkg-config | ||
| 258 | + ;; | ||
| 259 | + | ||
| 260 | + *) | ||
| 261 | + failed "Arquitetura desconhecida: ${ARCH}" | ||
| 262 | + | ||
| 263 | + esac | ||
| 264 | + | ||
| 172 | # Required for lib3270 build tools | 265 | # Required for lib3270 build tools |
| 173 | export HOST_CC=/usr/bin/gcc | 266 | export HOST_CC=/usr/bin/gcc |
| 174 | 267 | ||
| @@ -194,14 +287,16 @@ buildLibrary() | @@ -194,14 +287,16 @@ buildLibrary() | ||
| 194 | prefix="${prefix}" \ | 287 | prefix="${prefix}" \ |
| 195 | BUILDDIR="${WORKDIR}/build/${ARCH}" \ | 288 | BUILDDIR="${WORKDIR}/build/${ARCH}" \ |
| 196 | CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ | 289 | CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ |
| 197 | - LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ | 290 | + CXXFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ |
| 291 | + LDFLAGS="-static-libgcc -static-libstdc++ -L${WORKDIR}/build/${ARCH}" \ | ||
| 198 | ${PROJECTDIR}/win/configure.${1} | 292 | ${PROJECTDIR}/win/configure.${1} |
| 199 | 293 | ||
| 200 | else | 294 | else |
| 201 | 295 | ||
| 202 | ./configure \ | 296 | ./configure \ |
| 203 | CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ | 297 | CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ |
| 204 | - LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ | 298 | + CXXFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ |
| 299 | + LDFLAGS="-static-libgcc -static-libstdc++ -L${WORKDIR}/build/${ARCH}" \ | ||
| 205 | --host=${host} \ | 300 | --host=${host} \ |
| 206 | --prefix=${prefix} \ | 301 | --prefix=${prefix} \ |
| 207 | --with-product-name="${PRODUCT_NAME}" \ | 302 | --with-product-name="${PRODUCT_NAME}" \ |
| @@ -211,7 +306,9 @@ buildLibrary() | @@ -211,7 +306,9 @@ buildLibrary() | ||
| 211 | --includedir=${WORKDIR}/build/${ARCH}/include \ | 306 | --includedir=${WORKDIR}/build/${ARCH}/include \ |
| 212 | --sysconfdir=${WORKDIR}/build/${ARCH} \ | 307 | --sysconfdir=${WORKDIR}/build/${ARCH} \ |
| 213 | --datadir=${WORKDIR}/build/${ARCH} \ | 308 | --datadir=${WORKDIR}/build/${ARCH} \ |
| 214 | - --datarootdir=${WORKDIR}/build/${ARCH} | 309 | + --datarootdir=${WORKDIR}/build/${ARCH} \ |
| 310 | + --without-static-ipc3270 | ||
| 311 | + | ||
| 215 | fi | 312 | fi |
| 216 | 313 | ||
| 217 | if [ "$?" != "0" ]; then | 314 | if [ "$?" != "0" ]; then |
| @@ -228,14 +325,6 @@ buildLibrary() | @@ -228,14 +325,6 @@ buildLibrary() | ||
| 228 | failed "Can't install ${1}" | 325 | failed "Can't install ${1}" |
| 229 | fi | 326 | fi |
| 230 | 327 | ||
| 231 | - for NSI in $(find ./win -name '*.nsi') | ||
| 232 | - do | ||
| 233 | - cp "${NSI}" "${WORKDIR}/build/${ARCH}" | ||
| 234 | - if [ "$?" != "0" ]; then | ||
| 235 | - failed "Can't copy ${NSI}" | ||
| 236 | - fi | ||
| 237 | - done | ||
| 238 | - | ||
| 239 | done | 328 | done |
| 240 | 329 | ||
| 241 | } | 330 | } |
| @@ -570,6 +659,10 @@ do | @@ -570,6 +659,10 @@ do | ||
| 570 | TARGET_ARCHS=${value} | 659 | TARGET_ARCHS=${value} |
| 571 | ;; | 660 | ;; |
| 572 | 661 | ||
| 662 | + NO-PRE-REQS) | ||
| 663 | + GET_PREREQS=0 | ||
| 664 | + ;; | ||
| 665 | + | ||
| 573 | PROJECT-PATH) | 666 | PROJECT-PATH) |
| 574 | PROJECTDIR=$(readlink -f ${value}) | 667 | PROJECTDIR=$(readlink -f ${value}) |
| 575 | ;; | 668 | ;; |
| @@ -653,7 +746,7 @@ done | @@ -653,7 +746,7 @@ done | ||
| 653 | 746 | ||
| 654 | for src in ${PACKAGE_LANGUAGE_BINDINGS} | 747 | for src in ${PACKAGE_LANGUAGE_BINDINGS} |
| 655 | do | 748 | do |
| 656 | - buildLibrary lib3270-${src}-bindings | 749 | + buildLanguageBinding lib3270-${src}-bindings |
| 657 | done | 750 | done |
| 658 | 751 | ||
| 659 | # | 752 | # |
win/pw3270.nsi.in
| @@ -79,6 +79,8 @@ SubSection "@PRODUCT_NAME@" SecMain | @@ -79,6 +79,8 @@ SubSection "@PRODUCT_NAME@" SecMain | ||
| 79 | file "/oname=$INSTDIR\lib@LIBRARY_NAME@.dll" "lib@LIBRARY_NAME@.dll" | 79 | file "/oname=$INSTDIR\lib@LIBRARY_NAME@.dll" "lib@LIBRARY_NAME@.dll" |
| 80 | file "/oname=$INSTDIR\libv3270.dll" "libv3270.dll" | 80 | file "/oname=$INSTDIR\libv3270.dll" "libv3270.dll" |
| 81 | file "/oname=$INSTDIR\@PACKAGE@.dll" "@PACKAGE@.dll" | 81 | file "/oname=$INSTDIR\@PACKAGE@.dll" "@PACKAGE@.dll" |
| 82 | + file "/oname=$SYSDIR\libipc3270.dll" "libipc3270.dll" | ||
| 83 | + | ||
| 82 | 84 | ||
| 83 | # Configuration files | 85 | # Configuration files |
| 84 | file "/oname=$INSTDIR\@PRODUCT_NAME@-logo.png" "@PRODUCT_NAME@\@PRODUCT_NAME@-logo.png" | 86 | file "/oname=$INSTDIR\@PRODUCT_NAME@-logo.png" "@PRODUCT_NAME@\@PRODUCT_NAME@-logo.png" |
| @@ -256,6 +258,8 @@ Section "Uninstall" | @@ -256,6 +258,8 @@ Section "Uninstall" | ||
| 256 | DeleteRegKey HKLM "Software\@PRODUCT_NAME@" | 258 | DeleteRegKey HKLM "Software\@PRODUCT_NAME@" |
| 257 | 259 | ||
| 258 | # Delete System libraries | 260 | # Delete System libraries |
| 261 | + delete $SYSDIR\libipc3270.dll | ||
| 262 | + | ||
| 259 | !ifdef WITHHLLAPI | 263 | !ifdef WITHHLLAPI |
| 260 | delete $SYSDIR\libhllapi.dll | 264 | delete $SYSDIR\libhllapi.dll |
| 261 | delete $SYSDIR\hllapi.dll | 265 | delete $SYSDIR\hllapi.dll |