From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Schulte Subject: Re: customizable C, C++, D, Java, Groovy compilers Date: Mon, 16 Jun 2014 11:05:13 -0400 Message-ID: <878uowx563.fsf@gmail.com> References: <539DA10D.6010302@free.fr> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55115) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WwYYF-0004by-8k for emacs-orgmode@gnu.org; Mon, 16 Jun 2014 11:10:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WwYY9-00086W-DW for emacs-orgmode@gnu.org; Mon, 16 Jun 2014 11:10:27 -0400 Received: from mail-oa0-f48.google.com ([209.85.219.48]:49576) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WwYY9-00086M-7f for emacs-orgmode@gnu.org; Mon, 16 Jun 2014 11:10:21 -0400 Received: by mail-oa0-f48.google.com with SMTP id m1so5892296oag.21 for ; Mon, 16 Jun 2014 08:09:45 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Thierry Banel Cc: emacs-orgmode@gnu.org Applied, Thanks! Thierry Banel writes: > Hi all > > Here is a patch to make compilers customizable > (by typing M-x customize-group org-babel). > It applies to C, C++, D, Java, Groovy. > This is consistent with customizations for R, Python, Ditaa and others > languages. > > Have fun > Thierry > > > > From 933f50c3fbebefec14b5df8ebff0cebaf3e45922 Mon Sep 17 00:00:00 2001 > From: Thierry Banel > Date: Sun, 15 Jun 2014 14:53:34 +0200 > Subject: [PATCH] Make C, C++, D, Java, Groovy compilers customizable > > * ob-C.el (org-babel-C-compiler): > (org-babel-C++-compiler): > (org-babel-D-compiler): changed defvar to defcustom > * ob-java.el (org-babel-java-command): > (org-babel-java-compiler): changed defvar to defcustom > * ob-groovy.el (org-babel-groovy-command): > changed defvar to defcustom > --- > lisp/ob-C.el | 36 ++++++++++++++++++++++++++---------- > lisp/ob-groovy.el | 10 ++++++++-- > lisp/ob-java.el | 22 +++++++++++++++++----- > 3 files changed, 51 insertions(+), 17 deletions(-) > > diff --git a/lisp/ob-C.el b/lisp/ob-C.el > index 505b290..2e146d4 100644 > --- a/lisp/ob-C.el > +++ b/lisp/ob-C.el > @@ -46,16 +46,32 @@ > > (defvar org-babel-default-header-args:C '()) > > -(defvar org-babel-C-compiler "gcc" > - "Command used to compile a C source code file into an > -executable.") > - > -(defvar org-babel-C++-compiler "g++" > - "Command used to compile a C++ source code file into an > -executable.") > - > -(defvar org-babel-D-compiler "rdmd" > - "Command used to compile and execute a D source code file.") > +(defcustom org-babel-C-compiler "gcc" > + "Command used to compile a C source code file into an executable. > +May be either a command in the path, like gcc > +or an absolute path name, like /usr/local/bin/gcc > +parameter may be used, like gcc -v" > + :group 'org-babel > + :version "24.3" > + :type 'string) > + > +(defcustom org-babel-C++-compiler "g++" > + "Command used to compile a C++ source code file into an executable. > +May be either a command in the path, like g++ > +or an absolute path name, like /usr/local/bin/g++ > +parameter may be used, like g++ -v" > + :group 'org-babel > + :version "24.3" > + :type 'string) > + > +(defcustom org-babel-D-compiler "rdmd" > + "Command used to compile and execute a D source code file. > +May be either a command in the path, like rdmd > +or an absolute path name, like /usr/local/bin/rdmd > +parameter may be used, like rdmd --chatty" > + :group 'org-babel > + :version "24.3" > + :type 'string) > > (defvar org-babel-c-variant nil > "Internal variable used to hold which type of C (e.g. C or C++ or D) > diff --git a/lisp/ob-groovy.el b/lisp/ob-groovy.el > index 9bb17e6..0068df9 100644 > --- a/lisp/ob-groovy.el > +++ b/lisp/ob-groovy.el > @@ -36,8 +36,14 @@ > (defvar org-babel-tangle-lang-exts) ;; Autoloaded > (add-to-list 'org-babel-tangle-lang-exts '("groovy" . "groovy")) > (defvar org-babel-default-header-args:groovy '()) > -(defvar org-babel-groovy-command "groovy" > - "Name of the command to use for executing Groovy code.") > +(defcustom org-babel-groovy-command "groovy" > + "Name of the command to use for executing Groovy code. > +May be either a command in the path, like groovy > +or an absolute path name, like /usr/local/bin/groovy > +parameters may be used, like groovy -v" > + :group 'org-babel > + :version "24.3" > + :type 'string) > > (defun org-babel-execute:groovy (body params) > "Execute a block of Groovy code with org-babel. This function is > diff --git a/lisp/ob-java.el b/lisp/ob-java.el > index 22f8785..8c64171 100644 > --- a/lisp/ob-java.el > +++ b/lisp/ob-java.el > @@ -32,11 +32,23 @@ > (defvar org-babel-tangle-lang-exts) > (add-to-list 'org-babel-tangle-lang-exts '("java" . "java")) > > -(defvar org-babel-java-command "java" > - "Name of the java command.") > - > -(defvar org-babel-java-compiler "javac" > - "Name of the java compiler.") > +(defcustom org-babel-java-command "java" > + "Name of the java command. > +May be either a command in the path, like java > +or an absolute path name, like /usr/local/bin/java > +parameters may be used, like java -verbose" > + :group 'org-babel > + :version "24.3" > + :type 'string) > + > +(defcustom org-babel-java-compiler "javac" > + "Name of the java compiler. > +May be either a command in the path, like javac > +or an absolute path name, like /usr/local/bin/javac > +parameters may be used, like javac -verbose" > + :group 'org-babel > + :version "24.3" > + :type 'string) > > (defun org-babel-execute:java (body params) > (let* ((classname (or (cdr (assoc :classname params)) -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D (see https://u.fsf.org/yw)