Index: configure
--- configure.orig	2017-04-16 22:08:59.000000000 +0200
+++ configure	2017-12-02 10:48:24.363298000 +0100
@@ -8730,7 +8730,7 @@
 
 if test "x$ac_cv_c_compiler_gnu" = xyes
 then
-	CFLAGS="$CFLAGS -W -Wall -Wextra -std=gnu99"
+	CFLAGS="$CFLAGS -std=gnu99"
 fi
 
 # this is a hack, if we need getopt_long we also need getopt
Index: lib/Makefile.in
--- lib/Makefile.in.orig	2017-04-16 22:10:10.000000000 +0200
+++ lib/Makefile.in	2017-12-02 10:48:24.363475000 +0100
@@ -285,7 +285,7 @@
 noinst_LIBRARIES = libport.a
 noinst_HEADERS = libport.h getopt.h
 libport_a_SOURCES = 
-libport_a_LIBADD = @LIBOBJS@ @LIBPORT_GETOPT_LONG_DEP@
+libport_a_LIBADD = @LIBOBJS@ $(LIBPORT_GETOPT_LONG_DEP)
 all: all-am
 
 .SUFFIXES:
@@ -341,6 +341,8 @@
 @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/snprintf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/usleep.Po@am__quote@
 
+getopt_long.o: $(LIBPORT_GETOPT_LONG_DEP)
+
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
Index: src/minicom.h
--- src/minicom.h.orig	2013-12-08 11:26:03.000000000 +0100
+++ src/minicom.h	2017-12-02 10:48:24.363637000 +0100
@@ -45,6 +45,8 @@
 #include <sys/un.h>
 #endif
 
+#include <time.h>
+
 /*
  * kubota@debian.or.jp 08/08/98
  * COLS must be equal to or less than MAXCOLS.
Index: src/port.h
--- src/port.h.orig	2009-12-12 16:47:47.000000000 +0100
+++ src/port.h	2017-12-02 10:48:24.363762000 +0100
@@ -76,4 +76,7 @@
 # define VC_MUSIC 1
 #endif
 
+#include <limits.h>
+#include <time.h>
+
 extern char **environ;
Index: src/script.c
--- src/script.c.orig	2013-10-29 12:07:42.000000000 +0100
+++ src/script.c	2017-12-02 10:49:00.889342000 +0100
@@ -32,6 +32,8 @@
 #include <config.h>
 #endif
 
+#include <sys/wait.h>
+
 #include <stdarg.h>
 
 #include "port.h"
Index: src/updown.c
--- src/updown.c.orig	2013-12-08 11:25:06.000000000 +0100
+++ src/updown.c	2017-12-02 10:48:24.363929000 +0100
@@ -426,6 +426,22 @@
   mcd("");
   timer_update();
 
+  /* return code == 1 if exeve failed */
+  if (win && status == 0x0001) {
+#if VC_MUSIC
+	if (P_SOUND[0] == 'Y') {
+		wprintf(win, _("\n Failure executing protocol. Press any key to continue..."));
+		music();
+	} else
+		sleep(1);
+#else
+	/* MARK updated 02/17/94 - If there was no VC_MUSIC capability, */
+	/* then at least make some beeps! */
+	if (P_SOUND[0] == 'Y') wprintf(win, "\007\007\007");
+	sleep(1);
+#endif
+  } else
+
   /* If we got interrupted, status != 0 */
   if (win && (status & 0xFF00) == 0) {
 #if VC_MUSIC
Index: src/window.c
--- src/window.c.orig	2010-12-12 14:56:25.000000000 +0100
+++ src/window.c	2017-12-02 10:48:24.364200000 +0100
@@ -59,6 +59,7 @@
 #define swap(x, y) { int d = (x); (x) = (y); (y) = d; }
 
 /* Terminal capabilities */
+static const char *BS;
 static const char *CM, *IS, *RS, *AC, *EA;
 static const char *ME, *SE, *UE, *AE;
 static const char *AS, *MB, *MD, *MR, *SO, *US;
@@ -335,8 +336,8 @@
   else if (NL != NULL && x == 0 && x == curx && y == cury + 1)
     outstr(NL);
 #endif
-  else if (BC != NULL && y == cury && x == curx - 1)
-    outstr(BC);
+  else if (BS != NULL && y == cury && x == curx - 1)
+    outstr(BS);
   else
     outstr(tgoto(CM, x, y));
   curx = x;
@@ -2000,7 +2001,7 @@
   CL = tgetstr("cl", &_tptr);
   IC = tgetstr("ic", &_tptr);
   DC = tgetstr("dc", &_tptr);
-  BC = tgetstr("bc", &_tptr);
+  BS = tgetstr("bc", &_tptr);
   CR = tgetstr("cr", &_tptr);
   NL = tgetstr("nl", &_tptr);
   AC = tgetstr("ac", &_tptr);
@@ -2059,11 +2060,11 @@
   _has_am = tgetflag("am");
   _mv_standout = tgetflag("ms");
   if (tgetflag("bs")) {
-    if (BC == NULL)
-      BC = "\b";
+    if (BS == NULL)
+      BS = "\b";
   }
   else
-    BC = NULL;
+    BS = NULL;
 
   /* Special IBM box-drawing characters */
   D_UL  = 201;
