Difference between revisions of "ConTeXt Standalone/Implementation"

From Wiki
Jump to navigation Jump to search
(fix links to metapost)
 
(59 intermediate revisions by 8 users not shown)
Line 1: Line 1:
= Current state of binaries in minimals =
+
< [[ConTeXt Standalone]] | [[ConTeXt Standalone/Structure]] >
  
{| border="1"
 
! 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
+
Binaries can now be built from
 +
  svn co http://svn.contextgarden.net/suite/build-binaries
 +
It might take some time to propagate the changes and auto-update this page :)
  
== splitting binaries ==
+
== Binary sources ==
   
+
 
i can then use that (will make a script) that will install what is needed
+
We take binaries from the following sources:
  mtxrun --script install --engine=xetex --platform=macosx-intel
+
 
and such (is we make luatex 'common' we have a scripting machinery)
+
=== MetaPost ===
 +
* SVN: https://foundry.supelec.fr/svn/metapost
 +
* ViewVC: https://foundry.supelec.fr/scm/viewvc.php/?root=metapost
 +
* files: http://foundry.supelec.fr/gf/project/metapost/frs/
 +
<code>tags/XXX</code>
 +
 
 +
=== LuaTeX ===
 +
* SVN: https://foundry.supelec.fr/svn/luatex
 +
* ViewVC: https://foundry.supelec.fr/scm/viewvc.php/?root=luatex
 +
* Files: http://foundry.supelec.fr/gf/project/luatex/frs/
 +
<code>tags/beta-XXX</code>
 +
 
 +
=== W32TeX ===
 +
 
 +
* http://w32tex.org
 +
 
 +
=== TeX Live 2012 ===
 +
 
 +
* http://www.tug.org/texlive/svn/
 +
 
 +
=== Others (not used any more) ===
 +
 
 +
We also used to compile pdfTeX and XeTeX, but stopped doing so as there was no need to use a version newer than what's in TeX Live.
 +
 
 +
==== pdfTeX ====
 +
* SVN: http://foundry.supelec.fr/svn/pdftex
 +
* VieVC: http://foundry.supelec.fr/gf/project/pdftex/scmsvn/
 +
<code>branches/stable/source</code>
 +
 
 +
==== XeTeX ====
 +
* GIT: git://git.code.sf.net/p/xetex/code
 +
* Gitweb: http://xetex.git.sourceforge.net/
 +
<code>master</code>
 +
 
 +
== rsync ==
 +
 
 +
Rsync on Windows behaves a bit weird. We fetched binaries from
 +
* http://www.itefix.no/cwrsync/
 +
One needs to set
 +
set CYGWIN=noNTsec
 +
before syncing binaries or
 +
chmod 777 tex/texmf-win/bin/*
 +
after that, else binaries won't work.
 +
 
 +
From rsync bundle one needs to have at least
 +
chmod.exe
 +
cygiconv-2.dll # for chmod
 +
  cygintl-3.dll  # for chmod
 +
cygwin1.dll
 +
rsync.exe
 +
to be able to use rsync from the garden properly. I have no idea what happens if cygwin is in PATH, but it is asking for problems.
 +
 
 +
 
 +
 
 +
== Cross-compiling on Mac OS X ==
 +
 
 +
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
 +
 
 +
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)
 +
 
 +
For pdfTeX it's enough to say
 +
CFLAGS="-arch ppc" LDFLAGS="-arch ppc" CXXFLAGS="-arch ppc" ./build.sh
 +
 
 +
XeTeX supports the syntax
 +
./build-xetex "-arch ppc"
 +
for cross-compiling.
 +
 
 +
It is also adviced to use
 +
gcc_select
 +
and select gcc 3.3 to be more backward compatible, as well as setting
 +
  export MACOSX_DEPLOYMENT_TARGET=10.3
 +
 
 +
== Compiling TeX Live binaries ==
 +
 
 +
To compile 64-bit binaries on 10.6 or later:
 +
  ./Build --disable-xdvipdfmx --disable-xetex --disable-xdv2pdf
 +
To select the latest compiler on Lion:
 +
  CC=clang OBJC=clang CXX=clang++ ./Build <options>
 +
If we want to compile for 10.6 on 10.7 we additionally need:
 +
export MACOSX_DEPLOYMENT_TARGET=10.6
 +
# or add -mmacosx-version-min=10.6 to CFLAGS
 +
# most of the time optional; usually not needed, but one never knows
 +
export MYCFLAGS='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk'
 +
export CC=llvm-gcc-4.2; export CFLAGS=$MYCFLAGS
 +
export OBJC=llvm-gcc-4.2; export OBJCFLAGS=$MYCFLAGS
 +
export CXX=llvm-g++-4.2; export CXXFLAGS=$MYCFLAGS
 +
./Build <options>
 +
 
 +
To compile ppc and i386 binaries for Tiger on 10.6:
 +
export ARCH=i386
 +
export MACOSX_DEPLOYMENT_TARGET=10.4
 +
export MYCFLAGS='-arch $ARCH -isysroot /Developer/SDKs/MacOSX10.4u.sdk'
 +
export LDFLAGS='-arch $ARCH'
 +
export CC=gcc-4.0; export CFLAGS=$MYCFLAGS
 +
export OBJC=gcc-4.0; export OBJCFLAGS=$MYCFLAGS
 +
export CXX=g++-4.0; export CXXFLAGS=$MYCFLAGS
 +
 
 +
Or alternatively:
 +
export MACOSX_DEPLOYMENT_TARGET=10.4
 +
export MYCFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk'
 +
export CC=i686-apple-darwin10-gcc-4.0.1; export CFLAGS=$MYCFLAGS
 +
export OBJC=i686-apple-darwin10-gcc-4.0.1; export OBJCFLAGS=$MYCFLAGS
 +
export CXX=i686-apple-darwin10-g++-4.0.1; export CXXFLAGS=$MYCFLAGS
 +
 
 +
export MACOSX_DEPLOYMENT_TARGET=10.4
 +
export MYCFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk'
 +
export CC=powerpc-apple-darwin10-gcc-4.0.1; export CFLAGS=$MYCFLAGS
 +
export OBJC=powerpc-apple-darwin10-gcc-4.0.1; export OBJCFLAGS=$MYCFLAGS
 +
export CXX=powerpc-apple-darwin10-g++-4.0.1; export CXXFLAGS=$MYCFLAGS
 +
 
 +
= Non-Polish Fonts =
 +
 
 +
== List of fonts in the old minimals ==
 +
 
 +
=== already there ===
 +
 
 +
* bluesky
 +
** ams
 +
* hoekwater
 +
** context/contnav (is it needed? it's in ConTeXt already)
 +
** mflogo
 +
** misc/manfnt
 +
* public
 +
** marvosym
 +
 
 +
=== temporary there ===
 +
<i>These fonts will be removed once there will be TeX Gyre math available.</i>
 +
 
 +
* urw
 +
** helvetic
 +
** palatino
 +
** times
 +
* public
 +
** pxfonts
 +
** txfonts
 +
 
 +
=== superseeded by TeX Gyre ===
 +
 
 +
* urw
 +
** avantgar (Adobe AvantGarde) -> Adventor
 +
** bookman -> Bonum
 +
** courier -> Cursor
 +
** helvetic -> Heros
 +
** ncntrsbk (Adobe New Century Schoolbook) -> Schola
 +
** palatino -> Pagella
 +
** times -> Termes
 +
** zapfchan -> Chorus
 +
* public
 +
** qfonts
 +
 
 +
=== may be removed ===
 +
 
 +
* bluesky
 +
** cm
 +
* public
 +
** cs
 +
** pl
 +
 
 +
=== sort them first ===
 +
 
 +
* adobe/utopia
 +
* bitstream/charter
 +
* bluesky
 +
** ams - check
 +
** latex-fonts -?
 +
* public
 +
** antp -?
 +
** cb
 +
** cm-super
 +
** eulervm
 +
** fourier
 +
* urw
 +
** symbol
 +
** utopia
 +
** zapfding
 +
 
 +
== Math support needed ==
 +
 
 +
http://www.ctan.org/tex-archive/info/Free_Math_Font_Survey/en/survey.html
 +
 
 +
* Helvetica
 +
* Times: tx (see type-enc) or belleek or symbol math or omega math
 +
* Palatino: px (or Pazo) or euler
 +
 
 +
* Bookman: kerkis (check)
 +
* Schoolbook: millenial/fourerenc
 +
 
 +
* cmbright
 +
* Concrete and Euler or Concrete Math
 +
 
 +
forget-me-not (how to generate map files for XeTeX):
 +
ctxtools --dpx --force --maproot=/usr/local/gwTeX/texmf.pkgs/fonts/map/dvips/tex-gyre
 +
 
 +
 
 +
 
 +
== Different (check) ==
  
== building XeTeX and xdvipdfmx ==
+
* wcm for syrillic
 +
* la/lb/lc rb1000 etc.
 +
* lhr
 +
* cbgreek
  
(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.)
+
* computer concrete (AMS) - see type-enc
 +
* euler (AMS)
 +
* AMS symbols
 +
* fourier
  
SVN sources are available at:
+
* \definefontsynonym [RalfSmithFormalScript] [rsfs10]
  http://scripts.sil.org/svn-public/xetex/TRUNK
+
* \definefontsynonym [MartinVogel]          [fmvr8x]
  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
+
== Building plain formats (to be done) ==
  
=== Taco's notes (for linux) ===
+
''This text will disapear from page, but until we put some additional files to the distribution, here are some notes for me.''
  
XeTeX's build process needs the tex binaries directory in the path to deduce an installation directory from.
+
There are no CMR fonts in the distribution (more or less on purpose), but you can use LM replacement instead.
On the contextgarden, that should be <code>/opt/texlive2007/bin/i386-linux/</code>,
 
because it assumes the path is TDS compliant (i.e., it ends with '<code>/bin/<<platform>></code>')
 
  
  $ export PATH=/opt/texlive2007/bin/i386-linux:$PATH
+
% pdftex.ini
 +
\pdfoutput=1
 +
\pdfcompresslevel=9
 +
\pdfdecimaldigits=3
 +
\pdfpagewidth=210 true mm
 +
\pdfpageheight=297 true mm
 +
\pdfhorigin=1 true in
 +
\pdfvorigin=1 true in
 +
\pdfpkresolution=600
 +
 +
\input plain
 +
\dump
 +
\endinput
  
=== Arthur's notes (for xdvipdfmx) ===
+
pdftex -ini pdftex.ini
  
$ export $XETEX=location-of-xetex-TRUNK
+
One needs to use:
  $ CFLAGS="-I$XETEX/texk -I$XETEX/Work/texk -I$XETEX/libs/freetype2/include -I$XETEX/libs/freetype2" \
+
  \pdfmapfile{+lm-rep-cmtext.map}
    LDFLAGS="-L$XETEX/Work/texk/kpathsea/.libs -L$XETEX/Work/libs/freetype2" ./configure
+
'''Bold text'''
  
== Cross-compiling for PPC on Intel Mac ==
+
[[Category:Standalone|Implementation]]

Latest revision as of 13:14, 13 December 2014

< ConTeXt Standalone | ConTeXt Standalone/Structure >


Binaries can now be built from

 svn co http://svn.contextgarden.net/suite/build-binaries

It might take some time to propagate the changes and auto-update this page :)

Binary sources

We take binaries from the following sources:

MetaPost

tags/XXX

LuaTeX

tags/beta-XXX

W32TeX

TeX Live 2012

Others (not used any more)

We also used to compile pdfTeX and XeTeX, but stopped doing so as there was no need to use a version newer than what's in TeX Live.

pdfTeX

branches/stable/source

XeTeX

master

rsync

Rsync on Windows behaves a bit weird. We fetched binaries from

One needs to set

set CYGWIN=noNTsec

before syncing binaries or

chmod 777 tex/texmf-win/bin/*

after that, else binaries won't work.

From rsync bundle one needs to have at least

chmod.exe
cygiconv-2.dll # for chmod
cygintl-3.dll  # for chmod
cygwin1.dll
rsync.exe

to be able to use rsync from the garden properly. I have no idea what happens if cygwin is in PATH, but it is asking for problems.


Cross-compiling on Mac OS X

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

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)

For pdfTeX it's enough to say

CFLAGS="-arch ppc" LDFLAGS="-arch ppc" CXXFLAGS="-arch ppc" ./build.sh

XeTeX supports the syntax

./build-xetex "-arch ppc"

for cross-compiling.

It is also adviced to use

gcc_select

and select gcc 3.3 to be more backward compatible, as well as setting

export MACOSX_DEPLOYMENT_TARGET=10.3

Compiling TeX Live binaries

To compile 64-bit binaries on 10.6 or later:

 ./Build --disable-xdvipdfmx --disable-xetex --disable-xdv2pdf

To select the latest compiler on Lion:

 CC=clang OBJC=clang CXX=clang++ ./Build <options>

If we want to compile for 10.6 on 10.7 we additionally need:

export MACOSX_DEPLOYMENT_TARGET=10.6
# or add -mmacosx-version-min=10.6 to CFLAGS
# most of the time optional; usually not needed, but one never knows
export MYCFLAGS='-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk'
export CC=llvm-gcc-4.2; export CFLAGS=$MYCFLAGS
export OBJC=llvm-gcc-4.2; export OBJCFLAGS=$MYCFLAGS
export CXX=llvm-g++-4.2; export CXXFLAGS=$MYCFLAGS
./Build <options>

To compile ppc and i386 binaries for Tiger on 10.6:

export ARCH=i386
export MACOSX_DEPLOYMENT_TARGET=10.4
export MYCFLAGS='-arch $ARCH -isysroot /Developer/SDKs/MacOSX10.4u.sdk'
export LDFLAGS='-arch $ARCH'
export CC=gcc-4.0; export CFLAGS=$MYCFLAGS
export OBJC=gcc-4.0; export OBJCFLAGS=$MYCFLAGS
export CXX=g++-4.0; export CXXFLAGS=$MYCFLAGS

Or alternatively:

export MACOSX_DEPLOYMENT_TARGET=10.4
export MYCFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk'
export CC=i686-apple-darwin10-gcc-4.0.1; export CFLAGS=$MYCFLAGS
export OBJC=i686-apple-darwin10-gcc-4.0.1; export OBJCFLAGS=$MYCFLAGS
export CXX=i686-apple-darwin10-g++-4.0.1; export CXXFLAGS=$MYCFLAGS
export MACOSX_DEPLOYMENT_TARGET=10.4
export MYCFLAGS='-isysroot /Developer/SDKs/MacOSX10.4u.sdk'
export CC=powerpc-apple-darwin10-gcc-4.0.1; export CFLAGS=$MYCFLAGS
export OBJC=powerpc-apple-darwin10-gcc-4.0.1; export OBJCFLAGS=$MYCFLAGS
export CXX=powerpc-apple-darwin10-g++-4.0.1; export CXXFLAGS=$MYCFLAGS

Non-Polish Fonts

List of fonts in the old minimals

already there

  • bluesky
    • ams
  • hoekwater
    • context/contnav (is it needed? it's in ConTeXt already)
    • mflogo
    • misc/manfnt
  • public
    • marvosym

temporary there

These fonts will be removed once there will be TeX Gyre math available.

  • urw
    • helvetic
    • palatino
    • times
  • public
    • pxfonts
    • txfonts

superseeded by TeX Gyre

  • urw
    • avantgar (Adobe AvantGarde) -> Adventor
    • bookman -> Bonum
    • courier -> Cursor
    • helvetic -> Heros
    • ncntrsbk (Adobe New Century Schoolbook) -> Schola
    • palatino -> Pagella
    • times -> Termes
    • zapfchan -> Chorus
  • public
    • qfonts

may be removed

  • bluesky
    • cm
  • public
    • cs
    • pl

sort them first

  • adobe/utopia
  • bitstream/charter
  • bluesky
    • ams - check
    • latex-fonts -?
  • public
    • antp -?
    • cb
    • cm-super
    • eulervm
    • fourier
  • urw
    • symbol
    • utopia
    • zapfding

Math support needed

http://www.ctan.org/tex-archive/info/Free_Math_Font_Survey/en/survey.html

  • Helvetica
  • Times: tx (see type-enc) or belleek or symbol math or omega math
  • Palatino: px (or Pazo) or euler
  • Bookman: kerkis (check)
  • Schoolbook: millenial/fourerenc
  • cmbright
  • Concrete and Euler or Concrete Math

forget-me-not (how to generate map files for XeTeX):

ctxtools --dpx --force --maproot=/usr/local/gwTeX/texmf.pkgs/fonts/map/dvips/tex-gyre


Different (check)

  • wcm for syrillic
  • la/lb/lc rb1000 etc.
  • lhr
  • cbgreek
  • computer concrete (AMS) - see type-enc
  • euler (AMS)
  • AMS symbols
  • fourier
  • \definefontsynonym [RalfSmithFormalScript] [rsfs10]
  • \definefontsynonym [MartinVogel] [fmvr8x]

Building plain formats (to be done)

This text will disapear from page, but until we put some additional files to the distribution, here are some notes for me.

There are no CMR fonts in the distribution (more or less on purpose), but you can use LM replacement instead.

% pdftex.ini
\pdfoutput=1
\pdfcompresslevel=9
\pdfdecimaldigits=3
\pdfpagewidth=210 true mm
\pdfpageheight=297 true mm
\pdfhorigin=1 true in
\pdfvorigin=1 true in
\pdfpkresolution=600

\input plain
\dump
\endinput
pdftex -ini pdftex.ini

One needs to use:

\pdfmapfile{+lm-rep-cmtext.map}

Bold text