Skip to content

Commit

Permalink
Build luajit-rocks
Browse files Browse the repository at this point in the history
Microsoft Windows 8.1 Enterprise, 6.3.9600 Build 9600
Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz, 3301 Mhz, 4 Core(s), 4 Logical Processor(s)

Toolchain:
Microsoft Visual Studio Community 2015, Version 14.0.25431.01 Update 3
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24215.1 for x64
Microsoft (R) Incremental Linker Version 14.00.24215.1

----

set TORCH_INSTALL_PATH=C:/torch

git clone https://github.com/torch/luajit-rocks.git
cd luajit-rocks
git rev-parse HEAD    &:: 2c7496b905f6f972673effda4884766433b7583b

REM Store the LUAJIT-ROCKS PATCH found at the end of this script in file 'p'
git apply p

mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=%TORCH_INSTALL_PATH% -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release  -DWITH_LUAJIT21=ON
nmake
cmake -DCMAKE_INSTALL_PREFIX=%TORCH_INSTALL_PATH% -G "NMake Makefiles" -P cmake_install.cmake -DCMAKE_BUILD_TYPE=Release  -DWITH_LUAJIT21=ON

---- LUAJIT-ROCKS PATCH BEGIN ----

diff --git a/luajit-2.1/CMakeLists.txt b/luajit-2.1/CMakeLists.txt
index 0df51e9..2637390 100644
--- a/luajit-2.1/CMakeLists.txt
+++ b/luajit-2.1/CMakeLists.txt
@@ -22,10 +22,10 @@ OPTION(WITH_AMALG "Build eveything in one shot (needs memory)" ON)

 SET(INSTALL_INCLUDE_SUBDIR "include" CACHE STRING "installation include subdirectory name")
 IF(WIN32)
-  SET(INSTALL_BIN_SUBDIR "." CACHE STRING "installation executable subdirectory name")
-  SET(INSTALL_LIB_SUBDIR "." CACHE STRING "installation library subdirectory name")
+  SET(INSTALL_BIN_SUBDIR "bin" CACHE STRING "installation executable subdirectory name")
+  SET(INSTALL_LIB_SUBDIR "lib" CACHE STRING "installation library subdirectory name")
   SET(INSTALL_LUA_PATH_SUBDIR "lua") # not editable
-  SET(INSTALL_LUA_CPATH_SUBDIR ".") # not editable
+  SET(INSTALL_LUA_CPATH_SUBDIR "bin") # not editable
 ELSE()
   SET(INSTALL_BIN_SUBDIR "bin" CACHE STRING "installation executable subdirectory name")
   SET(INSTALL_LIB_SUBDIR "lib" CACHE STRING "installation library subdirectory name")
diff --git a/luarocks/CMakeLists.txt b/luarocks/CMakeLists.txt
index a77199b..4c4ebed 100644
--- a/luarocks/CMakeLists.txt
+++ b/luarocks/CMakeLists.txt
@@ -5,10 +5,10 @@ CMAKE_POLICY(VERSION 2.6)

 SET(INSTALL_INCLUDE_SUBDIR "include" CACHE STRING "installation include subdirectory name")
 IF(WIN32)
-  SET(INSTALL_BIN_SUBDIR "." CACHE STRING "installation executable subdirectory name")
-  SET(INSTALL_LIB_SUBDIR "." CACHE STRING "installation library subdirectory name")
+  SET(INSTALL_BIN_SUBDIR "bin" CACHE STRING "installation executable subdirectory name")
+  SET(INSTALL_LIB_SUBDIR "lib" CACHE STRING "installation library subdirectory name")
   SET(INSTALL_LUA_PATH_SUBDIR "lua") # not editable
-  SET(INSTALL_LUA_CPATH_SUBDIR ".") # not editable
+  SET(INSTALL_LUA_CPATH_SUBDIR "bin") # not editable
   SET(INSTALL_LUAROCKS_ROCKS_SUBDIR "luarocks" CACHE STRING "installation luarocks rocks subdirectory name")
   SET(INSTALL_LUAROCKS_SYSCONF_SUBDIR "luarocks" CACHE STRING "installation luarocks sysconfig subdirectory name")
 ELSE()
@@ -30,7 +30,7 @@ IF(WIN32)
     win32/tools/7z.dll win32/tools/libeay32.dll win32/tools/libiconv2.dll
     win32/tools/libintl3.dll win32/tools/libssl32.dll)

-  INSTALL(FILES ${WINUTILS_DLL_FILES} DESTINATION "${INSTALL_BIN_SUBDIR}/tools/")
+  INSTALL(FILES ${WINUTILS_DLL_FILES} DESTINATION "./tools/")

   SET(WINUTILS_EXE_FILES
     win32/tools/7z.exe
@@ -49,7 +49,7 @@ IF(WIN32)
     win32/tools/uname.exe
     win32/tools/wget.exe)

-  INSTALL(PROGRAMS ${WINUTILS_EXE_FILES} DESTINATION "${INSTALL_BIN_SUBDIR}/tools/")
+  INSTALL(PROGRAMS ${WINUTILS_EXE_FILES} DESTINATION "./tools/")

   SET(WGET_EXECUTABLE_NAME "wget")
   SET(MD5_EXECUTABLE_NAME "md5sum")

---- LUAJIT-ROCKS PATCH END ----

Build configuration:
-- The C compiler identification is MSVC 19.0.24215.1
-- The CXX compiler identification is MSVC 19.0.24215.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The ASM compiler identification is MSVC
-- Found assembler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe
-- Warning: Did not find file Compiler/MSVC-ASM
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of void*
-- Check size of void* - done
-- Looking for sin in m
-- Looking for sin in m - not found
-- Looking for printw in ncurses
-- Looking for printw in ncurses - not found
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Performing Test LJ_TARGET_X64
-- Performing Test LJ_TARGET_X64 - Success
-- LuaJIT Target: x64
-- Performing Test LJ_LE_1
-- Performing Test LJ_LE_1 - Success
-- Performing Test LJ_ARCH_BITS_64
-- Performing Test LJ_ARCH_BITS_64 - Success
-- Performing Test LJ_HASJIT_1
-- Performing Test LJ_HASJIT_1 - Success
-- Performing Test LJ_HASFFI_1
-- Performing Test LJ_HASFFI_1 - Success
-- Performing Test LJ_DUALNUM_1
-- Performing Test LJ_DUALNUM_1 - Failed
-- Performing Test LJ_ARCH_HASFPU_1
-- Performing Test LJ_ARCH_HASFPU_1 - Success
-- Performing Test LJ_ABI_SOFTFP_1
-- Performing Test LJ_ABI_SOFTFP_1 - Failed
-- Performing Test LJ_NO_UNWIND_1
-- Performing Test LJ_NO_UNWIND_1 - Failed
-- Performing Test LJ_FR2_1
-- Performing Test LJ_FR2_1 - Success
-- Looking for sin in m
-- Looking for sin in m - not found
  • Loading branch information
hiili committed Jul 26, 2017
1 parent 5be0d16 commit d689e2b
Show file tree
Hide file tree
Showing 109 changed files with 19,340 additions and 0 deletions.
Binary file added bin/libluajit.dll
Binary file not shown.
Binary file added bin/luajit.exe
Binary file not shown.
23 changes: 23 additions & 0 deletions bin/luarocks-admin.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
::rem:: --[[
@setlocal& set PATH=C:/torch/bin;%PATH% & set luafile="%~f0" & if exist "%~f0.bat" set luafile="%~f0.bat"
@C:/torch/bin/luajit.exe %luafile% %*& exit /b ]]

package.path = [[C:/torch/lua/?.lua;C:/torch/lua/?/init.lua;]]..package.path

-- this should be loaded first.
local cfg = require("luarocks.cfg")

local loader = require("luarocks.loader")
local command_line = require("luarocks.command_line")

program_description = "LuaRocks repository administration interface"

commands = {
help = "luarocks.help",
make_manifest = "luarocks.make_manifest",
add = "luarocks.add",
remove = "luarocks.admin_remove",
refresh_cache = "luarocks.refresh_cache",
}

command_line.run_command(...)
37 changes: 37 additions & 0 deletions bin/luarocks.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
::rem:: --[[
@setlocal& set PATH=C:/torch/bin;%PATH% & set luafile="%~f0" & if exist "%~f0.bat" set luafile="%~f0.bat"
@C:/torch/bin/luajit.exe %luafile% %*& exit /b ]]

package.path = [[C:/torch/lua/?.lua;C:/torch/lua/?/init.lua;]]..package.path

-- this should be loaded first.
local cfg = require("luarocks.cfg")

local loader = require("luarocks.loader")
local command_line = require("luarocks.command_line")

program_description = "LuaRocks main command-line interface"

commands = {
help = "luarocks.help",
pack = "luarocks.pack",
unpack = "luarocks.unpack",
build = "luarocks.build",
install = "luarocks.install",
search = "luarocks.search",
list = "luarocks.list",
remove = "luarocks.remove",
make = "luarocks.make",
download = "luarocks.download",
path = "luarocks.path_cmd",
show = "luarocks.show",
new_version = "luarocks.new_version",
lint = "luarocks.lint",
write_rockspec = "luarocks.write_rockspec",
purge = "luarocks.purge",
doc = "luarocks.doc",
upload = "luarocks.upload",
config = "luarocks.config_cmd",
}

command_line.run_command(...)
161 changes: 161 additions & 0 deletions include/lauxlib.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
/*
** $Id: lauxlib.h,v 1.88.1.1 2007/12/27 13:02:25 roberto Exp $
** Auxiliary functions for building Lua libraries
** See Copyright Notice in lua.h
*/


#ifndef lauxlib_h
#define lauxlib_h


#include <stddef.h>
#include <stdio.h>

#include "lua.h"


/* extra error code for `luaL_load' */
#define LUA_ERRFILE (LUA_ERRERR+1)

typedef struct luaL_Reg {
const char *name;
lua_CFunction func;
} luaL_Reg;

LUALIB_API void (luaL_openlib) (lua_State *L, const char *libname,
const luaL_Reg *l, int nup);
LUALIB_API void (luaL_register) (lua_State *L, const char *libname,
const luaL_Reg *l);
LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e);
LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e);
LUALIB_API int (luaL_typerror) (lua_State *L, int narg, const char *tname);
LUALIB_API int (luaL_argerror) (lua_State *L, int numarg, const char *extramsg);
LUALIB_API const char *(luaL_checklstring) (lua_State *L, int numArg,
size_t *l);
LUALIB_API const char *(luaL_optlstring) (lua_State *L, int numArg,
const char *def, size_t *l);
LUALIB_API lua_Number (luaL_checknumber) (lua_State *L, int numArg);
LUALIB_API lua_Number (luaL_optnumber) (lua_State *L, int nArg, lua_Number def);

LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int numArg);
LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int nArg,
lua_Integer def);

LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg);
LUALIB_API void (luaL_checktype) (lua_State *L, int narg, int t);
LUALIB_API void (luaL_checkany) (lua_State *L, int narg);

LUALIB_API int (luaL_newmetatable) (lua_State *L, const char *tname);
LUALIB_API void *(luaL_checkudata) (lua_State *L, int ud, const char *tname);

LUALIB_API void (luaL_where) (lua_State *L, int lvl);
LUALIB_API int (luaL_error) (lua_State *L, const char *fmt, ...);

LUALIB_API int (luaL_checkoption) (lua_State *L, int narg, const char *def,
const char *const lst[]);

/* pre-defined references */
#define LUA_NOREF (-2)
#define LUA_REFNIL (-1)

LUALIB_API int (luaL_ref) (lua_State *L, int t);
LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref);

LUALIB_API int (luaL_loadfile) (lua_State *L, const char *filename);
LUALIB_API int (luaL_loadbuffer) (lua_State *L, const char *buff, size_t sz,
const char *name);
LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s);

LUALIB_API lua_State *(luaL_newstate) (void);


LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p,
const char *r);

LUALIB_API const char *(luaL_findtable) (lua_State *L, int idx,
const char *fname, int szhint);

/* From Lua 5.2. */
LUALIB_API int luaL_fileresult(lua_State *L, int stat, const char *fname);
LUALIB_API int luaL_execresult(lua_State *L, int stat);
LUALIB_API int (luaL_loadfilex) (lua_State *L, const char *filename,
const char *mode);
LUALIB_API int (luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz,
const char *name, const char *mode);
LUALIB_API void luaL_traceback (lua_State *L, lua_State *L1, const char *msg,
int level);
LUALIB_API void (luaL_setfuncs) (lua_State *L, const luaL_Reg *l, int nup);
LUALIB_API void (luaL_pushmodule) (lua_State *L, const char *modname,
int sizehint);
LUALIB_API void *(luaL_testudata) (lua_State *L, int ud, const char *tname);
LUALIB_API void (luaL_setmetatable) (lua_State *L, const char *tname);


/*
** ===============================================================
** some useful macros
** ===============================================================
*/

#define luaL_argcheck(L, cond,numarg,extramsg) \
((void)((cond) || luaL_argerror(L, (numarg), (extramsg))))
#define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL))
#define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL))
#define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n)))
#define luaL_optint(L,n,d) ((int)luaL_optinteger(L, (n), (d)))
#define luaL_checklong(L,n) ((long)luaL_checkinteger(L, (n)))
#define luaL_optlong(L,n,d) ((long)luaL_optinteger(L, (n), (d)))

#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i)))

#define luaL_dofile(L, fn) \
(luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0))

#define luaL_dostring(L, s) \
(luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0))

#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n)))

#define luaL_opt(L,f,n,d) (lua_isnoneornil(L,(n)) ? (d) : f(L,(n)))

/* From Lua 5.2. */
#define luaL_newlibtable(L, l) \
lua_createtable(L, 0, sizeof(l)/sizeof((l)[0]) - 1)
#define luaL_newlib(L, l) (luaL_newlibtable(L, l), luaL_setfuncs(L, l, 0))

/*
** {======================================================
** Generic Buffer manipulation
** =======================================================
*/



typedef struct luaL_Buffer {
char *p; /* current position in buffer */
int lvl; /* number of strings in the stack (level) */
lua_State *L;
char buffer[LUAL_BUFFERSIZE];
} luaL_Buffer;

#define luaL_addchar(B,c) \
((void)((B)->p < ((B)->buffer+LUAL_BUFFERSIZE) || luaL_prepbuffer(B)), \
(*(B)->p++ = (char)(c)))

/* compatibility only */
#define luaL_putchar(B,c) luaL_addchar(B,c)

#define luaL_addsize(B,n) ((B)->p += (n))

LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B);
LUALIB_API char *(luaL_prepbuffer) (luaL_Buffer *B);
LUALIB_API void (luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l);
LUALIB_API void (luaL_addstring) (luaL_Buffer *B, const char *s);
LUALIB_API void (luaL_addvalue) (luaL_Buffer *B);
LUALIB_API void (luaL_pushresult) (luaL_Buffer *B);


/* }====================================================== */

#endif
Loading

0 comments on commit d689e2b

Please sign in to comment.