[cups.general] Problem with cross-compiling CUPS for ARM processor

Michael R Sweet msweet at apple.com
Thu Jul 12 20:44:40 PDT 2012


The CUPS build system currently does not support cross compilation, sorry...

Sent from my iPhone

On Jul 12, 2012, at 1:11 PM, Tom Morrison <tom.morrison at smith-nephew.com> wrote:

> 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 $"
> #
> 
> 
> 
> 
> _______________________________________________
> cups mailing list
> cups at easysw.com
> http://lists.easysw.com/mailman/listinfo/cups





More information about the cups mailing list