Difference between revisions of "ConTeXt Standalone/Implementation"

From Wiki
Jump to navigation Jump to search
m (Added category)
(fix links to metapost)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
< [[ConTeXt Minimals]] | [[ConTeXt Minimals/Structure]] >
+
< [[ConTeXt Standalone]] | [[ConTeXt Standalone/Structure]] >
  
  
 
Binaries can now be built from
 
Binaries can now be built from
   svn co http://svn.contextgarden.net/minimals-src/build-binaries
+
   svn co http://svn.contextgarden.net/suite/build-binaries
 
It might take some time to propagate the changes and auto-update this page :)
 
It might take some time to propagate the changes and auto-update this page :)
  
Line 11: Line 11:
  
 
=== MetaPost ===
 
=== MetaPost ===
* SVN: http://foundry.supelec.fr/svn/metapost
+
* SVN: https://foundry.supelec.fr/svn/metapost
* ViewVC:http://foundry.supelec.fr/gf/project/metapost/scmsvn/
+
* ViewVC: https://foundry.supelec.fr/scm/viewvc.php/?root=metapost
 
* files: http://foundry.supelec.fr/gf/project/metapost/frs/
 
* files: http://foundry.supelec.fr/gf/project/metapost/frs/
 
<code>tags/XXX</code>
 
<code>tags/XXX</code>
  
=== pdfTeX ===
+
=== LuaTeX ===
* SVN: http://foundry.supelec.fr/svn/pdftex
+
* SVN: https://foundry.supelec.fr/svn/luatex
* VieVC: http://foundry.supelec.fr/gf/project/pdftex/scmsvn/
+
* ViewVC: https://foundry.supelec.fr/scm/viewvc.php/?root=luatex
<code>branches/stable/source</code>
 
 
 
=== luaTeX ===
 
* SVN: http://foundry.supelec.fr/svn/luatex
 
* ViewVC: http://foundry.supelec.fr/gf/project/luatex/scmsvn/
 
 
* Files: http://foundry.supelec.fr/gf/project/luatex/frs/
 
* Files: http://foundry.supelec.fr/gf/project/luatex/frs/
 
<code>tags/beta-XXX</code>
 
<code>tags/beta-XXX</code>
  
=== XeTeX ===
+
=== W32TeX ===
* http://scripts.sil.org/svn-public/xetex/TRUNK
+
 
<code>trunk</code>
+
* http://w32tex.org
  
=== TeX Live 2008 ===
+
=== TeX Live 2012 ===
  
 
* http://www.tug.org/texlive/svn/
 
* 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 ==
Line 55: Line 64:
  
  
== Cross-compiling for PPC on Intel Mac ==
+
== Cross-compiling on Mac OS X ==
 
 
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:
 
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
 
  -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).
 
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).
Line 80: Line 85:
 
and select gcc 3.3 to be more backward compatible, as well as setting
 
and select gcc 3.3 to be more backward compatible, as well as setting
 
  export MACOSX_DEPLOYMENT_TARGET=10.3
 
  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 =
 
= Non-Polish Fonts =
Line 207: Line 250:
 
'''Bold text'''
 
'''Bold text'''
  
[[Category:Minimals]]
+
[[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