Windows: Update libraries.

- libpng to 1.6.12
- LuaJIT to Git HEAD >= 2.0.3
- instructions.txt

DONT_BUILD.

git-svn-id: https://svn.eduke32.com/eduke32@4539 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
hendricks266 2014-07-10 09:01:15 +00:00
parent 43eb98fdec
commit 0352b4ad11
12 changed files with 211 additions and 136 deletions

View File

@ -1,11 +1,14 @@
/*
** Configuration header.
** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef luaconf_h
#define luaconf_h
#ifndef WINVER
#define WINVER 0x0501
#endif
#include <limits.h>
#include <stddef.h>
@ -34,7 +37,7 @@
#endif
#define LUA_LROOT "/usr/local"
#define LUA_LUADIR "/lua/5.1/"
#define LUA_LJDIR "/luajit-2.0.2/"
#define LUA_LJDIR "/luajit-2.0.3/"
#ifdef LUA_ROOT
#define LUA_JROOT LUA_ROOT

View File

@ -1,7 +1,7 @@
/*
** LuaJIT -- a Just-In-Time Compiler for Lua. http://luajit.org/
**
** Copyright (C) 2005-2013 Mike Pall. All rights reserved.
** Copyright (C) 2005-2014 Mike Pall. All rights reserved.
**
** Permission is hereby granted, free of charge, to any person obtaining
** a copy of this software and associated documentation files (the
@ -30,10 +30,10 @@
#include "lua.h"
#define LUAJIT_VERSION "LuaJIT 2.0.2"
#define LUAJIT_VERSION_NUM 20002 /* Version 2.0.2 = 02.00.02. */
#define LUAJIT_VERSION_SYM luaJIT_version_2_0_2
#define LUAJIT_COPYRIGHT "Copyright (C) 2005-2013 Mike Pall"
#define LUAJIT_VERSION "LuaJIT 2.0.3"
#define LUAJIT_VERSION_NUM 20003 /* Version 2.0.3 = 02.00.03. */
#define LUAJIT_VERSION_SYM luaJIT_version_2_0_3
#define LUAJIT_COPYRIGHT "Copyright (C) 2005-2014 Mike Pall"
#define LUAJIT_URL "http://luajit.org/"
/* Modes for luaJIT_setmode. */

View File

@ -1,6 +1,6 @@
/*
** Standard library header.
** Copyright (C) 2005-2013 Mike Pall. See Copyright Notice in luajit.h
** Copyright (C) 2005-2014 Mike Pall. See Copyright Notice in luajit.h
*/
#ifndef _LUALIB_H

View File

@ -1,7 +1,7 @@
/* png.h - header file for PNG reference library
*
* libpng version 1.6.10 - March 6, 2014
* libpng version 1.6.12 - June 12, 2014
* Copyright (c) 1998-2014 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@ -11,7 +11,7 @@
* Authors and maintainers:
* libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
* libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.6.10 - March 6, 2014: Glenn
* libpng versions 0.97, January 1998, through 1.6.12 - June 12, 2014: Glenn
* See also "Contributing Authors", below.
*
* Note about libpng version numbers:
@ -193,8 +193,13 @@
* 1.6.9rc01-02 16 10609 16.so.16.9[.0]
* 1.6.9 16 10609 16.so.16.9[.0]
* 1.6.10beta01-03 16 10610 16.so.16.10[.0]
* 1.6.10betarc01-04 16 10610 16.so.16.10[.0]
* 1.6.10beta 16 10610 16.so.16.10[.0]
* 1.6.10rc01-03 16 10610 16.so.16.10[.0]
* 1.6.10 16 10610 16.so.16.10[.0]
* 1.6.11beta01-06 16 10611 16.so.16.11[.0]
* 1.6.11rc01-02 16 10611 16.so.16.11[.0]
* 1.6.11 16 10611 16.so.16.11[.0]
* 1.6.12rc01-03 16 10612 16.so.16.12[.0]
* 1.6.12 16 10612 16.so.16.12[.0]
*
* Henceforth the source version will match the shared-library major
* and minor numbers; the shared-library major version number will be
@ -226,8 +231,8 @@
*
* This code is released under the libpng license.
*
* libpng versions 1.2.6, August 15, 2004, through 1.6.10, March 6, 2014, are
* Copyright (c) 2004, 2006-2013 Glenn Randers-Pehrson, and are
* libpng versions 1.2.6, August 15, 2004, through 1.6.12, June 12, 2014, are
* Copyright (c) 2004, 2006-2014 Glenn Randers-Pehrson, and are
* distributed according to the same disclaimer and license as libpng-1.2.5
* with the following individual added to the list of Contributing Authors:
*
@ -338,13 +343,13 @@
* Y2K compliance in libpng:
* =========================
*
* March 6, 2014
* June 12, 2014
*
* Since the PNG Development group is an ad-hoc body, we can't make
* an official declaration.
*
* This is your unofficial assurance that libpng from version 0.71 and
* upward through 1.6.10 are Y2K compliant. It is my belief that
* upward through 1.6.12 are Y2K compliant. It is my belief that
* earlier versions were also Y2K compliant.
*
* Libpng only has two year fields. One is a 2-byte unsigned integer
@ -397,16 +402,18 @@
/* This is not the place to learn how to use libpng. The file libpng-manual.txt
* describes how to use libpng, and the file example.c summarizes it
* with some code on which to build. This file is useful for looking
* at the actual function definitions and structure components.
* at the actual function definitions and structure components. If that
* file has been stripped from your copy of libpng, you can find it at
* <http://www.libpng.org/pub/png/libpng-manual.txt>
*
* If you just need to read a PNG file and don't want to read the documentation
* skip to the end of this file and read the section entitled 'simplified API'.
*/
/* Version information for png.h - this should match the version in png.c */
#define PNG_LIBPNG_VER_STRING "1.6.10"
#define PNG_LIBPNG_VER_STRING "1.6.12"
#define PNG_HEADER_VERSION_STRING \
" libpng version 1.6.10 - March 6, 2014\n"
" libpng version 1.6.12 - June 12, 2014\n"
#define PNG_LIBPNG_VER_SONUM 16
#define PNG_LIBPNG_VER_DLLNUM 16
@ -414,7 +421,7 @@
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
#define PNG_LIBPNG_VER_MAJOR 1
#define PNG_LIBPNG_VER_MINOR 6
#define PNG_LIBPNG_VER_RELEASE 10
#define PNG_LIBPNG_VER_RELEASE 12
/* This should match the numeric part of the final component of
* PNG_LIBPNG_VER_STRING, omitting any leading zero:
@ -445,7 +452,7 @@
* version 1.0.0 was mis-numbered 100 instead of 10000). From
* version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release
*/
#define PNG_LIBPNG_VER 10610 /* 1.6.10 */
#define PNG_LIBPNG_VER 10612 /* 1.6.12 */
/* Library configuration: these options cannot be changed after
* the library has been built.
@ -550,7 +557,7 @@ extern "C" {
/* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number.
*/
typedef char* png_libpng_version_1_6_10;
typedef char* png_libpng_version_1_6_12;
/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
*
@ -1849,7 +1856,6 @@ PNG_EXPORT(219, png_size_t, png_process_data_pause, (png_structrp, int save));
*/
PNG_EXPORT(220, png_uint_32, png_process_data_skip, (png_structrp));
#ifdef PNG_READ_INTERLACING_SUPPORTED
/* Function that combines rows. 'new_row' is a flag that should come from
* the callback and be non-NULL if anything needs to be done; the library
* stores its own version of the new data internally and ignores the passed
@ -1857,7 +1863,6 @@ PNG_EXPORT(220, png_uint_32, png_process_data_skip, (png_structrp));
*/
PNG_EXPORT(93, void, png_progressive_combine_row, (png_const_structrp png_ptr,
png_bytep old_row, png_const_bytep new_row));
#endif /* PNG_READ_INTERLACING_SUPPORTED */
#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
PNG_EXPORTA(94, png_voidp, png_malloc, (png_const_structrp png_ptr,
@ -3225,7 +3230,8 @@ PNG_EXPORT(243, int, png_get_palette_max, (png_const_structp png_ptr,
# define PNG_ARM_NEON 0 /* HARDWARE: ARM Neon SIMD instructions supported */
#endif
#define PNG_MAXIMUM_INFLATE_WINDOW 2 /* SOFTWARE: force maximum window */
#define PNG_OPTION_NEXT 4 /* Next option - numbers must be even */
#define PNG_SKIP_sRGB_CHECK_PROFILE 4 /* SOFTWARE: Check ICC profile for sRGB */
#define PNG_OPTION_NEXT 6 /* Next option - numbers must be even */
/* Return values: NOTE: there are four values and 'off' is *not* zero */
#define PNG_OPTION_UNSET 0 /* Unset - defaults to off */
@ -3238,7 +3244,7 @@ PNG_EXPORT(244, int, png_set_option, (png_structrp png_ptr, int option,
#endif
/*******************************************************************************
* END OF HARDWARE OPTIONS
* END OF HARDWARE AND SOFTWARE OPTIONS
******************************************************************************/
/* Maintainer: Put new public prototypes here ^, in libpng.3, and project

View File

@ -1,9 +1,9 @@
/* pngconf.h - machine configurable file for libpng
*
* libpng version 1.6.10 - March 6, 2014
* libpng version 1.6.12 - June 12, 2014
*
* Copyright (c) 1998-2013 Glenn Randers-Pehrson
* Copyright (c) 1998-2014 Glenn Randers-Pehrson
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
*
@ -361,7 +361,7 @@
* version 1.2.41. Disabling these removes the warnings but may also produce
* less efficient code.
*/
# if defined(__clang__)
# if defined(__clang__) && defined(__has_attribute)
/* Clang defines both __clang__ and __GNUC__. Check __clang__ first. */
# if !defined(PNG_USE_RESULT) && __has_attribute(__warn_unused_result__)
# define PNG_USE_RESULT __attribute__((__warn_unused_result__))

View File

@ -1,6 +1,6 @@
/* pnglibconf.h - library build configuration */
/* libpng version 1.6.10 - March 6, 2014 */
/* libpng version 1.6.12 - June 12, 2014 */
/* Copyright (c) 1998-2012 Glenn Randers-Pehrson */
@ -185,7 +185,6 @@
/* end of options */
/* settings */
#define PNG_API_RULE 0
#define PNG_CALLOC_SUPPORTED
#define PNG_COST_SHIFT 3
#define PNG_DEFAULT_READ_MACROS 1
#define PNG_GAMMA_THRESHOLD_FIXED 5000

View File

@ -1,129 +1,197 @@
Instructions for Building EDuke32's Library Dependencies Targeting Win32 and Win64
==================================================================================
First, follow these instructions:
http://wiki.eduke32.com/wiki/Building_EDuke32_on_Windows
First, follow these instructions: http://wiki.eduke32.com/wiki/Building_EDuke32_on_Windows
Download the latest sources from:
https://www.xiph.org/downloads/
http://git.xiph.org/?p=flac.git;a=summary
http://zlib.net/
http://www.libpng.org/pub/png/libpng.html
http://www.webmproject.org/code/
http://www.libsdl.org/download-2.0.php
http://www.libsdl.org/projects/SDL_mixer/
Download the latest sources from the link provided.
The build output listed as "Desired Results" is what EDuke32 needs to function.
The desired results for each library in some cases may need to be installed to the compiler. "x depends on the results of y to compile" means that the build output of x must be added to the compiler in this way. Copy files listed in each category to the appropriate destinations. Unless otherwise noted, do NOT copy the ".dll.a" file or else the final product may depend on external DLLs (which you may actually want).
For MinGW (MinGW32):
from the compiler root (ex. C:\MinGW\)
headers: include\
libraries: lib\
from the compiler root (ex. C:/MinGW/)
* headers: include/
* libraries: lib/
For MinGW-w64:
from the compiler root (ex. C:\MinGW-w64\mingw32-dw2\)
headers: <target>-w64-mingw32\include\
libraries: <target>-w64-mingw32\lib\
from the compiler root (ex. C:/MinGW-w64/mingw32-dw2/)
* headers: <target>-w64-mingw32/include/
* libraries: <target>-w64-mingw32/lib/
Binaries need to be present with the finished EDuke32 executables. They are not needed during compilation.
Binaries (if mentioned) need to be present with the finished EDuke32 executables. They are not needed during compilation.
NB: Text in [] are commands to be pasted into the Windows command prompt, sans [].
NB: Text formatted as code blocks are commands to be pasted into the Windows command prompt.
http://wiki.eduke32.com/wiki/Working_with_the_Windows_Command_Prompt
[//]: # (Plain text readers: This refers to lines beginning with exactly four spaces.)
libogg:
To build:
[sh ./configure CFLAGS="-g -O2 -fno-stack-check -fno-stack-protector -mno-stack-arg-probe" && make]
Desired Results:
- headers: ogg\config_types.h ogg\ogg.h ogg\os_types.h
- libraries: libogg.a
libogg
------
### Download ###
Download: libogg-<version>.tar.xz
* Stable: https://www.xiph.org/downloads/
* SVN: https://svn.xiph.org/trunk/ogg
* Git: git://git.xiph.org/mirrors/ogg.git
### Build ###
sh ./configure CFLAGS="-g -O2 -fno-stack-check -fno-stack-protector -mno-stack-arg-probe" && make
### Desired Results ###
* headers: ogg/config_types.h ogg/ogg.h ogg/os_types.h
* libraries: libogg.a
libvorbis:
To build:
[sh ./configure CFLAGS="-fno-stack-check -fno-stack-protector -mno-stack-arg-probe" && make]
Desired Results:
- headers: vorbis\codec.h vorbis\vorbisfile.h
- libraries: libvorbis.a libvorbisfile.a
libvorbis
---------
### Prerequisites ###
libvorbis depends on the results of libogg to compile.
### Download ###
Download: libvorbis-<version>.tar.xz
* Stable: https://www.xiph.org/downloads/
* SVN: https://svn.xiph.org/trunk/vorbis
* Git: git://git.xiph.org/mirrors/vorbis.git
### Build ###
sh ./configure CFLAGS="-fno-stack-check -fno-stack-protector -mno-stack-arg-probe" && make
### Desired Results ###
* headers: vorbis/codec.h vorbis/vorbisfile.h
* libraries: libvorbis.a libvorbisfile.a
libFLAC:
To build:
[make -f Makefile.lite libFLAC USE_LROUND=0 USE_FSEEKO=0 CUSTOM_CFLAGS="-fno-stack-check -fno-stack-protector -mno-stack-arg-probe"]
Desired Results:
- headers: FLAC\all.h FLAC\assert.h FLAC\callback.h FLAC\export.h FLAC\format.h FLAC\metadata.h FLAC\ordinals.h FLAC\stream_decoder.h FLAC\stream_encoder.h
- libraries: libFLAC.a
libFLAC
-------
### Prerequisites ###
libFLAC depends on the results of libogg to compile.
### Download ###
Download: flac-<version>.tar.xz
However, Git HEAD is highly recommended.
* Stable: https://www.xiph.org/downloads/
* Git: git://git.xiph.org/flac.git
### Build ###
make -f Makefile.lite libFLAC CUSTOM_CFLAGS="-fno-stack-check -fno-stack-protector -mno-stack-arg-probe"
### Desired Results ###
* headers: FLAC/all.h FLAC/assert.h FLAC/callback.h FLAC/export.h FLAC/format.h FLAC/metadata.h FLAC/ordinals.h FLAC/stream_decoder.h FLAC/stream_encoder.h
* libraries: libFLAC.a
zlib:
Modify win32\Makefile.gcc as follows:
- CFLAGS: change -O3 to -O2 for stability and possibly performance benefits.
- CFLAGS: add: -fno-stack-check -fno-stack-protector -mno-stack-arg-probe
To build:
[make -f win32\Makefile.gcc]
[ar rcs libz_mini.a crc32.o deflate.o adler32.o zutil.o trees.o]
Desired Results:
- headers: (none)
- libraries: libz_mini.a
zlib
----
### Download ###
Download: zlib-<version>.tar.xz
* Stable: http://zlib.net/
* Git: git://github.com/madler/zlib.git
### Modifications ###
* Modify win32/Makefile.gcc as follows:
* CFLAGS: change -O3 to -O2 for stability and possibly performance benefits.
* CFLAGS: add: -fno-stack-check -fno-stack-protector -mno-stack-arg-probe
### Build ###
make -f win32/Makefile.gcc
ar rcs libz_mini.a crc32.o deflate.o adler32.o zutil.o trees.o
### Desired Results ###
* headers: (none)
* libraries: libz_mini.a
libpng:
libpng
------
### Prerequisites ###
Copy *.h from zlib to your compiler's include directory.
Modify scripts\Makefile.gcc as follows:
- Ensure ZLIBINC and ZLIBLIB point to the directory of zlib from above, or, rename your zlib directory so that, relative to the libpng directory, it is "../zlib". You will get a compile-time error if this is omitted or done incorrectly.
- CFLAGS: add: -fno-stack-check -fno-stack-protector -mno-stack-arg-probe
Copy the file "minipng.dfa" to the root of the libpng data.
To build:
[make -f scripts/pnglibconf.mak DFA_XTRA=./minipng.dfa CPP="gcc -E"]
[make -f scripts/makefile.gcc libpng.a]
[ren libpng.a libpng_mini.a]
Desired Results:
- headers: png.h pngconf.h pnglibconf.h
- libraries: libpng_mini.a
### Download ###
Download libpng-<version>.tar.xz
* Stable: http://www.libpng.org/pub/png/libpng.html
* Git: git://git.code.sf.net/p/libpng/code
### Modifications ###
* Modify scripts/Makefile.gcc as follows:
* Ensure ZLIBINC and ZLIBLIB point to the directory of zlib from above, or, rename your zlib directory so that, relative to the libpng directory, it is "../zlib". You will get a compile-time error if this is omitted or done incorrectly.
* CFLAGS: add: -fno-stack-check -fno-stack-protector -mno-stack-arg-probe
* Copy the file "minipng.dfa" to the root of the libpng data.
### Build ###
make -f scripts/pnglibconf.mak DFA_XTRA=./minipng.dfa CPP="gcc -E"
make -f scripts/makefile.gcc libpng.a
ren libpng.a libpng_mini.a
### Desired Results ###
* headers: png.h pngconf.h pnglibconf.h
* libraries: libpng_mini.a
libvpx:
libvpx
------
### Prerequisites ###
Download the binary of yasm (http://yasm.tortall.net/) for your host system architecture. Both builds target both architectures.
The build environment needs pr.exe (https://mingw-lib.googlecode.com/files/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2).
If the configure scripts do not recognize your 64-bit compiler, you may need to [git apply "libvpx with MinGW-w64.patch"].
To build:
[sh ./configure --disable-vp8-encoder --disable-vp9-encoder --disable-multithread --disable-spatial-resampling --as=yasm --extra-cflags="-fno-stack-check -fno-stack-protector -mno-stack-arg-probe" && make]
Desired Results:
- headers: vpx\vp8.h vpx\vp8dx.h vpx\vpx_codec.h vpx\vpx_codec_impl_bottom.h vpx\vpx_codec_impl_top.h vpx\vpx_decoder.h vpx\vpx_decoder_compat.h vpx\vpx_image.h vpx\vpx_integer.h
- libraries: libvpx.a libvpx_g.a
### Download ###
* Instructions: http://www.webmproject.org/code/
* Git: https://chromium.googlesource.com/webm/libvpx
### Modifications ###
If the configure scripts do not recognize your 64-bit compiler, you may need to run the following:
git apply "libvpx with MinGW-w64.patch"
### Build ###
sh ./configure --disable-vp8-encoder --disable-vp9-encoder --disable-multithread --disable-spatial-resampling --as=yasm --extra-cflags="-fno-stack-check -fno-stack-protector -mno-stack-arg-probe" && make
### Desired Results ###
* headers: vpx/vp8.h vpx/vp8dx.h vpx/vpx_codec.h vpx/vpx_codec_impl_bottom.h vpx/vpx_codec_impl_top.h vpx/vpx_decoder.h vpx/vpx_decoder_compat.h vpx/vpx_image.h vpx/vpx_integer.h
* libraries: libvpx.a libvpx_g.a
SDL:
To build:
[sh ./configure && make]
Desired Results:
- headers: SDL_*.h
- libraries: libSDL.a libSDL.dll.a libSDLmain.a
- binaries: SDL.dll
SDL
---
### Download ###
Download SDL2-devel-<version>-mingw.tar.gz
* Stable: http://www.libsdl.org/download-2.0.php
* Mercurial: http://hg.libsdl.org/SDL
### Build ###
sh ./configure && make
### Desired Results ###
* headers: SDL_*.h
* libraries: libSDL2.a libSDL2main.a
SDL_mixer:
Download SDL_mixer-devel-<version>-VC.zip.
The library used for linking can be found at these paths:
32-bit: SDL_mixer-<version>/lib/x86/SDL_mixer.lib
64-bit: SDL_mixer-<version>/lib/x64/SDL_mixer.lib
Compiling SDL_mixer 1.x has not been shown to work with either MinGW. If you would like to try anyway:
To build:
[sh ./configure && make]
SDL_mixer depends on the results of SDL to compile. Note that the headers must be installed without the "SDL" prefix directory.
SDL_mixer
---------
### Prerequisites ###
SDL_mixer depends on the results of SDL to compile.
NEEDS VERIFICATION: Note that the headers must be installed without the "SDL2" prefix directory.
### Download ###
Download SDL2_mixer-devel-<version>-mingw.tar.gz.
* Stable: http://www.libsdl.org/projects/SDL_mixer/
* Mercurial: http://hg.libsdl.org/SDL_mixer/
### Build ###
sh ./configure && make
### Desired Results ###
Note: With just this bare bones setup all the external libraries and formats will be disabled, but that's OK.
Desired Results:
- headers: SDL_mixer.h
- libraries: SDL_mixer.lib
- binaries: SDL_mixer.dll
* headers: SDL_mixer.h
* libraries: libSDL2_mixer.a
dsound:
dxguid:
See Windows\src\dxlibs.
To build:
[make]
Desired Results:
- headers: ddraw.h dinput.h dsound.h (pre-positioned in Windows\include)
- libraries: libdsound.a libdxguid.a
dsound, dxguid, and dxguid_sdl
------------------------------
### Download ###
See Windows/src/dxlibs.
### Build ###
make
### Desired Results ###
* headers: ddraw.h dinput.h dsound.h (pre-positioned in Windows/include/dx)
* libraries: libdsound.a libdxguid.a libdxguid_sdl.a
LuaJIT
------
### Download ###
Download: LuaJIT-<version>.tar.gz
However, Git HEAD is highly recommended.
* Stable: http://luajit.org/download.html
* Git: git clone http://luajit.org/git/luajit-2.0.git
### Modifications ###
* Modify src/luaconf.h as follows:
* #define LUAI_MAXCSTACK 64000 // (instead of the default 8000.)
### Build ###
make BUILDMODE=static
### Desired Results ###
* headers: lauxlib.h lua.h lua.hpp luaconf.h luajit.h lualib.h
* libraries: libluajit.a
LPeg
----
### Download ###
Download: lpeg-<version>.tar.gz
* Stable: http://www.inf.puc-rio.br/~roberto/lpeg
### Modifications ###
* Apply "lpeg-lunatic.patch".
### Build ###
make liblpeg.a
### Desired Results ###
* libraries: liblpeg.a

View File

@ -1,15 +1,14 @@
Lunatic depends on the following:
* LuaJIT 2.0.2 or later [http://luajit.org]. It is recommended to get the
latest git HEAD of the 2.0 branch, see http://luajit.org/download.html for
that. As of time of writing, LuaJIT 2.1 is in alpha, and has not been
successfully tested with Lunatic. LuaJIT is built with the following change
to src/luaconf.h:
#define LUAI_MAXCSTACK 64000
(instead of the default 8000.)
* LuaJIT 2.0.3 or later [http://luajit.org]. It is recommended to get the
latest git HEAD of the 2.0 branch. As of time of writing, LuaJIT 2.1 is
in alpha, and has not been successfully tested with Lunatic.
* LPeg 0.12 [http://www.inf.puc-rio.br/~roberto/lpeg], but with our patch
"lpeg-lunatic.patch" applied. It will allow to build a statically linked
library of LPeg, "liblpeg.a". On Windows, liblpeg.a is pre-compiled and
resides in platform/Windows/lib/.
* LPeg 0.12 [http://www.inf.puc-rio.br/~roberto/lpeg].
For Windows, static libraries and headers have been provided.
See platform/Windows/lib/instructions.txt for information on building.
Build EDuke32 with the GNU Make invocation "make LUNATIC=1".