mirror of https://gitee.com/openkylin/cups.git
Build mantohtml with the build architecture compiler
mantohtml is run during build. Thus it needs to be built with the build architecture compiler (or execution fails). The obvious part is switching to CC_FOR_BUILD. That also depends on it not requiring any other cups components. In particular, removing uses of strlcpy and replacing host architecture- specific includes is thus needed. Bug-Debian: https://bugs.debian.org/837936 Patch-Name Build-mantohtml-with-the-build-architecture-compiler.patch Gbp-Pq: Name 0033-Build-mantohtml-with-the-build-architecture-compiler.patch
This commit is contained in:
parent
baff351789
commit
b3aa21acc1
|
@ -22,6 +22,7 @@ CUPS_VERSION = @CUPS_VERSION@
|
|||
AR = @AR@
|
||||
AWK = @AWK@
|
||||
CC = @LIBTOOL_CC@ @CC@
|
||||
CC_FOR_BUILD = @CC_FOR_BUILD@
|
||||
CHMOD = @CHMOD@
|
||||
CXX = @LIBTOOL_CXX@ @CXX@
|
||||
DSO = @DSO@
|
||||
|
|
|
@ -19,6 +19,15 @@ sinclude(config-scripts/cups-common.m4)
|
|||
sinclude(config-scripts/cups-directories.m4)
|
||||
sinclude(config-scripts/cups-manpages.m4)
|
||||
|
||||
AC_MSG_CHECKING([for build system compiler])
|
||||
if test "$cross_compiling" = yes; then
|
||||
CC_FOR_BUILD=${CC_FOR_BUILD-cc}
|
||||
else
|
||||
CC_FOR_BUILD=${CC}
|
||||
fi
|
||||
AC_MSG_RESULT(${CC_FOR_BUILD})
|
||||
AC_SUBST(CC_FOR_BUILD)
|
||||
|
||||
sinclude(config-scripts/cups-sharedlibs.m4)
|
||||
sinclude(config-scripts/cups-libtool.m4)
|
||||
sinclude(config-scripts/cups-compiler.m4)
|
||||
|
|
|
@ -222,6 +222,5 @@ html: $(MAN1) $(MAN5) $(MAN7) $(MAN8) mantohtml
|
|||
./mantohtml $$file >../doc/help/man-`basename $$file .8`.html; \
|
||||
done
|
||||
|
||||
mantohtml: mantohtml.o ../cups/$(LIBCUPSSTATIC)
|
||||
$(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o $@ mantohtml.o $(LINKCUPSSTATIC)
|
||||
$(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
|
||||
mantohtml: mantohtml.c
|
||||
$(CC_FOR_BUILD) -o $@ $<
|
||||
|
|
|
@ -11,8 +11,10 @@
|
|||
* Include necessary headers.
|
||||
*/
|
||||
|
||||
#include <cups/string-private.h>
|
||||
#include <cups/array-private.h>
|
||||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
|
||||
|
@ -811,7 +813,8 @@ main(int argc, /* I - Number of command-line args */
|
|||
* Anchor for HTML output...
|
||||
*/
|
||||
|
||||
strlcpy(anchor, line + 4, sizeof(anchor));
|
||||
strncpy(anchor, line + 4, sizeof(anchor) - 1);
|
||||
anchor[sizeof(anchor) - 1] = '\0';
|
||||
}
|
||||
else if (strncmp(line, ".\\\"", 3))
|
||||
{
|
||||
|
@ -940,7 +943,8 @@ html_alternate(const char *s, /* I - String */
|
|||
manfile[1024], /* Man page filename */
|
||||
manurl[1024]; /* Man page URL */
|
||||
|
||||
strlcpy(name, s, sizeof(name));
|
||||
strncpy(name, s, sizeof(name) - 1);
|
||||
name[sizeof(name) - 1] = '\0';
|
||||
if ((size_t)(end - s) < sizeof(name))
|
||||
name[end - s] = '\0';
|
||||
|
||||
|
@ -1173,7 +1177,8 @@ html_fputs(const char *s, /* I - String */
|
|||
if (end[-1] == ',' || end[-1] == '.' || end[-1] == ')')
|
||||
end --;
|
||||
|
||||
strlcpy(temp, s, sizeof(temp));
|
||||
strncpy(temp, s, sizeof(temp) - 1);
|
||||
temp[sizeof(temp) - 1] = '\0';
|
||||
if ((size_t)(end -s) < sizeof(temp))
|
||||
temp[end - s] = '\0';
|
||||
|
||||
|
|
Loading…
Reference in New Issue