[omniORB] omniidl and pydev
Jürgen Weber
jugewe at yahoo.com.br
Thu Nov 3 14:44:51 GMT 2005
--- Duncan Grisby <duncan at grisby.org> wrote:
> To run omniidl inside pydev, you'll have to build
> the omniidl C++ part
> as a library rather than an executable. You need to
> modify the dir.mk
> file in src/tool/omniidl/cxx to build a library. You
> should be able to
> figure out the incantations you need by looking at
> modules/dir.mk in the
> omniORBpy distribution.
Well, that mixture of scripts, gnu makefiles and MS
C++ seemed way too complex for me to understand, so I
tried building the DLL with VC 6.0 IDE and created a
project (see below). I had to rename all .cc to .cpp
This way I managed to build a DLL. The DLL gets
initialized, but (as I can see in the Eclipse pydev
debugger 8-) it dies in
omniidl/main.py
at
tree = _omniidl.compile(file)
I entered some puts into the C source and could trace
it so far to see, that it enters yyparse() but never
comes back from there.
Is there something obvious I forgot or do I have to
trace the bison generate?
Thanks,
Juergen
---- omniidl.dsp ---
# Microsoft Developer Studio Project File -
Name="omniidl" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File,
Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=omniidl - Win32 Debug
!MESSAGE This is not a valid makefile. To build this
project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "omniidl.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running
NMAKE
!MESSAGE by defining the macro CFG on the command
line. For example:
!MESSAGE
!MESSAGE NMAKE /f "omniidl.mak" CFG="omniidl - Win32
Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "omniidl - Win32 Release" (based on "Win32
(x86) Dynamic-Link Library")
!MESSAGE "omniidl - Win32 Debug" (based on "Win32
(x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "omniidl - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D
"NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D
"OMNIIDL_EXPORTS" /YX /FD /c
# ADD CPP /nologo /MT /W3 /GX /O2 /I
"E:\omniORB-4.0.6\src\tool\omniidl\cxx" /I
"E:\omniORB-4.0.6\include" /I "E:\Python24\include" /D
"NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D
"_USRDLL" /D "__x86__" /D "__WIN32__" /D
IDLMODULE_VERSION="\"9248\"" /D
DLL_EXPORT=__declspec(dllexport) /YX /FD /D = 0x2420
IDLMODULE_VERSION="\"9248\"" /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "NDEBUG"
# ADD RSC /l 0x407 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib
winspool.lib comdlg32.lib advapi32.lib shell32.lib
ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib
winspool.lib comdlg32.lib advapi32.lib shell32.lib
ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /dll /machine:I386
/out:"_omniidl.dll" /libpath:"E:\Python24\libs"
!ELSEIF "$(CFG)" == "omniidl - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D
"WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D
"_USRDLL" /D "OMNIIDL_EXPORTS" /YX /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I
"E:\omniORB-4.0.6\src\tool\omniidl\cxx" /I
"E:\omniORB-4.0.6\include" /I "E:\Python24\include" /D
"_DEBUG" /D DLL_EXPORT=__declspec(dllexport) /D
"WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D
"__x86__" /D "__WIN32__" /D
IDLMODULE_VERSION="\"9248\"" /YX /FD /D /GZ
IDLMODULE_VERSION="\"9248\"" /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "_DEBUG"
# ADD RSC /l 0x407 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib
winspool.lib comdlg32.lib advapi32.lib shell32.lib
ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /dll /debug /machine:I386
/pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib
winspool.lib comdlg32.lib advapi32.lib shell32.lib
ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /dll /debug /machine:I386
/out:"_omniidl.dll" /pdbtype:sept
/libpath:"E:\Python24\libs"
!ENDIF
# Begin Target
# Name "omniidl - Win32 Release"
# Name "omniidl - Win32 Debug"
# Begin Source File
SOURCE=.\cxx\idlast.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\idlc.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\idlconfig.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\idldump.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\idlerr.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\idlexpr.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\idlfixed.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\idlpython.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\idlrepoId.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\idlscope.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\idltype.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\idlutil.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\idlvalidate.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\lex.yy.cpp
# End Source File
# Begin Source File
SOURCE=.\cxx\y.tab.cpp
# End Source File
# End Target
# End Project
__________________________________
Yahoo! FareChase: Search multiple travel sites in one click.
http://farechase.yahoo.com
More information about the omniORB-list
mailing list