From: Stephen Leake <stephen_leake@stephe-leake.org>
To: emacs-devel@gnu.org
Subject: Re: progmodes/project.el and search paths
Date: Mon, 03 Aug 2015 11:35:11 -0500 [thread overview]
Message-ID: <86lhdsfhz4.fsf@stephe-leake.org> (raw)
In-Reply-To: <87mvy8jvlh.fsf@isaac.fritz.box> (David Engster's message of "Mon, 03 Aug 2015 16:27:22 +0200")
David Engster <deng@randomsample.de> writes:
> Dmitry Gutov writes:
>> On 08/03/2015 04:49 PM, David Engster wrote:
>>
>>> From what I see in project.el, this is an API for defining a set of
>>> directories. I'm not saying that Emacs does not need such an API, but I
>>> would not call this a "project API".
>>
>> These are the traits common to most projects that we've identified so
>> far. Ones that a third-party package will almost always be able to
>> use.
>
> As I've said: I'm not saying it's not useful.
>
>>> What about things like setting up
>>> toolchains (compiler, linker, debugger), configurations (debug/release),
>>> support for external build systems, setting up environment variables and
>>> pre-processor symbols, and so on?
>>
>> What linker and pre-processor? Seriously, you're talking to a Ruby
>> developer here.
>
> Just because Ruby does not have them, project.el should not have support
> for different toolchains?
It depends on whether there are really common features across several
toolchains.
I guess the top-level API for these things in EDE is common across
several toolchains, but I'm not clear; you've talked about some things
are in EDE 'only for Java', or only for some other backend.
I agree the core API should allow all possible backends, but there's a
trade-off. If the core includes stuff that only one or a few backends
need, then that imposes extra overhead (if only by overloading the
implementer understanding of the API).
>> What aspects of "setting up a debugger" would you consider
>> generalizable over different project systems?
>
> A debugger needs to know where the executable is and how it should be
> called.
gud does that, but if a new debugger needs to be added, perhaps gud
should consult the project system first, rather than having a separate
way to add a debugger.
> If you say "compile this project", you will usually not call the
> compiler directly but run some external build systems. Depending on the
> current configuration (debug/release), it must be called differently.
Right. I do that by editing Makefiles directly; M-x compile is always
"make -r <target>" for me. I've always felt that anything else just gets
in the way. Clearly I'm in the minority on this one :(>.
Although I've recently started working on JDEE, and it doesn't have a
Makefile, just an ant build.xml. So I'm trying to force myself to not
add a Makefile. We'll see. So far it's very frustrating trying to track
down exactly what ant is doing; must easier with a makefile.
>> Do you need help setting up environment variables?
>
> Yes. I might need to set things like CFLAGS dependend on the current
> configuration. Or I might want to cross-compile, in which case I need to
> set ARCH and CROSS_COMPILE.
These seem very backend specific. How much of this is really in the EDE
core, and how much in some "make/gcc backend"?
--
-- Stephe
next prev parent reply other threads:[~2015-08-03 16:35 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-02 13:52 progmodes/project.el and search paths Eric Ludlam
2015-08-02 17:17 ` Dmitry Gutov
2015-08-03 1:19 ` Eric Ludlam
2015-08-03 16:16 ` Stephen Leake
2015-08-03 22:56 ` Dmitry Gutov
2015-08-08 13:07 ` Nix
2015-08-09 5:18 ` Stephen Leake
2015-08-09 12:17 ` David Engster
2015-08-09 15:55 ` Stephen Leake
2015-08-10 11:29 ` David Engster
2015-08-10 16:43 ` Stephen Leake
2015-08-12 10:10 ` David Engster
2015-08-12 13:49 ` Stephen Leake
2015-08-12 15:36 ` David Engster
2015-08-13 11:53 ` Nix
2015-08-13 12:05 ` Dmitry Gutov
2015-08-14 11:52 ` Eric Ludlam
2015-08-14 22:30 ` Dmitry Gutov
2015-08-15 0:48 ` Eric Ludlam
2015-08-15 7:05 ` Eli Zaretskii
2015-08-10 17:12 ` Nix
2015-08-03 22:47 ` Dmitry Gutov
2015-08-04 11:52 ` Eric Ludlam
2015-08-04 16:09 ` Dmitry Gutov
2015-08-03 13:49 ` David Engster
2015-08-03 14:09 ` Dmitry Gutov
2015-08-03 14:27 ` David Engster
2015-08-03 15:13 ` Dmitry Gutov
2015-08-03 21:35 ` David Engster
2015-08-03 23:21 ` Dmitry Gutov
2015-08-04 8:15 ` David Engster
2015-08-04 13:43 ` Eli Zaretskii
2015-08-04 18:05 ` Dmitry Gutov
2015-08-04 18:16 ` Eli Zaretskii
2015-08-04 18:41 ` Dmitry Gutov
2015-08-04 19:23 ` Eli Zaretskii
2015-08-04 19:40 ` João Távora
2015-08-05 2:52 ` Eli Zaretskii
2015-08-04 20:15 ` Dmitry Gutov
2015-08-05 2:49 ` Eli Zaretskii
2015-08-05 6:18 ` Stephen Leake
2015-08-05 15:08 ` Eli Zaretskii
2015-08-05 15:36 ` Dmitry Gutov
2015-08-05 16:31 ` Eli Zaretskii
2015-08-05 16:45 ` David Engster
2015-08-05 22:17 ` Dmitry Gutov
2015-08-06 7:56 ` Stephen Leake
2015-08-06 7:54 ` Stephen Leake
2015-08-05 9:42 ` Dmitry Gutov
2015-08-05 15:23 ` Eli Zaretskii
2015-08-05 15:31 ` Dmitry Gutov
2015-08-05 16:16 ` Eli Zaretskii
2015-08-06 6:44 ` Dmitry Gutov
2015-08-06 7:43 ` Stephen Leake
2015-08-06 10:25 ` Dmitry Gutov
2015-08-06 14:27 ` Stephen Leake
2015-08-06 23:16 ` Dmitry Gutov
2015-08-07 14:10 ` Stephen Leake
2015-08-07 14:44 ` Dmitry Gutov
2015-08-03 16:35 ` Stephen Leake [this message]
2015-08-03 16:45 ` Eli Zaretskii
2015-08-03 21:07 ` Stephen Leake
2015-08-03 21:33 ` David Engster
2015-08-04 2:35 ` Eli Zaretskii
2015-08-03 15:09 ` Eli Zaretskii
2015-08-03 15:16 ` Dmitry Gutov
2015-08-03 15:29 ` Eli Zaretskii
2015-08-03 19:01 ` Dmitry Gutov
2015-08-03 19:19 ` Eli Zaretskii
2015-08-03 21:05 ` Dmitry Gutov
2015-08-04 11:48 ` Eric Ludlam
2015-08-04 16:20 ` Dmitry Gutov
2015-08-03 16:25 ` Stephen Leake
2015-08-03 21:33 ` Stefan Monnier
2015-08-03 22:15 ` David Engster
2015-08-03 22:50 ` Dmitry Gutov
2015-08-04 7:13 ` Stefan Monnier
2015-08-04 8:13 ` David Engster
2015-08-05 13:42 ` Stefan Monnier
2015-08-06 11:27 ` {Spam?} " Eric Ludlam
2015-08-06 23:10 ` Stefan Monnier
2015-08-07 11:18 ` Eric Ludlam
2015-08-07 11:43 ` David Engster
2015-08-07 12:17 ` Dmitry Gutov
2015-08-07 12:40 ` David Engster
2015-08-07 12:54 ` Dmitry Gutov
2015-08-07 12:08 ` Alexis
2015-08-04 9:40 ` Stephen Leake
2015-08-04 17:43 ` Dmitry Gutov
2015-08-04 19:49 ` Stephen Leake
2015-08-04 20:03 ` Dmitry Gutov
2015-08-05 6:02 ` Stephen Leake
2015-08-05 9:59 ` Dmitry Gutov
2015-08-06 7:25 ` Stephen Leake
2015-08-07 14:21 ` Dmitry Gutov
2015-08-05 1:29 ` Eric Ludlam
2015-08-11 20:01 ` Dmitry Gutov
2015-08-12 0:49 ` Eric Ludlam
2015-08-12 7:25 ` project terminology Stephen Leake
2015-08-12 9:28 ` progmodes/project.el and search paths Dmitry Gutov
2015-12-29 2:00 ` Dmitry Gutov
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=86lhdsfhz4.fsf@stephe-leake.org \
--to=stephen_leake@stephe-leake.org \
--cc=emacs-devel@gnu.org \
/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.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.