public inbox for insight@sourceware.org
 help / color / mirror / Atom feed
From: Keith Seitz <keiths@cygnus.com>
To: Insight Maling List <insight@sources.redhat.com>
Subject: [RFC] Plugins: enhancements
Date: Fri, 05 Oct 2001 07:09:00 -0000	[thread overview]
Message-ID: <Pine.GSO.4.33.0111201310000.20281-100000@makita.cygnus.com> (raw)

Hi,

So I am revisiting the plugin architecture, which, thanks to Fernando, is
largely complete. [Thanks Fernando!]

I have some questions about some of the last problems that exist with this
code...

1) Building plugins (C/C++ code)

Right now, one cannot generically build a plugin from C code. That part of
the configury was not completed.

I believe that I have now practically isolated all the host dependencies
for all the configury to accomplish building code on both unix (Linux only
tested) and Windows (tested on cygwin, of course). Using the following
Makefile.in for rhabout, I can now successfully build and install the
loadable module "rhabout":

   PLUGIN = rhabout
   PLUGIN_OBJS = rhabout.$(OBJEXT)
   PLUGIN_IMAGE_BASE = 0x65000000
   PLUGIN_TARGETS = rhabout.itcl

   include ../Make-rules

Yep, that's all that's necessary to build "rhabout.so" and "rhabout.dll"
and install them and the corresponding tcl files in the right place. I've
changed a lot of configury to get this working, and although it's not
perfect, it is one huge step forward. (The image base thing is for Windows
dlls. I'm not convinced it's necessary, but other much more informed
people tell me it is good practice to specify this for windows, so I'm
leaving it in.)

If we ever decide to drop support for Tcl/Tk 8.0 baggage we carry, we can
then revisit this with TEA in mind.

Questions:

1) We are currently have plugins directory located in
gdb/gdbtk/library/plugins. I don't think this is the right place to put
it, since the plugins can be host-dependent, containing shared
libraries/DLLs. Instead, I'd like to move the plugins directory from
gdb/gdbtk/library/plugins to gdb/gdbtk/plugins.

2) The plugins are currently installed in
INSTALLDIR/share/insight1.0/plugins. This directory is NOT
platform-dependent, so if we install both Cygwin and linux toolchains into
the same directory (which I do quite often), the two are going to clobber
each other a little. I propose that these be moved to
$(libdir)/insight1.0/PLUGIN-NAME. The generic plugins.tcl file will be
installed at $(libdir)/insight1.0/plugins.tcl.

Comments?

All the configury for this is in gdb/configure.in. It is at least isolated
in our own little spot. I don't like this, but until we can put all of the
insight stuff under a directory in the gdb build directory, we're stuck.
(The limiting step here is being able to build separate gdb and insight
executables, which actually can be hackishly done, but gdb would never
approve of the "cp top.c gdbtk-top.c" method.)

Keith

WARNING: multiple messages have this Message-ID
From: Keith Seitz <keiths@cygnus.com>
To: Insight Maling List <insight@sources.redhat.com>
Subject: [RFC] Plugins: enhancements
Date: Sat, 24 Nov 2001 14:07:00 -0000	[thread overview]
Message-ID: <Pine.GSO.4.33.0111201310000.20281-100000@makita.cygnus.com> (raw)
Message-ID: <20011124140700.tkLrrRSByA-2IvoG4xNTh-Yc__pTwC0TZ1kPmx7uA4M@z> (raw)

Hi,

So I am revisiting the plugin architecture, which, thanks to Fernando, is
largely complete. [Thanks Fernando!]

I have some questions about some of the last problems that exist with this
code...

1) Building plugins (C/C++ code)

Right now, one cannot generically build a plugin from C code. That part of
the configury was not completed.

I believe that I have now practically isolated all the host dependencies
for all the configury to accomplish building code on both unix (Linux only
tested) and Windows (tested on cygwin, of course). Using the following
Makefile.in for rhabout, I can now successfully build and install the
loadable module "rhabout":

   PLUGIN = rhabout
   PLUGIN_OBJS = rhabout.$(OBJEXT)
   PLUGIN_IMAGE_BASE = 0x65000000
   PLUGIN_TARGETS = rhabout.itcl

   include ../Make-rules

Yep, that's all that's necessary to build "rhabout.so" and "rhabout.dll"
and install them and the corresponding tcl files in the right place. I've
changed a lot of configury to get this working, and although it's not
perfect, it is one huge step forward. (The image base thing is for Windows
dlls. I'm not convinced it's necessary, but other much more informed
people tell me it is good practice to specify this for windows, so I'm
leaving it in.)

If we ever decide to drop support for Tcl/Tk 8.0 baggage we carry, we can
then revisit this with TEA in mind.

Questions:

1) We are currently have plugins directory located in
gdb/gdbtk/library/plugins. I don't think this is the right place to put
it, since the plugins can be host-dependent, containing shared
libraries/DLLs. Instead, I'd like to move the plugins directory from
gdb/gdbtk/library/plugins to gdb/gdbtk/plugins.

2) The plugins are currently installed in
INSTALLDIR/share/insight1.0/plugins. This directory is NOT
platform-dependent, so if we install both Cygwin and linux toolchains into
the same directory (which I do quite often), the two are going to clobber
each other a little. I propose that these be moved to
$(libdir)/insight1.0/PLUGIN-NAME. The generic plugins.tcl file will be
installed at $(libdir)/insight1.0/plugins.tcl.

Comments?

All the configury for this is in gdb/configure.in. It is at least isolated
in our own little spot. I don't like this, but until we can put all of the
insight stuff under a directory in the gdb build directory, we're stuck.
(The limiting step here is being able to build separate gdb and insight
executables, which actually can be hackishly done, but gdb would never
approve of the "cp top.c gdbtk-top.c" method.)

Keith

             reply	other threads:[~2001-11-24 22:07 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-05  7:09 Keith Seitz [this message]
2001-10-05  7:19 ` Tom Tromey
2001-10-05  8:19   ` Keith Seitz
2001-10-05 10:15     ` Tom Tromey
2001-11-26  9:22       ` Tom Tromey
2001-11-25 11:43     ` Keith Seitz
2001-11-24 15:53   ` Tom Tromey
2001-11-24 14:07 ` Keith Seitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.GSO.4.33.0111201310000.20281-100000@makita.cygnus.com \
    --to=keiths@cygnus.com \
    --cc=insight@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).