From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Banel Subject: customizable C, C++, D, Java, Groovy compilers Date: Sun, 15 Jun 2014 15:35:09 +0200 Message-ID: <539DA10D.6010302@free.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------050102040101090800030403" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60690) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WwAab-0005j5-Ir for emacs-orgmode@gnu.org; Sun, 15 Jun 2014 09:35:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WwAaV-0005pZ-D6 for emacs-orgmode@gnu.org; Sun, 15 Jun 2014 09:35:17 -0400 Received: from smtp2-g21.free.fr ([212.27.42.2]:35318) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WwAaV-0005pT-85 for emacs-orgmode@gnu.org; Sun, 15 Jun 2014 09:35:11 -0400 Received: from [IPv6:2a01:e35:2e21:def0:b550:2d70:b3df:19ad] (unknown [IPv6:2a01:e35:2e21:def0:b550:2d70:b3df:19ad]) by smtp2-g21.free.fr (Postfix) with ESMTP id C7E884B0021 for ; Sun, 15 Jun 2014 15:35:09 +0200 (CEST) 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: emacs-orgmode@gnu.org This is a multi-part message in MIME format. --------------050102040101090800030403 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit 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 --------------050102040101090800030403 Content-Type: text/x-diff; name="0001-Make-C-C-D-Java-Groovy-compilers-customizable.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename*0="0001-Make-C-C-D-Java-Groovy-compilers-customizable.patch" >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)) -- 1.7.9.5 --------------050102040101090800030403--