| Pull upstream work from: |
| |
| http://bugs.ghostscript.com/show_bug.cgi?id=696508 |
| |
| Backported from commit: |
| |
| commit c3c4bf022a631be939ebb4bf6f59e41514cb1e48 (HEAD) |
| Author: Chris Liddell <chris.liddell@artifex.com> |
| Date: Mon Jan 25 10:59:23 2016 +0000 |
| |
| Bug 696508: improve configure cross compile support |
| |
| This is a squashing of the commits on the branch: |
| |
| CCAUX-configure |
| |
| This allows CCAUX and related settings to be set on the configure command |
| line, or in the environment. |
| --- |
| Makefile.in | 21 +- |
| arch/arch_autoconf.h.in | 97 +++++++ |
| auxflags.mak.in | 29 ++ |
| base/gsroprun.c | 1 - |
| base/unix-aux.mak | 6 +- |
| base/unix-end.mak | 10 +- |
| configure.ac | 750 +++++++++++++++++++++++++++++++++++------------- |
| 7 files changed, 693 insertions(+), 221 deletions(-) |
| create mode 100644 arch/arch_autoconf.h.in |
| create mode 100644 auxflags.mak.in |
| |
| diff --git a/Makefile.in b/Makefile.in |
| index da6863b43e05..0b73d7554359 100644 |
| --- a/Makefile.in |
| +++ b/Makefile.in |
| @@ -80,6 +80,7 @@ INSTALL_DATA = $(INSTALL) -m 644 |
| INSTALL_SHARED = @INSTALL_SHARED@ |
| |
| prefix = @prefix@ |
| +datarootdir = @datarootdir@ |
| exec_prefix = @exec_prefix@ |
| bindir = @bindir@ |
| scriptdir = $(bindir) |
| @@ -89,7 +90,6 @@ mandir = @mandir@ |
| man1ext = 1 |
| man1dir = $(mandir)/man$(man1ext) |
| datadir = @datadir@ |
| -datarootdir = @datarootdir@ |
| |
| # The following must be substituted using @datadir@ and @libdir@ |
| # to avoid adding RPM generation paths (CUPS STR #1112) |
| @@ -138,6 +138,7 @@ TARGET_ARCH_FILE=@ARCH_CONF_HEADER@ |
| # are set. |
| |
| GENOPT= |
| +GENOPTAUX= |
| |
| # Choose capability options. |
| |
| @@ -361,7 +362,7 @@ RANLIB=@RANLIB@ |
| # Define the name of the C compiler (target and host (AUX)) |
| |
| CC=@CC@ |
| -CCAUX=@CC@ |
| +CCAUX=@CCAUX@ |
| |
| # Define the name of the linker for the final link step. |
| # Normally this is the same as the C compiler. |
| @@ -371,6 +372,7 @@ CCAUXLD=$(CCAUX) |
| |
| # Define the default gcc flags. |
| GCFLAGS=@CPPFLAGS@ @GCFLAGS@ @CFLAGS@ |
| +GCFLAGSAUX=@GCFLAGSAUX@ |
| |
| # Define the added flags for standard, debugging, profiling |
| # and shared object builds. |
| @@ -380,6 +382,10 @@ CFLAGS_DEBUG=@DBG_CFLAGS@ |
| CFLAGS_PROFILE=-pg @OPT_CFLAGS@ |
| CFLAGS_SO=@DYNAMIC_CFLAGS@ |
| |
| +CFLAGSAUX_STANDARD=@CFLAGSAUX_STANDARD@ |
| +CFLAGSAUX_DEBUG=@CFLAGSAUX_DEBUG@ |
| +CFLAGSAUX_PROFILE=-pg @CFLAGSAUX_STANDARD@ |
| + |
| # Define the extra flags added for address sanitizer builds |
| |
| CFLAGS_SANITIZE=-fsanitize=address -fno-omit-frame-pointer |
| @@ -411,6 +417,7 @@ DBUS_LIBS=@DBUS_LIBS@ |
| ACDEFS=@DEFS@ |
| |
| CFLAGS=$(CFLAGS_STANDARD) $(GCFLAGS) $(AC_CFLAGS) $(XCFLAGS) |
| +CFLAGSAUX=$(CFLAGSAUX_STANDARD) $(GCFLAGSAUX) $(XCFLAGSAUX) |
| |
| # Define platform flags for ld. |
| # SunOS 4.n may need -Bstatic. |
| @@ -434,7 +441,7 @@ LDFLAGS_SO=@DYNAMIC_LDFLAGS@ |
| # (Libraries required by individual drivers are handled automatically.) |
| |
| EXTRALIBS=$(XTRALIBS) @LIBS@ @DYNAMIC_LIBS@ @FONTCONFIG_LIBS@ @FT_LIBS@ @JPX_AUTOCONF_LIBS@ |
| -AUXEXTRALIBS=$(XTRALIBS) @LIBS@ @DYNAMIC_LIBS@ @FONTCONFIG_LIBS@ @FT_LIBS@ @JPX_AUTOCONF_LIBS@ @AUX_SHARED_ZLIB@ |
| +AUXEXTRALIBS=@AUXEXTRALIBS@ |
| |
| # Define the standard libraries to search at the end of linking. |
| # Most platforms require -lpthread for the POSIX threads library; |
| @@ -519,9 +526,6 @@ FEATURE_DEVS=$(GLD)pipe.dev $(GLD)gsnogc.dev $(GLD)htxlib.dev $(GLD)psl3lib.dev |
| $(GLD)psf2lib.dev $(GLD)lzwd.dev $(GLD)sicclib.dev \ |
| $(GLD)sjbig2.dev $(GLD)sjpx.dev $(GLD)ramfs.dev |
| |
| - |
| - |
| - |
| #FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev |
| #FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)rasterop.dev $(GLD)pipe.dev |
| # The following is strictly for testing. |
| @@ -637,8 +641,11 @@ AK= |
| |
| CCFLAGS=$(GENOPT) $(CAPOPT) $(CFLAGS) |
| CC_=$(CC) $(CCFLAGS) |
| -CCAUX_=$(CCAUX) $(CFLAGS) |
| CC_LEAF=$(CC_) |
| + |
| +CCFLAGSAUX=$(GENOPTAUX) $(CAPOPTAUX) $(CFLAGSAUX) |
| +CCAUX_=$(CCAUX) $(CCFLAGSAUX) |
| + |
| # note gcc can't use -fomit-frame-pointer with -pg. |
| CC_LEAF_PG=$(CC_) |
| # These are the specific warnings we have to turn off to compile those |
| diff --git a/arch/arch_autoconf.h.in b/arch/arch_autoconf.h.in |
| new file mode 100644 |
| index 000000000000..7d0c8d4e7946 |
| --- /dev/null |
| +++ b/arch/arch_autoconf.h.in |
| @@ -0,0 +1,97 @@ |
| +/* Copyright (C) 2001-2012 Artifex Software, Inc. |
| + All Rights Reserved. |
| + |
| + This software is provided AS-IS with no warranty, either express or |
| + implied. |
| + |
| + This software is distributed under license and may not be copied, |
| + modified or distributed except as expressly authorized under the terms |
| + of the license contained in the file LICENSE in this distribution. |
| + |
| + Refer to licensing information at http://www.artifex.com or contact |
| + Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael, |
| + CA 94903, U.S.A., +1(415)492-9861, for further information. |
| +*/ |
| + |
| + |
| + /* ---------------- Scalar alignments ---------------- */ |
| + |
| +#define ARCH_ALIGN_SHORT_MOD @ARCH_ALIGN_SHORT_MOD@ |
| +#define ARCH_ALIGN_INT_MOD @ARCH_ALIGN_INT_MOD@ |
| +#define ARCH_ALIGN_LONG_MOD @ARCH_ALIGN_LONG_MOD@ |
| +#define ARCH_ALIGN_PTR_MOD @ARCH_ALIGN_PTR_MOD@ |
| +#define ARCH_ALIGN_FLOAT_MOD @ARCH_ALIGN_FLOAT_MOD@ |
| +#define ARCH_ALIGN_DOUBLE_MOD @ARCH_ALIGN_DOUBLE_MOD@ |
| + |
| + /* ---------------- Scalar sizes ---------------- */ |
| + |
| +#define ARCH_LOG2_SIZEOF_CHAR @ARCH_LOG2_SIZEOF_CHAR@ |
| +#define ARCH_LOG2_SIZEOF_SHORT @ARCH_LOG2_SIZEOF_SHORT@ |
| +#define ARCH_LOG2_SIZEOF_INT @ARCH_LOG2_SIZEOF_INT@ |
| +#define ARCH_LOG2_SIZEOF_LONG @ARCH_LOG2_SIZEOF_LONG@ |
| +#define ARCH_LOG2_SIZEOF_LONG_LONG @ARCH_LOG2_SIZEOF_LONG_LONG@ |
| +#define ARCH_LOG2_SIZEOF_PTR @ARCH_LOG2_SIZEOF_PTR@ |
| +#define ARCH_LOG2_SIZEOF_FLOAT @ARCH_LOG2_SIZEOF_FLOAT@ |
| +#define ARCH_LOG2_SIZEOF_DOUBLE @ARCH_LOG2_SIZEOF_DOUBLE@ |
| + |
| +#define ARCH_SIZEOF_PTR @ARCH_SIZEOF_PTR@ |
| +#define ARCH_SIZEOF_FLOAT @ARCH_SIZEOF_FLOAT@ |
| +#define ARCH_SIZEOF_DOUBLE @ARCH_SIZEOF_DOUBLE@ |
| + |
| + /* ---------------- Unsigned max values ---------------- */ |
| + |
| +#define ARCH_MAX_UCHAR ((unsigned char)~(unsigned char)0 + (unsigned char)0) |
| +#define ARCH_MAX_USHORT ((unsigned short)~(unsigned short)0 + (unsigned short)0) |
| +#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0) |
| +#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0) |
| + |
| + /* ---------------- Floating point ---------------- */ |
| + |
| +#ifndef FLOATS_ARE_IEEE |
| + |
| +#if defined(__STDC_IEC_559__) && __STDC_IEC_559__!=0 |
| + |
| +# define FLOATS_ARE_IEEE 1 |
| + |
| +#elif (defined(FLT_RADIX) && FLT_RADIX == 2) && (defined(FLT_MANT_DIG) && FLT_MANT_DIG == 24) \ |
| + && (defined(FLT_MIN_EXP) && FLT_MIN_EXP == -125) && (defined(FLT_MAX_EXP) && FLT_MAX_EXP == 128) |
| + |
| +# define FLOATS_ARE_IEEE 1 |
| + |
| +#elif (defined(__FLT_RADIX__) && __FLT_RADIX__ == 2) && (defined(__FLT_MANT_DIG__) && __FLT_MANT_DIG__ == 24) \ |
| + && (defined(__FLT_MIN_EXP__) && __FLT_MIN_EXP__ == -125) && (defined(__FLT_MAX_EXP__) && __FLT_MAX_EXP__ == 128) |
| + |
| +# define FLOATS_ARE_IEEE 1 |
| + |
| +#else |
| + |
| +# define FLOATS_ARE_IEEE 0 |
| + |
| +#endif |
| + |
| +#endif /* FLOATS_ARE_IEEE */ |
| + |
| + |
| +#if FLOATS_ARE_IEEE == 1 |
| +# define ARCH_FLOATS_ARE_IEEE 1 |
| +# define ARCH_FLOAT_MANTISSA_BITS 24 |
| +# define ARCH_DOUBLE_MANTISSA_BITS 53 |
| +#else /* FLOATS_ARE_IEEE*/ |
| +# define ARCH_FLOATS_ARE_IEEE 0 |
| +/* |
| + * There isn't any general way to compute the number of mantissa |
| + * bits accurately, especially if the machine uses hex rather |
| + * than binary exponents. Use conservative values, assuming |
| + * the exponent is stored in a 16-bit word of its own. |
| + */ |
| +# define ARCH_FLOAT_MANTISSA_BITS (sizeof(float) * 8 - 17) |
| +# define ARCH_DOUBLE_MANTISSA_BITS (sizeof(double) * 8 - 17) |
| +#endif /* FLOATS_ARE_IEEE*/ |
| + |
| + /* ---------------- Miscellaneous ---------------- */ |
| + |
| +#define ARCH_IS_BIG_ENDIAN @ARCH_IS_BIG_ENDIAN@ |
| +#define ARCH_PTRS_ARE_SIGNED @ARCH_PTRS_ARE_SIGNED@ |
| +#define ARCH_DIV_NEG_POS_TRUNCATES @ARCH_DIV_NEG_POS_TRUNCATES@ |
| +#define ARCH_ARITH_RSHIFT @ARCH_ARITH_RSHIFT@ |
| +#define ARCH_SIZEOF_GX_COLOR_INDEX @ARCH_SIZEOF_GX_COLOR_INDEX@ |
| diff --git a/auxflags.mak.in b/auxflags.mak.in |
| new file mode 100644 |
| index 000000000000..e2a583f3d08b |
| --- /dev/null |
| +++ b/auxflags.mak.in |
| @@ -0,0 +1,29 @@ |
| +# Copyright (C) 2001-2015 Artifex Software, Inc. |
| +# All Rights Reserved. |
| +# |
| +# This software is provided AS-IS with no warranty, either express or |
| +# implied. |
| +# |
| +# This software is distributed under license and may not be copied, |
| +# modified or distributed except as expressly authorized under the terms |
| +# of the license contained in the file LICENSE in this distribution. |
| +# |
| +# Refer to licensing information at http://www.artifex.com or contact |
| +# Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael, |
| +# CA 94903, U.S.A., +1(415)492-9861, for further information. |
| +# |
| +# CCAUX flags template for/from the autoconf build. |
| +# @configure_input@ |
| + |
| +CCAUX=@CC@ |
| + |
| +GCFLAGSAUX=@CPPFLAGS@ @GCFLAGS@ @CFLAGS@ |
| +CAPOPTAUX= |
| + |
| +CFLAGSAUX_STANDARD=@OPT_CFLAGS@ |
| +CFLAGSAUX_DEBUG=@DBG_CFLAGS@ |
| +CFLAGS_PROFILE=-pg @OPT_CFLAGS@ |
| + |
| +LDFLAGSAUX=@LDFLAGS@ |
| + |
| +AUXEXTRALIBS=@LIBS@ |
| diff --git a/base/gsroprun.c b/base/gsroprun.c |
| index 25a210b5bce9..bf29e3e4475b 100644 |
| --- a/base/gsroprun.c |
| +++ b/base/gsroprun.c |
| @@ -18,7 +18,6 @@ |
| #include "std.h" |
| #include "stdpre.h" |
| #include "gsropt.h" |
| -#include "arch.h" |
| #include "gp.h" |
| |
| /* Enable the following define to use 'template'd code (code formed by |
| diff --git a/base/unix-aux.mak b/base/unix-aux.mak |
| index 0110667bcff8..81c15b846131 100644 |
| --- a/base/unix-aux.mak |
| +++ b/base/unix-aux.mak |
| @@ -43,7 +43,7 @@ $(GLOBJ)gp_unix.$(OBJ): $(GLSRC)gp_unix.c $(AK)\ |
| $(AUX)gp_unix.$(OBJ): $(GLSRC)gp_unix.c $(AK)\ |
| $(pipe__h) $(string__h) $(time__h)\ |
| $(gx_h) $(gsexit_h) $(gp_h) $(UNIX_AUX_MAK) $(MAKEDIRS) |
| - $(GLCCAUX) $(FONTCONFIG_CFLAGS) $(AUXO_)gp_unix.$(OBJ) $(C_) $(GLSRC)gp_unix.c |
| + $(GLCCAUX) $(AUXO_)gp_unix.$(OBJ) $(C_) $(GLSRC)gp_unix.c |
| |
| $(GLOBJ)gp_unix_cache.$(OBJ): $(GLSRC)gp_unix_cache.c $(AK)\ |
| $(stdio__h) $(string__h) $(time__h) $(gconfigd_h) $(gp_h) $(gsmd5_h)\ |
| @@ -96,7 +96,7 @@ MKROMFS_OBJS_0=$(MKROMFS_ZLIB_OBJS) $(AUX)gpmisc.$(OBJ) $(AUX)gp_getnv.$(OBJ) \ |
| $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ) $(AUX)memento.$(OBJ) |
| |
| $(MKROMFS_XE)_0: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_0) $(UNIX_AUX_MAK) $(MAKEDIRS) |
| - $(CCAUX_) $(GENOPT) $(CFLAGS) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_0 $(MKROMFS_OBJS_0) $(AUXEXTRALIBS) |
| + $(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_0 $(MKROMFS_OBJS_0) $(AUXEXTRALIBS) |
| |
| # .... and one using the zlib library linked via the command line |
| MKROMFS_OBJS_1=$(AUX)gscdefs.$(OBJ) \ |
| @@ -105,7 +105,7 @@ MKROMFS_OBJS_1=$(AUX)gscdefs.$(OBJ) \ |
| $(AUX)gp_stdia.$(OBJ) $(AUX)gsutil.$(OBJ) |
| |
| $(MKROMFS_XE)_1: $(GLSRC)mkromfs.c $(MKROMFS_COMMON_DEPS) $(MKROMFS_OBJS_1) $(UNIX_AUX_MAK) $(MAKEDIRS) |
| - $(CCAUX_) $(GENOPT) $(CFLAGS) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_1 $(MKROMFS_OBJS_1) $(AUXEXTRALIBS) |
| + $(CCAUX_) $(GENOPTAUX) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE)_1 $(MKROMFS_OBJS_1) $(AUXEXTRALIBS) |
| |
| $(MKROMFS_XE): $(MKROMFS_XE)_$(SHARE_ZLIB) $(UNIX_AUX_MAK) $(MAKEDIRS) |
| $(CP_) $(MKROMFS_XE)_$(SHARE_ZLIB) $(MKROMFS_XE) |
| diff --git a/base/unix-end.mak b/base/unix-end.mak |
| index 093183b10d34..1d24a350d183 100644 |
| --- a/base/unix-end.mak |
| +++ b/base/unix-end.mak |
| @@ -51,7 +51,9 @@ gpdlclean: .cleansub |
| |
| # Define a rule for building profiling configurations. |
| PGDEFS=GENOPT='-DPROFILE' CFLAGS='$(CFLAGS_PROFILE) $(GCFLAGS) $(XCFLAGS)'\ |
| - LDFLAGS='$(XLDFLAGS) -pg' XLIBS='Xt SM ICE Xext X11' |
| + LDFLAGS='$(XLDFLAGS) -pg' XLIBS='Xt SM ICE Xext X11' GENOPTAUX='-DPROFILE' \ |
| + CFLAGSAUX='$(CFLAGSAUX_STANDARD) $(GCFLAGSAUX) $(XCFLAGSAUX)'\ |
| + LDFLAGSAUX='$(XLDFLAGSAUX)'' |
| |
| pg: |
| $(MAKE) $(SUB_MAKE_OPTION) $(PGDEFS) BUILDDIRPREFIX=$(PGDIRPREFIX) default |
| @@ -81,7 +83,8 @@ gpdlpgclean: |
| $(MAKE) $(SUB_MAKE_OPTION) $(PGDEFS) BUILDDIRPREFIX=$(PGDIRPREFIX) cleansub |
| |
| # Define a rule for building debugging configurations. |
| -DEBUGDEFS=GENOPT='-DDEBUG' CFLAGS='$(CFLAGS_DEBUG) $(GCFLAGS) $(XCFLAGS)' |
| +DEBUGDEFS=GENOPT='-DDEBUG' CFLAGS='$(CFLAGS_DEBUG) $(GCFLAGS) $(XCFLAGS)' \ |
| +GENOPTAUX= CFLAGSAUX='$(CFLAGSAUX_DEBUG) $(GCFLAGSAUX) $(XCFLAGSAUX)' |
| |
| |
| debug: |
| @@ -129,7 +132,8 @@ gpdldebugclean: |
| # Define a rule for building memento configurations. |
| MEMENTODEFS=GENOPT='-DMEMENTO -DDEBUG' \ |
| CFLAGS='$(CFLAGS_DEBUG) $(GCFLAGS) $(XCFLAGS)'\ |
| - BUILDDIRPREFIX=$(MEMENTODIRPREFIX) |
| + BUILDDIRPREFIX=$(MEMENTODIRPREFIX) GENOPTAUX='-DMEMENTO' \ |
| + CFLAGSAUX='$(CFLAGSAUX_DEBUG) $(GCFLAGSAUX) $(XCFLAGSAUX)' |
| |
| memento: |
| $(MAKE) $(SUB_MAKE_OPTION) $(MEMENTODEFS) default |
| diff --git a/configure.ac b/configure.ac |
| index b88f63380e3d..e3a7fdf5e369 100644 |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -30,6 +30,20 @@ CPPFLAGS="${CPPFLAGS:=}" |
| CXXFLAGS="${CXXFLAGS:=}" |
| LDFLAGS="${LDFLAGS:=}" |
| |
| +if test x"$cross_compiling" = x"yes"; then |
| + CFLAGSAUX="${CFLAGSAUX:=}" |
| + LDFLAGSAUX="${LDFLAGSAUX:=}" |
| +else |
| + CFLAGSAUX="${CFLAGSAUX:-$CFLAGS}" |
| + LDFLAGSAUX="${LDFLAGSAUX:-$LDFLAGS}" |
| +fi |
| + |
| +THEMAKEFILE="${MAKEFILE:-Makefile}" |
| +AUXFLAGS_MAK=auxflags.mak |
| + |
| +ARCH_AUTOCONF_HEADER=arch-config/arch_autoconf.h |
| +ARCH_AUTOCONF_HEADER_PROTO=arch/arch_autoconf.h.in |
| + |
| dnl -------------------------------------------------- |
| dnl List of non-threadsafe devices |
| dnl defined at the top of the file for ease of access |
| @@ -86,10 +100,87 @@ dnl -------------------------------------------------- |
| |
| dnl AC_PROG_CC likes to add '-g -O2' to CFLAGS. however, |
| dnl we ignore those flags and construct our own. |
| -save_cflags=$CFLAGS |
| +save_cflags="$CFLAGS" |
| AC_PROG_CC |
| AC_PROG_CPP |
| -CFLAGS=$save_cflags |
| +CFLAGS="$save_cflags" |
| + |
| +AUXFLAGS_MAK_LINE00="CCAUX=@CC@" |
| +AUXFLAGS_MAK_LINE01="GCFLAGSAUX=@CPPFLAGS@ @GCFLAGS@ @CFLAGS@" |
| +AUXFLAGS_MAK_LINE02="CAPOPTAUX=" |
| +AUXFLAGS_MAK_LINE03="CFLAGSAUX_STANDARD=@OPT_CFLAGS@" |
| +AUXFLAGS_MAK_LINE04="CFLAGSAUX_DEBUG=@DBG_CFLAGS@" |
| +AUXFLAGS_MAK_LINE05="CFLAGSAUX_PROFILE=-pg @OPT_CFLAGS@" |
| +AUXFLAGS_MAK_LINE06="LDFLAGSAUX=@LDFLAGS@" |
| +AUXFLAGS_MAK_LINE07="AUXEXTRALIBS=@LIBS@" |
| + |
| +GCFLAGSAUXTMP="\$(GCFLAGS)" |
| +CAPOPTAUXTMP="\$(CAPOPT)" |
| +CFLAGSAUX_STANDARDTMP="\$(CFLAGS_STANDARD)" |
| +CFLAGSAUX_DEBUGTMP="\$(CFLAGS_DEBUG)" |
| +CFLAGSAUX_PROFILETMP="\$(CFLAGS_PROFILE)" |
| +LDFLAGSAUXTMP="\$(LDFLAGS)" |
| +AUXEXTRALIBSTMP="\$(EXTRALIBS)" |
| + |
| + |
| +# purposefully do not include "help" output for this |
| +AC_ARG_ENABLE([save_confaux]) |
| + |
| +if test x"$CCAUX" != x"" ; then |
| + # rerun configure for the AUX tools, disabling a load of tests not relevant for CCAUX |
| + olddir=`pwd` |
| + if test x"$enable_save_confaux" = x"yes"; then |
| + CONFAUXDIR=auxtmp |
| + else |
| + CONFAUXDIR=auxtmp$RANDOM$RANDOM |
| + fi |
| + mkdir $CONFAUXDIR |
| + cd $CONFAUXDIR |
| + echo -e $AUXFLAGS_MAK_CONTENTS > $AUXFLAGS_MAK.in |
| + echo $AUXFLAGS_MAK_LINE00 > $AUXFLAGS_MAK.in |
| + echo $AUXFLAGS_MAK_LINE01 >> $AUXFLAGS_MAK.in |
| + echo $AUXFLAGS_MAK_LINE02 >> $AUXFLAGS_MAK.in |
| + echo $AUXFLAGS_MAK_LINE03 >> $AUXFLAGS_MAK.in |
| + echo $AUXFLAGS_MAK_LINE04 >> $AUXFLAGS_MAK.in |
| + echo $AUXFLAGS_MAK_LINE05 >> $AUXFLAGS_MAK.in |
| + echo $AUXFLAGS_MAK_LINE06 >> $AUXFLAGS_MAK.in |
| + echo $AUXFLAGS_MAK_LINE07 >> $AUXFLAGS_MAK.in |
| + |
| + ../$0 CC="$CCAUX" CFLAGS="$CFLAGSAUX" LDFLAGS="$LDFLAGSAUX" CCAUX= CFLAGSAUX= CFLAGSAUX= MAKEFILE=$AUXFLAGS_MAK --host= --build= --without-libtiff --disable-contrib --disable-fontconfig --disable-dbus --disable-freetype --disable-fapi --disable-cups --disable-openjpeg --disable-gtk --with-libiconv=no --without-libidn --without-libpaper --without-pdftoraster --without-ijs --without-luratech --without-jbig2dec --without-x --with-drivers="" |
| + status=$? |
| + cp config.log ../configaux.log |
| + if test $status -eq 0 ; then |
| + CCAUX=$(grep CCAUX $AUXFLAGS_MAK | sed "s/\bCCAUX=//g") |
| + GCFLAGSAUXTMP=$(grep GCFLAGSAUX $AUXFLAGS_MAK | sed "s/\bGCFLAGSAUX=//g") |
| + CAPOPTAUXTMP=$(grep CAPOPTAUX $AUXFLAGS_MAK | sed "s/\bCAPOPTAUX=//g") |
| + CFLAGSAUX_STANDARDTMP=$(grep CFLAGSAUX_STANDARD $AUXFLAGS_MAK | sed "s/\bCFLAGSAUX_STANDARD=//g") |
| + CFLAGSAUX_DEBUGTMP=$(grep CFLAGSAUX_DEBUG $AUXFLAGS_MAK | sed "s/\bCFLAGSAUX_DEBUG=//g") |
| + CFLAGS_PROFILETMP=$(grep CFLAGS_PROFILE $AUXFLAGS_MAK | sed "s/\bCFLAGS_PROFILE=//g") |
| + LDFLAGSAUXTMP=$(grep LDFLAGSAUX $AUXFLAGS_MAK | sed "s/\bLDFLAGSAUX=//g") |
| + AUXEXTRALIBSTMP=$(grep AUXEXTRALIBS$ $AUXFLAGS_MAK | sed "s/\bAUXEXTRALIBS$=//g") |
| + fi |
| + cd $olddir |
| + |
| + if test x"$enable_save_confaux" != x"yes"; then |
| + rm -rf $CONFAUXDIR |
| + fi |
| + |
| + if test $status -ne 0 ; then |
| + AC_MSG_ERROR([Recursive call to configure (for auxiliary tools) script failed], $status) |
| + fi |
| +fi |
| + |
| +GCFLAGSAUX=$GCFLAGSAUXTMP |
| +CAPOPTAUX=$CAPOPTAUXTMP |
| +CFLAGSAUX_STANDARD=$CFLAGSAUX_STANDARDTMP |
| +CFLAGSAUX_DEBUG=$CFLAGSAUX_DEBUGTMP |
| +CFLAGS_PROFILE=$CFLAGS_PROFILETMP |
| +LDFLAGSAUX=$LDFLAGSAUXTMP |
| +AUXEXTRALIBS=$AUXEXTRALIBSTMP |
| + |
| +# we have to do this here in case it took |
| +# AC_PROG_CC to set CC (as it usually does) |
| +CCAUX="${CCAUX:-$CC}" |
| |
| AC_PROG_SED |
| dnl See if it is GNU sed or else. |
| @@ -106,29 +197,64 @@ AC_PROG_RANLIB |
| #AC_PROG_INSTALL |
| |
| dnl pkg-config is used for several tests now... |
| -AC_PATH_PROG(PKGCONFIG, pkg-config) |
| +AC_PATH_TOOL(PKGCONFIG, pkg-config) |
| + |
| +# this is an unpleasant hack |
| +# but if we are cross compiling, and there isn't a matching |
| +# pkconfig for the --host setting, then don't use the 'local' |
| +# pkconfig at all |
| +if test x"$cross_compiling" = x"yes"; then |
| + AC_PATH_PROG(BUILD_PKGCONFIG, pkg-config) |
| + if test x"$BUILD_PKGCONFIG" = x"$PKGCONFIG" ; then |
| + PKGCONFIG= |
| + fi |
| +fi |
| + |
| +AC_PATH_TOOL(STRIP_XE, strip) |
| + |
| +# this is an unpleasant hack |
| +# but if we are cross compiling, and there isn't a matching |
| +# pkconfig for the --host setting, then don't use the 'local' |
| +# pkconfig at all |
| +if test x"$cross_compiling" = x"yes"; then |
| + AC_PATH_PROG(BUILD_STRIP_XE, strip) |
| + if test x"$BUILD_STRIP_XE" = x"$STRIP_XE" ; then |
| + STRIP_XE= |
| + fi |
| +fi |
| |
| dnl -------------------------------------------------- |
| dnl Allow excluding the contributed drivers |
| -dnl -------------------------------------------------- |
| +dnl -------------------------------------------------- |
| + |
| +AC_ARG_ENABLE([contrib], AC_HELP_STRING([--disable-contrib], [Do not include contributed drivers])) |
| |
| -AC_ARG_ENABLE([contrib], AC_HELP_STRING([--disable-contrib], |
| - [Do not include contributed drivers])) |
| CONTRIBINCLUDE="include $srcdir/contrib/contrib.mak" |
| INSTALL_CONTRIB="install-contrib-extras" |
| |
| -case `uname` in |
| - MINGW*|MSYS*) |
| - AC_MSG_WARN([disabling contrib devices]) |
| - enable_contrib=no |
| - ;; |
| - *) |
| +if test x"$enable_contrib" = x; then |
| + if test x"$cross_compiling" = x"yes"; then |
| + enable_contrib= |
| + else |
| + case `uname` in |
| + MINGW*|MSYS*) |
| + AC_MSG_WARN([disabling contrib devices]) |
| + enable_contrib=no |
| + ;; |
| + *) |
| + ;; |
| + esac |
| + fi |
| +fi |
| + |
| +if test x"$enable_contrib" != x"no"; then |
| # This is just an arbitrary file in contrib to check |
| - if ! test -f $srcdir/contrib/gdevbjc_.c; then |
| + if test -f $srcdir/contrib/gdevbjc_.c; then |
| + enable_contrib=yes |
| + else |
| enable_contrib=no |
| fi |
| - ;; |
| -esac |
| +fi |
| |
| if test x$enable_contrib = xno; then |
| CONTRIBINCLUDE="" |
| @@ -147,7 +273,13 @@ dnl -------------------------------------------------- |
| CC_OPT_FLAGS_TO_TRY="-O" |
| SET_DT_SONAME="-soname=" |
| |
| -case `uname` in |
| +if test x"$cross_compiling" = x"yes"; then |
| + if test $ac_cv_prog_gcc = yes; then |
| + CC_OPT_FLAGS_TO_TRY="-O2" |
| + CC_DBG_FLAGS_TO_TRY="-gdwarf-2 -g3 -O0" |
| + fi |
| +else |
| + case `uname` in |
| Linux*|GNU*) |
| if test $ac_cv_prog_gcc = yes; then |
| CC_OPT_FLAGS_TO_TRY="-O2" |
| @@ -187,7 +319,8 @@ case `uname` in |
| SET_DT_SONAME="so" |
| fi |
| ;; |
| -esac |
| + esac |
| +fi |
| |
| AC_SUBST(SET_DT_SONAME) |
| |
| @@ -205,16 +338,28 @@ else |
| dbgflags_to_try="$CC_DBG_FLAGS_TO_TRY" |
| fi |
| |
| + |
| +AC_ARG_WITH([arch_h], AC_HELP_STRING([--with-arch_h=<arch.h to use>], |
| + [Use a custom arch.h (must be an absolute path)]),[], [with_arch_h=]) |
| + |
| ARCH_CONF_HEADER= |
| |
| -case `uname` in |
| - Darwin*) |
| - ARCH_CONF_HEADER="\$(GLSRCDIR)/../arch/osx-x86-x86_64-ppc-gcc.h" |
| - ;; |
| - *) |
| - ARCH_CONF_HEADER= |
| - ;; |
| -esac |
| +if test x"$with_arch_h" = x""; then |
| + if test x"$cross_compiling" = x"yes"; then |
| + ARCH_CONF_HEADER="\$(GLSRCDIR)/../$ARCH_AUTOCONF_HEADER" |
| + else |
| + case `uname` in |
| + Darwin*) |
| + ARCH_CONF_HEADER="\$(GLSRCDIR)/../arch/osx-x86-x86_64-ppc-gcc.h" |
| + ;; |
| + *) |
| + ARCH_CONF_HEADER= |
| + ;; |
| + esac |
| + fi |
| +else |
| + ARCH_CONF_HEADER=$with_arch_h |
| +fi |
| |
| AC_SUBST(ARCH_CONF_HEADER) |
| |
| @@ -228,7 +373,7 @@ AC_SUBST(ARCH_CONF_HEADER) |
| |
| AC_MSG_CHECKING([supported compiler flags]) |
| old_cflags=$CFLAGS |
| -echo |
| + |
| for flag in $optflags_to_try; do |
| CFLAGS="$CFLAGS $flag" |
| AC_TRY_COMPILE(, [return 0;], [ |
| @@ -246,7 +391,7 @@ for flag in $cflags_to_try; do |
| CFLAGS=$old_cflags |
| done |
| old_cflags=$CFLAGS |
| -echo |
| + |
| for flag in $dbgflags_to_try; do |
| CFLAGS="$CFLAGS $flag" |
| AC_TRY_COMPILE(, [return 0;], [ |
| @@ -406,18 +551,22 @@ if test x"$large_color_index" != "x0"; then |
| AC_CHECK_SIZEOF(unsigned long long) |
| if test $ac_cv_sizeof_unsigned_long_long = 8; then |
| color_ind_type="unsigned long long" |
| + color_ind_size=$ac_cv_sizeof_unsigned_long_long |
| else |
| AC_CHECK_SIZEOF(unsigned long int) |
| if test $ac_cv_sizeof_unsigned_long_int = 8; then |
| color_ind_type="unsigned long int" |
| + color_ind_size=$ac_cv_sizeof_unsigned_long_int |
| else |
| AC_CHECK_SIZEOF(unsigned __int64) |
| if test $ac_cv_sizeof_unsigned___int64 = 8; then |
| color_ind_type="unsigned __int64" |
| + color_ind_size=$ac_cv_sizeof_unsigned___int64 |
| else |
| AC_CHECK_SIZEOF(u_int64_t) |
| if test $ac_cv_sizeof_u_int64_t = 8; then |
| color_ind_type="u_int64_t" |
| + color_ind_size=$ac_cv_sizeof_u_int64_t |
| fi |
| fi |
| fi |
| @@ -428,18 +577,22 @@ else |
| AC_CHECK_SIZEOF(unsigned long int) |
| if test $ac_cv_sizeof_unsigned_long_int = 4; then |
| color_ind_type="unsigned long int" |
| + color_ind_size=$ac_cv_sizeof_unsigned_long_int |
| else |
| AC_CHECK_SIZEOF(unsigned int) |
| if test $ac_cv_sizeof_unsigned_int = 4; then |
| color_ind_type="unsigned int" |
| + color_ind_size=$ac_cv_sizeof_unsigned_int |
| else |
| AC_CHECK_SIZEOF(unsigned __int32) |
| if test $ac_cv_sizeof_unsigned___int32 = 4; then |
| color_ind_type="unsigned __int32" |
| + color_in_size=$ac_cv_sizeof_unsigned___int32 |
| else |
| AC_CHECK_SIZEOF(u_int32_t) |
| if test $ac_cv_sizeof_u_int32_t = 4; then |
| color_ind_type="u_int32_t" |
| + color_ind_size=$ac_cv_sizeof_u_int32_t |
| fi |
| fi |
| fi |
| @@ -450,8 +603,13 @@ dnl if a suitable type wasn't found above, we fall back to |
| dnl a default in genarch. |
| if test "$color_ind_type" != "none"; then |
| GCFLAGS="$GCFLAGS -DGX_COLOR_INDEX_TYPE=\"$color_ind_type\"" |
| + ARCH_SIZEOF_GX_COLOR_INDEX=$color_ind_size |
| fi |
| |
| +AC_SUBST(ARCH_SIZEOF_GX_COLOR_INDEX) |
| + |
| + |
| + |
| dnl -------------------------------------------------- |
| dnl Set options that we want to pass into all other |
| dnl configure scripts we might call |
| @@ -459,8 +617,12 @@ dnl -------------------------------------------------- |
| |
| SUBCONFIG_OPTS="" |
| |
| -if test x$build_alias != x; then |
| -SUBCONFIG_OPTS="$SUBCONFIG_OPTS --build=$build_alias" |
| +if test x"$build_alias" != x""; then |
| + SUBCONFIG_OPTS="$SUBCONFIG_OPTS --build=$build_alias" |
| +fi |
| + |
| +if test x"$host_alias" != x""; then |
| + SUBCONFIG_OPTS="$SUBCONFIG_OPTS --host=$host_alias" |
| fi |
| |
| dnl -------------------------------------------------- |
| @@ -493,46 +655,39 @@ AC_ARG_ENABLE([threading], AC_HELP_STRING([--disable-threading], |
| # if you haven't got pread/pwrite, we can't use multithreading |
| if test "x$HAVE_PREAD_PWRITE" != "x"; then |
| if test "$enable_threading" != "no"; then |
| - case `uname` in |
| - MINGW*|MSYS*) |
| - AC_MSG_WARN([disabling support for pthreads......]) |
| - ;; |
| - *) |
| - AC_CHECK_LIB(pthread, pthread_create, [ |
| - SYNC=posync; |
| - PTHREAD_LIBS="-lpthread" |
| - ]) |
| - AC_MSG_CHECKING([recursive mutexes.......]) |
| - AC_TRY_COMPILE([#include <pthread.h>], |
| - [ |
| - static int k = PTHREAD_MUTEX_RECURSIVE; |
| - #ifndef pthread_mutexattr_settype |
| - #ifdef __cplusplus |
| - (void) pthread_mutexattr_settype; |
| - #else |
| - (void) pthread_mutexattr_settype; |
| - #endif |
| - #endif |
| - ; |
| - return 0; |
| - ], |
| - [RECURSIVE_MUTEXATTR="-DGS_RECURSIVE_MUTEXATTR=PTHREAD_MUTEX_RECURSIVE"], |
| - [AC_TRY_COMPILE([#include <pthread.h>], |
| - [ |
| - static int k = PTHREAD_MUTEX_RECURSIVE_NP; |
| - #ifndef pthread_mutexattr_settype |
| - #ifdef __cplusplus |
| - (void) pthread_mutexattr_settype; |
| - #else |
| - (void) pthread_mutexattr_settype; |
| - #endif |
| - #endif |
| - ; |
| - return 0; |
| - ], |
| - [RECURSIVE_MUTEXATTR="-DGS_RECURSIVE_MUTEXATTR=PTHREAD_MUTEX_RECURSIVE_NP"])]) |
| - ;; |
| - esac |
| + AC_CHECK_LIB(pthread, pthread_create, [ |
| + SYNC=posync; |
| + PTHREAD_LIBS="-lpthread" |
| + ]) |
| + AC_MSG_CHECKING([recursive mutexes.......]) |
| + AC_TRY_COMPILE([#include <pthread.h>], |
| + [ |
| + static int k = PTHREAD_MUTEX_RECURSIVE; |
| + #ifndef pthread_mutexattr_settype |
| + #ifdef __cplusplus |
| + (void) pthread_mutexattr_settype; |
| + #else |
| + (void) pthread_mutexattr_settype; |
| + #endif |
| + #endif |
| + ; |
| + return 0; |
| + ], |
| + [RECURSIVE_MUTEXATTR="-DGS_RECURSIVE_MUTEXATTR=PTHREAD_MUTEX_RECURSIVE"], |
| + [AC_TRY_COMPILE([#include <pthread.h>], |
| + [ |
| + static int k = PTHREAD_MUTEX_RECURSIVE_NP; |
| + #ifndef pthread_mutexattr_settype |
| + #ifdef __cplusplus |
| + (void) pthread_mutexattr_settype; |
| + #else |
| + (void) pthread_mutexattr_settype; |
| + #endif |
| + #endif |
| + ; |
| + return 0; |
| + ], |
| + [RECURSIVE_MUTEXATTR="-DGS_RECURSIVE_MUTEXATTR=PTHREAD_MUTEX_RECURSIVE_NP"])]) |
| fi |
| fi |
| |
| @@ -983,9 +1138,17 @@ AC_SUBST(LCMS2DIR) |
| |
| dnl look for libtiff, it also requires lib |
| dnl png for the png output device; it also requires zlib |
| +AC_ARG_WITH([libtiff], AC_HELP_STRING([--without-libtiff], |
| + [disable use of libtiff]), with_libtiff=no) |
| + |
| AC_ARG_WITH([system-libtiff], AC_HELP_STRING([--with-system-libtiff], |
| [Force using the systems libtiff]), |
| [], [with_system_libtiff=check]) |
| + |
| +if test x"$with_libtiff" = x"no" ; then |
| + with_system_libtiff=none |
| +fi |
| + |
| TIFFDEVS='' |
| FAX_DEVS='' |
| XPSWRITEDEVICE='' |
| @@ -1073,10 +1236,11 @@ case "x$with_system_libtiff" in |
| AC_MSG_NOTICE([Could not find local copy of libtiff. Disabling tiff and xps output devices.]) |
| fi |
| ;; |
| + xnone) |
| + ;; |
| esac |
| |
| -if test $SHARE_LIBTIFF -eq 0; then |
| - echo |
| +if test x"$SHARE_LIBTIFF" = x"0" ; then |
| echo "Running libtiff configure script..." |
| olddir=`pwd` |
| if ! test -d "$LIBTIFFCONFDIR" ; then |
| @@ -1084,7 +1248,7 @@ if test $SHARE_LIBTIFF -eq 0; then |
| fi |
| cd "$LIBTIFFCONFDIR" && ../"$LIBTIFFDIR"/configure --disable-jbig --disable-lzma $SUBCONFIG_OPTS |
| status=$? |
| - if test "$status" -ne 0 ; then |
| + if test $status -ne 0 ; then |
| AC_MSG_ERROR([libtiff configure script failed], $status) |
| fi |
| cd "$olddir" |
| @@ -1138,7 +1302,15 @@ if ( test -d $srcdir/cups ); then |
| CUPS_DIR="$srcdir/cups" |
| if test x$enable_cups != xno; then |
| if test x$with_local_cups != xyes; then |
| - AC_PATH_PROG(CUPSCONFIG,cups-config) |
| + if test x"$CUPSCONFIG" = x""; then |
| + AC_PATH_TOOL(CUPSCONFIG,cups-config) |
| + if test x"$cross_compiling" = x"yes"; then |
| + AC_PATH_PROG(BUILD_CUPSCONFIG, cups-config) |
| + if test x"$BUILD_CUPSCONFIG" = x"$CUPSCONFIG" ; then |
| + CUPSCONFIG= |
| + fi |
| + fi |
| + fi |
| # check for a libcups header |
| AC_CHECK_HEADER([cups/cups.h],[],[CUPSCONFIG=""]) |
| # And check for a libcupsimage header |
| @@ -1177,7 +1349,6 @@ if ( test -d $srcdir/cups ); then |
| CUPSINCLUDE="include $srcdir/cups/cups.mak" |
| CUPSDEV="cups" |
| |
| - echo "\n\n\n $CUPSAPIVERSION \n\n\n" |
| # pwgraster support arrived in cups 1.5.x |
| if test "$CUPSAPIVERSION" ">" "1.4" ; then |
| CUPSDEV="$CUPSDEV pwgraster" |
| @@ -1194,15 +1365,13 @@ if ( test -d $srcdir/cups ); then |
| fi |
| fi |
| else |
| - if test "$(uname)" = "Linux"; then |
| - AC_MSG_WARN([* USING LOCAL CUPS SOURCE *]) |
| - SHARELCUPS=0 |
| - SHARELCUPSI=0 |
| - LCUPSBUILDTYPE=linux |
| - LCUPSINCLUDE="include \$(GLSRCDIR)/lcups.mak" |
| - LCUPSIINCLUDE="include \$(GLSRCDIR)/lcupsi.mak" |
| - CUPSDEV="cups pwgraster" |
| - fi |
| + AC_MSG_WARN([USING LOCAL CUPS SOURCE]) |
| + SHARELCUPS=0 |
| + SHARELCUPSI=0 |
| + LCUPSBUILDTYPE=linux |
| + LCUPSINCLUDE="include \$(GLSRCDIR)/lcups.mak" |
| + LCUPSIINCLUDE="include \$(GLSRCDIR)/lcupsi.mak" |
| + CUPSDEV="cups pwgraster" |
| fi |
| fi |
| fi |
| @@ -1231,15 +1400,16 @@ dnl look for IJS implementation |
| AC_ARG_WITH([ijs], AC_HELP_STRING([--without-ijs], |
| [disable IJS driver support])) |
| |
| -case `uname` in |
| +if test x"$cross_compiling" != x"yes"; then |
| + case `uname` in |
| MINGW*|MSYS*) |
| AC_MSG_WARN([disabling the ijs device]) |
| with_ijs=no |
| ;; |
| *) |
| ;; |
| -esac |
| - |
| + esac |
| +fi |
| |
| dnl set safe defaults |
| IJSDIR=src |
| @@ -1291,21 +1461,29 @@ if test x$with_luratech != xno; then |
| SHARE_JBIG2=0 |
| JBIG2DIR=$srcdir/luratech/ldf_jb2 |
| |
| - case `uname` in |
| - Darwin*) |
| - JBIG2_AUTOCONF_CFLAGS="-DUSE_LDF_JB2 -DMAC -DMAC_OS_X_BUILD" |
| - ;; |
| - AIX) |
| - if test $ac_cv_prog_gcc = yes; then |
| - JBIG2_AUTOCONF_CFLAGS="-DUSE_LDF_JB2 -fsigned-char -DLINUX" |
| + if test x"$cross_compiling" = x"yes"; then |
| + if test x"$JBIG2_CFLAGS" != x""; then |
| + JBIG2_AUTOCONF_CFLAGS="-DUSE_LDF_JB2 $JBIG2_CFLAGS" |
| else |
| - JBIG2_AUTOCONF_CFLAGS="-DUSE_LDF_JB2 -qchars=signed -DLINUX" |
| + JBIG2_AUTOCONF_CFLAGS="-DUSE_LDF_JB2 -DLINUX" |
| fi |
| - ;; |
| - *) |
| - JBIG2_AUTOCONF_CFLAGS="-DUSE_LDF_JB2 -DLINUX" |
| - ;; |
| - esac |
| + else |
| + case `uname` in |
| + Darwin*) |
| + JBIG2_AUTOCONF_CFLAGS="-DUSE_LDF_JB2 -DMAC -DMAC_OS_X_BUILD" |
| + ;; |
| + AIX) |
| + if test $ac_cv_prog_gcc = yes; then |
| + JBIG2_AUTOCONF_CFLAGS="-DUSE_LDF_JB2 -fsigned-char -DLINUX" |
| + else |
| + JBIG2_AUTOCONF_CFLAGS="-DUSE_LDF_JB2 -qchars=signed -DLINUX" |
| + fi |
| + ;; |
| + *) |
| + JBIG2_AUTOCONF_CFLAGS="-DUSE_LDF_JB2 -DLINUX" |
| + ;; |
| + esac |
| + fi |
| |
| JBIG2FILEDEVS='$(DD)gdevjbig2.dev' |
| JBIG2DEVS='$(PSD)jbig2.dev' |
| @@ -1366,7 +1544,6 @@ if test "x$JBIG2_DECODER" = x; then |
| JBIG2_AUTOCONF_CFLAGS="$JBIG2_AUTOCONF_CFLAGS -DWORDS_BIGENDIAN" |
| fi |
| |
| - echo |
| AC_MSG_RESULT([$JBIG2DIR]) |
| echo "Continuing with Ghostscript configuration..." |
| else |
| @@ -1413,22 +1590,29 @@ if test x$with_luratech != xno; then |
| SHARE_JPX=0 |
| JPXDIR=$srcdir/luratech/lwf_jp2 |
| |
| - case `uname` in |
| - Darwin*) |
| - JPX_AUTOCONF_CFLAGS="-DUSE_LWF_JP2 -DMAC -DMAC_OS_X_BUILD" |
| - ;; |
| - AIX) |
| - if test $ac_cv_prog_gcc = yes; then |
| - JPX_AUTOCONF_CFLAGS="-DUSE_LWF_JP2 -fsigned-char -DLINUX" |
| + if test x"$cross_compiling" = x"yes"; then |
| + if test x"$JPX_CFLAGS" != x""; then |
| + JPX_AUTOCONF_CFLAGS="-DUSE_LWF_JP2 $JPX_CFLAGS" |
| else |
| - JPX_AUTOCONF_CFLAGS="-DUSE_LWF_JP2 -qchars=signed -DLINUX" |
| + JPX_AUTOCONF_CFLAGS="-DUSE_LWF_JP2 -DLINUX" |
| fi |
| - ;; |
| - *) |
| - JPX_AUTOCONF_CFLAGS="-DUSE_LWF_JP2 -DLINUX" |
| - ;; |
| - esac |
| - |
| + else |
| + case `uname` in |
| + Darwin*) |
| + JPX_AUTOCONF_CFLAGS="-DUSE_LWF_JP2 -DMAC -DMAC_OS_X_BUILD" |
| + ;; |
| + AIX) |
| + if test $ac_cv_prog_gcc = yes; then |
| + JPX_AUTOCONF_CFLAGS="-DUSE_LWF_JP2 -fsigned-char -DLINUX" |
| + else |
| + JPX_AUTOCONF_CFLAGS="-DUSE_LWF_JP2 -qchars=signed -DLINUX" |
| + fi |
| + ;; |
| + *) |
| + JPX_AUTOCONF_CFLAGS="-DUSE_LWF_JP2 -DLINUX" |
| + ;; |
| + esac |
| + fi |
| JPXDEVS='$(PSD)jpx.dev' |
| else |
| AC_MSG_RESULT([no]) |
| @@ -2056,97 +2240,109 @@ SO_LIB_EXT=".so" |
| DLL_EXT="" |
| SO_LIB_VERSION_SEPARATOR="." |
| |
| -case `uname` in |
| - Linux*|GNU*) |
| - DYNAMIC_CFLAGS="-fPIC" |
| - DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GS_SONAME_MAJOR)" |
| - if test $ac_cv_prog_gcc = yes; then |
| - # GCC high level flag |
| - DYNAMIC_LIBS="-rdynamic" |
| - else |
| - DYNAMIC_LIBS="" |
| - fi |
| - SO_LIB_EXT=".so" |
| - ;; |
| - MINGW*|MSYS*) |
| - DYNAMIC_CFLAGS="" |
| - DYNAMIC_LDFLAGS="-shared -Wl,--out-implib=\$(BINDIR)/lib\$(GS_SO_BASE).dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import" |
| - SO_LIB_EXT="" |
| - DLL_EXT=".dll" |
| - SO_LIB_VERSION_SEPARATOR="-" |
| - ;; |
| - *BSD) |
| - DYNAMIC_CFLAGS="-fPIC" |
| - DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GS_SONAME_MAJOR)" |
| - DYNAMIC_LIBS="" |
| - SO_LIB_EXT=".so" |
| - ;; |
| - Darwin*) |
| - DYNAMIC_LDFLAGS="-dynamiclib -install_name \$(GS_SONAME_MAJOR_MINOR)" |
| - DYNAMIC_LIBS="" |
| - SO_LIB_EXT=".dylib" |
| - ;; |
| - SunOS) |
| - if test $ac_cv_prog_gcc = yes; then |
| +if test x"$cross_compiling" = x"yes"; then |
| + DYNAMIC_CFLAGS="-fPIC" |
| + DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GS_SONAME_MAJOR)" |
| + if test $ac_cv_prog_gcc = yes; then |
| + # GCC high level flag |
| + DYNAMIC_LIBS="-rdynamic" |
| + else |
| + DYNAMIC_LIBS="" |
| + fi |
| + SO_LIB_EXT=".so" |
| +else |
| + case `uname` in |
| + Linux*|GNU*) |
| DYNAMIC_CFLAGS="-fPIC" |
| - else |
| - DYNAMIC_CFLAGS="-KPIC" |
| - fi |
| + DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GS_SONAME_MAJOR)" |
| + if test $ac_cv_prog_gcc = yes; then |
| + # GCC high level flag |
| + DYNAMIC_LIBS="-rdynamic" |
| + else |
| + DYNAMIC_LIBS="" |
| + fi |
| + SO_LIB_EXT=".so" |
| + ;; |
| + MINGW*|MSYS*) |
| + DYNAMIC_CFLAGS="" |
| + DYNAMIC_LDFLAGS="-shared -Wl,--out-implib=\$(BINDIR)/lib\$(GS_SO_BASE).dll.a -Wl,--export-all-symbols -Wl,--enable-auto-import" |
| + SO_LIB_EXT="" |
| + DLL_EXT=".dll" |
| + SO_LIB_VERSION_SEPARATOR="-" |
| + ;; |
| + *BSD) |
| + DYNAMIC_CFLAGS="-fPIC" |
| + DYNAMIC_LDFLAGS="-shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GS_SONAME_MAJOR)" |
| + DYNAMIC_LIBS="" |
| + SO_LIB_EXT=".so" |
| + ;; |
| + Darwin*) |
| + DYNAMIC_LDFLAGS="-dynamiclib -install_name \$(GS_SONAME_MAJOR_MINOR)" |
| + DYNAMIC_LIBS="" |
| + SO_LIB_EXT=".dylib" |
| + ;; |
| + SunOS) |
| + if test $ac_cv_prog_gcc = yes; then |
| + DYNAMIC_CFLAGS="-fPIC" |
| + else |
| + DYNAMIC_CFLAGS="-KPIC" |
| + fi |
| |
| - DYNAMIC_LDFLAGS="-G -shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GS_SONAME_MAJOR)" |
| - DYNAMIC_LIBS="" |
| - SO_LIB_EXT=".so" |
| - ;; |
| - AIX) |
| - DYNAMIC_CFLAGS="-fPIC" |
| - GCFLAGS="-Wl,-brtl $GCFLAGS" |
| - DYNAMIC_LDFLAGS="-shared -Wl,-brtl,-G -fPIC" |
| - SO_LIB_EXT=".so" |
| - ;; |
| -esac |
| + DYNAMIC_LDFLAGS="-G -shared -Wl,\$(LD_SET_DT_SONAME)\$(LDFLAGS_SO_PREFIX)\$(GS_SONAME_MAJOR)" |
| + DYNAMIC_LIBS="" |
| + SO_LIB_EXT=".so" |
| + ;; |
| + AIX) |
| + DYNAMIC_CFLAGS="-fPIC" |
| + GCFLAGS="-Wl,-brtl $GCFLAGS" |
| + DYNAMIC_LDFLAGS="-shared -Wl,-brtl,-G -fPIC" |
| + SO_LIB_EXT=".so" |
| + ;; |
| + esac |
| +fi |
| |
| AC_ARG_ENABLE([dynamic], AC_HELP_STRING([--enable-dynamic], |
| [Enable dynamically loaded drivers]), |
| [ |
| - if test "x$enable_dynamic" != xno; then |
| - case `uname` in |
| - Linux*|GNU*) |
| - INSTALL_SHARED="install-shared" |
| - if test "x$X_DEVS" != x; then |
| - DYNAMIC_DEVS="\$(GLOBJDIR)/X11.so" |
| - else |
| - DYNAMIC_DEVS="" |
| - fi |
| - DYNAMIC_FLAGS="-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\\\"\$(gssharedir)\\\"" |
| - X11_DEVS="" |
| - OPT_CFLAGS="$DYNAMIC_CFLAGS $OPT_CFLAGS" |
| - DBG_CFLAGS="$DYNAMIC_CFLAGS $DBG_CFLAGS" |
| - ;; |
| - *BSD) |
| - DYNAMIC_DEVS="\$(GLOBJDIR)/X11.so" |
| - DYNAMIC_FLAGS="-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\\\"\$(gssharedir)\\\"" |
| - X11_DEVS="" |
| - OPT_CFLAGS="$DYNAMIC_CFLAGS $OPT_CFLAGS" |
| - DBG_CFLAGS="$DYNAMIC_CFLAGS $DBG_CFLAGS" |
| - ;; |
| - Darwin*) |
| - INSTALL_SHARED="install-shared" |
| - DYNAMIC_FLAGS="-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\\\"\$(gssharedir)\\\"" |
| - X11_DEVS="" |
| - OPT_CFLAGS="$DYNAMIC_CFLAGS $OPT_CFLAGS" |
| - DBG_CFLAGS="$DYNAMIC_CFLAGS $DBG_CFLAGS" |
| - ;; |
| - SunOS) |
| - DYNAMIC_DEVS="\$(GLOBJDIR)/X11.so" |
| - DYNAMIC_FLAGS="-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\\\"\$(gssharedir)\\\"" |
| - OPT_CFLAGS="$DYNAMIC_CFLAGS $OPT_CFLAGS" |
| - DBG_CFLAGS="$DYNAMIC_CFLAGS $DBG_CFLAGS" |
| - ;; |
| - *) |
| - AC_MSG_ERROR([Sorry, dynamic driver support not available on this platform!]) |
| - ;; |
| - esac |
| - fi |
| + if test "x$enable_dynamic" != xno; then |
| + case `uname` in |
| + Linux*|GNU*) |
| + INSTALL_SHARED="install-shared" |
| + if test "x$X_DEVS" != x; then |
| + DYNAMIC_DEVS="\$(GLOBJDIR)/X11.so" |
| + else |
| + DYNAMIC_DEVS="" |
| + fi |
| + DYNAMIC_FLAGS="-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\\\"\$(gssharedir)\\\"" |
| + X11_DEVS="" |
| + OPT_CFLAGS="$DYNAMIC_CFLAGS $OPT_CFLAGS" |
| + DBG_CFLAGS="$DYNAMIC_CFLAGS $DBG_CFLAGS" |
| + ;; |
| + *BSD) |
| + DYNAMIC_DEVS="\$(GLOBJDIR)/X11.so" |
| + DYNAMIC_FLAGS="-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\\\"\$(gssharedir)\\\"" |
| + X11_DEVS="" |
| + OPT_CFLAGS="$DYNAMIC_CFLAGS $OPT_CFLAGS" |
| + DBG_CFLAGS="$DYNAMIC_CFLAGS $DBG_CFLAGS" |
| + ;; |
| + Darwin*) |
| + INSTALL_SHARED="install-shared" |
| + DYNAMIC_FLAGS="-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\\\"\$(gssharedir)\\\"" |
| + X11_DEVS="" |
| + OPT_CFLAGS="$DYNAMIC_CFLAGS $OPT_CFLAGS" |
| + DBG_CFLAGS="$DYNAMIC_CFLAGS $DBG_CFLAGS" |
| + ;; |
| + SunOS) |
| + DYNAMIC_DEVS="\$(GLOBJDIR)/X11.so" |
| + DYNAMIC_FLAGS="-DGS_DEVS_SHARED -DGS_DEVS_SHARED_DIR=\\\"\$(gssharedir)\\\"" |
| + OPT_CFLAGS="$DYNAMIC_CFLAGS $OPT_CFLAGS" |
| + DBG_CFLAGS="$DYNAMIC_CFLAGS $DBG_CFLAGS" |
| + ;; |
| + *) |
| + AC_MSG_ERROR([Sorry, dynamic driver support not available on this platform!]) |
| + ;; |
| + esac |
| + fi |
| ]) |
| |
| AC_SUBST(DYNAMIC_CFLAGS) |
| @@ -2441,7 +2637,9 @@ AUXDIRPOSTFIX="" |
| case `uname` in |
| MINGW*|MSYS*) |
| AUXDIRPOSTFIX="_" |
| - CFLAGS="-DGS_NO_UTF8=1 $CFLAGS" |
| + if test x"$cross_compiling" != x"yes"; then |
| + CFLAGS="-DGS_NO_UTF8=1 $CFLAGS" |
| + fi |
| ;; |
| esac |
| AC_SUBST(AUXDIRPOSTFIX) |
| @@ -2458,15 +2656,134 @@ AC_ARG_WITH([exe-ext], AC_HELP_STRING([--with-exe-ext=EXT], |
| if test "x"$with_exe_ext != "x"; then |
| EXEEXT="$with_exe_ext" |
| else |
| - case `uname` in |
| - MINGW*|MSYS*) |
| - EXEEXT=".exe" |
| - ;; |
| - esac |
| + if test x"$cross_compiling" != x"yes"; then |
| + case `uname` in |
| + MINGW*|MSYS*) |
| + EXEEXT=".exe" |
| + ;; |
| + esac |
| + fi |
| fi |
| |
| AC_SUBST(EXEEXT) |
| |
| + |
| +if test x"$CCAUX" != x"$CC"; then |
| + |
| + ilog2() |
| + { |
| + ILOG2_VAL=$1 |
| + ILOG2_RES=0 |
| + while test $ILOG2_VAL -gt 1 ; do |
| + ILOG2_VAL=$((ILOG2_VAL + 1)) |
| + ILOG2_VAL=$((ILOG2_VAL >> 1)) |
| + ILOG2_RES=$((ILOG2_RES + 1)) |
| + done |
| + return $ILOG2_RES |
| + }; |
| + |
| +# -------------------------------------------------- |
| +# Generate arch.h headers |
| +# -------------------------------------------------- |
| + AC_CHECK_ALIGNOF([short]) |
| + AC_CHECK_ALIGNOF([int]) |
| + AC_CHECK_ALIGNOF([long]) |
| + AC_CHECK_ALIGNOF([void *]) |
| + AC_CHECK_ALIGNOF([float]) |
| + AC_CHECK_ALIGNOF([double]) |
| + |
| + AC_SUBST(ARCH_ALIGN_SHORT_MOD, $ac_cv_alignof_short) |
| + AC_SUBST(ARCH_ALIGN_INT_MOD, $ac_cv_alignof_int) |
| + AC_SUBST(ARCH_ALIGN_LONG_MOD, $ac_cv_alignof_long) |
| + AC_SUBST(ARCH_ALIGN_PTR_MOD, $ac_cv_alignof_void_p) |
| + AC_SUBST(ARCH_ALIGN_FLOAT_MOD, $ac_cv_alignof_float) |
| + AC_SUBST(ARCH_ALIGN_DOUBLE_MOD, $ac_cv_alignof_double) |
| + |
| + AC_CHECK_SIZEOF([char]) |
| + AC_CHECK_SIZEOF([short]) |
| + AC_CHECK_SIZEOF([int]) |
| + AC_CHECK_SIZEOF([long]) |
| + AC_CHECK_SIZEOF([long long]) |
| + AC_CHECK_SIZEOF([void *]) |
| + AC_CHECK_SIZEOF([float]) |
| + AC_CHECK_SIZEOF([double]) |
| + |
| + ilog2 $ac_cv_sizeof_char |
| + AC_SUBST(ARCH_LOG2_SIZEOF_CHAR, $?) |
| + |
| + ilog2 $ac_cv_sizeof_short |
| + AC_SUBST(ARCH_LOG2_SIZEOF_SHORT, $?) |
| + |
| + ilog2 $ac_cv_sizeof_int |
| + AC_SUBST(ARCH_LOG2_SIZEOF_INT, $?) |
| + |
| + ilog2 $ac_cv_sizeof_long |
| + AC_SUBST(ARCH_LOG2_SIZEOF_LONG, $?) |
| + |
| + ilog2 $ac_cv_sizeof_long_long |
| + AC_SUBST(ARCH_LOG2_SIZEOF_LONG_LONG, $?) |
| + |
| + AC_SUBST(ARCH_SIZEOF_PTR, $ac_cv_sizeof_void_p) |
| + ilog2 $ac_cv_sizeof_void_p |
| + AC_SUBST(ARCH_LOG2_SIZEOF_PTR, $?) |
| + |
| + AC_SUBST(ARCH_SIZEOF_FLOAT, $ac_cv_sizeof_float) |
| + ilog2 $ac_cv_sizeof_float |
| + AC_SUBST(ARCH_LOG2_SIZEOF_FLOAT, $?) |
| + |
| + AC_SUBST(ARCH_SIZEOF_DOUBLE, $ac_cv_sizeof_double) |
| + ilog2 $ac_cv_sizeof_double |
| + AC_SUBST(ARCH_LOG2_SIZEOF_DOUBLE, $?) |
| + |
| + AC_SUBST(ARCH_IS_BIG_ENDIAN, $BIGENDIAN) |
| + |
| + AC_MSG_CHECKING([if pointers are signed]) |
| + AC_COMPILE_IFELSE( |
| + [AC_LANG_PROGRAM([#include <stdint.h>], [ |
| + char b[[(char *)(uintptr_t)-1 < (char *)(uintptr_t)0 ? -1 : 0]]; |
| + return sizeof(b); |
| + ])], |
| + [ARCH_PTRS_ARE_SIGNED=0; AC_MSG_RESULT(no)], [ARCH_PTRS_ARE_SIGNED=1; AC_MSG_RESULT(yes)]) |
| + AC_SUBST(ARCH_PTRS_ARE_SIGNED) |
| + |
| + AC_MSG_CHECKING([if dividing negative by positive truncates]) |
| + AC_COMPILE_IFELSE( |
| + [AC_LANG_PROGRAM([], [ |
| + char b[[-1 / 2 == 0 ? -1 : 0]]; |
| + return sizeof(b); |
| + ])], |
| + [ARCH_DIV_NEG_POS_TRUNCATES=0; AC_MSG_RESULT(no)], [ARCH_DIV_NEG_POS_TRUNCATES=1; AC_MSG_RESULT(yes)]) |
| + AC_SUBST(ARCH_DIV_NEG_POS_TRUNCATES) |
| + |
| + AC_MSG_CHECKING([if arithmetic shift works properly]) |
| + ARCH_ARITH_RSHIFT="" |
| + AC_COMPILE_IFELSE( |
| + [AC_LANG_PROGRAM([], [ |
| + char b[[(-1L >> 2) != -1 || (-1 >> 1) != -1 || (-1 >> 2) != -1 ? 0 : -1]]; |
| + return sizeof(b); |
| + ])], |
| + [ARCH_ARITH_RSHIFT=0; AC_MSG_RESULT(no)]) |
| + |
| + if test "x${ARCH_ARITH_RSHIFT}" = "x"; then |
| + # Turbo C problem |
| + AC_COMPILE_IFELSE( |
| + [AC_LANG_PROGRAM([], [ |
| + char b[[(-1L >> 2) != -1 ? 0 : -1]]; |
| + return sizeof(b); |
| + ])], |
| + [ARCH_ARITH_RSHIFT=1; AC_MSG_RESULT(no)]) |
| + fi |
| + |
| + if test "x${ARCH_ARITH_RSHIFT}" = "x"; then |
| + AC_MSG_RESULT(yes) |
| + ARCH_ARITH_RSHIFT=2 |
| + fi |
| + AC_SUBST(ARCH_ARITH_RSHIFT) |
| + |
| + AC_SUBST(ARCH_SIZEOF_GX_COLOR_INDEX) |
| + CONFIG_FILES_LIST="$CONFIG_FILES_LIST $ARCH_AUTOCONF_HEADER:$ARCH_AUTOCONF_HEADER_PROTO" |
| +fi |
| + |
| dnl -------------------------------------------------- |
| dnl Do substitutions |
| dnl -------------------------------------------------- |
| @@ -2475,8 +2792,23 @@ AC_SUBST(SRCDIR) |
| AC_SUBST(OPT_CFLAGS) |
| AC_SUBST(DBG_CFLAGS) |
| AC_SUBST(GCFLAGS) |
| +AC_SUBST(STRIP_XE) |
| |
| -AC_OUTPUT(Makefile) |
| +AC_SUBST(CCAUX) |
| +AC_SUBST(GCFLAGSAUX) |
| +AC_SUBST(CAPOPTAUX) |
| +AC_SUBST(CFLAGSAUX_STANDARD) |
| +AC_SUBST(CFLAGSAUX_DEBUG) |
| +AC_SUBST(CFLAGSAUX_PROFILE) |
| +AC_SUBST(LDFLAGSAUX) |
| +AC_SUBST(AUXEXTRALIBS) |
| + |
| + |
| +CONFIG_FILES_LIST="$CONFIG_FILES_LIST $THEMAKEFILE" |
| + |
| +if test x"$THEMAKEFILE" != x"$MAKEFILE" && test x"$CCAUX" = x"$CC"; then |
| + CONFIG_FILES_LIST="$CONFIG_FILES_LIST" |
| +fi |
| |
| if test "x$AFS" = "x1"; then |
| AC_MSG_WARN([Using "native" font scaler which is now deprecated (rather than freetype),]) |
| @@ -2487,3 +2819,7 @@ if test "x$NTS_EXCLUDES" != "x" ; then |
| AC_MSG_WARN([Due to the --enable-threadsafe option, the following devices have been excluded because they are not threadsafe:]) |
| echo "$NTS_EXCLUDES" |
| fi |
| + |
| +AC_CONFIG_FILES($CONFIG_FILES_LIST) |
| + |
| +AC_OUTPUT |
| -- |
| 2.12.2 |
| |