DOI: 10.5300/2016-1-4/47

Zpravodaj Československého sdružení uživatelů TEXu 1-4/2016

Pages: 47–61

Author: Luigi Scarso

The SWIGLIB Project

The SWIGLIB project aims to show a way to build and distribute shared libraries for LuaTEX by means of SWIG. This paper depicts the infrastructure that has been created and the rationale behind it. Simple examples are shown.

LuaTEX, SWIGLIB, SWIG, external libraries

Projekt SWIGLIB

Článek se věnuje tématu přístupu k binárním knihovnám v LuaTEXu. Popisuje problémy s přístupem ke sdíleným knihovnám na rozdílných platformách a tvorbou rozhraní zpřístupňujících tyto knihovny pro programy v jazyce Lua.

Pro zjednodušení tvorby rozhraní pro binární knihovny je navrhnut projekt SWIG, který umožňuje jejich poloautomatickou tvorbu za pomoci konfiguračního souboru a analýzy hlavičkových souborů zpracovávaných knihoven. Projekt SWIGLIB pak řeší způsob kompilace tohoto rozhraní na rozdílných platformách a umístění výsledných binárních knihoven tak, aby byly přístupné LuaTEXu. Pro nahrání knihoven je třeba upravit nahrávací rutiny v Lue. Existuje podpora v ConTEXtu, pro ostatní formáty musí podpora teprve vzniknout.

LuaTEX, SWIGLIB, SWIG, externí knihovny

References

  1. John Calcote: Autotools: A Practitioner's Guide to GNU Autoconf, Automake, and Libtool. (2010).
  2. Ulrich Drepper: How to Write Shared Libraries. (2011).
  3. Hans Hagen: SWIGLIB basics. (2016).
  4. Roberto Ierusalimschy: Programming in Lua. (2013).
  5. Brian W. Kernighan, Dennis M Ritchie: The C Programming Language. (1988).
  6. Michael Kerrisk: The Linux Programming Interface: A Linux and UNIX System Programming Handbook. (2010).
  7. John R Levine: Linkers and Loaders. (1999).
  8. Mark E. Russinovich, David A. Solomon, Alex Ionescu: Windows Internals, Part~1: Covering Windows Server 2008 R2 and Windows 7. (2012).
  9. Mark E. Russinovich, David A. Solomon, Alex Ionescu: Windows Internals, Part~2: Covering Windows Server 2008 R2 and Windows 7 (Windows Internals). (2012).
  10. Luigi Scarso: Extending ConTeXt MkIV with PARI/GP. ArsTeXnica 11, 65 (2011).
  11. Luigi Scarso: LuaJITTeX. TUGboat 34(1), 64 (2013).

Hlavní stránka Zpravodaje CSTUGu. Adresa redakce: zpravodaj@cstug.cz. (c) 1996-2012 CSTUG