• source navigation  • diff markup  • identifier search  • freetext search  • 

Sources/libubox/scripts/devel-build.sh

  1 #!/bin/bash
  2 
  3 set -euxo pipefail
  4 cd "${0%/*}"
  5 cd ..
  6 
  7 # Sanity checks
  8 if [ ! -e "CMakeLists.txt" ] || [ ! -e "blob.c" ]; then
  9         echo "libubox checkout not found" >&2
 10         exit 1
 11 fi
 12 
 13 if [ $# -eq 0 ]; then
 14         BUILD_ARGS="-DBUILD_LUA=ON -DBUILD_EXAMPLES=ON -DUNIT_TESTING=ON"
 15 else
 16         BUILD_ARGS="$@"
 17 fi
 18 
 19 # Create build dirs
 20 LIBUBOXDIR="$(pwd)"
 21 BUILDDIR="${LIBUBOXDIR}/build"
 22 DEPSDIR="${BUILDDIR}/depends"
 23 [ -e "${BUILDDIR}" ] || mkdir "${BUILDDIR}"
 24 [ -e "${DEPSDIR}" ] || mkdir "${DEPSDIR}"
 25 
 26 # Prepare env
 27 export LD_LIBRARY_PATH="${BUILDDIR}/lib:${LD_LIBRARY_PATH:-}"
 28 export PATH="${BUILDDIR}/bin:${PATH:-}"
 29 
 30 # Download deps
 31 cd "${DEPSDIR}"
 32 [ -e "json-c" ] || git clone https://github.com/json-c/json-c.git
 33 if [ ! -e "lua" ]; then
 34         mkdir -p lua
 35         wget -qO- https://www.lua.org/ftp/lua-5.1.5.tar.gz | \
 36                 tar zxvf - -C lua --strip-components=1
 37         sed -i '/#define LUA_USE_READLINE/d' ./lua/src/luaconf.h
 38         sed -i 's/ -lreadline -lhistory -lncurses//g' ./lua/src/Makefile
 39 fi
 40 
 41 # Build lua
 42 cd "${DEPSDIR}/lua"
 43 make linux install \
 44         INSTALL_TOP="${BUILDDIR}"
 45 
 46 # Build json-c
 47 cd "${DEPSDIR}/json-c"
 48 cmake                                                   \
 49         -S .                                            \
 50         -B .                                            \
 51         -DCMAKE_PREFIX_PATH="${BUILDDIR}"               \
 52         -DBUILD_SHARED_LIBS=OFF                         \
 53         -DDISABLE_EXTRA_LIBS=ON                         \
 54         -DBUILD_TESTING=OFF                             \
 55         --install-prefix "${BUILDDIR}"
 56 make
 57 make install
 58 
 59 # Build libubox
 60 cd "${LIBUBOXDIR}"
 61 cmake                                                   \
 62         -S .                                            \
 63         -B "${BUILDDIR}"                                \
 64         -DCMAKE_PREFIX_PATH="${BUILDDIR}"               \
 65         -DLUAPATH=${BUILDDIR}/lib/lua                   \
 66         --install-prefix "${BUILDDIR}"                  \
 67         ${BUILD_ARGS}
 68 make -C "${BUILDDIR}"
 69 make -C "${BUILDDIR}" install
 70 
 71 # Test libubox
 72 make -C "${BUILDDIR}" test CTEST_OUTPUT_ON_FAILURE=1
 73 
 74 set +x
 75 echo "✅ Success - the libubox library is available at ${BUILDDIR}"
 76 echo "👷 You can rebuild libubox by running 'make -C build'"
 77 
 78 exit 0

This page was automatically generated by LXR 0.3.1.  •  OpenWrt