Python, I presume? ;)
Lua :-p
Python, although much more flexible, would require Windows users to have it installed. (You generally get it for free with Mac/Linux).
Just for fun, here is the example post build script I'm using for the irrKlang examples :
# post build script # # We want to ensure that that dlls are here ! # @define copydll local ext local pre if bmk.Platform() == "win32" then ext = "dll" pre = "i" elseif bmk.Platform() == "linux" then ext = "so" pre = "libI" else ext = "dylib" pre = "libi" end local path = utils.ModulePath("bah.irrklang") .. "/lib/" .. bmk.Platform() .. "/" local file = pre .. arg1 .. "." .. ext sys.CopyFile(path .. file, %exepath% .. "/" .. file) @end # do the copy copydll rrKlang copydll ikpMP3
Basically, it copies the dlls/shared objects into the dir that the app requires them to be located. (for Mac apps, that would be inside the bundle).
The example shows a function defined, then called later. Also shows calls *into* BlitzMax code from Lua :-)
bmk also supports in-source scripting through the use of a custom pragma... which allows for further customization on a per-file basis if required.