diff options
author | Luca Boccassi <luca.boccassi@gmail.com> | 2017-05-18 19:24:45 +0100 |
---|---|---|
committer | Luca Boccassi <luca.boccassi@gmail.com> | 2017-05-18 19:24:45 +0100 |
commit | 5608358c4fb189d7991cd7f5a2e615ac8e558b36 (patch) | |
tree | fa998d9e0858a3f753feb9d72288cb869310faa6 /debian/rules | |
parent | 7c050e2c5af0b0c17a6a16ba0ce0d225f48800c6 (diff) |
Add option to disable static libraries build
Upstream's build system requires a complete rebuild to have both
static and shared libraries, which takes time. Add a
DEB_BUILD_OPTIONS nostatic variable to let users disable it.
Change-Id: If33884e0b85f8fb00c8293bae3e1668db6c74e4c
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
Diffstat (limited to 'debian/rules')
-rwxr-xr-x | debian/rules | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules index 5d2f1590..3a4b3197 100755 --- a/debian/rules +++ b/debian/rules @@ -81,6 +81,12 @@ else BUILD_DOCS=y endif +ifneq (,$(findstring nostatic,$(DEB_BUILD_OPTIONS))) +BUILD_STATIC_LIB=n +else +BUILD_STATIC_LIB=y +endif + # kernel_modules can be passed via DEB_BUILD_OPTIONS to enable building the # optional binary kernel modules package. By default it will be built against # the current kernel, or ksrc can be passed with a path to the target kernel @@ -179,7 +185,9 @@ ifeq (y,$(BUILD_DOCS)) endif override_dh_auto_build-arch: +ifeq (y,$(BUILD_STATIC_LIB)) $(MAKE) -j $(PAR) V=$(DH_VERBOSE) O=$(DPDK_STATIC_DIR) RTE_KERNELDIR=$(KSRC) build +endif # Unfortunately the decision about having static or shared libraries is # made for the whole build, which then produces only .a or .so files # (but not both). @@ -197,8 +205,10 @@ override_dh_auto_build-arch: override_dh_auto_install-arch: LIBDIR=/usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH) override_dh_auto_install-arch: # Package: dpdk (runtime) +ifeq (y,$(BUILD_STATIC_LIB)) $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_STATIC_DIR) prefix=/usr libdir=$(LIBDIR) \ DESTDIR=debian/dpdk install-runtime +endif $(MAKE) V=$(DH_VERBOSE) O=$(DPDK_SHARED_DIR) prefix=/usr libdir=$(LIBDIR) \ DESTDIR=debian/dpdk install-runtime mkdir -p debian/dpdk/etc/dpdk @@ -234,7 +244,9 @@ override_dh_auto_install-arch: mkdir -p debian/libdpdk-dev/usr/include mv debian/dpdk-dev/usr/include/dpdk debian/libdpdk-dev/usr/include/ # all static libs are in the dev package +ifeq (y,$(BUILD_STATIC_LIB)) mv debian/dpdk/$(LIBDIR)/lib*.a debian/libdpdk-dev/$(LIBDIR)/ +endif # symlinks to last .so's are in the non versioned libdpdk-dev as well # this allows multiple libdpdk-<NAME><VER> at different VER concurrently # libdpdk-dev depends on all sublibs so symlinks are never broken |