[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r10039 - in trunk: . build/generator subversion/bindings/swig subversion/bindings/swig/perl/libsvn_swig_perl subversion/bindings/swig/perl/native

From: Branko Čibej <brane_at_xbc.nu>
Date: 2004-06-21 01:10:25 CEST

rey4@tigris.org wrote:

>Author: rey4
>Date: Sun Jun 20 16:18:36 2004
>New Revision: 10039
>
>Modified:
> trunk/build.conf
> trunk/build/generator/gen_base.py
> trunk/build/generator/gen_make.py
> trunk/build/generator/gen_win.py
> trunk/subversion/bindings/swig/INSTALL
> trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c (contents, props changed)
> trunk/subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h (contents, props changed)
> trunk/subversion/bindings/swig/perl/native/h2i.pl (contents, props changed)
>Log:
>Fix perl bindings on windows. These changes allow the swig modules
>to be built and loaded by perl. However, the bindings as a whole
>still don't work due to problems with the native modules
>(bindings/swig/perl/native/*.pm)
>
>
[...]

>Modified: trunk/build/generator/gen_base.py
>Url: http://svn.collab.net/viewcvs/svn/trunk/build/generator/gen_base.py?view=diff&rev=10039&p1=trunk/build/generator/gen_base.py&r1=10038&p2=trunk/build/generator/gen_base.py&r2=10039
>==============================================================================
>--- trunk/build/generator/gen_base.py (original)
>+++ trunk/build/generator/gen_base.py Sun Jun 20 16:18:36 2004
>@@ -529,7 +529,10 @@
>
> self.name = self.lang + libname
> self.path = os.path.join(self.path, self.lang)
>- self.filename = os.path.join(self.path, libfile)
>+ if self.lang == "perl":
>+ self.filename = os.path.join(self.path, libfile[0]+string.capitalize(libfile[1:]))
>+ else:
>+ self.filename = os.path.join(self.path, libfile)
>
>
I don't understand this. What's this for?

>Modified: trunk/build/generator/gen_make.py
>Url: http://svn.collab.net/viewcvs/svn/trunk/build/generator/gen_make.py?view=diff&rev=10039&p1=trunk/build/generator/gen_make.py&r1=10038&p2=trunk/build/generator/gen_make.py&r2=10039
>==============================================================================
>--- trunk/build/generator/gen_make.py (original)
>+++ trunk/build/generator/gen_make.py Sun Jun 20 16:18:36 2004
>@@ -138,6 +138,12 @@
>
> # for each install group, write a rule to install its outputs
> for itype, i_targets in install_deps:
>+
>+ # perl bindings do their own thing, "swig-pl" target is
>+ # already specified in Makefile.in
>+ if itype == "swig-pl":
>+ continue
>+
> outputs = [ ]
> for t in i_targets:
> if not isinstance(t, gen_base.TargetI18N) \
>@@ -160,6 +166,12 @@
> self.ofile.write('CLEAN_FILES = %s\n\n' % string.join(cfiles))
>
> for area, inst_targets in install_deps:
>+
>+ # perl bindings do their own thing, "install-swig-pl" target is
>+ # already specified in Makefile.in
>+ if area == "swig-pl":
>+ continue
>+
> # get the output files for these targets, sorted in dependency order
> files = gen_base._sorted_files(self.graph, area)
>
>
This is exactly the kind of exceptions we don't need. Is there really no
way to handle the perl SWIG bindings the same way as any other SWIG
bindings? At the very least, this should be handled with a _property_ of
the section in build.conf, the generator shouldn't depend on the section
name.

>+#ifdef _MSC_VER
>+#define snprintf _snprintf
>+#endif
>
>
Put this in defines instead. We do the same with alloca.

>+#ifdef _MSC_VER
>+#define strtoll(str, endptr, base) atoi(str)
>+#endif
>
>
That's asking for trouble. Use _strtoi64 with MSVC 7 and above (#if
_MSC_VER >= 1300 && _INTEGRAL_MAX_BITS >= 64). Use _atoi64 otherwise.

-- Brane

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jun 21 01:10:58 2004

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.