[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#950980: vfu FTCBFS: uses build architecture build tools



Source: vfu
Version: 4.18-1
Tags: patch
User: debian-cross@lists.debian.org
Usertags: ftcbfs

vfu fails to cross build from source, because it uses build architecture
build tools. It starts with using the autoconf build system and then
skipping configure. That results in debhelper not passing cross tools to
make. Using the makefile build system is better here as it also skips
makes dh_auto_configure a noop. Then the upstream build system uses
non-standard variables for g++ in lots of places. I think it is best to
canonicalize that and hope that this change is upstreamable. Also the
build strips by default. Doing so also breaks generation of -dbgsym
packages as well as DEB_BUILD_OPTIONS=nostrip. The attached patch fixes
all of that. Please consider applying it.

Helmut
diff --minimal -Nru vfu-4.18/debian/changelog vfu-4.18/debian/changelog
--- vfu-4.18/debian/changelog	2020-01-02 01:49:06.000000000 +0100
+++ vfu-4.18/debian/changelog	2020-02-09 07:01:09.000000000 +0100
@@ -1,3 +1,12 @@
+vfu (4.18-2) UNRELEASED; urgency=medium
+
+  * Fix FTCBFS: (Closes: #-1)
+    + Use the makefile debhelper build system to pass cross tools.
+    + Defer stripping to dh_strip.
+    + cross.patch: make build tools substitutable via standard means.
+
+ -- Helmut Grohne <helmut@subdivi.de>  Sun, 09 Feb 2020 07:01:09 +0100
+
 vfu (4.18-1) unstable; urgency=medium
 
   * QA upload.
diff --minimal -Nru vfu-4.18/debian/patches/cross.patch vfu-4.18/debian/patches/cross.patch
--- vfu-4.18/debian/patches/cross.patch	1970-01-01 01:00:00.000000000 +0100
+++ vfu-4.18/debian/patches/cross.patch	2020-02-09 07:01:09.000000000 +0100
@@ -0,0 +1,389 @@
+--- vfu-4.18.orig/vslib/makefile
++++ vfu-4.18/vslib/makefile
+@@ -25,8 +25,8 @@
+ 
+ 
+ AR = ar rv
+-CC = g++
+-LD = g++
++CXX = g++
++LD = $(CXX)
+ MKDIR = mkdir -p
+ RANLIB = ranlib
+ RMDIR = rm -rf
+@@ -36,8 +36,8 @@
+ 
+ ### TARGET 1: libvslib.a #######################################################
+ 
+-CC_1       = g++
+-LD_1       = g++
++CXX_1      = $(CXX)
++LD_1       = $(CXX_1)
+ AR_1       = ar rv
+ RANLIB_1   = ranlib
+ CCFLAGS_1  = -I. -O2 $(CCDEF)  
+@@ -100,33 +100,33 @@
+ ### TARGET OBJECTS FOR TARGET 1: libvslib.a ####################################
+ 
+ .OBJ.libvslib.a/clusters.o: clusters.cpp  clusters.cpp clusters.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c clusters.cpp         -o .OBJ.libvslib.a/clusters.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c clusters.cpp         -o .OBJ.libvslib.a/clusters.o
+ .OBJ.libvslib.a/dlog.o: dlog.cpp  dlog.cpp dlog.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c dlog.cpp             -o .OBJ.libvslib.a/dlog.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c dlog.cpp             -o .OBJ.libvslib.a/dlog.o
+ .OBJ.libvslib.a/eval.o: eval.cpp  eval.cpp eval.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c eval.cpp             -o .OBJ.libvslib.a/eval.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c eval.cpp             -o .OBJ.libvslib.a/eval.o
+ .OBJ.libvslib.a/fnmatch2.o: fnmatch2.cpp  fnmatch2.cpp fnmatch2.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c fnmatch2.cpp         -o .OBJ.libvslib.a/fnmatch2.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c fnmatch2.cpp         -o .OBJ.libvslib.a/fnmatch2.o
+ .OBJ.libvslib.a/getopt2.o: getopt2.cpp  getopt2.cpp getopt2.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c getopt2.cpp          -o .OBJ.libvslib.a/getopt2.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c getopt2.cpp          -o .OBJ.libvslib.a/getopt2.o
+ .OBJ.libvslib.a/scroll.o: scroll.cpp  scroll.cpp scroll.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c scroll.cpp           -o .OBJ.libvslib.a/scroll.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c scroll.cpp           -o .OBJ.libvslib.a/scroll.o
+ .OBJ.libvslib.a/vslib.o: vslib.cpp  vslib.cpp
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vslib.cpp            -o .OBJ.libvslib.a/vslib.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vslib.cpp            -o .OBJ.libvslib.a/vslib.o
+ .OBJ.libvslib.a/vstring.o: vstring.cpp  vstring.cpp vstring.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vstring.cpp          -o .OBJ.libvslib.a/vstring.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vstring.cpp          -o .OBJ.libvslib.a/vstring.o
+ .OBJ.libvslib.a/vstrlib.o: vstrlib.cpp  vstrlib.cpp vstrlib.h vstring.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vstrlib.cpp          -o .OBJ.libvslib.a/vstrlib.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vstrlib.cpp          -o .OBJ.libvslib.a/vstrlib.o
+ .OBJ.libvslib.a/vsuti.o: vsuti.cpp  vsuti.cpp vsuti.h target.h vstring.h vstrlib.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vsuti.cpp            -o .OBJ.libvslib.a/vsuti.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vsuti.cpp            -o .OBJ.libvslib.a/vsuti.o
+ .OBJ.libvslib.a/vscrc.o: vscrc.cpp  vscrc.cpp vsuti.h target.h vstring.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vscrc.cpp            -o .OBJ.libvslib.a/vscrc.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vscrc.cpp            -o .OBJ.libvslib.a/vscrc.o
+ 
+ 
+ ### TARGET 2: libvscon.a #######################################################
+ 
+-CC_2       = g++
+-LD_2       = g++
++CXX_2      = $(CXX)
++LD_2       = $(CXX_2)
+ AR_2       = ar rv
+ RANLIB_2   = ranlib
+ CCFLAGS_2  = -I. -I/usr/include/ncurses -O2 $(CCDEF)  
+@@ -175,20 +175,20 @@
+ ### TARGET OBJECTS FOR TARGET 2: libvscon.a ####################################
+ 
+ .OBJ.libvscon.a/ansiterm.o: ansiterm.cpp  ansiterm.cpp ansiterm.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c ansiterm.cpp         -o .OBJ.libvscon.a/ansiterm.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c ansiterm.cpp         -o .OBJ.libvscon.a/ansiterm.o
+ .OBJ.libvscon.a/conmenu.o: conmenu.cpp  conmenu.cpp conmenu.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c conmenu.cpp          -o .OBJ.libvscon.a/conmenu.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c conmenu.cpp          -o .OBJ.libvscon.a/conmenu.o
+ .OBJ.libvscon.a/form_in.o: form_in.cpp  form_in.cpp form_in.h unicon.h target.h vstring.h clusters.h \
+  scroll.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c form_in.cpp          -o .OBJ.libvscon.a/form_in.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c form_in.cpp          -o .OBJ.libvscon.a/form_in.o
+ .OBJ.libvscon.a/unicon.o: unicon.cpp  unicon.cpp unicon.h target.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c unicon.cpp           -o .OBJ.libvscon.a/unicon.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c unicon.cpp           -o .OBJ.libvscon.a/unicon.o
+ 
+ 
+ ### TARGET 3: libvscony.a ######################################################
+ 
+-CC_3       = g++
+-LD_3       = g++
++CXX_3      = $(CXX)
++LD_3       = $(CXX_3)
+ AR_3       = ar rv
+ RANLIB_3   = ranlib
+ CCFLAGS_3  = -I. -I../yascreen -DUSE_YASCREEN -O2 $(CCDEF)  
+@@ -237,20 +237,20 @@
+ ### TARGET OBJECTS FOR TARGET 3: libvscony.a ###################################
+ 
+ .OBJ.libvscony.a/ansiterm.o: ansiterm.cpp  ansiterm.cpp ansiterm.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c ansiterm.cpp         -o .OBJ.libvscony.a/ansiterm.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c ansiterm.cpp         -o .OBJ.libvscony.a/ansiterm.o
+ .OBJ.libvscony.a/conmenu.o: conmenu.cpp  conmenu.cpp conmenu.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c conmenu.cpp          -o .OBJ.libvscony.a/conmenu.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c conmenu.cpp          -o .OBJ.libvscony.a/conmenu.o
+ .OBJ.libvscony.a/form_in.o: form_in.cpp  form_in.cpp form_in.h unicon.h target.h vstring.h clusters.h \
+  scroll.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c form_in.cpp          -o .OBJ.libvscony.a/form_in.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c form_in.cpp          -o .OBJ.libvscony.a/form_in.o
+ .OBJ.libvscony.a/unicon.o: unicon.cpp  unicon.cpp unicon.h target.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c unicon.cpp           -o .OBJ.libvscony.a/unicon.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c unicon.cpp           -o .OBJ.libvscony.a/unicon.o
+ 
+ 
+ ### TARGET 4: test #############################################################
+ 
+-CC_4       = g++
+-LD_4       = g++
++CXX_4      = $(CXX)
++LD_4       = $(CXX_4)
+ AR_4       = ar rv
+ RANLIB_4   = ranlib
+ CCFLAGS_4  = -g -I. $(CCDEF) -DTEST  
+@@ -291,7 +291,7 @@
+ ### TARGET OBJECTS FOR TARGET 4: test ##########################################
+ 
+ .OBJ.test/test.o: t/test.cpp 
+-	$(CC_4) $(CFLAGS_4) $(CCFLAGS_4) -c t/test.cpp           -o .OBJ.test/test.o
++	$(CXX_4) $(CFLAGS_4) $(CCFLAGS_4) -c t/test.cpp           -o .OBJ.test/test.o
+ 
+ 
+ mm_update:
+--- vfu-4.18.orig/vfu/makefile
++++ vfu-4.18/vfu/makefile
+@@ -25,8 +25,7 @@
+ 
+ 
+ AR = ar rv
+-CC = gcc
+-LD = gcc
++CXX = g++
+ MKDIR = mkdir -p
+ RANLIB = ranlib
+ RMDIR = rm -rf
+@@ -36,8 +35,8 @@
+ 
+ ### TARGET 1: vfu ##############################################################
+ 
+-CC_1       = g++
+-LD_1       = g++
++CXX_1      = $(CXX)
++LD_1       = $(CXX_1)
+ AR_1       = ar rv
+ RANLIB_1   = ranlib
+ CCFLAGS_1  = -I../vslib -I/usr/include/ncurses -O2 $(CCDEF)  
+@@ -100,45 +99,45 @@
+ ### TARGET OBJECTS FOR TARGET 1: vfu ###########################################
+ 
+ .OBJ.vfu/see.o: see.cpp  see.cpp see.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c see.cpp              -o .OBJ.vfu/see.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c see.cpp              -o .OBJ.vfu/see.o
+ .OBJ.vfu/vfu.o: vfu.cpp  vfu.cpp vfu.h vfusetup.h vfusys.h vfuopt.h see.h vfuuti.h \
+  vfufiles.h vfucopy.h vfudir.h vfuview.h vfumenu.h vfuarc.h vfutools.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfu.cpp              -o .OBJ.vfu/vfu.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfu.cpp              -o .OBJ.vfu/vfu.o
+ .OBJ.vfu/vfuarc.o: vfuarc.cpp  vfuarc.cpp vfuarc.h vfu.h vfusetup.h vfusys.h vfuuti.h vfuopt.h \
+  see.h vfudir.h vfucopy.h vfufiles.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfuarc.cpp           -o .OBJ.vfu/vfuarc.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfuarc.cpp           -o .OBJ.vfu/vfuarc.o
+ .OBJ.vfu/vfucopy.o: vfucopy.cpp  vfucopy.cpp vfu.h vfusetup.h vfusys.h vfudir.h vfumenu.h \
+  vfuuti.h vfufiles.h vfuview.h vfuopt.h see.h vfucopy.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfucopy.cpp          -o .OBJ.vfu/vfucopy.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfucopy.cpp          -o .OBJ.vfu/vfucopy.o
+ .OBJ.vfu/vfudir.o: vfudir.cpp  vfudir.cpp vfudir.h vfu.h vfusetup.h vfusys.h vfuopt.h see.h \
+  vfuuti.h vfufiles.h vfuview.h vfumenu.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfudir.cpp           -o .OBJ.vfu/vfudir.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfudir.cpp           -o .OBJ.vfu/vfudir.o
+ .OBJ.vfu/vfufiles.o: vfufiles.cpp  vfufiles.cpp vfufiles.h vfu.h vfusetup.h vfusys.h vfuopt.h \
+  see.h vfuuti.h vfuview.h vfumenu.h vfudir.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfufiles.cpp         -o .OBJ.vfu/vfufiles.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfufiles.cpp         -o .OBJ.vfu/vfufiles.o
+ .OBJ.vfu/vfumenu.o: vfumenu.cpp  vfumenu.cpp vfu.h vfusetup.h vfusys.h vfuopt.h see.h vfuuti.h \
+  vfumenu.h vfuview.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfumenu.cpp          -o .OBJ.vfu/vfumenu.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfumenu.cpp          -o .OBJ.vfu/vfumenu.o
+ .OBJ.vfu/vfuopt.o: vfuopt.cpp  vfuopt.cpp vfu.h vfusetup.h vfusys.h vfuopt.h see.h vfuuti.h \
+  vfudir.h vfuview.h vfumenu.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfuopt.cpp           -o .OBJ.vfu/vfuopt.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfuopt.cpp           -o .OBJ.vfu/vfuopt.o
+ .OBJ.vfu/vfusys.o: vfusys.cpp  vfusys.cpp vfu.h vfusetup.h vfusys.h vfuuti.h vfumenu.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfusys.cpp           -o .OBJ.vfu/vfusys.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfusys.cpp           -o .OBJ.vfu/vfusys.o
+ .OBJ.vfu/vfutools.o: vfutools.cpp  vfutools.cpp vfumenu.h vfuuti.h vfu.h vfusetup.h vfusys.h \
+  vfucopy.h vfuview.h vfuopt.h see.h vfufiles.h vfutools.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfutools.cpp         -o .OBJ.vfu/vfutools.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfutools.cpp         -o .OBJ.vfu/vfutools.o
+ .OBJ.vfu/vfuuti.o: vfuuti.cpp  vfuuti.cpp vfu.h vfusetup.h vfusys.h vfuuti.h vfufiles.h \
+  vfumenu.h vfudir.h vfuopt.h see.h vfuview.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfuuti.cpp           -o .OBJ.vfu/vfuuti.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfuuti.cpp           -o .OBJ.vfu/vfuuti.o
+ .OBJ.vfu/vfuview.o: vfuview.cpp  vfuview.cpp vfu.h vfusetup.h vfusys.h vfufiles.h vfuview.h \
+  vfuopt.h see.h vfuuti.h
+-	$(CC_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfuview.cpp          -o .OBJ.vfu/vfuview.o
++	$(CXX_1) $(CFLAGS_1) $(CCFLAGS_1) -c vfuview.cpp          -o .OBJ.vfu/vfuview.o
+ 
+ 
+ ### TARGET 2: vfu.yas ##########################################################
+ 
+-CC_2       = g++
+-LD_2       = g++
++CXX_2      = $(CXX)
++LD_2       = $(CXX_2)
+ AR_2       = ar rv
+ RANLIB_2   = ranlib
+ CCFLAGS_2  = -I../vslib -I../yascreen -DUSE_YASCREEN -O2        $(CCDEF)  
+@@ -201,45 +200,45 @@
+ ### TARGET OBJECTS FOR TARGET 2: vfu.yas #######################################
+ 
+ .OBJ.vfu.yas/see.o: see.cpp  see.cpp see.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c see.cpp              -o .OBJ.vfu.yas/see.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c see.cpp              -o .OBJ.vfu.yas/see.o
+ .OBJ.vfu.yas/vfu.o: vfu.cpp  vfu.cpp vfu.h vfusetup.h vfusys.h vfuopt.h see.h vfuuti.h \
+  vfufiles.h vfucopy.h vfudir.h vfuview.h vfumenu.h vfuarc.h vfutools.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfu.cpp              -o .OBJ.vfu.yas/vfu.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfu.cpp              -o .OBJ.vfu.yas/vfu.o
+ .OBJ.vfu.yas/vfuarc.o: vfuarc.cpp  vfuarc.cpp vfuarc.h vfu.h vfusetup.h vfusys.h vfuuti.h vfuopt.h \
+  see.h vfudir.h vfucopy.h vfufiles.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfuarc.cpp           -o .OBJ.vfu.yas/vfuarc.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfuarc.cpp           -o .OBJ.vfu.yas/vfuarc.o
+ .OBJ.vfu.yas/vfucopy.o: vfucopy.cpp  vfucopy.cpp vfu.h vfusetup.h vfusys.h vfudir.h vfumenu.h \
+  vfuuti.h vfufiles.h vfuview.h vfuopt.h see.h vfucopy.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfucopy.cpp          -o .OBJ.vfu.yas/vfucopy.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfucopy.cpp          -o .OBJ.vfu.yas/vfucopy.o
+ .OBJ.vfu.yas/vfudir.o: vfudir.cpp  vfudir.cpp vfudir.h vfu.h vfusetup.h vfusys.h vfuopt.h see.h \
+  vfuuti.h vfufiles.h vfuview.h vfumenu.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfudir.cpp           -o .OBJ.vfu.yas/vfudir.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfudir.cpp           -o .OBJ.vfu.yas/vfudir.o
+ .OBJ.vfu.yas/vfufiles.o: vfufiles.cpp  vfufiles.cpp vfufiles.h vfu.h vfusetup.h vfusys.h vfuopt.h \
+  see.h vfuuti.h vfuview.h vfumenu.h vfudir.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfufiles.cpp         -o .OBJ.vfu.yas/vfufiles.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfufiles.cpp         -o .OBJ.vfu.yas/vfufiles.o
+ .OBJ.vfu.yas/vfumenu.o: vfumenu.cpp  vfumenu.cpp vfu.h vfusetup.h vfusys.h vfuopt.h see.h vfuuti.h \
+  vfumenu.h vfuview.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfumenu.cpp          -o .OBJ.vfu.yas/vfumenu.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfumenu.cpp          -o .OBJ.vfu.yas/vfumenu.o
+ .OBJ.vfu.yas/vfuopt.o: vfuopt.cpp  vfuopt.cpp vfu.h vfusetup.h vfusys.h vfuopt.h see.h vfuuti.h \
+  vfudir.h vfuview.h vfumenu.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfuopt.cpp           -o .OBJ.vfu.yas/vfuopt.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfuopt.cpp           -o .OBJ.vfu.yas/vfuopt.o
+ .OBJ.vfu.yas/vfusys.o: vfusys.cpp  vfusys.cpp vfu.h vfusetup.h vfusys.h vfuuti.h vfumenu.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfusys.cpp           -o .OBJ.vfu.yas/vfusys.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfusys.cpp           -o .OBJ.vfu.yas/vfusys.o
+ .OBJ.vfu.yas/vfutools.o: vfutools.cpp  vfutools.cpp vfumenu.h vfuuti.h vfu.h vfusetup.h vfusys.h \
+  vfucopy.h vfuview.h vfuopt.h see.h vfufiles.h vfutools.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfutools.cpp         -o .OBJ.vfu.yas/vfutools.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfutools.cpp         -o .OBJ.vfu.yas/vfutools.o
+ .OBJ.vfu.yas/vfuuti.o: vfuuti.cpp  vfuuti.cpp vfu.h vfusetup.h vfusys.h vfuuti.h vfufiles.h \
+  vfumenu.h vfudir.h vfuopt.h see.h vfuview.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfuuti.cpp           -o .OBJ.vfu.yas/vfuuti.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfuuti.cpp           -o .OBJ.vfu.yas/vfuuti.o
+ .OBJ.vfu.yas/vfuview.o: vfuview.cpp  vfuview.cpp vfu.h vfusetup.h vfusys.h vfufiles.h vfuview.h \
+  vfuopt.h see.h vfuuti.h
+-	$(CC_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfuview.cpp          -o .OBJ.vfu.yas/vfuview.o
++	$(CXX_2) $(CFLAGS_2) $(CCFLAGS_2) -c vfuview.cpp          -o .OBJ.vfu.yas/vfuview.o
+ 
+ 
+ ### TARGET 3: vfu-debug ########################################################
+ 
+-CC_3       = g++
+-LD_3       = g++
++CXX_3      = $(CXX)
++LD_3       = $(CXX_3)
+ AR_3       = ar rv
+ RANLIB_3   = ranlib
+ CCFLAGS_3  = -I../vslib -I/usr/include/ncurses -O0 -g $(CCDEF)  
+@@ -302,45 +301,45 @@
+ ### TARGET OBJECTS FOR TARGET 3: vfu-debug #####################################
+ 
+ .OBJ.vfu-debug/see.o: see.cpp  see.cpp see.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c see.cpp              -o .OBJ.vfu-debug/see.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c see.cpp              -o .OBJ.vfu-debug/see.o
+ .OBJ.vfu-debug/vfu.o: vfu.cpp  vfu.cpp vfu.h vfusetup.h vfusys.h vfuopt.h see.h vfuuti.h \
+  vfufiles.h vfucopy.h vfudir.h vfuview.h vfumenu.h vfuarc.h vfutools.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfu.cpp              -o .OBJ.vfu-debug/vfu.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfu.cpp              -o .OBJ.vfu-debug/vfu.o
+ .OBJ.vfu-debug/vfuarc.o: vfuarc.cpp  vfuarc.cpp vfuarc.h vfu.h vfusetup.h vfusys.h vfuuti.h vfuopt.h \
+  see.h vfudir.h vfucopy.h vfufiles.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfuarc.cpp           -o .OBJ.vfu-debug/vfuarc.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfuarc.cpp           -o .OBJ.vfu-debug/vfuarc.o
+ .OBJ.vfu-debug/vfucopy.o: vfucopy.cpp  vfucopy.cpp vfu.h vfusetup.h vfusys.h vfudir.h vfumenu.h \
+  vfuuti.h vfufiles.h vfuview.h vfuopt.h see.h vfucopy.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfucopy.cpp          -o .OBJ.vfu-debug/vfucopy.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfucopy.cpp          -o .OBJ.vfu-debug/vfucopy.o
+ .OBJ.vfu-debug/vfudir.o: vfudir.cpp  vfudir.cpp vfudir.h vfu.h vfusetup.h vfusys.h vfuopt.h see.h \
+  vfuuti.h vfufiles.h vfuview.h vfumenu.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfudir.cpp           -o .OBJ.vfu-debug/vfudir.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfudir.cpp           -o .OBJ.vfu-debug/vfudir.o
+ .OBJ.vfu-debug/vfufiles.o: vfufiles.cpp  vfufiles.cpp vfufiles.h vfu.h vfusetup.h vfusys.h vfuopt.h \
+  see.h vfuuti.h vfuview.h vfumenu.h vfudir.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfufiles.cpp         -o .OBJ.vfu-debug/vfufiles.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfufiles.cpp         -o .OBJ.vfu-debug/vfufiles.o
+ .OBJ.vfu-debug/vfumenu.o: vfumenu.cpp  vfumenu.cpp vfu.h vfusetup.h vfusys.h vfuopt.h see.h vfuuti.h \
+  vfumenu.h vfuview.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfumenu.cpp          -o .OBJ.vfu-debug/vfumenu.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfumenu.cpp          -o .OBJ.vfu-debug/vfumenu.o
+ .OBJ.vfu-debug/vfuopt.o: vfuopt.cpp  vfuopt.cpp vfu.h vfusetup.h vfusys.h vfuopt.h see.h vfuuti.h \
+  vfudir.h vfuview.h vfumenu.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfuopt.cpp           -o .OBJ.vfu-debug/vfuopt.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfuopt.cpp           -o .OBJ.vfu-debug/vfuopt.o
+ .OBJ.vfu-debug/vfusys.o: vfusys.cpp  vfusys.cpp vfu.h vfusetup.h vfusys.h vfuuti.h vfumenu.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfusys.cpp           -o .OBJ.vfu-debug/vfusys.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfusys.cpp           -o .OBJ.vfu-debug/vfusys.o
+ .OBJ.vfu-debug/vfutools.o: vfutools.cpp  vfutools.cpp vfumenu.h vfuuti.h vfu.h vfusetup.h vfusys.h \
+  vfucopy.h vfuview.h vfuopt.h see.h vfufiles.h vfutools.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfutools.cpp         -o .OBJ.vfu-debug/vfutools.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfutools.cpp         -o .OBJ.vfu-debug/vfutools.o
+ .OBJ.vfu-debug/vfuuti.o: vfuuti.cpp  vfuuti.cpp vfu.h vfusetup.h vfusys.h vfuuti.h vfufiles.h \
+  vfumenu.h vfudir.h vfuopt.h see.h vfuview.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfuuti.cpp           -o .OBJ.vfu-debug/vfuuti.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfuuti.cpp           -o .OBJ.vfu-debug/vfuuti.o
+ .OBJ.vfu-debug/vfuview.o: vfuview.cpp  vfuview.cpp vfu.h vfusetup.h vfusys.h vfufiles.h vfuview.h \
+  vfuopt.h see.h vfuuti.h
+-	$(CC_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfuview.cpp          -o .OBJ.vfu-debug/vfuview.o
++	$(CXX_3) $(CFLAGS_3) $(CCFLAGS_3) -c vfuview.cpp          -o .OBJ.vfu-debug/vfuview.o
+ 
+ 
+ ### TARGET 4: vfu.yas-debug ####################################################
+ 
+-CC_4       = g++
+-LD_4       = g++
++CXX_4      = $(CXX)
++LD_4       = $(CXX_4)
+ AR_4       = ar rv
+ RANLIB_4   = ranlib
+ CCFLAGS_4  = -I../vslib -I../yascreen -DUSE_YASCREEN -O0 -g $(CCDEF)  
+@@ -403,39 +402,39 @@
+ ### TARGET OBJECTS FOR TARGET 4: vfu.yas-debug #################################
+ 
+ .OBJ.vfu.yas-debug/see.o: see.cpp  see.cpp see.h
+-	$(CC_4) $(CFLAGS_4) $(CCFLAGS_4) -c see.cpp              -o .OBJ.vfu.yas-debug/see.o
++	$(CXX_4) $(CFLAGS_4) $(CCFLAGS_4) -c see.cpp              -o .OBJ.vfu.yas-debug/see.o
+ .OBJ.vfu.yas-debug/vfu.o: vfu.cpp  vfu.cpp vfu.h vfusetup.h vfusys.h vfuopt.h see.h vfuuti.h \
+  vfufiles.h vfucopy.h vfudir.h vfuview.h vfumenu.h vfuarc.h vfutools.h
+-	$(CC_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfu.cpp              -o .OBJ.vfu.yas-debug/vfu.o
++	$(CXX_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfu.cpp              -o .OBJ.vfu.yas-debug/vfu.o
+ .OBJ.vfu.yas-debug/vfuarc.o: vfuarc.cpp  vfuarc.cpp vfuarc.h vfu.h vfusetup.h vfusys.h vfuuti.h vfuopt.h \
+  see.h vfudir.h vfucopy.h vfufiles.h
+-	$(CC_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfuarc.cpp           -o .OBJ.vfu.yas-debug/vfuarc.o
++	$(CXX_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfuarc.cpp           -o .OBJ.vfu.yas-debug/vfuarc.o
+ .OBJ.vfu.yas-debug/vfucopy.o: vfucopy.cpp  vfucopy.cpp vfu.h vfusetup.h vfusys.h vfudir.h vfumenu.h \
+  vfuuti.h vfufiles.h vfuview.h vfuopt.h see.h vfucopy.h
+-	$(CC_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfucopy.cpp          -o .OBJ.vfu.yas-debug/vfucopy.o
++	$(CXX_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfucopy.cpp          -o .OBJ.vfu.yas-debug/vfucopy.o
+ .OBJ.vfu.yas-debug/vfudir.o: vfudir.cpp  vfudir.cpp vfudir.h vfu.h vfusetup.h vfusys.h vfuopt.h see.h \
+  vfuuti.h vfufiles.h vfuview.h vfumenu.h
+-	$(CC_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfudir.cpp           -o .OBJ.vfu.yas-debug/vfudir.o
++	$(CXX_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfudir.cpp           -o .OBJ.vfu.yas-debug/vfudir.o
+ .OBJ.vfu.yas-debug/vfufiles.o: vfufiles.cpp  vfufiles.cpp vfufiles.h vfu.h vfusetup.h vfusys.h vfuopt.h \
+  see.h vfuuti.h vfuview.h vfumenu.h vfudir.h
+-	$(CC_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfufiles.cpp         -o .OBJ.vfu.yas-debug/vfufiles.o
++	$(CXX_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfufiles.cpp         -o .OBJ.vfu.yas-debug/vfufiles.o
+ .OBJ.vfu.yas-debug/vfumenu.o: vfumenu.cpp  vfumenu.cpp vfu.h vfusetup.h vfusys.h vfuopt.h see.h vfuuti.h \
+  vfumenu.h vfuview.h
+-	$(CC_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfumenu.cpp          -o .OBJ.vfu.yas-debug/vfumenu.o
++	$(CXX_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfumenu.cpp          -o .OBJ.vfu.yas-debug/vfumenu.o
+ .OBJ.vfu.yas-debug/vfuopt.o: vfuopt.cpp  vfuopt.cpp vfu.h vfusetup.h vfusys.h vfuopt.h see.h vfuuti.h \
+  vfudir.h vfuview.h vfumenu.h
+-	$(CC_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfuopt.cpp           -o .OBJ.vfu.yas-debug/vfuopt.o
++	$(CXX_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfuopt.cpp           -o .OBJ.vfu.yas-debug/vfuopt.o
+ .OBJ.vfu.yas-debug/vfusys.o: vfusys.cpp  vfusys.cpp vfu.h vfusetup.h vfusys.h vfuuti.h vfumenu.h
+-	$(CC_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfusys.cpp           -o .OBJ.vfu.yas-debug/vfusys.o
++	$(CXX_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfusys.cpp           -o .OBJ.vfu.yas-debug/vfusys.o
+ .OBJ.vfu.yas-debug/vfutools.o: vfutools.cpp  vfutools.cpp vfumenu.h vfuuti.h vfu.h vfusetup.h vfusys.h \
+  vfucopy.h vfuview.h vfuopt.h see.h vfufiles.h vfutools.h
+-	$(CC_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfutools.cpp         -o .OBJ.vfu.yas-debug/vfutools.o
++	$(CXX_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfutools.cpp         -o .OBJ.vfu.yas-debug/vfutools.o
+ .OBJ.vfu.yas-debug/vfuuti.o: vfuuti.cpp  vfuuti.cpp vfu.h vfusetup.h vfusys.h vfuuti.h vfufiles.h \
+  vfumenu.h vfudir.h vfuopt.h see.h vfuview.h
+-	$(CC_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfuuti.cpp           -o .OBJ.vfu.yas-debug/vfuuti.o
++	$(CXX_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfuuti.cpp           -o .OBJ.vfu.yas-debug/vfuuti.o
+ .OBJ.vfu.yas-debug/vfuview.o: vfuview.cpp  vfuview.cpp vfu.h vfusetup.h vfusys.h vfufiles.h vfuview.h \
+  vfuopt.h see.h vfuuti.h
+-	$(CC_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfuview.cpp          -o .OBJ.vfu.yas-debug/vfuview.o
++	$(CXX_4) $(CFLAGS_4) $(CCFLAGS_4) -c vfuview.cpp          -o .OBJ.vfu.yas-debug/vfuview.o
+ 
+ 
+ mm_update:
diff --minimal -Nru vfu-4.18/debian/patches/series vfu-4.18/debian/patches/series
--- vfu-4.18/debian/patches/series	2020-01-01 23:14:20.000000000 +0100
+++ vfu-4.18/debian/patches/series	2020-02-09 07:01:09.000000000 +0100
@@ -1 +1,2 @@
 fix_gcc9.patch
+cross.patch
diff --minimal -Nru vfu-4.18/debian/rules vfu-4.18/debian/rules
--- vfu-4.18/debian/rules	2020-01-02 01:33:31.000000000 +0100
+++ vfu-4.18/debian/rules	2020-02-09 07:01:09.000000000 +0100
@@ -3,12 +3,12 @@
 export CCDEF="-g"
 
 %:
-	dh $@
+	dh $@ --buildsystem=makefile --without=autoreconf
+
+override_dh_auto_build:
+	dh_auto_build -- STRIP=:
 
 override_dh_auto_install:
 	install vfu/vfu debian/vfu/usr/bin
 	install rx/rx_* debian/vfu/usr/lib/vfu
 	install -m644 vfu.conf debian/vfu/etc
-
-override_dh_autoreconf:
-override_dh_auto_configure:

Reply to: