tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

build-libxml2.sh (2005B)


      1 #!/bin/bash
      2 set -e -v -x
      3 
      4 mkdir -p $UPLOAD_DIR
      5 
      6 cd $MOZ_FETCHES_DIR/libxml2
      7 
      8 export PATH="$MOZ_FETCHES_DIR/clang/bin:$PATH"
      9 
     10 TARGET=${1?"First argument must be a valid value for CMAKE_C_COMPILER_TARGET"}
     11 
     12 # Building the .rc file requires some extra work, but we don't
     13 # actually need it, so just remove its creation.
     14 sed -i /libxml2\\.rc/d CMakeLists.txt
     15 
     16 case "$TARGET" in
     17 *-pc-windows-msvc)
     18  EXTRA_CMAKE_FLAGS="
     19    -DCMAKE_C_COMPILER=clang-cl
     20    -DCMAKE_LINKER=lld-link
     21    -DCMAKE_MT=llvm-mt
     22    -DCMAKE_C_FLAGS=\"-Xclang -ivfsoverlay -Xclang $MOZ_FETCHES_DIR/vs/overlay.yaml -winsysroot $MOZ_FETCHES_DIR/vs\"
     23    -DCMAKE_EXE_LINKER_FLAGS=\"-winsysroot:$MOZ_FETCHES_DIR/vs\"
     24    -DCMAKE_SYSTEM_NAME=Windows
     25    -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
     26  "
     27  ;;
     28 *-unknown-linux-gnu)
     29  EXTRA_CMAKE_FLAGS="
     30    -DCMAKE_C_COMPILER=clang
     31    -DCMAKE_C_FLAGS=\"--sysroot=$MOZ_FETCHES_DIR/sysroot\"
     32    -DCMAKE_EXE_LINKER_FLAGS=\"-fuse-ld=lld --sysroot=$MOZ_FETCHES_DIR/sysroot\"
     33  "
     34  ;;
     35 esac
     36 
     37 eval cmake \
     38  -GNinja \
     39  -DCMAKE_BUILD_TYPE=Release \
     40  -DBUILD_SHARED_LIBS=Off \
     41  -DCMAKE_C_COMPILER_TARGET=$TARGET \
     42  $EXTRA_CMAKE_FLAGS \
     43  -DLIBXML2_WITH_C14N=OFF \
     44  -DLIBXML2_WITH_CATALOG=OFF \
     45  -DLIBXML2_WITH_DEBUG=OFF \
     46  -DLIBXML2_WITH_HTML=OFF \
     47  -DLIBXML2_WITH_HTTP=OFF \
     48  -DLIBXML2_WITH_ICONV=OFF \
     49  -DLIBXML2_WITH_ICU=OFF \
     50  -DLIBXML2_WITH_ISO8859X=OFF \
     51  -DLIBXML2_WITH_LEGACY=OFF \
     52  -DLIBXML2_WITH_MODULES=OFF \
     53  -DLIBXML2_WITH_PROGRAMS=OFF \
     54  -DLIBXML2_WITH_PUSH=OFF \
     55  -DLIBXML2_WITH_PYTHON=OFF \
     56  -DLIBXML2_WITH_READER=OFF \
     57  -DLIBXML2_WITH_SCHEMATRON=OFF \
     58  -DLIBXML2_WITH_TESTS=OFF \
     59  -DLIBXML2_WITH_THREAD_ALLOC=OFF \
     60  -DLIBXML2_WITH_THREADS=OFF \
     61  -DLIBXML2_WITH_VALID=OFF \
     62  -DLIBXML2_WITH_WRITER=OFF \
     63  -DLIBXML2_WITH_XINCLUDE=OFF \
     64  -DLIBXML2_WITH_XPATH=OFF \
     65  -DLIBXML2_WITH_XPTR=OFF \
     66  -DLIBXML2_WITH_ZLIB=OFF \
     67  -DCMAKE_INSTALL_PREFIX=$PWD/libxml2 \
     68  -B build
     69 
     70 ninja -C build -v install
     71 
     72 tar -caf libxml2.tar.zst libxml2/
     73 cp libxml2.tar.zst $UPLOAD_DIR/