Difference between revisions of "ConTeXt Standalone/Implementation"

From Wiki
Jump to navigation Jump to search
(→‎Cross-compiling for PPC on Intel Mac: Some basic instructions)
Line 55: Line 55:
  
 
== Cross-compiling for PPC on Intel Mac ==
 
== Cross-compiling for PPC on Intel Mac ==
 +
 +
I see that Mojca has left homework for me to do over the week-end <code>;-)</code> 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 <code>CFLAGS</code> and <code>LDFLAGS</code> before you run <code>configure</code> (as well as <code>CXXFLAGS</code>, 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 <code>MYCFLAGS</code> or <code>XCFLAGS</code> 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 <code>-arch i386</code>; 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). [[User:Arthur|Arthur]] 17:20, 30 September 2007 (CEST)

Revision as of 15:22, 30 September 2007

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)