Re: how to detect if gdb has been compiled with python support?
Maurizio Vitale <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <CAAeLbQJSrr5UTQwy--r=vt3wA3nHizbuSWXRwsEzSCeCmNH3CQ@mail.gmail.com> |
I was looking for a way to check from within gdb itself, while processing .gdbinit. Otherwise, I need to run two gdbs and communicate the finding of the first to the second through environment variables or some such mechanism, but this wouldn't work for people just grabbing my .gdbinit+extensions and executing on some rogue gdb (which is the only case I need to cover, my own gdb does have python) Maurizio On Tue, Apr 21, 2015 at 3:54 AM, Ofir Cohen <[email protected]> wrote: > Hi Maurizio, > > Below are to suggestions of how to do it from the shell. > > > 1) Bullet proof method > > When python is _not supported: > > on Windows: > C:\> gdb --ex "python import os" --batch 2>&1 | findstr Python > C:\>echo %ERRORLEVEL% > Python scripting is not supported in this copy of GDB. > 0 > > On Linux: > ~$ gdb --ex "python import os" --batch 2>&1 | grep Python > ~$ echo $? > Python scripting is not supported in this copy of GDB. > 0 > > When python _is_ supported, this string will not be printed, and > retval will be 1. > > > 2) Alternative (works only on some platforms) > Note: > on some gdb builds we could execute the following: > "gdb --configuration" > > and if gdb was built with Python support, it will print "--with-python=/usr". > > However, > This flag, --configuration, isn't recognized for a MinGW 7.6 build on Windows, > though for a gdb 7.7 on Linux it did work. > > > > > I would personally use the first version, as it always works > regardless of the switches/flags > gdb is willing to accept. > > > Regards, > Ofir Cohen > > On 21 April 2015 at 05:06, Maurizio Vitale <[email protected]> wrote: >> in my gdbinitrc I source python extensions. In my organization we have also >> gdbs compiled without python linked in and I'd like to give a clear message >> about it. >> Any programmatic way to check whether Python is compiled in? >> >> Thanks, >> >> Maurizio