From: <lab...@us...> - 2015-07-29 21:02:02
|
Revision: 1535 http://sourceforge.net/p/opengtoolkit/svn/1535 Author: labviewer Date: 2015-07-29 21:02:00 +0000 (Wed, 29 Jul 2015) Log Message: ----------- Edit source code to work with newer cintools and Python headers Modified Paths: -------------- trunk/labpython/c source/dynlib.c trunk/labpython/c source/dynlib.h trunk/labpython/c source/lvpython.c trunk/labpython/c source/lvpython.h trunk/labpython/c source/lvsnapi.h trunk/labpython/c source/pyimport.c trunk/labpython/c source/pytscript.c Added Paths: ----------- trunk/labpython/c source/lvpython.sln trunk/labpython/c source/lvpython.vcproj trunk/labpython/c source/pytscript.vcproj Modified: trunk/labpython/c source/dynlib.c =================================================================== --- trunk/labpython/c source/dynlib.c 2015-05-27 18:39:26 UTC (rev 1534) +++ trunk/labpython/c source/dynlib.c 2015-07-29 21:02:00 UTC (rev 1535) @@ -27,12 +27,12 @@ #include "dynlib.h" -ExtLib LoadExternalLib(CStr path) { +ExtLib LoadExternalLib(ConstCStr path) { #if MSWin - return (ExtLib)LoadLibrary(path); -#elif Mac + return (ExtLib)LoadLibraryA((LPCSTR)path); +#elif FragInterface return NULL; -#elif Unix +#elif DLInterface return (ExtLib)dlopen ((char*)path, RTLD_LAZY); #else return NULL; @@ -42,9 +42,9 @@ Bool32 FreeExternalLib(ExtLib lib) { #if MSWin return FreeLibrary(lib); -#elif Mac +#elif FragInterface return FALSE; -#elif Unix +#elif DLInterface return dlclose(lib); #else return FALSE; @@ -54,9 +54,9 @@ ProcPtr LoadExternalSym(ExtLib lib, CStr name) { #if MSWin return (ProcPtr)GetProcAddress(lib, name); -#elif Mac +#elif FragInterface return NULL; -#elif Unix +#elif DLInterface return (ProcPtr)dlsym(lib, (char*)name); #else return NULL; Modified: trunk/labpython/c source/dynlib.h =================================================================== --- trunk/labpython/c source/dynlib.h 2015-05-27 18:39:26 UTC (rev 1534) +++ trunk/labpython/c source/dynlib.h 2015-07-29 21:02:00 UTC (rev 1535) @@ -10,16 +10,22 @@ #include "extcode.h" #include "hosttype.h" -#if Unix +#if Unix || MacOSX +#define DLInterface 1 +#elif Mac +#define FragInterface 1 +#endif + +#if DLInterface # include <dlfcn.h> -#elif Mac +#elif FragInterface # include <CodeFragments.h> #endif #if MSWin #define IMPORT_DECORATION _imp__ typedef HMODULE ExtLib; -#elif Unix +#elif DLInterface #define IMPORT_DECORATION _ typedef void* ExtLib; #else /* Mac */ @@ -28,7 +34,7 @@ typedef int32 (*ProcPtr) (int32); -ExtLib LoadExternalLib(CStr path); +ExtLib LoadExternalLib(ConstCStr path); Bool32 FreeExternalLib(ExtLib lib); ProcPtr LoadExternalSym(ExtLib lib, CStr name); Bool32 LoadFuncIfNeeded(ExtLib lib, ProcPtr *ptr, CStr name); Modified: trunk/labpython/c source/lvpython.c =================================================================== --- trunk/labpython/c source/lvpython.c 2015-05-27 18:39:26 UTC (rev 1534) +++ trunk/labpython/c source/lvpython.c 2015-07-29 21:02:00 UTC (rev 1535) @@ -121,8 +121,8 @@ #ifdef PY_NO_IMPORT_LIB extern long * _Py_RefTotal_Ptr; extern PyObject * _Py_NoneStruct_Ptr; -extern PyIntObject * _Py_ZeroStruct_Ptr; -extern PyIntObject * _Py_TrueStruct_Ptr; +extern PyObject * _Py_FalseStruct_Ptr; +extern PyObject * _Py_TrueStruct_Ptr; extern PyTypeObject * PyComplex_Type_Ptr; extern PyTypeObject * PyFloat_Type_Ptr; extern PyTypeObject * PyInt_Type_Ptr; @@ -643,7 +643,7 @@ PyObject *kl, *key, *val; CStr str; - num = PyDict_Size(session->dl); + num = (int32)PyDict_Size(session->dl); if (SetArraySize(&varTypes[kTDString], 0, 1L, (UHandle*)&names, num)) { goto errOut; @@ -943,7 +943,7 @@ if (PyObject_TypeCheckNew(mess, PyString_Type)) { CStr t = (CStr)PyString_AsString(mess); - rest = Min(PyString_Size(mess), rest); + rest = Min((int32)PyString_Size(mess), rest); StrNCpy(p, t, rest); } /* else if (PyTuple_Check(mess)) { @@ -962,7 +962,7 @@ /* new style errors. `mess' is an instance */ if ((v = PyObject_GetAttrString(mess, "offset"))) { - if (v && v != Py_NonePtr) { + if (Py_isValidObject(v)) { long hold = PyInt_AsLong(v); if (hold >= 0 && !PyErr_Occurred()) *eStart = (int32)hold; @@ -970,8 +970,8 @@ PyObject_Decref(v); } if ((v = PyObject_GetAttrString(mess, "text"))) { - if (v && v != Py_NonePtr) { - rest = Min(PyString_Size(v), rest); + if (Py_isValidObject(v)) { + rest = Min((int32)PyString_Size(v), rest); StrNCpy(eText, (CStr)PyString_AsString(v), rest); } PyObject_Decref(v); @@ -1027,14 +1027,14 @@ static MgErr PyArray_Attributes(PyObject *value, int32 *elms, int32 *dims) { if (PyObject_TypeCheckNew(value, PyList_Type)) { - *elms = PyList_Size(value); + *elms = (int32)PyList_Size(value); *dims = 1; if (*elms) { PyObject *item = PyList_GetItem(value, 0); /* item is borrowed reference */ if (PyObject_TypeCheckNew(item, PyList_Type)) { - *elms *= PyList_Size(item); + *elms *= (int32)PyList_Size(item); if (*elms) { PyObject *o = PyList_GetItem(item, 0); if (o && PyObject_TypeCheckNew(o, PyList_Type)) { @@ -1092,7 +1092,7 @@ for (i = 0; i < lvDims; i++, sp++) { if (i < dims) { - *sp = PyList_Size(list); + *sp = (int32)PyList_Size(list); list = PyList_GetItem(list, 0); } else { @@ -1294,7 +1294,7 @@ return mgArgErr; } - if ((len = PyString_Size(s))) { + if ((len = (int32)PyString_Size(s))) { LStrHandle lstr = NULL; switch (lvType = TDType(tdp, off)) { Modified: trunk/labpython/c source/lvpython.h =================================================================== --- trunk/labpython/c source/lvpython.h 2015-05-27 18:39:26 UTC (rev 1534) +++ trunk/labpython/c source/lvpython.h 2015-07-29 21:02:00 UTC (rev 1535) @@ -80,8 +80,7 @@ #define PyObject_Decref(op) Py_DECREF(op) #endif #define Py_NonePtr _Py_NoneStruct_Ptr - #define Py_ZeroPtr _Py_ZeroStruct_Ptr - #define Py_FalsePtr _Py_ZeroStruct_Ptr + #define Py_FalsePtr _Py_FalseStruct_Ptr #define Py_TruePtr _Py_TrueStruct_Ptr #else #define PyObject_TypeCheckNew(value, type) \ @@ -91,7 +90,6 @@ #define PyObject_Decref(op) Py_DECREF(op) #define Py_NonePtr Py_None - #define Py_ZeroPtr Py_Zero #define Py_FalsePtr Py_False #define Py_TruePtr Py_True #endif @@ -107,6 +105,8 @@ # define PyChangePath(token, path) TRUE #endif +#define Py_isValidObject(o) (o && o != Py_NonePtr) + lvsnAPI(Bool32) pysnSetServerPath(CStr token, Path path); lvsnAPI(Bool32) pysnScriptVariables(lvsnInstance inst, LStrArrayHdl names, LStrArrayHdl types); lvsnAPI(Bool32) pysnServerSupportTypes(LStrHandle version, LStrArrayHdl names); Added: trunk/labpython/c source/lvpython.sln =================================================================== --- trunk/labpython/c source/lvpython.sln (rev 0) +++ trunk/labpython/c source/lvpython.sln 2015-07-29 21:02:00 UTC (rev 1535) @@ -0,0 +1,36 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lvpython", "lvpython.vcproj", "{FBFD36E7-7B72-4CC2-A22C-A1A97979560F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pytscript", "pytscript.vcproj", "{1B7C04D4-BC53-4E86-A452-5B8BF62F53C5}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FBFD36E7-7B72-4CC2-A22C-A1A97979560F}.Debug|Win32.ActiveCfg = Debug|Win32 + {FBFD36E7-7B72-4CC2-A22C-A1A97979560F}.Debug|Win32.Build.0 = Debug|Win32 + {FBFD36E7-7B72-4CC2-A22C-A1A97979560F}.Debug|x64.ActiveCfg = Debug|x64 + {FBFD36E7-7B72-4CC2-A22C-A1A97979560F}.Debug|x64.Build.0 = Debug|x64 + {FBFD36E7-7B72-4CC2-A22C-A1A97979560F}.Release|Win32.ActiveCfg = Release|Win32 + {FBFD36E7-7B72-4CC2-A22C-A1A97979560F}.Release|Win32.Build.0 = Release|Win32 + {FBFD36E7-7B72-4CC2-A22C-A1A97979560F}.Release|x64.ActiveCfg = Release|x64 + {FBFD36E7-7B72-4CC2-A22C-A1A97979560F}.Release|x64.Build.0 = Release|x64 + {1B7C04D4-BC53-4E86-A452-5B8BF62F53C5}.Debug|Win32.ActiveCfg = Debug|Win32 + {1B7C04D4-BC53-4E86-A452-5B8BF62F53C5}.Debug|Win32.Build.0 = Debug|Win32 + {1B7C04D4-BC53-4E86-A452-5B8BF62F53C5}.Debug|x64.ActiveCfg = Debug|x64 + {1B7C04D4-BC53-4E86-A452-5B8BF62F53C5}.Debug|x64.Build.0 = Debug|x64 + {1B7C04D4-BC53-4E86-A452-5B8BF62F53C5}.Release|Win32.ActiveCfg = Release|Win32 + {1B7C04D4-BC53-4E86-A452-5B8BF62F53C5}.Release|Win32.Build.0 = Release|Win32 + {1B7C04D4-BC53-4E86-A452-5B8BF62F53C5}.Release|x64.ActiveCfg = Release|x64 + {1B7C04D4-BC53-4E86-A452-5B8BF62F53C5}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal Added: trunk/labpython/c source/lvpython.vcproj =================================================================== --- trunk/labpython/c source/lvpython.vcproj (rev 0) +++ trunk/labpython/c source/lvpython.vcproj 2015-07-29 21:02:00 UTC (rev 1535) @@ -0,0 +1,621 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="lvpython" + ProjectGUID="{FBFD36E7-7B72-4CC2-A22C-A1A97979560F}" + RootNamespace="lvpython" + > + <Platforms> + <Platform + Name="Win32" + /> + <Platform + Name="x64" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Release|Win32" + OutputDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + IntermediateDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="NDEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Release/lvpython.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="2" + InlineFunctionExpansion="1" + AdditionalIncludeDirectories=""../../cintools";C:\Python-2.7.9\include" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PYTHONWRAP_EXPORTS" + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" + PrecompiledHeaderFile="" + AssemblerListingLocation="$(IntDir)/" + ObjectFile="$(IntDir)/" + ProgramDataBaseFileName="$(IntDir)/" + WarningLevel="3" + WarnAsError="false" + SuppressStartupBanner="true" + Detect64BitPortabilityProblems="true" + CompileAs="1" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="labviewv.lib" + OutputFile="$(OutDir)\$(ProjectName).dll" + LinkIncremental="1" + SuppressStartupBanner="true" + AdditionalLibraryDirectories=""../../cintools"" + ProgramDatabaseFile="$(IntDir)/lvpython.pdb" + ImportLibrary="$(OutDir)/lvpython.lib" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Release/lvpython.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|x64" + OutputDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + IntermediateDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="NDEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="3" + TypeLibraryName=".\Release/lvpython.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="2" + InlineFunctionExpansion="1" + AdditionalIncludeDirectories=""../../cintools";C:\Python-2.7.9\include" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PYTHONWRAP_EXPORTS" + StringPooling="true" + RuntimeLibrary="0" + EnableFunctionLevelLinking="true" + AssemblerListingLocation="$(IntDir)/" + ObjectFile="$(IntDir)/" + ProgramDataBaseFileName="$(IntDir)/" + WarningLevel="3" + SuppressStartupBanner="true" + Detect64BitPortabilityProblems="true" + CompileAs="1" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="labview64.lib" + OutputFile="$(OutDir)\$(ProjectName).dll" + LinkIncremental="1" + SuppressStartupBanner="true" + AdditionalLibraryDirectories=""../../cintools"" + ProgramDatabaseFile="$(IntDir)/lvpython.pdb" + ImportLibrary="$(OutDir)/lvpython.lib" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Release/lvpython.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|Win32" + OutputDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + IntermediateDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="_DEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="1" + TypeLibraryName=".\Debug/lvpython.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories=""../../cintools";C:\Python-2.7.9\include" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PYTHONWRAP_EXPORTS" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + AssemblerListingLocation="$(IntDir)/" + ObjectFile="$(IntDir)/" + ProgramDataBaseFileName="$(IntDir)/" + WarningLevel="3" + WarnAsError="false" + SuppressStartupBanner="true" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + CompileAs="1" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="labviewv.lib" + OutputFile="$(OutDir)\$(ProjectName).dll" + LinkIncremental="2" + SuppressStartupBanner="true" + AdditionalLibraryDirectories=""../../cintools"" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(IntDir)/lvpython.pdb" + ImportLibrary="$(OutDir)/lvpython.lib" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + VerboseOutput="true" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Debug/lvpython.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|x64" + OutputDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + IntermediateDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" + UseOfMFC="0" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="_DEBUG" + MkTypLibCompatible="true" + SuppressStartupBanner="true" + TargetEnvironment="3" + TypeLibraryName=".\Debug/lvpython.tlb" + HeaderFileName="" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories=""../../cintools";C:\Python-2.7.9\include" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PYTHONWRAP_EXPORTS" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + AssemblerListingLocation="$(IntDir)\" + ObjectFile="$(IntDir)\" + ProgramDataBaseFileName="$(IntDir)\" + WarningLevel="3" + SuppressStartupBanner="true" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + CompileAs="1" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1033" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="labview64.lib" + OutputFile="$(OutDir)\$(ProjectName).dll" + LinkIncremental="2" + SuppressStartupBanner="true" + AdditionalLibraryDirectories=""../../cintools"" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(IntDir)/lvpython.pdb" + ImportLibrary="$(OutDir)/lvpython.lib" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + VerboseOutput="true" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + SuppressStartupBanner="true" + OutputFile=".\Debug/lvpython.bsc" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" + > + <File + RelativePath="dynlib.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="lvpython.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="pyimport.c" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl" + > + <File + RelativePath="dynlib.h" + > + </File> + <File + RelativePath="lvpython.h" + > + </File> + <File + RelativePath="lvsnapi.h" + > + </File> + <File + RelativePath="lvtypedef.h" + > + </File> + <File + RelativePath="pytscript.h" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" + > + <File + RelativePath="python.ico" + > + </File> + <File + RelativePath="pytscript.rc" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|x64" + > + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|x64" + > + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="" + /> + </FileConfiguration> + </File> + <File + RelativePath="Resource.h" + > + </File> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Modified: trunk/labpython/c source/lvsnapi.h =================================================================== --- trunk/labpython/c source/lvsnapi.h 2015-05-27 18:39:26 UTC (rev 1534) +++ trunk/labpython/c source/lvsnapi.h 2015-07-29 21:02:00 UTC (rev 1535) @@ -46,7 +46,11 @@ #if MSWin # ifdef _DEBUG # define DEBUG 1 -# define Debugger() {__asm{int 3}} +# if ProcessorType==kX64 +# define Debugger() __debugbreak() +# else +# define Debugger() {__asm{int 3}} +# endif # define DebugPrintf DbgPrintf # else # define DEBUG 0 @@ -102,8 +106,18 @@ LStrHandle elm[4]; } **LStrArrayHdl; -PrivateP(lvsnInstance); +#if !defined(NIPrivatePtr) + #if defined(LV_PRIVATE_POINTER) + #define NIPrivatePtr(p) LV_PRIVATE_POINTER(p) // LV 8.5 - LV 2011 + #elif defined(PrivatP) + #define NIPrivatePtr(p) PrivatP(p) // <= LV 8.2.1 + #else + #error Unsupported cintools headers + #endif +#endif +NIPrivatePtr(lvsnInstance); + /********************************************************************************/ /* */ /* Function prototypes */ Modified: trunk/labpython/c source/pyimport.c =================================================================== --- trunk/labpython/c source/pyimport.c 2015-05-27 18:39:26 UTC (rev 1534) +++ trunk/labpython/c source/pyimport.c 2015-07-29 21:02:00 UTC (rev 1535) @@ -97,7 +97,7 @@ DefineExtFunc(gLib, PyObject*, PyDict_New, (void), ()); DefineExtFunc(gLib, PyObject*, PyDict_GetItem, (PyObject *o, PyObject *k), (o,k)); DefineExtFunc(gLib, PyObject*, PyDict_GetItemString, (PyObject *o, const char* k), (o,k)); -DefineExtFunc(gLib, int, PyDict_Size, (PyObject *o), (o)); +DefineExtFunc(gLib, Py_ssize_t, PyDict_Size, (PyObject *o), (o)); DefineExtFunc(gLib, PyObject*, PyDict_Keys, (PyObject *o), (o)); DefineExtFunc(gLib, PyObject*, PyDict_Values, (PyObject *o), (o)); DefineExtFuncVoid(gLib, PyEval_InitThreads, (void), ()); @@ -116,24 +116,24 @@ DefineExtFunc(gLib, PyObject*, PyImport_AddModule, (const char *n), (n)); DefineExtFunc(gLib, PyObject*, PyInt_FromLong, (long l), (l)); DefineExtFunc(gLib, long, PyInt_AsLong, (PyObject *o), (o)); -DefineExtFunc(gLib, PyObject*, PyList_New, (int s), (s)); -DefineExtFunc(gLib, PyObject*, PyList_GetItem, (PyObject *o, int i), (o,i)); -DefineExtFunc(gLib, int, PyList_SetItem, (PyObject *l, int i, PyObject *o), (l,i,o)); -DefineExtFunc(gLib, int, PyList_Size, (PyObject *l), (l)); +DefineExtFunc(gLib, PyObject*, PyList_New, (Py_ssize_t size), (size)); +DefineExtFunc(gLib, PyObject*, PyList_GetItem, (PyObject *o, Py_ssize_t i), (o,i)); +DefineExtFunc(gLib, int, PyList_SetItem, (PyObject *l, Py_ssize_t i, PyObject *o), (l,i,o)); +DefineExtFunc(gLib, Py_ssize_t, PyList_Size, (PyObject *l), (l)); DefineExtFunc(gLib, long, PyLong_AsLong, (PyObject *o), (o)); DefineExtFunc(gLib, PyObject*, PyLong_FromDouble, (double d), (d)); DefineExtFunc(gLib, PyObject*, PyModule_GetDict, (PyObject *o), (o)); -//DefineExtFunc(gLib, PyObject*, PyNumber_Long, (PyObject *o), (o)); -//DefineExtFunc(gLib, PyObject*, PyNumber_Float, (PyObject *o), (o)); -//DefineExtFunc(gLib, int, PyNumber_Check, (PyObject *o), (o)); -//DefineExtFunc(gLib, int, PyObject_AsCharBuffer, (PyObject *o, const char **a, int *l), (o,a,l)); +DefineExtFunc(gLib, PyObject*, PyNumber_Long, (PyObject *o), (o)); +DefineExtFunc(gLib, PyObject*, PyNumber_Float, (PyObject *o), (o)); +DefineExtFunc(gLib, int, PyNumber_Check, (PyObject *o), (o)); +DefineExtFunc(gLib, int, PyObject_AsCharBuffer, (PyObject *o, const char **a, Py_ssize_t *l), (o,a,l)); DefineExtFunc(gLib, PyObject*, PyObject_GetAttrString, (PyObject *o, const char *a), (o,a)); DefineExtFunc(gLib, PyObject*, PyObject_Str, (PyObject *o), (o)); DefineExtFunc(gLib, PyObject*, PyObject_Type, (PyObject *o), (o)); DefineExtFunc(gLib, PyObject*, PyString_FromString, (const char* s), (s)); -DefineExtFunc(gLib, PyObject*, PyString_FromStringAndSize, (const char* s, int i), (s,i)); +DefineExtFunc(gLib, PyObject*, PyString_FromStringAndSize, (const char* s, Py_ssize_t i), (s,i)); DefineExtFunc(gLib, char*, PyString_AsString, (PyObject* o), (o)); -DefineExtFunc(gLib, int, PyString_Size, (PyObject* o), (o)); +DefineExtFunc(gLib, Py_ssize_t, PyString_Size, (PyObject* o), (o)); DefineExtFunc(gLib, PyThreadState*, PyThreadState_Swap, (PyThreadState *t), (t)); DefineExtFunc(gLib, int, PyType_IsSubtype, (PyTypeObject *o1, PyTypeObject *o2), (o1, o2)); @@ -146,8 +146,9 @@ long * _Py_RefTotal_Ptr = NULL; PyObject * _Py_NoneStruct_Ptr = NULL; -PyIntObject * _Py_ZeroStruct_Ptr = NULL; -PyIntObject * _Py_TrueStruct_Ptr = NULL; +PyObject * _Py_FalseStruct_Ptr = NULL; +PyObject * _Py_ZeroStruct_Ptr = NULL; +PyObject * _Py_TrueStruct_Ptr = NULL; PyTypeObject * PyComplex_Type_Ptr = NULL; PyTypeObject * PyFloat_Type_Ptr = NULL; PyTypeObject * PyInt_Type_Ptr = NULL; @@ -215,8 +216,13 @@ } #endif LoadExtData(gLib, PyObject, _Py_NoneStruct); - LoadExtData(gLib, PyIntObject, _Py_ZeroStruct); - LoadExtData(gLib, PyIntObject, _Py_TrueStruct); + LoadExtDataNoFail(gLib, PyObject, _Py_FalseStruct); + if (!_Py_FalseStruct_Ptr) + { + LoadExtData(gLib, PyObject, _Py_ZeroStruct); + _Py_FalseStruct_Ptr = _Py_ZeroStruct_Ptr; + } + LoadExtData(gLib, PyObject, _Py_TrueStruct); LoadExtData(gLib, PyTypeObject, PyComplex_Type); LoadExtData(gLib, PyTypeObject, PyFloat_Type); LoadExtData(gLib, PyTypeObject, PyInt_Type); Modified: trunk/labpython/c source/pytscript.c =================================================================== --- trunk/labpython/c source/pytscript.c 2015-05-27 18:39:26 UTC (rev 1534) +++ trunk/labpython/c source/pytscript.c 2015-07-29 21:02:00 UTC (rev 1535) @@ -84,6 +84,8 @@ static uChar LVPythonLib[] = "\014lvpython.dll"; #elif Unix static uChar LVPythonLib[] = "\013lvpython.so"; +#elif MacOSX +static uChar LVPythonLib[] = "\013lvpython.framework"; #elif Mac static uChar LVPythonLib[] = "\016lvpython.shlib"; #endif Added: trunk/labpython/c source/pytscript.vcproj =================================================================== --- trunk/labpython/c source/pytscript.vcproj (rev 0) +++ trunk/labpython/c source/pytscript.vcproj 2015-07-29 21:02:00 UTC (rev 1535) @@ -0,0 +1,405 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="pytscript" + ProjectGUID="{1B7C04D4-BC53-4E86-A452-5B8BF62F53C5}" + RootNamespace="pytscript" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + <Platform + Name="x64" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + IntermediateDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../cintools" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PYTSCRIPT_EXPORTS" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="labviewv.lib" + LinkIncremental="2" + AdditionalLibraryDirectories="../../cintools" + GenerateDebugInformation="true" + SubSystem="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug|x64" + OutputDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + IntermediateDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../cintools" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PYTSCRIPT_EXPORTS" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="labview64.lib" + LinkIncremental="2" + AdditionalLibraryDirectories="../../cintools" + GenerateDebugInformation="true" + SubSystem="2" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + IntermediateDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../cintools" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PYTSCRIPT_EXPORTS" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="labviewv.lib" + LinkIncremental="1" + AdditionalLibraryDirectories="../../cintools" + GenerateDebugInformation="true" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1" + Profile="false" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|x64" + OutputDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + IntermediateDirectory="$(PlatformName)\$(ProjectName)\$(ConfigurationName)" + ConfigurationType="2" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + TargetEnvironment="3" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../cintools" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PYTSCRIPT_EXPORTS" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="labview64.lib" + LinkIncremental="1" + AdditionalLibraryDirectories="../../cintools" + GenerateDebugInformation="true" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="17" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\dynlib.c" + > + </File> + <File + RelativePath=".\pytscript.c" + > + </File> + <File + RelativePath=".\pytscript.def" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath=".\dynlib.h" + > + </File> + <File + RelativePath=".\lvpython.h" + > + </File> + <File + RelativePath=".\lvsnapi.h" + > + </File> + <File + RelativePath=".\lvtypedef.h" + > + </File> + <File + RelativePath=".\pytscript.h" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + <File + RelativePath=".\python.ico" + > + </File> + <File + RelativePath=".\pytscript.rc" + > + </File> + <File + RelativePath=".\Resource.h" + > + </File> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |