Problem with cross-compiling CUPS for ARM processor

Tom Morrison tom.morrison at smith-nephew.com
Thu Jul 12 13:11:03 PDT 2012


I am trying to configure and cross compile for the ARM with CUPS 1.5.3.

I have defined the CC/CXX/RANLIB/AR - and I try to compile, but it tries to
compile and execute on the host two programs:

   Genstrings
   ManToHTML

which obviously are cross-compiled for the ARM?

Here is whats in my Makedefs



# "$Id: Makedefs.in 10317 2012-03-01 00:05:55Z mike $"
#
#   Common makefile definitions for CUPS.
#
#   Copyright 2007-2011 by Apple Inc.
#   Copyright 1997-2007 by Easy Software Products, all rights reserved.
#
#   These coded instructions, statements, and computer programs are the
#   property of Apple Inc. and are protected by Federal copyright
#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
#   which should have been included with this file.  If this file is
#   file is missing or damaged, see the license at "http://www.cups.org/".
#

#
# Programs...
#

AR		=	/opt/armCodeSourcery/bin/arm-none-linux-gnueabi-ar
AWK		=	gawk
CC		=	 /opt/armCodeSourcery/bin/arm-none-linux-gnueabi-gcc
CHMOD		=	/bin/chmod
CXX		=	 /opt/armCodeSourcery/bin/arm-none-linux-gnueabi-g++
DSO		=	:
DSOXX		=	:
HTMLDOC		=
INSTALL		=	/home/morrisont/evm_new_dvsdk/cups-1.5.3/install-sh
LD		=	/opt/armCodeSourcery/bin/arm-none-linux-gnueabi-ld
LIBTOOL		=
LN		=	/bin/ln -sf
MV		=	/bin/mv
PHPCONFIG	=
RANLIB		=	/opt/armCodeSourcery/bin/arm-none-linux-gnueabi-ranlib
RM		=	/bin/rm -f
RMDIR		=	/bin/rmdir
SED		=	/bin/sed
SHELL		=	/bin/sh

#
# Installation programs...
#

INSTALL_BIN	=	$(LIBTOOL) $(INSTALL) -c -m 555 -s
INSTALL_CONFIG	=	$(INSTALL) -c -m 640
INSTALL_COMPDATA =	$(INSTALL) -c -m 444
INSTALL_DATA	=	$(INSTALL) -c -m 444
INSTALL_DIR	=	$(INSTALL) -d
INSTALL_LIB	=	$(LIBTOOL) $(INSTALL) -c -m 555 -s
INSTALL_MAN	=	$(INSTALL) -c -m 444
INSTALL_SCRIPT	=	$(INSTALL) -c -m 555

#
# Default user, group, and system groups for the scheduler...
#

CUPS_USER	=	lp
CUPS_GROUP	=	lp
CUPS_SYSTEM_GROUPS =	sys root
CUPS_PRIMARY_SYSTEM_GROUP =	sys

#
# Default permissions...
#

CUPS_CONFIG_FILE_PERM = 640
CUPS_LOG_FILE_PERM = 644

#
# Languages to install...
#

LANGUAGES	=	da de es eu fi fr hu id it ja ko nl no pl pt pt_BR ru sv zh zh_TW
INSTALL_LANGUAGES =	install-languages
UNINSTALL_LANGUAGES =	uninstall-languages

#
# Libraries...
#

LIBCUPS		=	libcups.a
LIBCUPSCGI	=	libcupscgi.a
LIBCUPSDRIVER	=	libcupsdriver.a
LIBCUPSIMAGE	=	libcupsimage.a
LIBCUPSMIME	=	libcupsmime.a
LIBCUPSPPDC	=	libcupsppdc.a
LIBCUPSSTATIC	=	libcups.a
LIBJPEG		=
LIBLDAP		=
LIBMALLOC	=
LIBPAPER	=
LIBPNG		=
LIBSLP		=
LIBGSSAPI	=
LIBTIFF		=
LIBUSB		=
LIBWRAP		=
LIBZ		=

#
# Install static libraries?
#

INSTALLSTATIC	=	installstatic

#
# IPP backend aliases...
#

IPPALIASES	=	http

#
# Install XPC backends?
#

INSTALLXPC	=

#
# Program options...
#
# ARCHFLAGS     Defines the default architecture build options.
# ARCH32FLAGS   Defines the 32-bit architecture build options, used
#               when compiling separate 32/64-bit libraries.
# ARCH64FLAGS   Defines the 64-bit architecture build options, used
#               when compiling separate 32/64-bit libraries.
# OPTIM         Defines the common compiler optimization/debugging options
#               for all architectures.
# OPTIONS       Defines other compile-time options (currently only -DDEBUG
#               for extra debug info)
#

ALL_CFLAGS	=	-I.. -D_CUPS_SOURCE $(CFLAGS) $(SSLFLAGS) \
			-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D_REENTRANT $(OPTIONS)
ALL_CXXFLAGS	=	-I.. -D_CUPS_SOURCE $(CXXFLAGS) $(SSLFLAGS) \
			-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_THREAD_SAFE -D_REENTRANT $(OPTIONS)
ARCHFLAGS	=
ARFLAGS		=	crvs
BACKLIBS	=
BANNERTOPS	=	bannertops
BUILDDIRS	=	filter backend berkeley cgi-bin driver monitor notifier ppdc scheduler systemv conf data desktop locale man doc examples templates
CFLAGS		=
COMMONLIBS	=	-lpthread -lcrypt -lm
CXXFLAGS	=
CXXLIBS		=
DBUS_NOTIFIER	=
DBUS_NOTIFIERLIBS =
DNSSD_BACKEND	=
DSOFLAGS	=	-L../cups
DSOLIBS		=	 $(COMMONLIBS)
DNSSDLIBS	=
FONTS		=	fonts
IMGLIBS		=	$(LIBTIFF) $(LIBPNG) $(LIBJPEG) $(LIBZ)
IMGFILTERS	=	imagetops imagetoraster
LAUNCHDLIBS	=
LDFLAGS		=	-L../cgi-bin -L../cups -L../filter -L../ppdc \
			-L../scheduler  \
			-static  -fPIE -pie $(OPTIM)
LEGACY_BACKENDS	=	parallel
LINKCUPS	=	../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) $(LIBZ)
LINKCUPSIMAGE	=	../filter/libcupsimage.a
LIBS		=	$(LINKCUPS) $(COMMONLIBS)
OPTIM		=	-Wall -Wno-format-y2k -Wunused -Os -g -fstack-protector -D_GNU_SOURCE
OPTIONS		=
PAMLIBS		=
PAP		=	@PAP@
PDFTOPS		=	pdftops
PHPDIR		=
PHPOPTIONS	=	 -I../.. `$(PHPCONFIG) --includes`
SERVERLIBS	=
SSLFLAGS	=
SSLLIBS		=
TEXTTOPS	=	texttops
UNITTESTS	=


#
# Separate 32/64-bit library support...
#

ARCH32FLAGS	=
DSO32FLAGS	=
INSTALL32	=
LIB32CUPS	=
LIB32CUPSIMAGE	=
LIB32DIR	=	$(BUILDROOT)
UNINSTALL32	=

ARCH64FLAGS	=
DSO64FLAGS	=
INSTALL64	=
LIB64CUPS	=
LIB64CUPSIMAGE	=
LIB64DIR	=	$(BUILDROOT)
UNINSTALL64	=

#
# Directories...
#
# The first section uses the GNU names (which are *extremely*
# difficult to find in a makefile because they are lowercase...)
# We have to define these first because autoconf uses ${prefix}
# and ${exec_prefix} for most of the other directories...
#
# The "datarootdir" variable may not get defined if you are using
# a version of autoconf prior to 2.60.
#
# This is immediately followed by definition in ALL CAPS for the
# needed directories...
#

bindir		=	/home/morrisont/workdir/filesys2/bin
datadir		=	/home/morrisont/workdir/filesys2/share
datarootdir	=	/home/morrisont/workdir/filesys2/share
exec_prefix	=	/home/morrisont/workdir/filesys2
includedir	=	${prefix}/include
infodir		=	${datarootdir}/info
libdir		=	${exec_prefix}/lib
libexecdir	=	${exec_prefix}/libexec
localstatedir	=	/home/morrisont/workdir/filesys2/var
mandir		=	${datarootdir}/man
oldincludedir	=	/usr/include
prefix		=	/home/morrisont/workdir/filesys2
privateinclude	=
sbindir		=	/home/morrisont/workdir/filesys2/sbin
sharedstatedir	=	${prefix}/com
srcdir		=	.
sysconfdir	=	/home/morrisont/workdir/filesys2/etc
top_srcdir	=	.

BUILDROOT	=	$(DSTROOT)

AMANDIR		=	$(BUILDROOT)${datarootdir}/man
BINDIR		=	$(BUILDROOT)/home/morrisont/workdir/filesys2/bin
BUNDLEDIR	=
CACHEDIR	=	$(BUILDROOT)/home/morrisont/workdir/filesys2/var/cache/cups
DATADIR		=	$(BUILDROOT)/home/morrisont/workdir/filesys2/share/cups
DOCDIR		=	$(BUILDROOT)/home/morrisont/workdir/filesys2/share/doc/cups
ICONDIR		=	/usr/share/icons
INCLUDEDIR	=	$(BUILDROOT)$(includedir)
INITDIR		=	/etc
INITDDIR	=
LIBDIR		=	$(BUILDROOT)$(libdir)
LOCALEDIR	= 	$(BUILDROOT)/home/morrisont/workdir/filesys2/share/locale
LOGDIR		= 	$(BUILDROOT)/home/morrisont/workdir/filesys2/var/log/cups
MANDIR		=	$(BUILDROOT)${datarootdir}/man
MENUDIR		=	/usr/share/applications
PMANDIR		=	$(BUILDROOT)${datarootdir}/man
PRIVATEINCLUDE	=	$(BUILDROOT)
RCLEVELS	=	2 3 5
RCSTART		=	81
RCSTOP		=	36
REQUESTS	= 	$(BUILDROOT)/home/morrisont/workdir/filesys2/var/spool/cups
SBINDIR		=	$(BUILDROOT)/home/morrisont/workdir/filesys2/sbin
SERVERBIN	= 	$(BUILDROOT)/home/morrisont/workdir/filesys2/lib/cups
SERVERROOT	= 	$(BUILDROOT)/home/morrisont/workdir/filesys2/etc/cups
SMFMANIFESTDIR	=
STATEDIR	=	$(BUILDROOT)/home/morrisont/workdir/filesys2/var/run/cups
XINETD		=	/etc/xinetd.d

MAN1EXT		=	1.gz
MAN5EXT		=	5.gz
MAN7EXT		=	7.gz
MAN8EXT		=	8.gz
MAN8DIR		=	8

PAMDIR		=
PAMFILE		=	pam.std

DEFAULT_LAUNCHD_CONF =
DBUSDIR		=	/etc/dbus-1


#
# Rules...
#

.SILENT:
.SUFFIXES:	.1 .1.gz .1m .1m.gz .3 .3.gz .5 .5.gz .7 .7.gz .8 .8.gz .a .c .cxx .h .man .o .32.o .64.o .gz

.c.o:
	echo Compiling $<...
	$(CC) $(ARCHFLAGS) $(OPTIM) $(ALL_CFLAGS) -c -o $@ $<

.c.32.o:
	echo Compiling 32-bit $<...
	$(CC) $(ARCH32FLAGS) $(OPTIM) $(ALL_CFLAGS) -c -o $@ $<

.c.64.o:
	echo Compiling 64-bit $<...
	$(CC) $(ARCH64FLAGS) $(OPTIM) $(ALL_CFLAGS) -c -o $@ $<

.cxx.o:
	echo Compiling $<...
	$(CXX) $(ARCHFLAGS) $(OPTIM) $(ALL_CXXFLAGS) -c -o $@ $<

.man.1 .man.1m .man.3 .man.5 .man.7 .man.8:
	echo Linking $<...
	$(RM) $@
	$(LN) $< $@

.man.1.gz .man.1m.gz .man.3.gz .man.5.gz .man.7.gz .man.8.gz .man.gz:
	echo -n Compressing $<...
	$(RM) $@
	gzip -v9 <$< >$@


#
# End of "$Id: Makedefs.in 10317 2012-03-01 00:05:55Z mike $"
#








More information about the cups mailing list