ConTeXt Standalone/Implementation

From Wiki
< ConTeXt Standalone
Revision as of 15:22, 30 September 2007 by Arthur (talk | contribs) (→‎Cross-compiling for PPC on Intel Mac: Some basic instructions)
Jump to navigation Jump to search

Current state of binaries in minimals

program windows linux linux-64 mac-intel mac-ppc latest TL
metapost latest (A/M) latest (M) latest(M) latest (M) latest (M) 1.00x 0.993
pdfTeX latest (A/M) latest (M) latest (M) latest (M) latest (M) 1.40.5 1.40.2
XeTeX latest (A/M) latest (M) latest (M) latest (M) latest (M) 0.997 0.996
xdvipdfmx latest (A/M) latest (M) latest (M) latest (M) latest (M) 0.4 / SVN #96
luatex semi-latest (A/M) latest (M) latest (M) latest (M) 0.11.2 --

A = automatic, M = manual

splitting binaries

i can then use that (will make a script) that will install what is needed

mtxrun --script install --engine=xetex --platform=macosx-intel

and such (is we make luatex 'common' we have a scripting machinery)

building XeTeX and xdvipdfmx

(This might need to be moved to some better place, for example under XeTeX, but I needed to leave a note on building process before we all forget it.)

SVN sources are available at:

http://scripts.sil.org/svn-public/xetex/TRUNK
http://scripts.sil.org/svn-public/xdvipdfmx/TRUNK

Prerequisits: You need to have the runtime libraries for fontconfig and zlib installed, as well as the devel package for fontconfig

Taco's notes (for linux)

XeTeX's build process needs the tex binaries directory in the path to deduce an installation directory from. On the contextgarden, that should be /opt/texlive2007/bin/i386-linux/, because it assumes the path is TDS compliant (i.e., it ends with '/bin/<<platform>>')

 $ export PATH=/opt/texlive2007/bin/i386-linux:$PATH

Arthur's notes (for xdvipdfmx)

$ export $XETEX=location-of-xetex-TRUNK
$ CFLAGS="-I$XETEX/texk -I$XETEX/Work/texk -I$XETEX/libs/freetype2/include -I$XETEX/libs/freetype2" \
   LDFLAGS="-L$XETEX/Work/texk/kpathsea/.libs -L$XETEX/Work/libs/freetype2" ./configure

Cross-compiling for PPC on Intel Mac

I see that Mojca has left homework for me to do over the week-end ;-) so here goes:

In order to cross-compile for PPC on a Intel Mac, you need to give the compiler and the linker the following additional switches:

-arch ppc

Pretty damn simple, isn't?

So all you have to do is set CFLAGS and LDFLAGS before you run configure (as well as CXXFLAGS, if applicable). Of course it may be that some Makefiles don't honor these variables and override them with something of their own, and this is the major inconvience you will have to deal with (this is actually what the Makefile for lua does; here you would have to set something like MYCFLAGS or XCFLAGS in addition).

Obviously, you can also use a similar instruction to cross-compile the other way round (build for Intel on a PPC host); it's called -arch i386; and if you give both at the same time, it results with a so-called universal binary (the size of which being approximately the sum of the size of both individual binaries). Arthur 17:20, 30 September 2007 (CEST)