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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
#!/usr/bin/make -f
include /usr/share/dpkg/default.mk
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DPKG_GENSYMBOLS_CHECK_LEVEL = 4
DPKG_EXPORT_BUILDFLAGS = 1
CFLAGS += $(CPPFLAGS) -DNDEBUG
CXXFLAGS += $(CPPFLAGS) -DNDEBUG
empty :=
DEB_CMAKE_EXTRA_FLAGS = \
-DGIT_REVISION=DEB_VERSION_REVISION \
-DCMAKE_INSTALL_INCLUDEDIR=include/$(DEB_HOST_MULTIARCH) \
-DCMAKE_SKIP_RPATH=FALSE \
-DCMAKE_SKIP_INSTALL_RPATH=TRUE \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DWITH_DEBUG_ALL=OFF \
-DBUILD_TESTING=ON \
-DWITH_CHANNELS=ON \
-DWITH_SERVER=ON \
-DWITH_PROXY=ON \
-DWITH_PROXY_MODULES=ON \
-DWITH_CLIENT_INTERFACE=OFF \
-DWITH_CLIENT_SDL=ON \
-DWITH_CLIENT_SDL_VERSIONED=OFF \
-DWITH_CLIENT_SDL2=$(if $(filter pkg.freerdp3.sdl2,${DEB_BUILD_PROFILES}),ON,OFF) \
-DWITH_CLIENT_SDL3=$(if $(filter pkg.freerdp3.sdl2,${DEB_BUILD_PROFILES}),OFF,ON) \
-DWITH_SDL_IMAGE_DIALOGS=ON \
-DWITH_WEBVIEW=OFF \
-DWITH_PULSE=ON \
-DWITH_ICU=ON \
-DWITH_CUPS=ON \
-DWITH_PCSC=ON \
-DWITH_JPEG=ON \
-DWITH_KERBEROS=ON \
-DCHANNEL_RDP2TCP=ON -DCHANNEL_RDP2TCP_CLIENT=ON \
-DCHANNEL_RDPEAR=ON -DCHANNEL_RDPEAR_CLIENT=ON \
-DWITH_CLANG_FORMAT=OFF \
-DWITH_OPUS=ON \
-DWITH_SAMPLE=OFF \
-DWITH_OPENSC_PKCS11_LINKED=OFF \
-DWITH_VAAPI=OFF \
-DWITH_WINPR_UTILS_IMAGE_JPEG=ON \
-DWITH_WINPR_UTILS_IMAGE_PNG=ON \
-DWITH_WINPR_UTILS_IMAGE_WEBP=ON \
-DWITH_SMARTCARD_EMULATE=ON \
-DRDTK_FORCE_STATIC_BUILD=ON \
-DUWAC_FORCE_STATIC_BUILD=ON \
-DWITH_BINARY_VERSIONING=OFF \
-DWITH_VERBOSE_WINPR_ASSERT=OFF \
-DWITH_INSTALL_CLIENT_DESKTOP_FILES=ON \
-DWITH_JSONC_REQUIRED=ON \
$(empty)
ifneq (,$(filter armel,$(DEB_HOST_ARCH)))
DEB_CMAKE_EXTRA_FLAGS += \
-DWITH_NEON=OFF \
$(empty)
endif
ifneq (,$(filter armel armhf,$(DEB_HOST_ARCH)))
# https://github.com/FreeRDP/FreeRDP/issues/10353
# gcc/glibc does not provide _URC_NORMAL_STOP etc definitions in
# <unwind.h> on armel armhf
# it's proabbly be better to perform a build-time check instead
# -DWITH_UNWIND=OFF does not work in version 3.6
DEB_CMAKE_EXTRA_FLAGS += \
-DWINPR_HAVE_UNWIND_H=OFF \
$(empty)
endif
ifneq (,$(filter linux,$(DEB_HOST_ARCH_OS)))
DEB_CMAKE_EXTRA_FLAGS += \
-DCHANNEL_URBDRC=ON \
-DCHANNEL_URBDRC_CLIENT=ON \
-DWITH_WAYLAND=ON \
-DWITH_VAAPI_H264_ENCODING=ON \
-DCHANNEL_RDPECAM=ON \
-DCHANNEL_RDPECAM_CLIENT=ON \
$(empty)
else
DEB_CMAKE_EXTRA_FLAGS += \
-DCHANNEL_URBDRC=OFF \
-DCHANNEL_URBDRC_CLIENT=OFF \
$(empty)
DEB_CMAKE_EXTRA_FLAGS += \
-DWITH_ALSA=OFF \
-DWITH_LIBSYSTEMD=OFF \
-DWITH_WAYLAND=OFF \
$(empty)
endif
# Ubuntu can't have ffmpeg in main
# Ubuntu doesn't yet have cjson or pkcs11-helper
# or uriparser in main
ifeq ($(shell dpkg-vendor --is Ubuntu && echo yes),yes)
DEB_CMAKE_EXTRA_FLAGS += \
-DWITH_FFMPEG=OFF \
-DWITH_GSM=OFF \
-DWITH_CAIRO=ON \
-DWITH_PKCS11=OFF \
-DWITH_SWSCALE=OFF \
-DWITH_URIPARSER=OFF \
-DCHANNEL_RDPECAM_CLIENT=OFF \
$(empty)
else
DEB_CMAKE_EXTRA_FLAGS += \
-DWITH_GSM=ON \
-DWITH_SWSCALE=ON \
-DWITH_DSP_FFMPEG=ON \
-DSWScale_INCLUDE_DIRS=/usr/include/$(DEB_HOST_MULTIARCH) \
-DWITH_CAIRO=OFF \
$(empty)
endif
%:
dh $@
override_dh_auto_configure-indep:
override_dh_auto_build-indep:
override_dh_auto_install-indep:
override_dh_auto_configure-arch:
dh_auto_configure -- $(DEB_CMAKE_EXTRA_FLAGS)
# all packages depends on exact same version of libwinpr3-3: link docs to it
# only do this for arch packages, as arch<=>indep dir_to_symlink is forbidden
doc-pkg := libwinpr3-3
override_dh_installdocs-arch:
dh_installdocs -p ${doc-pkg}
for p in $$(dh_listpackages -a | grep -v '^${doc-pkg}$$'); do \
mkdir -p debian/$$p/usr/share/doc; \
ln -s ${doc-pkg} debian/$$p/usr/share/doc/$$p; \
echo "dir_to_symlink /usr/share/doc/$$p ${doc-pkg} 3.17.1+dfsg-1~" >\
debian/$$p.maintscript; \
done
|