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/