diff --git a/build.sh b/build.sh index a7951ea1..d66fa422 100755 --- a/build.sh +++ b/build.sh @@ -1,9 +1,5 @@ #!/bin/bash -if [[ $1 == -portable ]]; then - cflags="-DLITE_XL_DATA_USE_EXEDIR" -fi - cflags+="-Wall -O3 -g -std=gnu11 -fno-strict-aliasing -Isrc -Ilib/font_renderer" cflags+=" $(pkg-config --cflags lua5.2) $(sdl2-config --cflags)" lflags="-static-libgcc -static-libstdc++" diff --git a/data/core/config.lua b/data/core/config.lua index fcb2499b..7e1ab277 100644 --- a/data/core/config.lua +++ b/data/core/config.lua @@ -1,5 +1,3 @@ -global {VERSION = "1.16.0"} - local config = {} config.project_scan_rate = 5 diff --git a/data/core/start.lua b/data/core/start.lua new file mode 100644 index 00000000..2d86cdc4 --- /dev/null +++ b/data/core/start.lua @@ -0,0 +1,17 @@ +-- this file is used by lite-xl to setup the Lua environment +-- when starting +VERSION = "1.16.0" + +SCALE = tonumber(os.getenv("LITE_SCALE")) or SCALE +PATHSEP = package.config:sub(1, 1) +EXEDIR = EXEFILE:match("^(.+)[/\\][^/\\]+$") + +local prefix = EXEDIR:match("^(.+)[/\\]bin$") +DATADIR = prefix and (prefix .. '/share/lite-xl') or (EXEDIR .. '/data') +USERDIR = HOME and (HOME .. '/.config/lite-xl') or (EXEDIR .. '/user') + +package.path = package.path .. ';' .. USERDIR .. '/?.lua' +package.path = package.path .. ';' .. USERDIR .. '/?/init.lua' +package.path = DATADIR .. '/?.lua;' .. package.path +package.path = DATADIR .. '/?/init.lua;' .. package.path + diff --git a/meson.build b/meson.build index 48cf4399..4e2a2c2c 100644 --- a/meson.build +++ b/meson.build @@ -1,4 +1,4 @@ -project('lite', 'c', 'cpp', version: '1.0', default_options : ['c_std=gnu11', 'cpp_std=c++03']) +project('lite', 'c', 'cpp', default_options : ['c_std=gnu11', 'cpp_std=c++03']) cc = meson.get_compiler('c') libm = cc.find_library('m', required : false) @@ -16,7 +16,6 @@ sdl_dep = dependency('sdl2', method: 'config-tool') lite_cargs = [] if get_option('portable') - lite_cargs += ['-DLITE_XL_DATA_USE_EXEDIR'] lite_datadir = 'data' else lite_datadir = 'share/lite-xl' diff --git a/src/main.c b/src/main.c index ed375890..e8fec755 100644 --- a/src/main.c +++ b/src/main.c @@ -114,31 +114,16 @@ init_lua: lua_pushstring(L, exename); lua_setglobal(L, "EXEFILE"); - const char *init_lite_code = \ "local core\n" "xpcall(function()\n" - " SCALE = tonumber(os.getenv(\"LITE_SCALE\")) or SCALE\n" - " PATHSEP = package.config:sub(1, 1)\n" - " EXEDIR = EXEFILE:match(\"^(.+)[/\\\\].*$\")\n" -#ifdef LITE_XL_DATA_USE_EXEDIR - " DATADIR = EXEDIR .. '/data'\n" -#else - " do\n" - " local prefix = EXEDIR:match(\"^(.+)[/\\\\]bin$\")\n" - " DATADIR = prefix and (prefix .. '/share/lite-xl') or (EXEDIR .. '/data')\n" - " end\n" -#endif #ifdef _WIN32 - " HOME = os.getenv('USERPROFILE')" + " HOME = os.getenv('USERPROFILE')\n" #else - " HOME = os.getenv('HOME')" + " HOME = os.getenv('HOME')\n" #endif - " USERDIR = HOME and (HOME .. '/.config/lite-xl') or (EXEDIR .. '/user')\n" - " package.path = package.path .. ';' .. USERDIR .. '/?.lua'\n" - " package.path = package.path .. ';' .. USERDIR .. '/?/init.lua'\n" - " package.path = DATADIR .. '/?.lua;' .. package.path\n" - " package.path = DATADIR .. '/?/init.lua;' .. package.path\n" + " local prefix = EXEFILE:match(\"^(.+)[/\\\\]bin[/\\\\][^/\\\\]+$\")\n" + " dofile((prefix and prefix .. '/share/lite-xl' or 'data') .. '/core/start.lua')\n" " core = require('core')\n" " core.init()\n" " core.run()\n"