Re: [xml] python bindings on windows



I would say no particular default. If you write

ROOT = r'@prefix@'

in setup.py.in, it can be replaced by the buildPrefix variable of configure.js.

Okay, that is a good default. I'll still provide a special variable for that, because the Python ROOT could as well be different to the libxml prefix dir.

The only potential problem I see is that a setup.py with only one ROOT variable assumes a specific directory structure:

ROOT/bin
ROOT/include/libxslt
ROOT/include/libxml2/libxml
ROOT/lib

Such a structure is the default on Unix, but
not the default for configure.js (a slight
difference in incdir).

Yes, Unix had libxml 1.x once upon a time and it can coexist with libxml2 today. Using different versions of the same library is however uncommon on Windows. Who knows? Perhaps I shold have followed the convention :-)

Personally, I can live with such a predefined structure,
and it's currently not configurable in setup.py.in
anyway. To support arbitrary directory structures, we would need more variables (also on unix): @includedir@, @libdir@, @exec_prefix

Since you plan to use an exclusive library with the Pythin bindings, setting the incdir through configure.js for the build with Python would suffice, no?

I've not been around here for long... what's
the usual procedure to obtain such a blessing? :-)

Ah, there is no specific procedure. The blessing is implicit if noone objects. :-)

I'm quite confident that the new script does not change
the Unix behaviour. Of course that would need a quick test.
I can do a test with cygwin, which would be quite close,
but I have no Unix box readily available.

One person can hardly test this on all Unix incarnations libxml is being used on. Just let the people examine the diff and they will scream if they believe it would break something on their platform. If someone screams, then we'll find a way to satisfy all parties.

Now, if we wish to support additional configurability, we
need to add @includedir@ and @libdir@ in setup.py.in.
(currently it assumes that the includes are in predefined
locations like /usr/include, /usr/local/include, and that the libraries are in the linker search path).

Do you think it's useful to have such additional configurability for the build? On Windows? On Unix?

I don't know, I don't use Python. I would say that it would be good, because many Unix users have $HOME/include, or similar, in the search path. This is almost always the case on the university computers. The administrators don't install every uncommon bit any student could need for the thesis in /usr or /usr/local.

Otherwise, all we need is a little note (or a litte script, such as the one I posted earlier) that explains the arguments to give to configure.js so it supports the build of the python bindings.

Okay, I'll post that as soon as I make the required modifications to configure.js.

Ciao
Igor




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