summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/am
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2014-02-06 11:04:14 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2014-02-06 11:04:14 +0000
commitad714058c45d0dd9e1f1417d3af804229b93b6f9 (patch)
tree6bb4f268b2b3537df995f58374551da92463fe68 /Build/source/texk/web2c/luatexdir/am
parent4169934ceb43a6b413b4280552bcd309333b469a (diff)
LuaJITTeX
git-svn-id: svn://tug.org/texlive/trunk@32878 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/am')
-rw-r--r--Build/source/texk/web2c/luatexdir/am/libluatex.am48
-rw-r--r--Build/source/texk/web2c/luatexdir/am/luafontforge.am13
-rw-r--r--Build/source/texk/web2c/luatexdir/am/luamisc.am13
-rw-r--r--Build/source/texk/web2c/luatexdir/am/luasocket.am9
-rw-r--r--Build/source/texk/web2c/luatexdir/am/luatex.am63
5 files changed, 113 insertions, 33 deletions
diff --git a/Build/source/texk/web2c/luatexdir/am/libluatex.am b/Build/source/texk/web2c/luatexdir/am/libluatex.am
index 70c2ec49a03..b1c7876524c 100644
--- a/Build/source/texk/web2c/luatexdir/am/libluatex.am
+++ b/Build/source/texk/web2c/luatexdir/am/libluatex.am
@@ -11,25 +11,45 @@ LUA_DEPEND = $(LUA52_DEPEND)
## libluatex
##
-EXTRA_LIBRARIES += libluatex.a
+EXTRA_LIBRARIES += libluatex.a libluajittex.a
libluatex_a_DEPENDENCIES = libff.a
+libluajittex_a_DEPENDENCIES = libjitff.a
+
+libluatex_a_preflags = $(AM_CPPFLAGS) $(ZLIB_INCLUDES) $(LIBPNG_INCLUDES)
+libluatex_a_preflags += $(POPPLER_INCLUDES) -I$(srcdir)/libmd5
+libluatex_a_preflags += -DpdfTeX -I$(srcdir)/luatexdir
+libluatex_a_preflags += -DSYNCTEX_ENGINE_H='<synctex-luatex.h>' -I$(srcdir)/synctexdir
+
+libluatex_a_CPPFLAGS = $(libluatex_a_preflags) $(LUA_INCLUDES)
+libluajittex_a_CPPFLAGS = $(libluatex_a_preflags) $(LUAJIT_INCLUDES) $(LUAJIT_DEFINES)
+libluajittex_a_CPPFLAGS += -DLuajitTeX -DLUAJIT_ENABLE_LUA52COMPAT
-libluatex_a_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_INCLUDES) $(LIBPNG_INCLUDES)
-libluatex_a_CPPFLAGS += $(POPPLER_INCLUDES) -I$(srcdir)/libmd5
-libluatex_a_CPPFLAGS += -DpdfTeX -I$(srcdir)/luatexdir
-libluatex_a_CPPFLAGS += $(LUA_INCLUDES)
-libluatex_a_CPPFLAGS += -DSYNCTEX_ENGINE_H='<synctex-luatex.h>' -I$(srcdir)/synctexdir
libluatex_a_CXXFLAGS = # $(WARNING_CXXFLAGS)
+libluajittex_a_CXXFLAGS = # $(WARNING_CXXFLAGS)
-## compatibility between poppler versions <=0.24.0 and >-0.25.0
+## compatibility between poppler versions <=0.24.4 and >=0.25.0
libluatex_a_CPPFLAGS += -I$(srcdir)/luatexdir/fake
+libluajittex_a_CPPFLAGS += -I$(srcdir)/luatexdir/fake
EXTRA_DIST += luatexdir/fake/StructTreeRoot.h
+dist_libluatex_a_SOURCES = \
+ luatexdir/lua/lstrlibext.c
nodist_libluatex_a_SOURCES = \
+ luastuff.c texluac.c \
+ $(dist_libluatex_sources) \
+ $(nodist_libluatex_sources)
+dist_libluajittex_a_SOURCES = \
+ luatexdir/lua/lauxlib_bridge.h \
+ luatexdir/lua/lstrlibextjit.c
+nodist_libluajittex_a_SOURCES = \
+ luajitstuff.c texluajitc.c \
$(dist_libluatex_sources) \
$(nodist_libluatex_sources)
+$(libluatex_a_OBJECTS): libff.a libmplib.a $(POPPLER_DEPEND)
+$(libluajittex_a_OBJECTS): libjitff.a libmplib.a $(POPPLER_DEPEND)
+
## from luatexdir
##
libluatex_web =
@@ -193,6 +213,8 @@ luagen.c: ctangle$(EXEEXT) luatexdir/lua/luagen.w
$(luatex_lua_ctangle) luagen.w
luainit.c: ctangle$(EXEEXT) luatexdir/lua/luainit.w
$(luatex_lua_ctangle) luainit.w
+luajitstuff.c: ctangle$(EXEEXT) luatexdir/lua/luajitstuff.w
+ $(luatex_lua_ctangle) luajitstuff.w
luanode.c: ctangle$(EXEEXT) luatexdir/lua/luanode.w
$(luatex_lua_ctangle) luanode.w
luastuff.c: ctangle$(EXEEXT) luatexdir/lua/luastuff.w
@@ -201,11 +223,14 @@ luatoken.c: ctangle$(EXEEXT) luatexdir/lua/luatoken.w
$(luatex_lua_ctangle) luatoken.w
texluac.c: ctangle$(EXEEXT) luatexdir/lua/texluac.w
$(luatex_lua_ctangle) texluac.w
+texluajitc.c: ctangle$(EXEEXT) luatexdir/lua/texluajitc.w
+ $(luatex_lua_ctangle) texluajitc.w
-libluatex_web += luatexdir/lua/luagen.w luatexdir/lua/luainit.w luatexdir/lua/luanode.w
-libluatex_web += luatexdir/lua/luastuff.w luatexdir/lua/luatoken.w luatexdir/lua/texluac.w
+libluatex_web += luatexdir/lua/luagen.w luatexdir/lua/luainit.w luatexdir/lua/luajitstuff.w
+libluatex_web += luatexdir/lua/luanode.w luatexdir/lua/luastuff.w luatexdir/lua/luatoken.w
+libluatex_web += luatexdir/lua/texluac.w luatexdir/lua/texluajitc.w
-nodist_libluatex_sources += luagen.c luainit.c luanode.c luastuff.c luatoken.c texluac.c
+nodist_libluatex_sources += luagen.c luainit.c luanode.c luatoken.c
dist_libluatex_sources += \
luatexdir/lua/lcallbacklib.c \
@@ -220,7 +245,6 @@ dist_libluatex_sources += \
luatexdir/lua/lnodelib.c \
luatexdir/lua/liolibext.c \
luatexdir/lua/loslibext.c \
- luatexdir/lua/lstrlibext.c \
luatexdir/lua/lpdflib.c \
luatexdir/lua/lstatslib.c \
luatexdir/lua/ltexiolib.c \
@@ -512,8 +536,6 @@ dist_libluatex_sources += \
dist_libluatex_sources += \
mplibdir/lmplib.c
-$(libluatex_a_OBJECTS): libff.a libmplib.a $(POPPLER_DEPEND)
-
EXTRA_DIST += \
$(dist_libluatex_sources) \
$(libluatex_web)
diff --git a/Build/source/texk/web2c/luatexdir/am/luafontforge.am b/Build/source/texk/web2c/luatexdir/am/luafontforge.am
index eaf2b591076..483745db253 100644
--- a/Build/source/texk/web2c/luatexdir/am/luafontforge.am
+++ b/Build/source/texk/web2c/luatexdir/am/luafontforge.am
@@ -5,22 +5,29 @@
## luafontforge
##
-EXTRA_LIBRARIES += libff.a
+EXTRA_LIBRARIES += libff.a libjitff.a
libff_a_DEPENDENCIES = libunilib.a libluamisc.a
+libjitff_a_DEPENDENCIES = libunilib.a libluajitmisc.a
$(libff_a_OBJECTS): $(libff_a_DEPENDENCIES)
+$(libjitff_a_OBJECTS): $(libjitff_a_DEPENDENCIES)
-libff_a_CPPFLAGS = $(AM_CPPFLAGS) $(LUA_INCLUDES) \
- -DLUA_FF_LIB=1 -D_NO_PYTHON=1 -DX_DISPLAY_MISSING=1 \
+libff_a_postflags = -DLUA_FF_LIB=1 -D_NO_PYTHON=1 -DX_DISPLAY_MISSING=1 \
-DUSE_OUR_MEMORY=1 \
-I$(top_srcdir)/w2c \
-I$(top_srcdir)/luatexdir/unilib \
-I$(top_srcdir)/luatexdir/luafontloader/fontforge/inc \
-I$(top_srcdir)/luatexdir/luafontloader/fontforge/fontforge
+
+libff_a_CPPFLAGS = $(AM_CPPFLAGS) $(LUA_INCLUDES) $(libff_a_postflags)
+libjitff_a_CPPFLAGS = $(AM_CPPFLAGS) $(LUAJIT_INCLUDES) $(libff_a_postflags)
+
libff_a_CFLAGS = # $(WARNING_CFLAGS)
+libjitff_a_CFLAGS = # $(WARNING_CFLAGS)
nodist_libff_a_SOURCES = $(libff_sources)
+nodist_libjitff_a_SOURCES = $(libff_sources)
libff_sources = \
luatexdir/luafontloader/fontforge/fontforge/PfEd.h \
diff --git a/Build/source/texk/web2c/luatexdir/am/luamisc.am b/Build/source/texk/web2c/luatexdir/am/luamisc.am
index 8d29b861aa0..42f01cc5b98 100644
--- a/Build/source/texk/web2c/luatexdir/am/luamisc.am
+++ b/Build/source/texk/web2c/luatexdir/am/luamisc.am
@@ -6,19 +6,22 @@
## libluamisc (luafilesystem, luamd5, luapeg, luazip, luazlib, luaprofiler,
## and slnunicode)
-EXTRA_LIBRARIES += libluamisc.a
+EXTRA_LIBRARIES += libluamisc.a libluajitmisc.a
libluamisc_a_DEPENDENCIES = $(ZZIPLIB_DEPEND) libluasocket.a
+libluajitmisc_a_DEPENDENCIES = $(ZZIPLIB_DEPEND) libluajitsocket.a
$(libluamisc_a_OBJECTS): $(libluamisc_a_DEPENDENCIES)
+$(libluajitmisc_a_OBJECTS): $(libluajitmisc_a_DEPENDENCIES)
+
+libluamisc_a_CPPFLAGS = $(ZLIB_INCLUDES) $(ZZIPLIB_INCLUDES) $(LUA_INCLUDES)
+libluajitmisc_a_CPPFLAGS = $(ZLIB_INCLUDES) $(ZZIPLIB_INCLUDES) $(LUAJIT_INCLUDES)
-libluamisc_a_CPPFLAGS = \
- $(ZLIB_INCLUDES) \
- $(ZZIPLIB_INCLUDES) \
- $(LUA_INCLUDES)
libluamisc_a_CFLAGS = # $(WARNING_CFLAGS)
+libluajitmisc_a_CFLAGS = # $(WARNING_CFLAGS)
nodist_libluamisc_a_SOURCES = $(libluamisc_sources)
+nodist_libluajitmisc_a_SOURCES = $(libluamisc_sources)
libluamisc_sources = \
luatexdir/luafilesystem/src/lfs.c \
diff --git a/Build/source/texk/web2c/luatexdir/am/luasocket.am b/Build/source/texk/web2c/luatexdir/am/luasocket.am
index bec2e748cd7..dd1c2fbd48d 100644
--- a/Build/source/texk/web2c/luatexdir/am/luasocket.am
+++ b/Build/source/texk/web2c/luatexdir/am/luasocket.am
@@ -5,17 +5,24 @@
## luasocket
##
-EXTRA_LIBRARIES += libluasocket.a
+EXTRA_LIBRARIES += libluasocket.a libluajitsocket.a
libluasocket_a_DEPENDENCIES = $(ZLIB_DEPEND)
+libluajitsocket_a_DEPENDENCIES = $(ZLIB_DEPEND)
$(libluasocket_a_OBJECTS): $(LUA_DEPEND)
+$(libluajitsocket_a_OBJECTS): $(LUAJIT_DEPEND)
libluasocket_a_CPPFLAGS = \
-DLUASOCKET_DEBUG -I$(top_srcdir)/luatexdir/luasocket $(LUA_INCLUDES)
+libluajitsocket_a_CPPFLAGS = \
+ -DLUASOCKET_DEBUG -I$(top_srcdir)/luatexdir/luasocket $(LUAJIT_INCLUDES)
+
libluasocket_a_CFLAGS = # $(WARNING_CFLAGS)
+libluajitsocket_a_CFLAGS = # $(WARNING_CFLAGS)
nodist_libluasocket_a_SOURCES = $(libluasocket_sources)
+nodist_libluajitsocket_a_SOURCES = $(libluasocket_sources)
libluasocket_sources = \
luatexdir/luasocket/src/auxiliar.c \
diff --git a/Build/source/texk/web2c/luatexdir/am/luatex.am b/Build/source/texk/web2c/luatexdir/am/luatex.am
index a8ee3b2f1eb..123360311ee 100644
--- a/Build/source/texk/web2c/luatexdir/am/luatex.am
+++ b/Build/source/texk/web2c/luatexdir/am/luatex.am
@@ -3,7 +3,7 @@
## Copyright (C) 2009-2014 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.
-## luaTeX
+## LuaTeX and LuaJITTeX
##
if LUATEX
bin_PROGRAMS += luatex
@@ -15,32 +15,59 @@ else !WIN32
bin_links += luatex$(EXEEXT):texlua luatex$(EXEEXT):texluac
endif !WIN32
endif LUATEX
-EXTRA_PROGRAMS += luatex
+
+if LUAJITTEX
+bin_PROGRAMS += luajittex
+if WIN32
+noinst_PROGRAMS += call_luajittex
+install_exe_links += install-luajittex-links
+uninstall_exe_links += uninstall-luajittex-links
+else !WIN32
+bin_links += luajittex$(EXEEXT):texluajit luajittex$(EXEEXT):texluajitc
+endif !WIN32
+endif LUAJITTEX
+
+EXTRA_PROGRAMS += luatex luajittex
# Force Automake to use CXXLD for linking
nodist_EXTRA_luatex_SOURCES = dummy.cxx
+nodist_EXTRA_luajittex_SOURCES = dummy.cxx
+
+luatex_preflags = $(AM_CPPFLAGS) $(ZLIB_INCLUDES) $(LIBPNG_INCLUDES) $(POPPLER_INCLUDES)
+luatex_postflags = -I$(srcdir)/libmd5 -I$(srcdir)/luatexdir -I$(srcdir)/mplibdir
+luatex_postflags += -Dextra_version_info=`date +-%Y%m%d%H`
+luatex_postflags += -I$(srcdir)/synctexdir -DSYNCTEX_ENGINE_H='<synctex-luatex.h>'
+
+luatex_CPPFLAGS = $(luatex_preflags) $(LUA_INCLUDES) $(luatex_postflags)
+luajittex_CPPFLAGS = $(luatex_preflags) $(LUAJIT_INCLUDES) $(luatex_postflags)
-luatex_CPPFLAGS = $(AM_CPPFLAGS) $(ZLIB_INCLUDES) $(LIBPNG_INCLUDES)
-luatex_CPPFLAGS += $(POPPLER_INCLUDES) $(LUA_INCLUDES) -I$(srcdir)/libmd5
-luatex_CPPFLAGS += -I$(srcdir)/luatexdir -I$(srcdir)/mplibdir
-luatex_CPPFLAGS += -Dextra_version_info=`date +-%Y%m%d%H`
-luatex_CPPFLAGS += -I$(srcdir)/synctexdir -DSYNCTEX_ENGINE_H='<synctex-luatex.h>'
luatex_CXXFLAGS = $(WARNING_CXXFLAGS)
+luajittex_CXXFLAGS = $(WARNING_CXXFLAGS)
luatex_ldadd = libluatex.a libff.a libunilib.a libluamisc.a libluasocket.a $(LUA_LIBS)
luatex_ldadd += libmd5.a libmplib.a $(CAIRO_LIBS) $(PIXMAN_LIBS)
luatex_ldadd += $(ZZIPLIB_LIBS) $(LIBPNG_LIBS) $(ZLIB_LIBS) $(POPPLER_LIBS)
+luajittex_ldadd = libluajittex.a libjitff.a libunilib.a libluajitmisc.a libluajitsocket.a $(LUAJIT_LIBS)
+luajittex_ldadd += libmd5.a libmplib.a $(CAIRO_LIBS) $(PIXMAN_LIBS)
+luajittex_ldadd += $(ZZIPLIB_LIBS) $(LIBPNG_LIBS) $(ZLIB_LIBS) $(POPPLER_LIBS)
+
luatex_LDFLAGS = -export-dynamic
+luajittex_LDFLAGS = -export-dynamic $(luajittex_extra)
luatex_LDADD = $(luatex_ldadd) $(LDADD) $(LIBADD_DLOPEN) $(lua_socketlibs)
+luajittex_LDADD = $(luajittex_ldadd) $(LDADD) $(LIBADD_DLOPEN) $(lua_socketlibs)
luatex_DEPENDENCIES = $(proglib) $(KPATHSEA_DEPEND) libluatex.a
luatex_DEPENDENCIES += $(LIBPNG_DEPEND) libmd5.a libmplib.a
+luajittex_DEPENDENCIES = $(proglib) $(KPATHSEA_DEPEND) libluajittex.a
+luajittex_DEPENDENCIES += $(LIBPNG_DEPEND) libmd5.a libmplib.a
$(luatex_OBJECTS): libluatex.a
+$(luajittex_OBJECTS): libluajittex.a
nodist_luatex_SOURCES = $(luatex_sources)
+nodist_luajittex_SOURCES = $(luatex_sources)
luatex_sources = \
luatexdir/luatex_svnversion.h \
@@ -54,8 +81,12 @@ EXTRA_DIST += \
call_luatex_CPPFLAGS = -DEXEPROG=\"luatex.exe\"
nodist_call_luatex_SOURCES = callexe.c
call_luatex_LDADD =
+call_luajittex_CPPFLAGS = -DEXEPROG=\"luajittex.exe\"
+nodist_call_luajittex_SOURCES = callexe.c
+call_luajittex_LDADD =
.PHONY: install-luatex-links uninstall-luatex-links
+.PHONY: install-luajittex-links uninstall-luajittex-links
if WIN32
install-luatex-links: call_luatex$(EXEEXT)
$(INSTALL_PROGRAM) call_luatex$(EXEEXT) $(DESTDIR)$(bindir)/texlua$(EXEEXT)
@@ -63,20 +94,30 @@ install-luatex-links: call_luatex$(EXEEXT)
uninstall-luatex-links:
rm -f $(DESTDIR)$(bindir)/texlua$(EXEEXT)
rm -f $(DESTDIR)$(bindir)/texluac$(EXEEXT)
+install-luajittex-links: call_luajittex$(EXEEXT)
+ $(INSTALL_PROGRAM) call_luajittex$(EXEEXT) $(DESTDIR)$(bindir)/texluajit$(EXEEXT)
+ $(INSTALL_PROGRAM) call_luajittex$(EXEEXT) $(DESTDIR)$(bindir)/texluajitc$(EXEEXT)
+uninstall-luajittex-links:
+ rm -f $(DESTDIR)$(bindir)/texluajit$(EXEEXT)
+ rm -f $(DESTDIR)$(bindir)/texluajitc$(EXEEXT)
endif WIN32
-# luaTeX Tests
+# LuaTeX/LuaJITTeX Tests
#
luatex_tests = luatexdir/luatex.test luatexdir/luaimage.test
+luajittex_tests = luatexdir/luajittex.test luatexdir/luajitimage.test
-EXTRA_DIST += $(luatex_tests)
+EXTRA_DIST += $(luatex_tests) $(luajittex_tests)
if LUATEX
TESTS += $(luatex_tests)
endif LUATEX
+if LUAJITTEX
+TESTS += $(luajittex_tests)
+endif LUAJITTEX
-## luaimage.test
+## luaimage.test/luajitimage.test
EXTRA_DIST += luatexdir/tests/luaimage.tex \
tests/1-4.jpg tests/B.pdf tests/basic.tex tests/lily-ledger-broken.png
-DISTCLEANFILES += luaimage.fmt luaimage.log luaimage.pdf
+DISTCLEANFILES += luaimage.* luajitimage.*