From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Engster Newsgroups: gmane.emacs.devel Subject: Re: progmodes/project.el and search paths Date: Mon, 03 Aug 2015 16:27:22 +0200 Message-ID: <87mvy8jvlh.fsf@isaac.fritz.box> References: <55BE209F.1000009@siege-engine.com> <55BE509B.2080307@yandex.ru> <87r3nkjxby.fsf@isaac.fritz.box> <55BF7619.1050701@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1438612068 8687 80.91.229.3 (3 Aug 2015 14:27:48 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 3 Aug 2015 14:27:48 +0000 (UTC) Cc: Eric Ludlam , Emacs Development To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Aug 03 16:27:38 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZMGiI-000137-26 for ged-emacs-devel@m.gmane.org; Mon, 03 Aug 2015 16:27:38 +0200 Original-Received: from localhost ([::1]:59346 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMGiG-0000xA-TG for ged-emacs-devel@m.gmane.org; Mon, 03 Aug 2015 10:27:36 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58523) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMGiA-0000sE-0F for emacs-devel@gnu.org; Mon, 03 Aug 2015 10:27:33 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZMGi5-0006sC-WA for emacs-devel@gnu.org; Mon, 03 Aug 2015 10:27:29 -0400 Original-Received: from randomsample.de ([5.45.97.173]:59486) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMGi5-0006s4-Nc for emacs-devel@gnu.org; Mon, 03 Aug 2015 10:27:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=randomsample.de; s=a; h=Content-Type:MIME-Version:Message-ID:Date:References:In-Reply-To:Subject:Cc:To:From; bh=0sCYyuvEcuerXKPfiPM4BZWmGOuvkvoHuyuMYHxkxhk=; b=uzlz41EQdhoar3tvAxtxwgwlMKZaFb4I59Pd7NNSWmeMA+W+XiJeTnccoLrJFF0TgoJy/Oma3nAXQI78lOB3q9liCiMUELwvkvk1nSE+p+SCvMdG7sSRqgpHbHs4DgXD; Original-Received: from ip4d145d5e.dynamic.kabel-deutschland.de ([77.20.93.94] helo=isaac.fritz.box) by randomsample.de with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1ZMGi3-0005Km-VH; Mon, 03 Aug 2015 16:27:24 +0200 In-Reply-To: <55BF7619.1050701@yandex.ru> (Dmitry Gutov's message of "Mon, 3 Aug 2015 17:09:29 +0300") User-Agent: Gnus/5.13001 (Ma Gnus v0.10) Emacs/24.4 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 5.45.97.173 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:188337 Archived-At: 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? > 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. > Same question about "support for external build systems". 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. > 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. >> of projects in pretty much any IDE. Will you add this to project,el >> eventually? > > If people such as yourself help identify more pieces of knowledge that > apply to most projects out there, I'd be happy to add them. I've mentioned a few. If you add support for this, your simple API will grow, and I wouldn't be surprised if in the end it looks a bit like EDE. > Aside from that, EDE is a project system obviously geared towards > C/C++ development. It can (and does) support other languages. -David