1/*
  2** Lua core, libraries, and interpreter in a single file.
  3** Compiling just this file generates a complete Lua stand-alone
  4** program:
  5**
  6** $ gcc -O2 -std=c99 -o lua onelua.c -lm
  7**
  8** or
  9**
 10** $ gcc -O2 -std=c89 -DLUA_USE_C89 -o lua onelua.c -lm
 11**
 12*/
 13
 14/* default is to build the full interpreter */
 15#ifndef MAKE_LIB
 16#ifndef MAKE_LUAC
 17#ifndef MAKE_LUA
 18#define MAKE_LUA
 19#endif
 20#endif
 21#endif
 22
 23
 24/*
 25** Choose suitable platform-specific features. Default is no
 26** platform-specific features. Some of these options may need extra
 27** libraries such as -ldl -lreadline -lncurses
 28*/
 29#if 0
 30#define LUA_USE_LINUX
 31#define LUA_USE_MACOSX
 32#define LUA_USE_POSIX
 33#define LUA_ANSI
 34#endif
 35
 36
 37/* no need to change anything below this line ----------------------------- */
 38
 39#include "lprefix.h"
 40
 41#include <assert.h>
 42#include <ctype.h>
 43#include <errno.h>
 44#include <float.h>
 45#include <limits.h>
 46#include <locale.h>
 47#include <math.h>
 48#include <setjmp.h>
 49#include <signal.h>
 50#include <stdarg.h>
 51#include <stddef.h>
 52#include <stdio.h>
 53#include <stdlib.h>
 54#include <string.h>
 55#include <time.h>
 56
 57
 58/* setup for luaconf.h */
 59#define LUA_CORE
 60#define LUA_LIB
 61#define ltable_c
 62#define lvm_c
 63#include "luaconf.h"
 64
 65/* do not export internal symbols */
 66#undef LUAI_FUNC
 67#undef LUAI_DDEC
 68#undef LUAI_DDEF
 69#define LUAI_FUNC	static
 70#define LUAI_DDEC(def)	/* empty */
 71#define LUAI_DDEF	static
 72
 73/* core -- used by all */
 74#include "lzio.c"
 75#include "lctype.c"
 76#include "lopcodes.c"
 77#include "lmem.c"
 78#include "lundump.c"
 79#include "ldump.c"
 80#include "lstate.c"
 81#include "lgc.c"
 82#include "llex.c"
 83#include "lcode.c"
 84#include "lparser.c"
 85#include "ldebug.c"
 86#include "lfunc.c"
 87#include "lobject.c"
 88#include "ltm.c"
 89#include "lstring.c"
 90#include "ltable.c"
 91#include "ldo.c"
 92#include "lvm.c"
 93#include "lapi.c"
 94
 95/* auxiliary library -- used by all */
 96#include "lauxlib.c"
 97
 98/* standard library  -- not used by luac */
 99#ifndef MAKE_LUAC
100#include "lbaselib.c"
101#include "lcorolib.c"
102#include "ldblib.c"
103#include "liolib.c"
104#include "lmathlib.c"
105#include "loadlib.c"
106#include "loslib.c"
107#include "lstrlib.c"
108#include "ltablib.c"
109#include "lutf8lib.c"
110#include "linit.c"
111#endif
112
113/* lua */
114#ifdef MAKE_LUA
115#include "lua.c"
116#endif
117
118/* luac */
119#ifdef MAKE_LUAC
120#include "luac.c"
121#endif