Fix linking with libpayload

o Move flashbuses_to_text() to flashrom.c, it's not a cli function.
o Guard `!defined(HAVE_STRNLEN)`. This guard was introduced in
  23e10b87 (Add a bunch of new/tested stuff and various small
  changes 24) to support older BSDs. It's probably completely
  broken because HAVE_STRNLEN is presumably a GNU autotools
  thing. But we can't fix it without retesting these older BSDs.

Change-Id: I561135209b819361d125eeaeef9ff886d6bae987
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/18738
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/helpers.c b/helpers.c
index f6eae46..8bc808a 100644
--- a/helpers.c
+++ b/helpers.c
@@ -92,7 +92,7 @@
 #endif
 
 /* There is no strnlen in DJGPP */
-#if defined(__DJGPP__) || !defined(HAVE_STRNLEN)
+#if defined(__DJGPP__) || (!defined(__LIBPAYLOAD__) && !defined(HAVE_STRNLEN))
 size_t strnlen(const char *str, size_t n)
 {
 	size_t i;