lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]




Am 20.05.2014 01:56, schrieb Luiz Henrique de Figueiredo:
But it's the inconsistency between luaconf.h and the makefile (default behaviors) that I intended to address.

What exactly do you propose to change in the top-level Makefile?
Changing INSTALL_LMOD and INSTALL_CMOD dos not really work because the
paths in luaconf.h include the location of lua.exe, which is not known
at build time and changes dynamically at each invocation.

We need to distinguish between windows- and linux installation 1st.
- windows is probably easier to do. lua.exe knows where installed ("!" in path strings) and we can put modules, tests and docs in subfolders, for instance:

lua.exe +- modules/ +- 5.1/  (standard modules .dll & .lua)
        |           +- 5.2/
        +- share/ + ...         (doc, tests, ...)
        |
        +- lua/ +- 5.1/       (user modules )
        |       +- 5.2/
        ...

Linux is different caused by the fact that lua* becomes installed at different locations, usually /usr/bin/ or /usr/local/bin/. so we have different installation roots. (if you want to take a "make dist" in account, there is a 3rd installation root: Output/ )
the installation- & PATH- tree may look like:

LUA_ROOT +- /bin/ +- lua-5.1*
         |        +- luac-5.1*
         |        +- luajit*
         |        +- lua-5.2*
         |        +- lua* => lua-5.2*
         |
         +- /lib/ +- liblua-5.1.so
         +- /lib/ +- liblua-5.2.so
         |        +- lua/ +- 5.1/
         |                +- 5.2/
         +- share/ + ...

So the makefile need to know the target is Win/Linux and it needs to know the LUA_ROOT.

A widely accepted subfolder tree should become a official proposal. it should allow a peaceful coexistence of lua versions and luajit & lua5.1 => luajit replacement.

Ulrich.