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.