How to edit premake4.lua and build/te4core.lua ?

Everything about ToME 4.x.x. No spoilers, please

Moderator: Moderator

Post Reply
Message
Author
shirish
Yeek
Posts: 10
Joined: Sat Nov 19, 2011 9:39 am

How to edit premake4.lua and build/te4core.lua ?

#1 Post by shirish »

Hi all,
I am on Debian testing and have both SDL and SDL2 installed libraries. I was looking through http://te4.org/wiki/How_to_compile and was able to pull git and checkout 1.1.5 :-

Code: Select all

~/games/t-engine4$ git checkout tome-1.1.5
Note: checking out 'tome-1.1.5'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 5eaa66a... Fixed unarmed display of combat speed on gloves/gauntlets
Also :-

Code: Select all

~/games/t-engine4$ git branch
* (detached from tome-1.1.5)
  master
The above also tells what branch I'm in.

Now the next thing as written in the compilation instructions is :-
Check, and possibly edit, premake4.lua and build/te4core.lua to reflect the location of your SDL installation.
- TE Wiki - How to compile.

Now this is how the premake4.lua looks like :-

Code: Select all

includedirs {
		"src",
		"src/luasocket",
		"src/fov",
		"src/expat",
		"src/lxp",
		"src/libtcod_import",
		"src/physfs",
		"src/zlib",
		"src/bzip2",
		"/opt/SDL-2.0/include/SDL2",
		"/usr/include/GL",
	}
The SDL2 directory path is given as /opt/SDL-2.0/include/SDL2 but there is nothing in /opt directory in my system.

Code: Select all

/opt$ ls
/opt$
This is how my libsdl2-dev package looks like :-

Code: Select all

$ dpkg -L libsdl2-dev
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/libsdl2-dev
/usr/share/doc/libsdl2-dev/changelog.Debian.gz
/usr/share/doc/libsdl2-dev/examples
/usr/share/doc/libsdl2-dev/examples/examples.tar.gz
/usr/share/doc/libsdl2-dev/copyright
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/sdl2-config.1.gz
/usr/share/aclocal
/usr/share/aclocal/sdl2.m4
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libSDL2.a
/usr/lib/x86_64-linux-gnu/libSDL2_test.a
/usr/lib/x86_64-linux-gnu/libSDL2main.a
/usr/lib/x86_64-linux-gnu/pkgconfig
/usr/lib/x86_64-linux-gnu/pkgconfig/sdl2.pc
/usr/include
/usr/include/SDL2
/usr/include/SDL2/SDL_test_images.h
/usr/include/SDL2/SDL_platform.h
/usr/include/SDL2/SDL_stdinc.h
/usr/include/SDL2/SDL_system.h
/usr/include/SDL2/SDL_gamecontroller.h
/usr/include/SDL2/SDL_quit.h
/usr/include/SDL2/SDL_filesystem.h
/usr/include/SDL2/SDL_gesture.h
/usr/include/SDL2/SDL_test_random.h
/usr/include/SDL2/SDL_shape.h
/usr/include/SDL2/SDL_audio.h
/usr/include/SDL2/SDL_events.h
/usr/include/SDL2/SDL_timer.h
/usr/include/SDL2/SDL_version.h
/usr/include/SDL2/SDL_touch.h
/usr/include/SDL2/SDL_config.h
/usr/include/SDL2/SDL_test_crc32.h
/usr/include/SDL2/SDL_keyboard.h
/usr/include/SDL2/SDL_blendmode.h
/usr/include/SDL2/SDL_test_assert.h
/usr/include/SDL2/SDL_opengles2.h
/usr/include/SDL2/SDL_power.h
/usr/include/SDL2/SDL_cpuinfo.h
/usr/include/SDL2/SDL_main.h
/usr/include/SDL2/SDL_log.h
/usr/include/SDL2/SDL_test_fuzzer.h
/usr/include/SDL2/SDL_joystick.h
/usr/include/SDL2/SDL_opengles.h
/usr/include/SDL2/SDL_test_harness.h
/usr/include/SDL2/SDL_messagebox.h
/usr/include/SDL2/SDL_test_log.h
/usr/include/SDL2/SDL_assert.h
/usr/include/SDL2/SDL_surface.h
/usr/include/SDL2/SDL_test_common.h
/usr/include/SDL2/SDL_endian.h
/usr/include/SDL2/SDL_revision.h
/usr/include/SDL2/SDL_mutex.h
/usr/include/SDL2/SDL_rwops.h
/usr/include/SDL2/SDL_test.h
/usr/include/SDL2/SDL.h
/usr/include/SDL2/SDL_hints.h
/usr/include/SDL2/begin_code.h
/usr/include/SDL2/SDL_name.h
/usr/include/SDL2/SDL_thread.h
/usr/include/SDL2/SDL_test_compare.h
/usr/include/SDL2/SDL_types.h
/usr/include/SDL2/SDL_rect.h
/usr/include/SDL2/SDL_video.h
/usr/include/SDL2/SDL_test_font.h
/usr/include/SDL2/SDL_mouse.h
/usr/include/SDL2/SDL_pixels.h
/usr/include/SDL2/close_code.h
/usr/include/SDL2/SDL_bits.h
/usr/include/SDL2/SDL_scancode.h
/usr/include/SDL2/SDL_keycode.h
/usr/include/SDL2/SDL_clipboard.h
/usr/include/SDL2/SDL_syswm.h
/usr/include/SDL2/SDL_haptic.h
/usr/include/SDL2/SDL_loadso.h
/usr/include/SDL2/SDL_render.h
/usr/include/SDL2/SDL_test_md5.h
/usr/include/SDL2/SDL_atomic.h
/usr/include/SDL2/SDL_error.h
/usr/include/SDL2/SDL_opengl.h
/usr/bin
/usr/bin/sdl2-config
/usr/lib/x86_64-linux-gnu/libSDL2.so
/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so
Looking forward to know so I can proceed further.
Intel Core i5-7400, Intel(R) HD Graphics 630 (Kaby Lake GT2), Asus PRIME Z270-P, D-Link 502-T router, 64-bit Debian Testing, Debian Mate 1.24.0

Castler
Thalore
Posts: 153
Joined: Mon Mar 25, 2013 10:09 pm

Re: How to edit premake4.lua and build/te4core.lua ?

#2 Post by Castler »

Based on what you've listed, it looks like you should replace "/opt/SDL-2.0/include/SDL2" with "/usr/include/SDL2".

I haven't actually tried this myself.
Qi Daozei (QDZ) - an Oriental-themed fantasy game for T-Engine. ToME Tips - auto-generated spoilers for ToME.

shirish
Yeek
Posts: 10
Joined: Sat Nov 19, 2011 9:39 am

Re: How to edit premake4.lua and build/te4core.lua ?

#3 Post by shirish »

Did that and seems to have worked.

Code: Select all

~/games/t-engine4$ premake4 gmake
Building configurations...
Running action 'gmake'...
Generating Makefile...
Generating build/TEngine.make...
Generating build/physfs.make...
Generating build/minilua.make...
Generating build/buildvm.make...
Generating build/luajit2.make...
Generating build/luasocket.make...
Generating build/fov.make...
Generating build/lpeg.make...
Generating build/luaprofiler.make...
Generating build/tcodimport.make...
Generating build/expatstatic.make...
Generating build/lxp.make...
Generating build/luamd5.make...
Generating build/luazlib.make...
Generating build/luabitop.make...
Generating build/te4-bzip.make...
Done.
22:07:17 shirish@debian:~/games/t-engine4$ make
==== Building physfs (debug) ====
Creating ../bin/Debug
Creating ../obj/Debug/physfs
physfs.c
../src/physfs/physfs.c:76:5: warning: initialization from incompatible pointer type [enabled by default]
     &__PHYSFS_Archiver_BIND_PHYSFS,
     ^
../src/physfs/physfs.c:76:5: warning: (near initialization for ‘supported_types[0]’) [enabled by default]
physfsrwops.c
physfs_byteorder.c
physfs_unicode.c
compress.c
gzlib.c
infback.c
mzip.c
deflate.c
gzwrite.c
inffast.c
inflate.c
ioapi.c
gzclose.c
gzread.c
uncompr.c
trees.c
inftrees.c
adler32.c
crc32.c
zutil.c
dir.c
bind_physfs.c
../src/physfs/archivers/bind_physfs.c: In function ‘BIND_PHYSFS_openRead’:
../src/physfs/archivers/bind_physfs.c:225:2: warning: passing argument 3 of ‘doOpen’ from incompatible pointer type [enabled by default]
  return(doOpen(opaque, fnm, PHYSFS_openRead, exist));
  ^
../src/physfs/archivers/bind_physfs.c:197:15: note: expected ‘void * (*)(const char *)’ but argument is of type ‘struct PHYSFS_File * (*)(const char *)’
 static fvoid *doOpen(dvoid *opaque, const char *name,
               ^
zip.c
subzip.c
../src/physfs/archivers/subzip.c: In function ‘SUBZIP_openArchive’:
../src/physfs/archivers/subzip.c:112:15: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
  char *base = name;
               ^
unix.c
posix.c
Linking physfs
==== Building minilua (debug) ====
Creating ../obj/Debug/minilua
minilua.c
Linking minilua
Running post-build commands
cp ../bin/Debug/minilua ../src/luajit2/src/host/
==== Building buildvm (debug) ====
Creating ../obj/Debug/buildvm
Running pre-build commands
../src/luajit2/src/host/minilua ../src/luajit2/dynasm/dynasm.lua -D VER= -D P64 -D JIT -D FFI -D FPU -D HFABI -o ../src/luajit2/src/host/buildvm_arch.h ../src/luajit2/src/vm_x86.dasc
buildvm_peobj.c
buildvm_lib.c
buildvm.c
buildvm_fold.c
buildvm_asm.c
Linking buildvm
Running post-build commands
cp ../bin/Debug/buildvm ../src/luajit2/src/
==== Building luajit2 (debug) ====
Creating ../obj/Debug/luajit2
Running pre-build commands
../src/luajit2/src/buildvm -m elfasm -o ../src/luajit2/src/lj_vm.s
../src/luajit2/src/buildvm -m bcdef -o ../src/luajit2/src/lj_bcdef.h ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m ffdef -o ../src/luajit2/src/lj_ffdef.h ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m libdef -o ../src/luajit2/src/lj_libdef.h ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m recdef -o ../src/luajit2/src/lj_recdef.h ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m vmdef -o ../src/luajit2/vmdef.lua ../src/luajit2/src/lib_base.c ../src/luajit2/src/lib_math.c ../src/luajit2/src/lib_bit.c ../src/luajit2/src/lib_string.c ../src/luajit2/src/lib_table.c ../src/luajit2/src/lib_io.c ../src/luajit2/src/lib_os.c ../src/luajit2/src/lib_package.c ../src/luajit2/src/lib_debug.c ../src/luajit2/src/lib_jit.c ../src/luajit2/src/lib_ffi.c
../src/luajit2/src/buildvm -m folddef -o ../src/luajit2/src/lj_folddef.h ../src/luajit2/src/lj_opt_fold.c
lib_aux.c
lj_alloc.c
lj_opt_narrow.c
lj_vmmath.c
lj_str.c
lib_table.c
lj_trace.c
lj_udata.c
lj_gc.c
lj_cparse.c
lj_gdbjit.c
lj_ir.c
lj_lib.c
lj_bcread.c
lj_mcode.c
lib_init.c
lj_asm.c
lib_io.c
lj_parse.c
lj_tab.c
lj_meta.c
lib_ffi.c
lj_record.c
lib_base.c
lj_func.c
lib_string.c
lib_math.c
lj_obj.c
lj_opt_loop.c
lj_err.c
lib_jit.c
lj_bcwrite.c
lj_state.c
lj_ffrecord.c
lj_ccall.c
lj_crecord.c
lj_cdata.c
lib_package.c
lj_bc.c
lib_bit.c
lj_clib.c
lib_os.c
lj_opt_mem.c
lj_carith.c
lib_debug.c
lj_api.c
lj_cconv.c
lj_opt_dce.c
lj_debug.c
lj_char.c
lj_ccallback.c
lj_opt_sink.c
lj_dispatch.c
lj_load.c
lj_snap.c
lj_vmevent.c
lj_opt_split.c
lj_ctype.c
lj_opt_fold.c
lj_lex.c
lj_strscan.c
lj_vm.s
Linking luajit2
==== Building fov (debug) ====
Creating ../obj/Debug/fov
fov.c
Linking fov
==== Building luasocket (debug) ====
Creating ../obj/Debug/luasocket
auxiliar.c
buffer.c
except.c
inet.c
io.c
luasocket.c
options.c
select.c
tcp.c
timeout.c
udp.c
usocket.c
mime.c
Linking luasocket
==== Building luaprofiler (debug) ====
Creating ../obj/Debug/luaprofiler
lua50_profiler.c
clocks.c
core_profiler.c
stack.c
function_meter.c
Linking luaprofiler
==== Building lpeg (debug) ====
Creating ../obj/Debug/lpeg
lptree.c
lpcode.c
lpcap.c
lpvm.c
lpprint.c
Linking lpeg
==== Building tcodimport (debug) ====
Creating ../obj/Debug/tcodimport
noise_c.c
Linking tcodimport
==== Building lxp (debug) ====
Creating ../obj/Debug/lxp
lxplib.c
Linking lxp
==== Building expatstatic (debug) ====
Creating ../obj/Debug/expatstatic
xmlparse.c
xmltok.c
xmltok_impl.c
xmltok_ns.c
xmlrole.c
Linking expatstatic
==== Building luamd5 (debug) ====
Creating ../obj/Debug/luamd5
des56.c
md5lib.c
ldes56.c
md5.c
Linking luamd5
==== Building luazlib (debug) ====
Creating ../obj/Debug/luazlib
lgzip.c
lzlib.c
Linking luazlib
==== Building luabitop (debug) ====
Creating ../obj/Debug/luabitop
bit.c
Linking luabitop
==== Building te4-bzip (debug) ====
Creating ../obj/Debug/te4-bzip
crctable.c
bzlib.c
compress.c
blocksort.c
decompress.c
huffman.c
randtable.c
Linking te4-bzip
==== Building TEngine (debug) ====
Creating ../obj/Debug/TEngine
dmnd_square.c
core_lua.c
In file included from ../src/core_lua.c:24:0:
../src/core_lua.c: In function ‘lua_key_set_clipboard’:
../src/luajit2/src/lauxlib.h:97:31: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
 #define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL))
                               ^
../src/core_lua.c:419:14: note: in expansion of macro ‘luaL_checkstring’
  char *str = luaL_checkstring(L, 1);
              ^
getself.c
physfs.c
serial.c
particles_gas.c
auxiliar.c
display_sdl.c
shaders.c
particles.c
../src/particles.c: In function ‘thread_particle_init’:
../src/particles.c:729:54: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     printf("Particle args init error %x (%s): %s\n", (int)l, ps->args, lua_tostring(L, -1));
                                                      ^
../src/particles.c:777:47: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    printf("Particle run error %x (%s): %s\n", (int)l, ps->args, lua_tostring(L, -1));
                                               ^
../src/particles.c: In function ‘free_particles_thread’:
../src/particles.c:1105:72: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   printf("Destroying particle thread %d (waiting for thread %x)\n", i, (int)pt->thread);
                                                                        ^
noise.c
wait.c
glew.c
SFMT.c
profile.c
bspatch.c
map.c
../src/map.c: In function ‘map_set_grid’:
../src/map.c:893:23: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     lua_pushnumber(L, (int)map->grids[x][y][i]);
                       ^
main.c
../src/main.c: In function ‘stackDump’:
../src/main.c:223:54: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    { printf("%d: %s // %x\n", i, lua_typename(L, t), (unsigned int)lua_topointer(L, i)); }
                                                      ^
music.c
sdnoise1234.c
fov.c
struct.c
Linking TEngine
../bin/Debug/libluaprofiler.a(core_profiler.o): In function `lprofP_init_core_profiler':
/data/shirish/Games/t-engine4/build/../src/luaprofiler/core_profiler.c:134: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
Running post-build commands
cp ../bin/Debug/t-engine ../
Sharing some warnings as outputted by the make process .
Intel Core i5-7400, Intel(R) HD Graphics 630 (Kaby Lake GT2), Asus PRIME Z270-P, D-Link 502-T router, 64-bit Debian Testing, Debian Mate 1.24.0

shirish
Yeek
Posts: 10
Joined: Sat Nov 19, 2011 9:39 am

Re: How to edit premake4.lua and build/te4core.lua ?

#4 Post by shirish »

just updated the git tree to the latest master.
The includedirs seem to have changed from line 18 in premake4.lua to line 33 .

Code: Select all

else
		includedirs {
			"/usr/include/SDL2",
			"/usr/include/GL",
		}
Intel Core i5-7400, Intel(R) HD Graphics 630 (Kaby Lake GT2), Asus PRIME Z270-P, D-Link 502-T router, 64-bit Debian Testing, Debian Mate 1.24.0

Post Reply