Commit 9c12939ab390d497d24688f5d8be4ebed5fbaf53

Authored by Perry Werneck
1 parent e168723b

Fixing windows build.

Showing 2 changed files with 106 additions and 95 deletions   Show diff stats
@@ -47,6 +47,10 @@ if [ -e /etc/os-release ]; then @@ -47,6 +47,10 @@ if [ -e /etc/os-release ]; then
47 . /etc/os-release 47 . /etc/os-release
48 fi 48 fi
49 49
  50 +if [ -e ~/.config/user-dirs.dirs ]; then
  51 + . ~/.config/user-dirs.dirs
  52 +fi
  53 +
50 # 54 #
51 # Limpa diretório temporário 55 # Limpa diretório temporário
52 # 56 #
@@ -209,7 +213,7 @@ buildLibrary() @@ -209,7 +213,7 @@ buildLibrary()
209 mkdir -p ${WORKDIR}/build/${ARCH}/locale 213 mkdir -p ${WORKDIR}/build/${ARCH}/locale
210 mkdir -p ${WORKDIR}/build/${ARCH}/include 214 mkdir -p ${WORKDIR}/build/${ARCH}/include
211 215
212 - export PKG_CONFIG_PATH=${WORKDIR}/build/${ARCH}/pkgconfig 216 + export PKG_CONFIG_PATH=${WORKDIR}/build/${ARCH}/lib/pkgconfig
213 export cache=${WORKDIR}/cache/${ARCH}/${1}.cache 217 export cache=${WORKDIR}/cache/${ARCH}/${1}.cache
214 218
215 cd ${WORKDIR}/sources/${1} 219 cd ${WORKDIR}/sources/${1}
@@ -229,17 +233,16 @@ buildLibrary() @@ -229,17 +233,16 @@ buildLibrary()
229 ./configure \ 233 ./configure \
230 CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ 234 CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \
231 CXXFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ 235 CXXFLAGS="-I${WORKDIR}/build/${ARCH}/include" \
232 - LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ 236 + LDFLAGS="-L${WORKDIR}/build/${ARCH}/lib" \
233 --host=${host} \ 237 --host=${host} \
234 --prefix=${prefix} \ 238 --prefix=${prefix} \
235 --with-product-name="${PRODUCT_NAME}" \ 239 --with-product-name="${PRODUCT_NAME}" \
236 - --bindir=${WORKDIR}/build/${ARCH} \  
237 - --libdir=${WORKDIR}/build/${ARCH} \  
238 - --localedir=${WORKDIR}/build/${ARCH}/locale \ 240 + --bindir=${WORKDIR}/build/${ARCH}/bin \
  241 + --libdir=${WORKDIR}/build/${ARCH}/lib \
239 --includedir=${WORKDIR}/build/${ARCH}/include \ 242 --includedir=${WORKDIR}/build/${ARCH}/include \
240 - --sysconfdir=${WORKDIR}/build/${ARCH} \  
241 - --datadir=${WORKDIR}/build/${ARCH} \  
242 - --datarootdir=${WORKDIR}/build/${ARCH} 243 + --sysconfdir=${WORKDIR}/build/${ARCH}/etc \
  244 + --datadir=${WORKDIR}/build/${ARCH}/share \
  245 + --datarootdir=${WORKDIR}/build/${ARCH}/share
243 fi 246 fi
244 247
245 if [ "$?" != "0" ]; then 248 if [ "$?" != "0" ]; then
@@ -310,7 +313,7 @@ buildExtraPackage() @@ -310,7 +313,7 @@ buildExtraPackage()
310 mkdir -p ${WORKDIR}/build/${ARCH}/locale 313 mkdir -p ${WORKDIR}/build/${ARCH}/locale
311 mkdir -p ${WORKDIR}/build/${ARCH}/include 314 mkdir -p ${WORKDIR}/build/${ARCH}/include
312 315
313 - export PKG_CONFIG_PATH=${WORKDIR}/build/${ARCH}/pkgconfig 316 + export PKG_CONFIG_PATH=${WORKDIR}/build/${ARCH}/lib/pkgconfig
314 export cache=${WORKDIR}/cache/${ARCH}/${1}.cache 317 export cache=${WORKDIR}/cache/${ARCH}/${1}.cache
315 318
316 cd ${WORKDIR}/sources/${1} 319 cd ${WORKDIR}/sources/${1}
@@ -330,17 +333,16 @@ buildExtraPackage() @@ -330,17 +333,16 @@ buildExtraPackage()
330 ./configure \ 333 ./configure \
331 CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ 334 CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \
332 CXXFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ 335 CXXFLAGS="-I${WORKDIR}/build/${ARCH}/include" \
333 - LDFLAGS="-static-libgcc -static-libstdc++ -L${WORKDIR}/build/${ARCH}" \ 336 + LDFLAGS="-static-libgcc -static-libstdc++ -L${WORKDIR}/build/${ARCH}/lib" \
334 --host=${host} \ 337 --host=${host} \
335 --prefix=${prefix} \ 338 --prefix=${prefix} \
336 --with-product-name="${PRODUCT_NAME}" \ 339 --with-product-name="${PRODUCT_NAME}" \
337 - --bindir=${WORKDIR}/build/${ARCH} \  
338 - --libdir=${WORKDIR}/build/${ARCH} \  
339 - --localedir=${WORKDIR}/build/${ARCH}/locale \ 340 + --bindir=${WORKDIR}/build/${ARCH}/bin \
  341 + --libdir=${WORKDIR}/build/${ARCH}/lib \
340 --includedir=${WORKDIR}/build/${ARCH}/include \ 342 --includedir=${WORKDIR}/build/${ARCH}/include \
341 - --sysconfdir=${WORKDIR}/build/${ARCH} \  
342 - --datadir=${WORKDIR}/build/${ARCH} \  
343 - --datarootdir=${WORKDIR}/build/${ARCH} 343 + --sysconfdir=${WORKDIR}/build/${ARCH}/etc \
  344 + --datadir=${WORKDIR}/build/${ARCH}/share \
  345 + --datarootdir=${WORKDIR}/build/${ARCH}/share
344 346
345 fi 347 fi
346 348
@@ -401,7 +403,7 @@ buildApplication() @@ -401,7 +403,7 @@ buildApplication()
401 mkdir -p ${WORKDIR}/build/${ARCH}/include 403 mkdir -p ${WORKDIR}/build/${ARCH}/include
402 404
403 export HOST_CC=/usr/bin/gcc 405 export HOST_CC=/usr/bin/gcc
404 - export PKG_CONFIG_PATH=${WORKDIR}/build/${ARCH}/pkgconfig 406 + export PKG_CONFIG_PATH=${WORKDIR}/build/${ARCH}/lib/pkgconfig
405 export cache=${WORKDIR}/cache/${ARCH}/${1}.cache 407 export cache=${WORKDIR}/cache/${ARCH}/${1}.cache
406 408
407 cd ${WORKDIR}/sources/${1} 409 cd ${WORKDIR}/sources/${1}
@@ -430,16 +432,15 @@ buildApplication() @@ -430,16 +432,15 @@ buildApplication()
430 432
431 ./configure \ 433 ./configure \
432 CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \ 434 CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \
433 - LDFLAGS="-L${WORKDIR}/build/${ARCH}" \ 435 + LDFLAGS="-L${WORKDIR}/build/${ARCH}/lib" \
434 --host=${host} \ 436 --host=${host} \
435 --prefix=${prefix} \ 437 --prefix=${prefix} \
436 - --bindir=${WORKDIR}/build/${ARCH} \  
437 - --libdir=${WORKDIR}/build/${ARCH} \  
438 - --localedir=${WORKDIR}/build/${ARCH}/locale \ 438 + --bindir=${WORKDIR}/build/${ARCH}/bin \
  439 + --libdir=${WORKDIR}/build/${ARCH}/lib \
439 --includedir=${WORKDIR}/build/${ARCH}/include \ 440 --includedir=${WORKDIR}/build/${ARCH}/include \
440 - --sysconfdir=${WORKDIR}/build/${ARCH} \  
441 - --datadir=${WORKDIR}/build/${ARCH} \  
442 - --datarootdir=${WORKDIR}/build/${ARCH} 441 + --sysconfdir=${WORKDIR}/build/${ARCH}/etc \
  442 + --datadir=${WORKDIR}/build/${ARCH}/share \
  443 + --datarootdir=${WORKDIR}/build/${ARCH}/share
443 444
444 fi 445 fi
445 446
@@ -541,6 +542,59 @@ makeRuntime() @@ -541,6 +542,59 @@ makeRuntime()
541 } 542 }
542 543
543 # 544 #
  545 +# Copy file
  546 +#
  547 +copy_install_file() {
  548 +
  549 + FILENAME=${PROJECTDIR}/$(basename ${1})
  550 +
  551 + rm -f "${FILENAME}"
  552 + cp -v "${1}" "${FILENAME}"
  553 +
  554 + if [ "$?" != "0" ]; then
  555 + failed "Can't copy ${1} to ${FILENAME}"
  556 + fi
  557 +
  558 + if [ ${BUILD_UNSTABLE} == "1" ]; then
  559 + TARGET_PATH="/${PRODUCT_NAME}/unstable/${ARCH}"
  560 + else
  561 + TARGET_PATH="/${PRODUCT_NAME}/stable/${ARCH}"
  562 + fi
  563 +
  564 + if [ -d ~/public_html ]; then
  565 + mkdir -p ~/public_html/win/${TARGET_PATH}
  566 + ln -f -v "${FILENAME}" ~/public_html/win/${TARGET_PATH}
  567 + if [ "$?" != "0" ]; then
  568 + failed "Can't link ${1} to ~/public_html/win/${TARGET_PATH}"
  569 + fi
  570 + fi
  571 +
  572 + if [ ! -z "${XDG_PUBLICSHARE_DIR}" ] && [ -d "${XDG_PUBLICSHARE_DIR}" ]; then
  573 +
  574 + mkdir -p "${XDG_PUBLICSHARE_DIR}/${TARGET_PATH}"
  575 + if [ "$?" != "0" ]; then
  576 + failed "Can't create ${XDG_PUBLICSHARE_DIR}/${TARGET_PATH}"
  577 + fi
  578 +
  579 + ln -f -v "${FILENAME}" ${XDG_PUBLICSHARE_DIR}/${TARGET_PATH}
  580 + if [ "$?" != "0" ]; then
  581 + failed "Can't link ${1} to ~/${XDG_PUBLICSHARE_DIR}/${TARGET_PATH}"
  582 + fi
  583 +
  584 + fi
  585 +
  586 + if [ "${PUBLISH}" == "1" ] && [ ! -z ${WIN_PACKAGE_SERVER} ]; then
  587 +
  588 + scp "${FILENAME}" ${WIN_PACKAGE_SERVER}/${TARGET_PATH}
  589 + if [ "$?" != "0" ]; then
  590 + failed "Can't publish ${1} to ${WIN_PACKAGE_SERVER}/${TARGET_PATH}"
  591 + fi
  592 +
  593 + fi
  594 +
  595 +}
  596 +
  597 +#
544 # Make packages 598 # Make packages
545 # 599 #
546 makeInstaller() 600 makeInstaller()
@@ -592,12 +646,6 @@ makeInstaller() @@ -592,12 +646,6 @@ makeInstaller()
592 TARCH="i686" 646 TARCH="i686"
593 fi 647 fi
594 648
595 - if [ ${BUILD_UNSTABLE} == "1" ]; then  
596 - TARGET_PATH="/${PRODUCT_NAME}/unstable/${ARCH}"  
597 - else  
598 - TARGET_PATH="/${PRODUCT_NAME}/${ARCH}"  
599 - fi  
600 -  
601 if [ "${MAKE_ZIP}" == "1" ]; then 649 if [ "${MAKE_ZIP}" == "1" ]; then
602 650
603 ZIPNAME="${WORKDIR}/build/${ARCH}/${PRODUCT_NAME}-${ARCH}.zip" 651 ZIPNAME="${WORKDIR}/build/${ARCH}/${PRODUCT_NAME}-${ARCH}.zip"
@@ -610,26 +658,7 @@ makeInstaller() @@ -610,26 +658,7 @@ makeInstaller()
610 658
611 popd 659 popd
612 660
613 - if [ -d ~/public_html ]; then  
614 - mkdir -p ~/public_html/win/${TARGET_PATH}  
615 - cp -v "${ZIPNAME}" ~/public_html/win/${TARGET_PATH}  
616 - if [ "$?" != "0" ]; then  
617 - failed "Can't copy zip to ~/public_html/win/${TARGET_PATH}"  
618 - fi  
619 - fi  
620 -  
621 - if [ "${PUBLISH}" == "1" ] && [ ! -z ${WIN_PACKAGE_SERVER} ]; then  
622 -  
623 - scp "${ZIPNAME}" ${WIN_PACKAGE_SERVER}/${TARGET_PATH}  
624 - if [ "$?" != "0" ]; then  
625 - failed "Can't publish zip to ${WIN_PACKAGE_SERVER}/${TARGET_PATH}"  
626 - fi  
627 - fi  
628 -  
629 - mv -f "${ZIPNAME}" ${PROJECTDIR}  
630 - if [ "$?" != "0" ]; then  
631 - failed "Can't move zip to ${PROJECTDIR}"  
632 - fi 661 + copy_install_file "${ZIPNAME}"
633 662
634 fi 663 fi
635 664
@@ -641,26 +670,10 @@ makeInstaller() @@ -641,26 +670,10 @@ makeInstaller()
641 failed "Error building ${ARCH} ${NSI}" 670 failed "Error building ${ARCH} ${NSI}"
642 fi 671 fi
643 672
644 - if [ -d ~/public_html ]; then  
645 - mkdir -p ~/public_html/win/${TARGET_PATH}  
646 - cp -v *-[0-9]*-${TARCH}.exe ~/public_html/win/${TARGET_PATH}  
647 - if [ "$?" != "0" ]; then  
648 - failed "Can't copy binary to ~/public_html/win/${TARGET_PATH}"  
649 - fi  
650 - fi  
651 -  
652 - if [ "${PUBLISH}" == "1" ] && [ ! -z ${WIN_PACKAGE_SERVER} ]; then  
653 -  
654 - scp *-[0-9]*-${TARCH}.exe ${WIN_PACKAGE_SERVER}/${TARGET_PATH}  
655 - if [ "$?" != "0" ]; then  
656 - failed "Can't publish to ${WIN_PACKAGE_SERVER}/${TARGET_PATH}"  
657 - fi  
658 - fi  
659 -  
660 - mv -f *-[0-9]*-${TARCH}.exe ${PROJECTDIR}  
661 - if [ "$?" != "0" ]; then  
662 - failed "Can't move installer to ${PROJECTDIR}"  
663 - fi 673 + for FILE in *-[0-9]*-${TARCH}.exe
  674 + do
  675 + copy_install_file ${FILE}
  676 + done
664 677
665 done 678 done
666 679
win/pw3270.nsi.in
@@ -101,10 +101,10 @@ SubSection "@PRODUCT_NAME@" SecMain @@ -101,10 +101,10 @@ SubSection "@PRODUCT_NAME@" SecMain
101 createShortCut "$DESKTOP\@PRODUCT_NAME@.lnk" "$INSTDIR\@PRODUCT_NAME@.exe" 101 createShortCut "$DESKTOP\@PRODUCT_NAME@.lnk" "$INSTDIR\@PRODUCT_NAME@.exe"
102 102
103 # Binary files 103 # Binary files
104 - file "/oname=$INSTDIR\@PRODUCT_NAME@.exe" "@PRODUCT_NAME@.exe"  
105 - file "/oname=$INSTDIR\@PRODUCT_NAME@.ico" "@PRODUCT_NAME@.ico"  
106 - file "/oname=$INSTDIR\lib@LIBRARY_NAME@.dll" "lib@LIBRARY_NAME@.dll"  
107 - file "/oname=$INSTDIR\libv3270.dll" "libv3270.dll" 104 + file "/oname=$INSTDIR\@PRODUCT_NAME@.exe" "bin\@PRODUCT_NAME@.exe"
  105 + file "/oname=$INSTDIR\@PRODUCT_NAME@.ico" "bin\@PRODUCT_NAME@.ico"
  106 + file "/oname=$INSTDIR\lib@LIBRARY_NAME@.dll" "bin\lib@LIBRARY_NAME@.dll"
  107 + file "/oname=$INSTDIR\libv3270.dll" "bin\libv3270.dll"
108 108
109 # Register file association 109 # Register file association
110 110
@@ -185,13 +185,13 @@ SubSection "@PRODUCT_NAME@" SecMain @@ -185,13 +185,13 @@ SubSection "@PRODUCT_NAME@" SecMain
185 ${DisableX64FSRedirection} 185 ${DisableX64FSRedirection}
186 186
187 CreateDirectory "$INSTDIR\plugins" 187 CreateDirectory "$INSTDIR\plugins"
188 - file "/oname=$INSTDIR\plugins\ipcserver.dll" "@PRODUCT_NAME@-plugins\ipcserver.dll" 188 + file "/oname=$INSTDIR\plugins\ipcserver.dll" "lib\@PRODUCT_NAME@-plugins\ipcserver.dll"
189 189
190 CreateDirectory "$INSTDIR\locale\pt_BR\LC_MESSAGES" 190 CreateDirectory "$INSTDIR\locale\pt_BR\LC_MESSAGES"
191 - file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\libipc3270.mo" "locale\pt_BR\LC_MESSAGES\libipc3270.mo" 191 + file "/oname=$INSTDIR\locale\pt_BR\LC_MESSAGES\libipc3270.mo" "share\locale\pt_BR\LC_MESSAGES\libipc3270.mo"
192 192
193 ${@NSISREDIR@} 193 ${@NSISREDIR@}
194 - file "/oname=$SYSDIR\libipc3270.dll" "libipc3270.dll" 194 + file "/oname=$SYSDIR\libipc3270.dll" "bin\libipc3270.dll"
195 195
196 sectionEnd 196 sectionEnd
197 197
@@ -206,18 +206,18 @@ SubSection "@PRODUCT_NAME@" SecMain @@ -206,18 +206,18 @@ SubSection "@PRODUCT_NAME@" SecMain
206 ${@NSISREDIR@} 206 ${@NSISREDIR@}
207 207
208 # Install HLLAPI connector 208 # Install HLLAPI connector
209 - file "/oname=$SYSDIR\hllapi.dll" "libhllapi.dll" 209 + file "/oname=$SYSDIR\hllapi.dll" "bin\libhllapi.dll"
210 210
211 # Install with "lib" prefix for compatibility. 211 # Install with "lib" prefix for compatibility.
212 - file "/oname=$SYSDIR\libhllapi.dll" "libhllapi.dll" 212 + file "/oname=$SYSDIR\libhllapi.dll" "bin\libhllapi.dll"
213 213
214 SectionEnd 214 SectionEnd
215 !endif 215 !endif
216 216
217 Section "KEYPADS" Keypads 217 Section "KEYPADS" Keypads
218 218
219 - file "/oname=$INSTDIR\keypad\00-right.xml" "@PRODUCT_NAME@\keypad\00-right.xml"  
220 - file "/oname=$INSTDIR\keypad\10-bottom.xml" "@PRODUCT_NAME@\keypad\10-bottom.xml" 219 + file "/oname=$INSTDIR\keypad\00-right.xml" "share\@PRODUCT_NAME@\keypad\00-right.xml"
  220 + file "/oname=$INSTDIR\keypad\10-bottom.xml" "share\@PRODUCT_NAME@\keypad\10-bottom.xml"
221 221
222 SectionEnd 222 SectionEnd
223 223
@@ -249,22 +249,20 @@ SubSection "@PRODUCT_NAME@" SecMain @@ -249,22 +249,20 @@ SubSection "@PRODUCT_NAME@" SecMain
249 CreateDirectory "$INSTDIR\sdk\def" 249 CreateDirectory "$INSTDIR\sdk\def"
250 CreateDirectory "$INSTDIR\sdk\lib" 250 CreateDirectory "$INSTDIR\sdk\lib"
251 251
252 - file "/oname=$INSTDIR\sdk\def\lib@LIBRARY_NAME@.def" "@PRODUCT_NAME@\def\lib@LIBRARY_NAME@.def"  
253 - file "/oname=$INSTDIR\sdk\lib\lib3270.dll.a" "lib@LIBRARY_NAME@.dll.a"  
254 - file "/oname=$INSTDIR\sdk\lib\lib3270.delayed.a" "lib@LIBRARY_NAME@.delayed.a"  
255 - file "/oname=$INSTDIR\sdk\lib\lib3270.static.a" "lib@LIBRARY_NAME@.static.a" 252 + file "/oname=$INSTDIR\sdk\lib\lib3270.dll.a" "lib\lib@LIBRARY_NAME@.dll.a"
  253 + file "/oname=$INSTDIR\sdk\lib\lib3270.delayed.a" "lib\lib@LIBRARY_NAME@.delayed.a"
  254 + file "/oname=$INSTDIR\sdk\lib\lib3270.static.a" "lib\lib@LIBRARY_NAME@.static.a"
  255 + file "/oname=$INSTDIR\sdk\lib\libv3270.dll.a" "lib\libv3270.dll.a"
  256 + file "/oname=$INSTDIR\sdk\lib\libipc3270.dll.a" "lib\libipc3270.dll.a"
  257 + file "/oname=$INSTDIR\sdk\lib\libipc3270.static.a" "lib\libipc3270.static.a"
  258 + file "/oname=$INSTDIR\sdk\lib\libhllapi.dll.a" "lib\libhllapi.dll.a"
256 259
257 - file "/oname=$INSTDIR\sdk\lib3270.mak" "@PRODUCT_NAME@\def\lib3270.mak" 260 + file "/oname=$INSTDIR\sdk\lib3270.mak" "share\@PRODUCT_NAME@\def\lib3270.mak"
258 261
259 - file "/oname=$INSTDIR\sdk\def\libv3270.def" "@PRODUCT_NAME@\def\libv3270.def"  
260 - file "/oname=$INSTDIR\sdk\lib\libv3270.dll.a" "libv3270.dll.a"  
261 -  
262 - file "/oname=$INSTDIR\sdk\def\libipc3270.def" "@PRODUCT_NAME@\def\libipc3270.def"  
263 - file "/oname=$INSTDIR\sdk\lib\libipc3270.dll.a" "libipc3270.dll.a"  
264 - file "/oname=$INSTDIR\sdk\lib\libipc3270.static.a" "libipc3270.static.a"  
265 -  
266 - file "/oname=$INSTDIR\sdk\def\libhllapi.def" "@PRODUCT_NAME@\def\libhllapi.def"  
267 - file "/oname=$INSTDIR\sdk\lib\libhllapi.dll.a" "libhllapi.dll.a" 262 + file "/oname=$INSTDIR\sdk\def\lib@LIBRARY_NAME@.def" "share\@PRODUCT_NAME@\def\lib@LIBRARY_NAME@.def"
  263 + file "/oname=$INSTDIR\sdk\def\libv3270.def" "share\@PRODUCT_NAME@\def\libv3270.def"
  264 + file "/oname=$INSTDIR\sdk\def\libipc3270.def" "share\@PRODUCT_NAME@\def\libipc3270.def"
  265 + file "/oname=$INSTDIR\sdk\def\libhllapi.def" "share\@PRODUCT_NAME@\def\libhllapi.def"
268 266
269 SetRegView @WINARCH@ 267 SetRegView @WINARCH@
270 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PW3270_SDK_PATH" "$INSTDIR\sdk" 268 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PW3270_SDK_PATH" "$INSTDIR\sdk"