John Labenski ha scritto:
On 5/10/06, Francesco Montorsi <[EMAIL PROTECTED]> wrote:
> Ohhh, I see now, you're using configure? It doesn't give the right
> flags to build lua for unix systems.
>
> Francesco, where would you add some checks for configure's system
> determination to add lua's flags? In wxLua/configure or somewhere in
> bakefile?
I could do everything in bakefiles if the platforms supported by Lua
were one of:

PLATFORM_UNIX   UNIX variant
PLATFORM_WIN32  32bit Windows
PLATFORM_MSDOS  MS-DOS
PLATFORM_MAC    Mac OS X or Mac Classic
PLATFORM_MACOSX Mac OS X
PLATFORM_OS2    OS/2
PLATFORM_BEOS   BeOS
PLATFORM_SYMBIAN        Symbian OS

since they do distinctions inside the Unix family, I'll need to put
these checks in configure.ac. Unfortunately they will require checks for
platforms where I won't be able to test the configure script on...

Can we use configure --build=BUILD? If it can't be guessed then the
user can force it to be whatever they like?
yes, in fact I thought to use exactly that: it's 99.9% times guessed correctly AFAIK with latest autoconf suites (the value guessed is taken by config.guess). But still I won't be able to test configure on platforms != linux.


> See modules/lua/Makefile
> PLATS= aix ansi bsd generic linux macosx mingw posix solaris
>
> and modules/lua/src/Makefile where it translates these into the cflags
> and libs. eg.
> linux:
>        $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl
> -lreadline -lhistory -lncurses"
>
> Maybe it's possible to just translate configure's system to lua's
> system and just call lua's Makefile as $(MAKE) platform? Though I
> think the install would be broken then?
you're right: it would be easy to just call Lua's Makefile (when using
mingw or autoconf); make install would still work however the executable
would be named 'lua' and not, as it currently is in wxLua, 'wxlua-lua'.
Thus other installations of lua could be overwritten by our version
(which I think is not the vanilla version since there's a WXLUA_CODE
block - right ?)...

Ummm, not anymore, I always define it since the code does nothing
unless you actually call it from C. However, for people using rpm
systems (like me) I wouldn't want to overwrite the rpm's lua
executable. I just read that Fedora now has lua5.1 as a package.

Last big problem is that currently doing "make linux" using lua's
makefile I get:

gcc -O2 -Wall -DLUA_USE_LINUX   -c -o lua.o lua.c
In file included from lua.h:16,
                  from lua.c:15:
luaconf.h:263:31: error: readline/readline.h: No such file or directory
luaconf.h:264:30: error: readline/history.h: No such file or directory

and in fact, these files are not in my system... installing the
"libreadline5-dev" package solved the problem but I think it's just a
bad thing to suppose that these readline files are always there.

libreadline is used fairly often I think. Is it easy to have configure
check for it?
yes, the check is easy...

They don't use pgk-config, but can you just look for the
lib libreadline.so?
there's a more detailed test which I find googling a bit - it will do the work ;)

I think that lua's command prompt interface is
much nicer with it, though I don't use it myself.
yes, sure


I see that modules/lua/src/Makefile basically just defines the LUA_USE_*
symbols and then adds to linker dlopen, readline, history.
(it also adds "-Wl,-E" option to the linker). That is, it will be easy
to reproduce this behaviour in wxlua bakefiles.

Great. Just note that even for bsd vs. linux we need to have at least
-ldl for dynamic library loading, which was the problem in the first
place.

bsd:
$(MAKE) all MYCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" MYLIBS="-Wl,-E"
linux:
       $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl
-lreadline -lhistory -lncurses"
sorry, I don't understand what you mean... isn't checking for dlopen() enough (if it's present, we just define LUA_USE_DLOPEN).



- readline => LUA_USE_READLINE
- dl => LUA_USE_DLOPEN or LUA_DL_DYLD
- mkstemp => LUA_USE_MKSTEMP
- isatty => LUA_USE_ISATTY
- popen => LUA_USE_POPEN
- ulongjmp => LUA_USE_ULONGJMP

Sounds good.
I've done all changes and they work well. Unfortunately I cannot commit them since SF server is down. Again. :(

Francesco



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Wxlua-users mailing list
Wxlua-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wxlua-users

Reply via email to