diff --git a/scripts/cpython-build-emsdk-deps.sh b/scripts/cpython-build-emsdk-deps.sh index fafb8ae..977d820 100755 --- a/scripts/cpython-build-emsdk-deps.sh +++ b/scripts/cpython-build-emsdk-deps.sh @@ -32,46 +32,7 @@ done if ${EXTRA:-false} then - for pkg in $ROOT/sources.extra/*.sh - do - cd $ROOT - chmod +x $pkg - echo " - - Third party : $pkg - - - " - if $pkg - then - echo "$pkg : done" - else - echo " - - Failed to build extra $pkg - - " - exit 54 - fi - done - - - # those depend on nanoX/microwindows compiled above - if [ -d $ROOT/sources.extra/x11 ] - then - for pkg in $ROOT/sources.extra/x11/*.sh - do - cd $ROOT - chmod +x $pkg - echo " - - Third party (X11) : $pkg - - - " - $pkg - done - fi + . scripts/cpython-build-emsdk-extra.sh fi cd $ROOT diff --git a/scripts/cpython-build-emsdk-extra.sh b/scripts/cpython-build-emsdk-extra.sh new file mode 100755 index 0000000..a5c5e1d --- /dev/null +++ b/scripts/cpython-build-emsdk-extra.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +. ${CONFIG:-config} + +for pkg in $ROOT/sources.extra/*.sh +do + cd $ROOT + chmod +x $pkg + echo " + + Third party : $pkg + +" + if $pkg + then + echo "$pkg : done" + else + echo " + +Failed to build extra $pkg + +" + exit 54 + fi +done + + +# those depend on nanoX/microwindows compiled above +if [ -d $ROOT/sources.extra/x11 ] +then + for pkg in $ROOT/sources.extra/x11/*.sh + do + cd $ROOT + chmod +x $pkg + echo " + + Third party (X11) : $pkg + + + " + $pkg + done +fi + + diff --git a/sources.extra/3000-libxml2-libicu.sh b/sources.extra/3000-libxml2-libicu.sh index 11a70e8..737954a 100755 --- a/sources.extra/3000-libxml2-libicu.sh +++ b/sources.extra/3000-libxml2-libicu.sh @@ -2,26 +2,27 @@ . ${CONFIG:-config} -. scripts/emsdk-fetch.sh -cd ${ROOT}/src - -if [ -d icu ] +if [ -d src/icu ] then echo ok else - wget -c https://github.com/unicode-org/icu/releases/download/release-75-1/icu4c-75_1-src.tgz - tar xfz icu4c-75_1-src.tgz - + pushd ${ROOT}/src + wget -c https://github.com/unicode-org/icu/releases/download/release-75-1/icu4c-75_1-src.tgz + tar xfz icu4c-75_1-src.tgz + popd fi if [ -f $PREFIX/lib/libicui18n.a ] then echo " - already built in $PREFIX/lib/ + $PREFIX/lib/libicui18n.a already built " else + . scripts/emsdk-fetch.sh + mkdir -p $ROOT/build/libicu + pushd $ROOT/build/libicu if emconfigure $ROOT/src/icu/source/configure --prefix=$PREFIX \ --disable-shared --enable-static \ @@ -32,14 +33,20 @@ else grep -v DDEFAULT_ICU_PLUGINS ./common/Makefile > ./common/Makefile.patched rm ./common/Makefile && ln ./common/Makefile.patched ./common/Makefile emmake make install - else - echo " + fi + popd + + if [ -f $PREFIX/lib/libicui18n.a ] + then + echo -n + else + echo " failed to build ICU " - exit 38 - fi - popd + exit 49 + + fi fi diff --git a/sources.extra/5000-proj.sh b/sources.extra/5000-proj.sh index c6bfe61..ed24085 100644 --- a/sources.extra/5000-proj.sh +++ b/sources.extra/5000-proj.sh @@ -1,19 +1,20 @@ #!/bin/bash -. scripts/emsdk-fetch.sh +. ${CONFIG:-config} -cd ${ROOT}/src -if [ -d libproj ] + +if [ -d src/libproj ] then echo ok else - wget -c https://download.osgeo.org/proj/proj-9.4.0.tar.gz - tar xvfz proj-9.4.0.tar.gz - mv proj-9.4.0 libproj - - pushd libproj - # patch + pushd ${ROOT}/src + wget -c https://download.osgeo.org/proj/proj-9.4.0.tar.gz + tar xvfz proj-9.4.0.tar.gz + mv proj-9.4.0 libproj + pushd libproj + # patch + popd popd fi @@ -21,15 +22,30 @@ fi if [ -f $PREFIX/lib/libproj.a ] then echo " - already built in $PREFIX/lib/libproj.a + $PREFIX/lib/libproj.a already built " else + . scripts/emsdk-fetch.sh + mkdir -p $ROOT/build/libproj + pushd $ROOT/build/libproj - emcmake cmake ../../src/libproj \ - -DCMAKE_INSTALL_PREFIX=$PREFIX -DENABLE_TIFF=NO -DENABLE_CURL=NO -DUSE_EXTERNAL_GTEST=NO -DBUILD_PROJSYNC=no - emmake make -j $(nproc) install + EMCC_CFLAGS="-sDISABLE_EXCEPTION_CATCHING=1" emcmake cmake ../../src/libproj \ + -DCMAKE_INSTALL_PREFIX=$PREFIX -DENABLE_TIFF=NO -DENABLE_CURL=NO -DUSE_EXTERNAL_GTEST=NO -DBUILD_PROJSYNC=no + EMCC_CFLAGS="-sDISABLE_EXCEPTION_CATCHING=1" emmake make -j $(nproc) install popd + + if [ -f $PREFIX/lib/libproj.a ] + then + echo -n + else + echo " + + failed to build PROJ + +" + exit 47 + fi fi diff --git a/sources.extra/7000-gdal.sh b/sources.extra/7000-gdal.sh index 9258bf9..6a4b345 100755 --- a/sources.extra/7000-gdal.sh +++ b/sources.extra/7000-gdal.sh @@ -1,22 +1,21 @@ #!/bin/bash -. scripts/emsdk-fetch.sh +. ${CONFIG:-config} -cd ${ROOT}/src +DO_PATCH=true -DO_PATCH=false - -if [ -d libgdal ] +if [ -d src/libgdal ] then echo ok else - wget -c https://github.com/OSGeo/gdal/releases/download/v3.9.1/gdal-3.9.1.tar.gz - tar xfz gdal-3.9.1.tar.gz - mv gdal-3.9.1 libgdal - pushd libgdal - if $DO_PATCH - then - patch -p1 <(-1)) { END - fi + fi + popd popd - fi if [ -f $PREFIX/lib/libgdal.a ] @@ -51,6 +50,8 @@ then " else + . scripts/emsdk-fetch.sh + mkdir -p $ROOT/build/libgdal pushd $ROOT/build/libgdal @@ -95,6 +96,18 @@ END emmake make install mv ${ICONV_H}.save ${ICONV_H} popd - [ -f $PREFIX/lib/libgdal.a ] || exit 98 + +fi + +if [ -f $PREFIX/lib/libgdal.a ] +then + echo -n +else + echo " + + failed to build GDAL + +" + exit 110 fi