Building in a cross-compile environment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



--0eh6TmSyL6TZE2Uz
Content-Type: text/plain; format=flowed; charset=ISO-8859-15
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

Hi,

I've put together a patch to allow fontconfig to build under a 
cross-compile environment. Tested with linux-x-mingw and native linux.

Disclaimers:

* I'm an autoconf newbie, so I could have made a complete pig's ear.
* The patch really ought to be tested under native mingw.
* I haven't tested it beyond seeing that it builds.
* fc-lang and fc-glyphname are built without any special attention to 
freetype cflags. This means that they will end up including headers 
from the host version of freetype rather than the build version. This 
may not be a problem; it may even be an advantage, but I haven't taken 
any account of it.
* I have assumed that the output of fc-cache is shareable (portable).

Cheers,

Ali.

--0eh6TmSyL6TZE2Uz
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="fontconfig-2.2.92-buildtools.patch"

# $Product: fontconfig $ $Id$

diff -Naurd ../fontconfig-2.2.92/configure.in ./configure.in
--- ../fontconfig-2.2.92/configure.in	Mon Oct 27 10:47:48 2003
+++ ./configure.in	Thu Mar  4 10:56:44 2004
@@ -78,6 +78,58 @@
 
 dnl ==========================================================================
 
+# Look for fc-cache in PATH if we are cross-compiling
+AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
+
+if test $cross_compiling = yes; then
+  AC_PATH_PROG(FC_CACHE, fc-cache, no)
+  if test x$FC_CACHE = xno; then
+    AC_MSG_ERROR(Could not find an fc-cache in your PATH)
+  fi
+fi
+
+dnl ==========================================================================
+
+# Setup for compiling build tools (fc-glyphname, fc-lang, edit-sgml)
+AC_MSG_CHECKING([for a C compiler for build tools])
+if test $cross_compiling = yes; then
+  AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
+else
+  CC_FOR_BUILD=$CC
+fi
+AC_MSG_RESULT([$CC_FOR_BUILD])
+AC_SUBST(CC_FOR_BUILD)
+
+AC_MSG_CHECKING([for suffix of executable build tools])
+if test $cross_compiling = yes; then
+  cat >conftest.c <<\_______EOF
+int
+main ()
+{
+  exit (0);
+}
+_______EOF
+  for i in .exe ""; do
+    compile="$CC_FOR_BUILD conftest.c -o conftest$i"
+    if AC_TRY_EVAL(compile); then
+      if (./conftest) 2>&AC_FD_CC; then
+	EXEEXT_FOR_BUILD=$i
+	break
+      fi
+    fi
+  done
+  rm -f conftest*
+  if test "${EXEEXT_FOR_BUILD+set}" != set; then
+    AC_MSG_ERROR([Cannot determine suffix of executable build tools])
+  fi
+else
+  EXEEXT_FOR_BUILD=$EXEEXT
+fi
+AC_MSG_RESULT([$EXEEXT_FOR_BUILD])
+AC_SUBST(EXEEXT_FOR_BUILD)
+
+dnl ==========================================================================
+
 # Checks for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
diff -Naurd ../fontconfig-2.2.92/Makefile.am ./Makefile.am
--- ../fontconfig-2.2.92/Makefile.am	Mon Oct 27 10:43:47 2003
+++ ./Makefile.am	Thu Mar  4 10:56:44 2004
@@ -39,6 +39,12 @@
 configdir=$(CONFDIR)
 config_DATA=fonts.conf fonts.dtd
 
+if CROSS_COMPILING
+  fc_cache=$(FC_CACHE)
+else
+  fc_cache=fc-cache/fc-cache
+endif
+
 install-data-local:
 	$(mkinstalldirs) $(DESTDIR)/$(configdir)
 	if [ -f $(DESTDIR)$(configdir)/local.conf ]; then \
@@ -50,4 +56,4 @@
 	  echo " $(INSTALL_DATA) local.conf $(DESTDIR)$(configdir)/local.conf"; \
 	  $(INSTALL_DATA) local.conf $(DESTDIR)$(configdir)/local.conf; \
 	fi; fi; fi
-	if [ x$(DESTDIR) = x ]; then fc-cache/fc-cache -f -v; fi
+	if [ x$(DESTDIR) = x ]; then $(fc_cache) -f -v; fi
diff -Naurd ../fontconfig-2.2.92/fc-lang/Makefile.am ./fc-lang/Makefile.am
--- ../fontconfig-2.2.92/fc-lang/Makefile.am	Mon Oct 27 06:37:13 2003
+++ ./fc-lang/Makefile.am	Thu Mar  4 10:56:44 2004
@@ -22,6 +22,10 @@
 # PERFORMANCE OF THIS SOFTWARE.
 #
 
+CC = @CC_FOR_BUILD@
+EXEEXT = @EXEEXT_FOR_BUILD@
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+
 INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS)
 
 TMPL=fclang.tmpl.h
@@ -38,8 +42,8 @@
 
 EXTRA_DIST=$(TMPL) $(ORTH)
 
-$(TARG):$(ORTH) fc-lang $(STMPL)
+$(TARG):$(ORTH) fc-lang$(EXEEXT) $(STMPL)
 	rm -f $(TARG)
-	./fc-lang -d ${srcdir} $(ORTH) < $(STMPL) > $(TARG)
+	./fc-lang$(EXEEXT) -d ${srcdir} $(ORTH) < $(STMPL) > $(TARG)
 
 CLEANFILES=$(TARG)
diff -Naurd ../fontconfig-2.2.92/fc-glyphname/Makefile.am ./fc-glyphname/Makefile.am
--- ../fontconfig-2.2.92/fc-glyphname/Makefile.am	Mon Oct 27 06:37:36 2003
+++ ./fc-glyphname/Makefile.am	Thu Mar  4 10:56:44 2004
@@ -22,6 +22,10 @@
 # PERFORMANCE OF THIS SOFTWARE.
 #
 
+CC = @CC_FOR_BUILD@
+EXEEXT = @EXEEXT_FOR_BUILD@
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+
 INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(FREETYPE_CFLAGS)
 
 TMPL=fcglyphname.tmpl.h
@@ -39,9 +43,9 @@
 
 EXTRA_DIST=$(TMPL) $(GLYPHNAME)
 
-$(TARG): $(STMPL) fc-glyphname $(SGLYPHNAME)
+$(TARG): $(STMPL) fc-glyphname$(EXEEXT) $(SGLYPHNAME)
 	rm -f $(TARG)
-	./fc-glyphname $(SGLYPHNAME) < $(STMPL) > $(TARG)
+	./fc-glyphname$(EXEEXT) $(SGLYPHNAME) < $(STMPL) > $(TARG)
 
 CLEANFILES=$(TARG)
 
diff -Naurd ../fontconfig-2.2.92/doc/Makefile.am ./doc/Makefile.am
--- ../fontconfig-2.2.92/doc/Makefile.am	Mon Oct 27 10:44:08 2003
+++ ./doc/Makefile.am	Thu Mar  4 10:56:44 2004
@@ -21,6 +21,10 @@
 # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 # PERFORMANCE OF THIS SOFTWARE.
 
+CC = @CC_FOR_BUILD@
+EXEEXT = @EXEEXT_FOR_BUILD@
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+
 DOC_SRC = $(srcdir)
 DOC_MODULE = fontconfig
 DOC2HTML = docbook2html
@@ -87,7 +91,7 @@
 
 .fncs.sgml:
 	$(RM) $@
-	./edit-sgml $(FNCS_TMPL) < '$<' > $*.sgml
+	./edit-sgml$(EXEEXT) $(FNCS_TMPL) < '$<' > $*.sgml
 
 .sgml.txt:
 	$(RM) $@
@@ -104,7 +108,7 @@
 local-fontconfig-devel.sgml: fontconfig-devel.sgml
 	$(LN_S) $< $@
 
-$(DOC_FUNCS_SGML): edit-sgml $(FNCS_TMPL)
+$(DOC_FUNCS_SGML): edit-sgml$(EXEEXT) $(FNCS_TMPL)
 
 fonts-conf.5: local-fontconfig-user.sgml version.sgml confdir.sgml
 	$(RM) $@
diff -Naurd ../fontconfig-2.2.92/src/fontconfig.def.in ./src/fontconfig.def.in
--- ../fontconfig-2.2.92/src/fontconfig.def.in	Fri Aug 15 20:45:20 2003
+++ ./src/fontconfig.def.in	Thu Mar  4 11:55:33 2004
@@ -159,5 +159,5 @@
 	FcValueEqual
 	FcValuePrint
 	FcValueSave
-LIBRARY fontconfig
+LIBRARY libfontconfig-@LT_CURRENT_MINUS_AGE@
 VERSION @LT_CURRENT@.@LT_REVISION@

--0eh6TmSyL6TZE2Uz--



[Index of Archives]     [Fedora Fonts]     [Fedora Users]     [Fedora Cloud]     [Kernel]     [Fedora Packaging]     [Fedora Desktop]     [PAM]     [Gimp Graphics Editor]     [Yosemite News]

  Powered by Linux