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
win/pack.sh
... ... @@ -47,6 +47,10 @@ if [ -e /etc/os-release ]; then
47 47 . /etc/os-release
48 48 fi
49 49  
  50 +if [ -e ~/.config/user-dirs.dirs ]; then
  51 + . ~/.config/user-dirs.dirs
  52 +fi
  53 +
50 54 #
51 55 # Limpa diretório temporário
52 56 #
... ... @@ -209,7 +213,7 @@ buildLibrary()
209 213 mkdir -p ${WORKDIR}/build/${ARCH}/locale
210 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 217 export cache=${WORKDIR}/cache/${ARCH}/${1}.cache
214 218  
215 219 cd ${WORKDIR}/sources/${1}
... ... @@ -229,17 +233,16 @@ buildLibrary()
229 233 ./configure \
230 234 CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \
231 235 CXXFLAGS="-I${WORKDIR}/build/${ARCH}/include" \
232   - LDFLAGS="-L${WORKDIR}/build/${ARCH}" \
  236 + LDFLAGS="-L${WORKDIR}/build/${ARCH}/lib" \
233 237 --host=${host} \
234 238 --prefix=${prefix} \
235 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 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 246 fi
244 247  
245 248 if [ "$?" != "0" ]; then
... ... @@ -310,7 +313,7 @@ buildExtraPackage()
310 313 mkdir -p ${WORKDIR}/build/${ARCH}/locale
311 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 317 export cache=${WORKDIR}/cache/${ARCH}/${1}.cache
315 318  
316 319 cd ${WORKDIR}/sources/${1}
... ... @@ -330,17 +333,16 @@ buildExtraPackage()
330 333 ./configure \
331 334 CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \
332 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 337 --host=${host} \
335 338 --prefix=${prefix} \
336 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 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 347 fi
346 348  
... ... @@ -401,7 +403,7 @@ buildApplication()
401 403 mkdir -p ${WORKDIR}/build/${ARCH}/include
402 404  
403 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 407 export cache=${WORKDIR}/cache/${ARCH}/${1}.cache
406 408  
407 409 cd ${WORKDIR}/sources/${1}
... ... @@ -430,16 +432,15 @@ buildApplication()
430 432  
431 433 ./configure \
432 434 CFLAGS="-I${WORKDIR}/build/${ARCH}/include" \
433   - LDFLAGS="-L${WORKDIR}/build/${ARCH}" \
  435 + LDFLAGS="-L${WORKDIR}/build/${ARCH}/lib" \
434 436 --host=${host} \
435 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 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 445 fi
445 446  
... ... @@ -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 598 # Make packages
545 599 #
546 600 makeInstaller()
... ... @@ -592,12 +646,6 @@ makeInstaller()
592 646 TARCH="i686"
593 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 649 if [ "${MAKE_ZIP}" == "1" ]; then
602 650  
603 651 ZIPNAME="${WORKDIR}/build/${ARCH}/${PRODUCT_NAME}-${ARCH}.zip"
... ... @@ -610,26 +658,7 @@ makeInstaller()
610 658  
611 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 663 fi
635 664  
... ... @@ -641,26 +670,10 @@ makeInstaller()
641 670 failed "Error building ${ARCH} ${NSI}"
642 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 678 done
666 679  
... ...
win/pw3270.nsi.in
... ... @@ -101,10 +101,10 @@ SubSection "@PRODUCT_NAME@" SecMain
101 101 createShortCut "$DESKTOP\@PRODUCT_NAME@.lnk" "$INSTDIR\@PRODUCT_NAME@.exe"
102 102  
103 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 109 # Register file association
110 110  
... ... @@ -185,13 +185,13 @@ SubSection "@PRODUCT_NAME@" SecMain
185 185 ${DisableX64FSRedirection}
186 186  
187 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 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 193 ${@NSISREDIR@}
194   - file "/oname=$SYSDIR\libipc3270.dll" "libipc3270.dll"
  194 + file "/oname=$SYSDIR\libipc3270.dll" "bin\libipc3270.dll"
195 195  
196 196 sectionEnd
197 197  
... ... @@ -206,18 +206,18 @@ SubSection "@PRODUCT_NAME@" SecMain
206 206 ${@NSISREDIR@}
207 207  
208 208 # Install HLLAPI connector
209   - file "/oname=$SYSDIR\hllapi.dll" "libhllapi.dll"
  209 + file "/oname=$SYSDIR\hllapi.dll" "bin\libhllapi.dll"
210 210  
211 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 214 SectionEnd
215 215 !endif
216 216  
217 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 222 SectionEnd
223 223  
... ... @@ -249,22 +249,20 @@ SubSection "@PRODUCT_NAME@" SecMain
249 249 CreateDirectory "$INSTDIR\sdk\def"
250 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 267 SetRegView @WINARCH@
270 268 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PW3270_SDK_PATH" "$INSTDIR\sdk"
... ...