c3ada1a8ac# BUGFIX: Accommodate new output path (x86 vs. x64) #
master
Barton Cline
2013-04-08 09:36:23 +0000
c457632171# Move DEBUG_PRINT to the Properties->Build page of the DebugWin Configuration. #
Barton Cline
2013-04-08 09:22:43 +0000
3159b359bf# FIXED: .sln and .csproj file configurations x86/x64 Mono/Win Debug/Release all reflected throughout # # Added Conditional Reference <Choose> <When> elements to Python.Runtime.csproj => building for Mono on Windows # # Added Required reference assemblies => building for Mono on Windows #
Barton Cline
2013-04-08 08:55:03 +0000
bc51639b59Of course, for the previous to work, you'll be needing the project files to go with... But we don't need another copy of that signing key laying around.
Barton Cline
2013-01-28 12:10:53 +0000
3a01c11484# Solution Configurations for each VS and MD - We'll release x86 and x64 binaries separately. # MonoDevelop will now share the solution and project files with Visual Studio quite nicely. In fact, MD refers to .mds files as MD 1.x Solution Files. Separate configs supports different character widths on each OS platform. Platform specific settings are due, in part, to the introduction of DllExport's requirement (which actually only applies on Windows) Hmmm... Perhaps the Linux guy will want to revert to Any CPU #
Barton Cline
2013-01-28 11:55:14 +0000
20d9d68d00# NUnit issues begin to resolve themselves (amazing, really) since MD supports NuGet now, just grab NUnit and add it to /packages/. Honestly, though, I did have to trick NuGet into giving me the UnmanagedExport update.
Barton Cline
2013-01-28 10:47:09 +0000
c245b95479# Visual Studio 2010 .NET 4.0 (with a little ReSharper thrown in) # # The new C# clrmodule depends on RGiesecke.DllExport in new pythonnet/packages directory which was import via NuGet # # The signing key finally landed in the correct directory # # Not sure why the console/Console.csproj referenced Python.Test # # Python.Runtime Assembly version bumped to 4.0.0.1 # # Tool and Framework versions all bumped for .NET 4.0 # # [Obsolete?] buildclrmodule.bat got a tiny note after cli research on clrmodule.il #
Barton Cline
2013-01-28 08:27:36 +0000
9a02ea56fcNOTE: All this maintenance led to the soon-to-be-committed DllExport enable module: # Cleanup after much ildasm and research: .fixup, .vtentry, etc. are all handled by the build system since late .NET 2.0. So there's no need to import the platform any longer. There's no fear of conflict with Linux - Mono needs a completely different mechanism (clr.so) to get the "Late Binding" ball rolling. # # There is a big chunk of notes taken regarding my findings #
Barton Cline
2013-01-28 07:41:24 +0000
722842a2c7# Slashes in path are unix/linux (tested on Windows) # # Target Framework is 3.5 # # nUnit version is 2.5.9.10348 # # nUnit state storage added #
Barton Cline
2012-01-23 07:27:32 +0000
9259101f0d# Mono-2 & glib-2 from current repo pulls referenced via pkg info #
Barton Cline
2011-08-28 19:24:28 +0000
a77ac84347* Pick up glib-2 and mono-2 from package info only *
Barton Cline
2011-07-04 01:05:15 +0000
a2a30417af* Python.Runtime now exposes a public class called DocStringAttribute with usage = AttributeTargets.All * Decorating .NET classes and methods has passed initial tests.
Barton Cline
2011-04-23 22:50:18 +0000
dd341dc64c* Added DocStringAttribute in order to be able to tag Methods, Delegates and Properties for __doc__ creation in ClassManager.CreateClass()
Barton Cline
2011-04-23 19:07:35 +0000
3bf6ab4ebbContributions by VIKAS DHIMAN - - Thanks, Vikas! My test machine is Ubuntu 10.10. My Mono install is in /opt/mono-2.8 (.2, as I recall) oldmodule.il stores the original clrmodule.il and is copied there on Windows (untested by me) clrmodule.pp.il is input to gcc pre-processor only with clrmodule.il as the output. The makefile decides which to use base on host environment.
Barton Cline
2011-03-19 10:38:43 +0000
25bbdaffbf* Explains rationale for typeof(MulticastDelegate) which was debugged on Windows, but committed from my Linux machine.
Barton Cline
2011-03-07 02:13:08 +0000
37120933ecMono (2.8.1) on Ubuntu 10.10 throws on Type.GetMethod("Invoke") when the method doesn't exist. This was the case when the ClassManager tried to create a DelegateObject in response to type.IsSubclassOf(dtype) where dtype = typeof(System.Delegate)
Barton Cline
2011-03-04 09:55:26 +0000
856e9c7098# in testImplicitAssemblyLoad self.assertRaises(ImportError, test) AssertionError: ImportError not raised Raised on - Mono 2.8.1 (ubuntu 10.10) but not on Windows 7
Barton Cline
2011-03-04 09:34:05 +0000
ea34b6442a* Reordered test_* for namespace loading optimization. * test_compat.py will stand alone with added import of System or clr
Barton Cline
2011-03-04 09:18:42 +0000
9c2904a8bd* Why does pystring.cs claim to be ansi, then call PyUnicode_FromUnicode() in the string contructor? * pyansistring.cs added it to the Python.Runtime namespace
Barton Cline
2011-01-30 09:45:18 +0000
ddd87095bdI'm now maintaining my own copy of the Python.Runtime.csproj and will update this one when structural changes occur. Here, the new ConstuctorBinding.cs file is included in the compilation.
Barton Cline
2011-01-24 09:24:32 +0000
9950277eefI'm now maintaining my own copy of the Python.Runtime.csproj and will update this one when structural changes occur. Here, the new ConstuctorBinding.cs file is included in the compilation.
Barton Cline
2011-01-24 09:22:42 +0000
effe0f154bRe-enable the Incref() call on ConstructorBinding.tp_descr_get() For now, it seems, the sole reason for the Descriptor __get__ is to return AN INCREF()ed reference to the wrapped instance.
Barton Cline
2011-01-24 09:06:48 +0000
77c9ecb104Implements the .Overloads[PyOrCsType, ...] syntax on class objects as described in the docs. __overloads__[...] is a valid alias in the sort term, but deprecation is planned for the near future. It works very much like MethodObject __overloads__ (which was also aliased as "Overloads" in an earlier update). These new names support the current state of IronPython.
Barton Cline
2011-01-10 05:49:15 +0000
68c39b007a* Resolve version conflict. * Documented ImplicitLoad deprecation logic in the comments.
Barton Cline
2011-01-10 04:29:33 +0000
2858290bee* With Advanced Build Settings::Check for arithmetic overflow/underflow set, this is the only section that threw while running unittest.
Barton Cline
2011-01-10 04:08:42 +0000
f4f81ae73atest_module.test_ClrAddReference() now expects an assembly instead of a module (like my branch does).
Barton Cline
2011-01-03 04:27:13 +0000
4995526981The implicit load deprecation logic is just as readable in 3 lines rather than 6 (perhaps more so).
Barton Cline
2011-01-01 22:54:51 +0000
b12e19502a* Allow Christian's InitializePreload() to run sooner so that the default CLRModule.preload (true in an interactive session) can be cleared before loading any "real" framework assemblies interactively.
Barton Cline
2011-01-01 22:41:23 +0000
89429157eaPYTHON27 option added. Readability addressed with comments from the python header files as we look toward version 2.7 ...
Barton Cline
2010-12-19 21:03:46 +0000
0a1bd7480aPYTHON27 option added and readability of the Exceptions class improvements as we look toward version 2.7 ...
Barton Cline
2010-12-19 20:51:30 +0000
bb7fe6bd94Removed deprecated unittest function aliases.
Barton Cline
2010-12-19 20:08:31 +0000
279454ce20Actually tests to see if a ClassObject has constructors and, if so, generates a __doc__ string. Formerly, the __doc__ string was set to an empty string. Now it remains None and test_enum.py checks for that. This is also a step toward SomeObject.Overloads[]() handling which, of course, should not be attempted if the ClassObject doesn't have constructors. The current readme.html details the direction I'm heading with that one.
Barton Cline
2010-10-17 18:24:04 +0000
87d09dafa6The attribute named __overloads__ is still supported, but the preferred IPy compatible name is Overloads. Like IPy, the __repr__ on the OverloadMapper class returns the MethodObject's doc string.
Barton Cline
2010-10-13 08:10:15 +0000
cef64f8443Bringing the readme into line with current development
Barton Cline
2010-10-13 04:28:18 +0000
2a380c142bI've been adding pieces to the UnitTest classes. This addition tests embedding nested imports. The Python parts are in the tests directory and the managed parts are in the embed_tests directroy as are the nunit parts. This test also demonstrates some neat tricks that can be done when embedding a python interpreter in managed code by using reflection to call internal members of the Python.Runtime. The project settings file is VS2008, which means that it's probably time to go ahead and bring the rest of the project files up to a more recent version of Visual Studio.
Barton Cline
2010-10-07 08:16:52 +0000
eea8cb974cI added the info parameter to the call to Bind() Binding binding = this.Bind(inst, args, kw, info); to take advantage of Bind()'s ability to use a single MethodBase (CI or MI).
Barton Cline
2010-08-15 22:35:17 +0000
68b8ab01a4Ensure a graceful exit if someone does something intentionally wrong like call a non-static method on the class rather than on an instance of the class instead of an unhandled InvalidCastException.
Barton Cline
2010-07-29 06:30:01 +0000
727b5374fdJust revisited this and tried to rebuild and I realized I had the instructions wrong, and I hadn't checked in the last of our changes last time we got it working. Sorry, I don't remember why these changes were done, but it's what we're using, and it works for us (I just built it on OSX and tested it a little and it's working.)
Joe Frayne
2009-07-02 02:03:03 +0000
70478bb9bfFixed PythonDotNET for Python 2.6 PythonDotNET does *not* support several new features like the backported buffer protocol, bytearray and version tags (yet)
Christian Heimes
2008-05-30 22:48:04 +0000
872313e3cd-fix for binding to certain overloaded methods while running under mono (thanks to Geoff Norton at Novell.)
Joe Frayne
2008-04-25 20:20:49 +0000
43139d2429Added fixes to get Python.NET working under Mono 1.9 on Mac OS X.
Joe Frayne
2008-04-17 01:23:12 +0000
bab1983ab9Just a fake commit to make a note in history that revision 95 is from Joe Frayne.
John Burnett
2008-02-27 19:45:53 +0000
d6b03a4305Fixes for a bad merge in the last couple of patches...
John Burnett
2008-02-27 01:59:14 +0000
0e20aff8991. In cases where the generic parameters do not match the arguments on overloaded methods, the method binder often picked the wrong method. This is because it picks the method when it looks at the generic parameters, before it knows what the arguments are. Now when it gets to evaluating the arguments, it uses the generic parameters in the picked method AND the arguments to try to re-bind to the proper method. This works with calls like this:
John Burnett
2008-02-27 01:45:08 +0000
02857f320cAdding support for conversion from python float to object... patch #1801233 from anonymous
John Burnett
2008-02-27 01:39:42 +0000
f25b74d153Under cpython 2.5.1 and Microsoft .NET 2.x, CodeGenerator's ctor was causing an exception when calling Thread.GetDomain().DefineDynamicAssembly. A "fix" for this seems to be to make this call happen before Python.Runtime.Runtime.Initialize(). To do this, CodeGenerator is no longer a static class (along with the classes that use it). DelegateManager (the owner of the only CodeGenerator instance) is then created in PythonEngine.Initialize, ahead of the Runtime.Initialize() call. This "fix" is probably masking some bad mojo happening somewhere down in Runtime.Initialize().
John Burnett
2008-02-27 01:35:22 +0000
281138b14264-bit support on Windows. Note I didn't update anything to do with "mdp" files or makefile, as I don't know anything about those. These changes purely update the Visual Studio files to have an option to build 64bit (the x64 solution platform).
John Burnett
2008-02-27 01:34:13 +0000
65d5534029testStrOfException was depending on implementation detail that was half-way through an Exception.StackTrace. The detail changed in Windows .NET 2.0+, so now it checks the base of the trace ("System.Convert.ToDateTime").
John Burnett
2008-02-27 01:26:41 +0000
e08f038fafAdded setup.py to release files Added Python.Runtime.dll.config
Christian Heimes
2007-11-18 19:59:36 +0000
e33f2c95e1Improved PyLong so it actually supports int64.
Virgil Dupras
2007-10-19 11:50:43 +0000
47821d39eaFixed bug in UCS2/UCS4 detection. Thx to Sanghyeon Seo
Christian Heimes
2007-10-18 20:05:57 +0000
eebd73626fUpdated Makefile Bumped version of clrmodule.il Added Python.Runtime.dll.config
Christian Heimes
2007-10-17 12:14:19 +0000
f5ab0147a3Changed the PythonException.Message value so it displays the name of the exception class instead ("Exception") instead of its representation ("<type 'exceptions.Exception'>").
Virgil Dupras
2007-08-12 22:20:52 +0000
e2c1d9d5e6Err, somehow the unit test fix for clr.get/setPreload got lost ...
Christian Heimes
2007-08-03 12:12:48 +0000
aa4c158604Updated readme.html Added code for Python 2.3 (not officially supported) Changed clr.preload to clr.setPreload() and clr.getPreload(). I know that setters and getters are old school but even Python doesn't support module properties :(
Christian Heimes
2007-08-03 11:58:36 +0000
e95ced68f7Fixed mono_config.txt Some fixes and enhancements for the Makefile under Windows and for make dist Fixed PyObject_TYPE for Py_DEBUG builds Fixed an issue with implicit calls of generic methods
Christian Heimes
2007-08-01 08:43:36 +0000
e44f4eaccdThe mono based clr module now raises an import error when it can't load the assembly or initialize PythonNet Mono exceptions are dumped as well.
Christian Heimes
2007-07-31 17:20:35 +0000
fdfe012680Default to Python 2.5 Renamed solution file to pythonnet.sln. It's not Python 2.5 specific Enhanced make dist. It builds a signed assemblies for 2.4 and 2.5 for both UCS 2 and 4 with GPG keys, md5 and sha256 sum
Christian Heimes
2007-07-30 16:17:22 +0000
bbe88a5bf3Fixed new Makefile for Windows Updated changes.txt
Christian Heimes
2007-07-29 00:40:46 +0000
ed78b3f69eCode cleanup: Replaced \t with 8 spaces in all *.cs files
Christian Heimes
2007-07-29 00:25:03 +0000
728ccf95b9Removed old makefiles Added a one size fits all Makefile for Windows and Mono including support for autodetection of UCS 2/3 and Python version
Christian Heimes
2007-07-29 00:22:49 +0000
248b6f6719Update documentation Added TODO list and mono_config
Christian Heimes
2007-07-24 14:33:10 +0000
9f2e6ab841Implemented ModuleMethodAttribute related code Added a bunch of methods to the clr module like the already documented but never implemented AddReference() method Added some code to support Py_DEBUG builds. It doesn't work yet but I'm making good progress
Christian Heimes
2007-07-24 14:28:25 +0000
1f702681e5Makefile tuning
Christian Heimes
2007-07-24 13:42:00 +0000
850f8b738eLeasons learned: * mixin C, Mono and Python is a PITB but it works after countless hours of debugging * never load clr.so in a Python interpreter that is NOT linked against libpython. * never dispatch PythonNet in a new thread when Python holds the import lock for the current thread
Christian Heimes
2007-07-20 05:34:51 +0000
95128a9442More work on monoclr The clrpython C program which embedds Mono, Python and PythonNet now works as expected. One should never initialize Python two times or use PythonNet's PyObject inside code that already holds the GIL The clr.so extension module doesn't crash any more but freezes. Progress? Well ...
Christian Heimes
2007-07-19 15:13:32 +0000
5b641668f2Using PythonEngine for the warn() method was a stupid idea. It collided with either the import lock or the global interpretor lock.
Christian Heimes
2007-07-19 14:55:20 +0000
2eb42168c2Added solution and projects for MonoDevelop
Christian Heimes
2007-07-19 13:39:35 +0000
dc31757c7eAdded yet another Python console for debugging. The new version is a C app which embedds Mono and Python. The segfault seems to be caused by the small int cache in Python's Objects/intobject.c
Christian Heimes
2007-07-18 21:38:26 +0000
a95bbd8fd0fix minor typo
Brian Lloyd
2007-07-17 18:02:32 +0000
8a6a6c110eAdded license header to a bunch of files Changed clr.c to use a main_thread_handler. It doesn't fix the bug :(
Christian Heimes
2007-07-17 16:32:14 +0000
2669090b7aFixed spelling in clr.c. It's facade and not fascade in English. Moved setup.py for monoclr to the root folder. Fixed a unit test. Mono has a slightly different spelling of the error message than .NET on Windows Added monoclr / clr.so to the makefile and makefile.mono
Christian Heimes
2007-07-17 13:12:41 +0000
833103a8b5Fixed some issues with the ref counter which were causing nasty seg faults under Mono Removed a bunch of unused variables that were raising warnings with gmcs (Mono's compiler)
Christian Heimes
2007-07-17 04:09:58 +0000
21c5bcb01fFixed unit test modules to work standalone w/o the runner module
Christian Heimes
2007-07-17 04:08:02 +0000