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