123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #!/bin/bash
- build() (
- local dir="$1"; shift
- cd "$dir"
- cmake -DCMAKE_INSTALL_PREFIX=$PWD/../install "$@" .
- make -j9
- make install
- )
- clone() (
- local dir="$1"
- local url="$2"
- if [ -d "$dir" ]; then
- cd "$dir"
- git pull --rebase
- else
- git clone "$url" "$dir"
- fi
- )
- UNAME="$(uname)"
- set -e -x
- rm -rf install
- mkdir -p install
- ln -s lib install/lib64
- clone libubox git://git.openwrt.org/project/libubox.git
- build libubox -DBUILD_LUA=off -DCMAKE_POSITION_INDEPENDENT_CODE=on
- if [ "$UNAME" = "Linux" ]; then
- clone libnl-tiny git://git.openwrt.org/project/libnl-tiny.git
- build libnl-tiny -DBUILD_LUA=off -DCMAKE_POSITION_INDEPENDENT_CODE=on
- clone libbpf https://github.com/libbpf/libbpf
- make -j9 -C libbpf/src PREFIX=$PWD/install all install
- fi
- rm -f install/lib/*.{so,dylib}
- if [ "$UNAME" = "Linux" ]; then
- mv install/include/libnl-tiny/* install/include/
- fi
- export CFLAGS=-I$PWD/install/include
- export LDFLAGS=-L$PWD/install/lib
- cmake -DCMAKE_FIND_ROOT_PATH=$PWD/install -DUBUS_SUPPORT=off .
- make -j9
|