1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
export DH_VERBOSE = 1
include /usr/share/dpkg/architecture.mk
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
# Neon always available on arm64, not armcomputelib on non-arm arches
ifeq ($(DEB_HOST_ARCH),arm64)
OPTS+=-DARMCOMPUTENEON=1 -DARMCOMPUTECL=1 -DARMCOMPUTE_LIBRARIES='arm_compute'
endif
ifeq ($(DEB_HOST_ARCH),armhf)
OPTS+=-DARMCOMPUTECL=1 -DARMCOMPUTE_LIBRARIES='arm_compute'
endif
ifeq ($(DEB_HOST_ARCH),amd64)
OPTS+=-DARMCOMPUTECL=1 -DARMCOMPUTE_LIBRARIES='arm_compute'
endif
PYTHON_INCLUDE_DIR=$(shell python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())")
PYTHON_LIBRARY=$(shell python3 -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR'))")
export _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata__${DEB_HOST_MULTIARCH}
export _PYTHON_HOST_PLATFORM=${DEB_HOST_ARCH_OS}-$(if $(filter amd64,${DEB_HOST_ARCH}),x86_64,${DEB_HOST_ARCH})
%:
dh $@ --with python3 --buildsystem=cmake --builddirectory=build-area
override_dh_auto_configure:
flatc -c --gen-object-api --reflect-types --reflect-names -o $(CURDIR)/third-party/tensorflow/lite/schema/ $(CURDIR)/third-party/tensorflow/lite/schema/schema.fbs
dh_auto_configure -- $(OPTS) -DBUILD_TESTS=1 \
-DSHARED_BOOST=ON \
-DARMNNREF=0 \
-DBUILD_ARMNN_SERIALIZER=1 \
-DBUILD_TF_LITE_PARSER=1 \
-DTENSORFLOW_ROOT=$(CURDIR)/third-party/ \
-DTF_LITE_SCHEMA_INCLUDE_PATH=$(CURDIR)/third-party/tensorflow/lite/schema/ \
-DTF_LITE_GENERATED_PATH=$(CURDIR)/third-party/tensorflow \
-DPYTHON_INCLUDE_DIR=$(PYTHON_INCLUDE_DIR) \
-DPYTHON_LIBRARY=$(PYTHON_LIBRARY) \
-DBUILD_PYTHON_SRC=ON \
-DSWIG_EXECUTABLE=/usr/bin/swig \
-DBUILD_GATORD_MOCK=0 \
-DDYNAMIC_BACKEND_PATHS='/usr/lib/$(DEB_HOST_MULTIARCH)/armnn33/'
execute_after_dh_install:
#Something is putting RUNPATH in the SWIG libraries. Kill it.
chrpath -d debian/python3-pyarmnn/usr/lib/python3/dist-packages/pyarmnn/_generated/*.so
override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
# CpuRef backend built on all archs
cp ./build-area/src/backends/reference/Arm_CpuRef_backend.so .
# CpuAcc and GpuAcc backends only built on arm64 or armhf
cp ./build-area/src/backends/cl/Arm_GpuAcc_backend.so . || true
cp ./build-area/src/backends/neon/Arm_CpuAcc_backend.so . || true
./build-area/UnitTests --test-suite-exclude=Compute_ArmComputeCl,MemCopyClNeon,CreateWorkloadCl,ClEndToEnd,ClLayerSupport,ClOptimizedNetwork,ClJsonPrinter,ClRuntime,Fp16Support,OpenClTimerBatchNorm,ClMemCopy,SendTimelinePacketTests,TimelinePacketTests,TimelineUtilityMethodsTests,Optimizer,Optimizer_ReduceMultipleAxesCpu,Optimizer_ReduceMultipleAxesGpu,Optimizer_FoldPadIntoQuantizedAvgPoolGpuAcc --test-case-exclude=OptimizeValidateWorkloadsDuplicateComputeDeviceWithFallback,DumpOutgoingValidFileEndToEnd
endif
|