01:53:11 <prock> #startmeeting
01:53:11 <fifer`> Meeting started Wed Jan  6 01:53:11 2010 UTC.  The chair is prock. Information about MeetBot at http://wiki.debian.org/MeetBot.
01:53:11 <fifer`> Useful Commands: #action #agreed #help #info #idea #link #topic.
01:53:21 <vtchill> the build worked and rio is running
01:53:34 <prock> you installed it also?
01:53:36 <vtchill> going to run the debug build as well
01:53:38 <vtchill> yep installed
01:53:44 <prock> nice
01:54:12 <prock> #topic remaining issues before 0.3.0 release
01:54:34 <prock> okay what do we have left?
01:55:00 <prock> documentation is just about done.  I have to go over the release notes again and known issues.
01:55:15 <vtchill> i think we may need  to consolidate some of the build targets and figure out exactly what should be a build target
01:55:23 <prock> #action prock will go over release notes again
01:55:24 <vtchill> and nice wiki page describing all the options is a must
01:55:40 <prock> right forgot about that
01:55:43 <prock> I can work on that tomorrow
01:56:13 <prock> #action prock will work on wiki page describing all the build targets
01:56:33 <vtchill> what to do for msvc on win32
01:56:57 <vtchill> how is it going to do the python install properly
01:57:24 <prock> not sure
01:57:34 <prock> okay lets talk about the build targets
01:57:44 <prock> get that out of the way
01:57:49 <prock> what exactly do you mean?
01:59:20 <vtchill> ok so when will install-all be used
02:00:02 <prock> when you want to install everything...   static, shared, headers, and python library (along with extensions)
02:00:18 <prock> install-python = only python releated stuff
02:00:25 <prock> install-static = only static library
02:00:32 <prock> install-shared = only shared library
02:00:35 <prock> install-dev = headers
02:00:47 <vtchill> yep i understand, just was curious if it was something that would be used
02:01:02 <prock> maybe not...   but someone might have the need
02:01:20 <prock> we dont have to document much other than install-python at this point
02:01:20 <vtchill> yea i guess as long as all the install targets are documented then all is well
02:01:37 <prock> as the static/shared objects aren't really meant to be used at this point
02:01:44 <vtchill> yea
02:02:15 <vtchill> ok that is good to go then
02:02:34 <prock> so you're okay with leaving them the way they are?
02:02:56 <prock> I guess if they cause some confusion they can easily be changed
02:02:58 <vtchill> yep i think they are fine
02:03:02 <prock> okay
02:03:14 <prock> #agreed build targets will remain as they are for 0.3.0
02:04:11 <prock> okay so next topic...  the python install on msvc
02:04:41 <vtchill> one more thing, what should the build-python target do exactly
02:04:47 <vtchill> where does it put the output files
02:05:18 <prock> build/engine/debug/ I believe
02:05:57 <vtchill> ok so it doesn't copy it to the swigwrappers
02:06:27 <vtchill> so we no longer install anything to swigwrappers, i guess unless the user sets the destdir to it
02:06:43 <prock> actually.. the files still get copied there
02:06:53 <prock> so they exist in 2 places
02:07:03 <vtchill> thats probably not good
02:07:41 <prock> I can kill the copy of the .pyd file
02:08:03 <prock> the fife_wrap.h and .cc files get copied there as well
02:08:08 <prock> but they are needed for msvc
02:08:18 <vtchill> yea they are needed
02:08:40 <vtchill> win32 in general is a hard platform , i really don't know where stuff should be put
02:08:48 <prock> I'm not too worried
02:09:05 <prock> there are no standards in win32 for things like this so we can pretty much make up whatever we want
02:09:06 <prock> hehee
02:09:12 <prock> "keep it simple"
02:09:24 <vtchill> yea just worried about  making it easy to use
02:09:52 <prock> yeah on windows if you are developing for FIFE you now have an extra step of installing the python libraries
02:10:00 <prock> actually.. I wrote an install batch file
02:10:05 <prock> but it runs scons
02:10:38 <vtchill> so we can run it as a post build process
02:10:41 <vtchill> for msvc
02:10:55 <prock> yes and no.. it would have to build the fife-python target
02:10:58 <prock> so it could install it
02:11:09 <vtchill> well msvc will build the python target
02:11:15 <vtchill> and then the batch script will run
02:12:03 <prock> the batch script that runs scons?
02:12:29 <prock> wait a sec.. in msvc how to you get the fife_wrap.cc and .h?
02:12:42 <prock> you have to do a complete build of python-fife for that dont you?
02:12:51 <vtchill> yep
02:13:10 <prock> is that always the way it is in trunk also?
02:13:41 <prock> just thought of something
02:13:55 <vtchill> well its a tough problem because the msvc stuff relies on the _wrap stuff to be there and the scripts used to build it always whenever scons was run
02:14:15 <vtchill> and we used to run scons to generate the project files as a prebuild event which created the _wrap functions
02:14:30 <vtchill> so it used to "work" as a result
02:14:34 <vtchill> now we don't do that
02:15:06 <prock> right so full build is required to get the first fife_wrap.h
02:15:11 <prock> thats no good
02:15:13 <vtchill> yep
02:15:15 <vtchill> its bad
02:15:34 <prock> I'll write a target so it will generate project files and wrap files at the same time
02:15:37 <prock> without having to build fife
02:15:49 <vtchill> seems like a hack solution
02:16:41 <prock> unless
02:16:53 <prock> we create a pre build step that just calls swig
02:16:58 <prock> the same way scons does
02:17:22 <prock> there would have to be a little playing around as the fife.i file needs to be generated
02:17:31 <prock> but that should easily be done in a python script
02:18:08 <vtchill> if msvc just called scons none of this would be an issue :)
02:18:30 <prock> so you're leaning toward that?
02:18:39 <vtchill> it has its own problems
02:18:49 <prock> hehe yeah... no autocomplete
02:19:09 <vtchill> i would say for now if a target to generate the _wrap files is easy we should do it that way and add it as a prebuild step
02:19:50 <prock> so call the target "swig"?
02:20:11 <vtchill> yea that should be fine
02:20:17 <prock> #agreed create a new target that will be called from msvc as a pre-build step
02:20:37 <prock> so if I add the target can you update the msvc templates?
02:20:42 <vtchill> did we want to make the swig call a builder anywa
02:20:58 <vtchill> yep i can update the msvc stuff
02:21:19 <prock> yes we wanted to make a builder for the fife.i file
02:21:27 <prock> but I haven't been able to figure that out
02:21:43 <vtchill> yea just figured that would make it easier to make it an install target
02:21:46 <prock> creating a target to run swig shouldn't be an issue though
02:21:49 <vtchill> oops meant build target
02:22:30 <prock> #action prock will make a new swig target for creating the fife_wrap files
02:23:20 <prock> #action vtchill will update the msvc project file templates with a pre-build step that calls the new scons swig target
02:24:02 <prock> okay so how does it get installed?
02:24:14 <prock> post build step to install...   batch file?
02:24:47 <vtchill> yep it will have to be a post build step
02:24:52 <vtchill> for the python build
02:25:42 <prock> how good are you with batch files?
02:26:01 <vtchill> not bad, i can take care of the batch file and msvc stuff
02:26:17 <prock> I'm thinking maybe we should re-organize things a bit so it isn't required to be installed
02:26:29 <vtchill> what do you mean
02:26:31 <prock> all you have to do is set your python path
02:27:00 <prock> i.e. you would have a directory like:   <fife>/python/fife
02:27:20 <prock> which will have the extensions in it:   <fife>/python/fife/extensions
02:27:26 <prock> that way the imports aren't messed up
02:28:15 <vtchill> yea but the python stuff should be installed in the correct place by default unless the user supplies a dest dir
02:28:41 <prock> k so we'll leave that until after
02:29:19 <prock> #action vtchill will also take care of the msvc post build batch file that will copy the python objects to their correct places
02:29:44 <prock> but I guess...  if I'm working on the extensions I have to install them every time I change one
02:29:51 <prock> kindof a pain
02:30:02 <prock> bah
02:30:06 <prock> we'll handle that after the release
02:30:18 <prock> not enough time to piss around with that yet
02:31:23 <vtchill> yea its a tough situation because if you think of it from a client perspective they aren't modifying fife code so they want it installed and done, we want something different we are changing so we want to modify and test easily
02:31:41 <prock> yup
02:31:52 <prock> which is why the easiest solution would be to re-organize a little bit
02:31:58 <prock> to have best of both worlds
02:32:15 <prock> from a client perspective the python objects all get installed correctly
02:32:27 <vtchill> what kind of reorganize are you talking about
02:32:36 <prock> from a developer point of view you dont have to install the python objects after every change
02:32:43 <prock> scroll up
02:33:05 <prock> move the python objects into something like this:
02:33:16 <prock> <fife>/engine/python/fife
02:33:23 <prock> <fife>/engine/python/fife/extensions
02:33:56 <vtchill> well we essentially have that with the swigwrappers/python/...
02:34:12 <prock> yes but the imports will no longer work after the update I did today
02:34:33 <prock> because it's assuming you have a <python>/site-packages/fife
02:34:35 <prock> directory
02:34:41 <prock> and the extensions are under that
02:34:55 <prock> so I would change the layout a bit
02:35:00 <vtchill> well if we just added a directory fife so swigwrappers/python/fife it would work right
02:35:18 <prock> nope... we would have to move the extensions under that
02:35:29 <vtchill> yea the extensions would need to be there as well
02:35:50 <prock> and the developer would have to add <fife>/engine/swigwrappers/python to their python path
02:36:22 <vtchill> yea certainly no good solution
02:36:38 <prock> well its easy for developers to add to their python path
02:36:48 <prock> if they understand thats what they have to do
02:37:26 <prock> so I think we should copy the fife.py and _fife.pyd files to:  <fife>/engine/python/fife
02:37:42 <prock> and move the extensions to <fife>/engine/python/fife
02:38:01 <vtchill> don't know if i like a python directory under engine, i would rather it be under /build
02:38:22 <prock> well..  the swigwrappers have to go there
02:38:28 <prock> er
02:38:29 <prock> sorry
02:38:33 <prock> the extensions have to go there
02:38:47 <prock> we wouldn't copy them there as a build step.. it would be their permanent home
02:39:07 <vtchill> yea thats true
02:39:41 <vtchill> sounds good to me
02:39:52 <prock> so where do you want them?
02:40:11 <prock> we could put them <fife>/python/fife
02:40:12 <vtchill> you convinced me with the engine/python argument
02:40:32 <vtchill> i just worry b/c when i think of engine i think of only core stuff
02:40:40 <vtchill> but we have a engine/core so i guess its ok
02:40:46 <prock> yeah thats why we have core
02:40:52 <prock> okay I'll do that then
02:41:36 <prock> #action prock will move swigwrappers and fife.py and _fife.pyd to <fife>/engine/python/fife to make life a little easier for developers
02:41:42 <prock> okay anything else?
02:42:02 <vtchill> should we even start discussing the other build targets yet, or wait on those
02:42:49 <prock> static and shared?
02:42:59 <vtchill> oh yea i am also going to  modify the msvc templates to create more build configurations to reflect all the configurations we have now
02:43:07 <prock> ahh sweet
02:43:16 <vtchill> meant to make that an action sorry forgot to put it there
02:43:47 <prock> #action vtchill will modify msvc templates to create more build configurations to reflect all configurations we have now
02:43:54 <vtchill> yea i was talking about static and shared up above
02:44:10 <prock> we'll discuss those for 0.3.1 maybe.. or even farther in the future
02:44:15 <prock> depending on how 0.3.1 goes
02:44:19 <vtchill> ok
02:44:27 <prock> cool man
02:44:30 <prock> thats all I can think of
02:44:38 <prock> we have this week
02:44:39 <prock> and thats it
02:44:45 <prock> we merge into trunk on monday
02:45:00 <vtchill> ok for the msvc i was th inking a build_debug_python, build_debug_shared, build_debug_static
02:45:03 <vtchill> and a release version for each
02:45:29 <prock> prefect
02:45:43 <prock> and the python ones will be the only ones needing the pre-build step
02:45:48 <prock> hope thats possible
02:46:10 <vtchill> one question was the build_python will call scons fife-python... but will then need to call the external script to actually do the install stuff of copying files
02:46:35 <vtchill> yep and the prebuilt step as well
02:47:53 <prock> the prebuild step will be:  scons swig
02:48:54 <vtchill> yep
02:49:15 <prock> and the postbuild step will just be a batch file that copies the fife.py _fife.pyd and extensions to <python>/site-packages/fife
02:49:54 <vtchill> yea
02:51:01 <prock> and we can assume it's c:\python26\lib\site-packages....
02:51:14 <prock> you can put a variable at the top of teh batch file
02:51:16 <vtchill> yea was just about to ask about the python version
02:51:27 <prock> all our other batch files assume c:\python26
02:51:32 <prock> so why change now
02:51:32 <vtchill> we really shouldn't assume but we do anyhow in the other batch files
02:51:32 <prock> hehehe
02:51:39 <vtchill> yea
02:51:56 <prock> if they put python somewhere else it's up to them to update the batch files
02:52:02 <prock> until we have a better solution
02:52:05 <vtchill> yea
02:52:06 <vtchill> sounds good
02:52:22 <prock> okay great
02:52:24 <prock> I have to go man
02:52:28 <prock> have a good night
02:52:30 <prock> see you tomorrow
02:52:33 <prock> #endmeeting