[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Kyra Sprite Engine and autotools



I have been working with the Kyra Sprite Engine (http://kyra.sf.net) up until now. I am now trying to create a distributable binary package. Nothing fancy, just a tar.gz file. Extract it, then run the runGame script provided, and it should work out of the box. I am running into a problem with the build process, specifically with the way libkyra builds.

I have been creating custom versions of libraries that my game uses. SDL and SDL_image were easy to create custom versions with. You just run configure with a prefix and flags to disable certain options, and when I build and install, the library is smaller, has fewer dependencies, and lives in my home directory where I told it. Now my game can build/link using those libraries instead of my system-installed libraries, and it will also have fewer dependencies. For instance, the system libSDL has a dependency on libdirectfb, but my custom libSDL does not. Less dependencies == smaller distributable file size and less things to go wrong.

Unfortunately, I'm having trouble building Kyra. What it does is create two libraries: libkyra and libengine, which libkyra depends upon. When I configure the build, I tell it where my custom SDL libraries are. Configure offers me a few options, specifically:
--with-sdl-prefix=PFX Prefix where SDL is installed (optional)
--with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)


I use those options, and libkyra builds using the specified libraries. Unfortunately, libengine ignores those libraries and uses the system installed ones (bringing along all of their dependencies), at least according to ldd.

I'm trying to figure out how to specify that both libkyra and libengine should use those SDL prefixes, and while I have some familiarity with autotools, I can't seem grok the configure/Makefile scripts enough, especially with libtool involved. I keep digging through, and I keep discovering new clues, but I haven't yet hit an explanation for why libengine depends upon my system installed libraries as opposed to the libraries I specified.

I'm feeling a bit out of my league, but I really want to get libkyra and libengine to build using the same specified libraries. Does anyone have more familiarity with autotools/libtool and is willing to assist me? I don't expect anyone to solve the problem for me, but I would appreciate any pointers. In fact, if you can identify a fundamental flaw in my thinking (maybe this isn't actually a problem I need to solve), then you would short circuit any time wasting on my part.

You can see more details in my forum post on Sourceforge as well: http://sourceforge.net/forum/forum.php?thread_id=1680697&forum_id=149869

Thank you for your time,
Gianfranco

--
GBGames' Blog, An Indie Game Developer's Somewhat Interesting Thoughts:
http://www.gbgames.com/blog
Staff Reviewer for Game Tunnel, the Independent Underground:
http://www.gametunnel.com