summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThierry Banel <tbanelwebmin@free.fr>2016-03-20 14:50:17 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2016-03-26 00:32:56 +0100
commit9438ac6014cf59b66e8e7f50b34e8f747435e0f1 (patch)
tree2ef15d66a69a13aa885933e723a73672496295df
parent6cddbe8493cfe367495d81a181e58a493c9d4f67 (diff)
downloadorg-mode-9438ac6014cf59b66e8e7f50b34e8f747435e0f1.tar.gz
ob-C: Add :libs to babel C++
* lisp/ob-C.el (org-babel-C-execute): add support for :libs header parameter to specify libraries to link with.
-rw-r--r--lisp/ob-C.el13
1 files changed, 11 insertions, 2 deletions
diff --git a/lisp/ob-C.el b/lisp/ob-C.el
index 8275313..5d7f161 100644
--- a/lisp/ob-C.el
+++ b/lisp/ob-C.el
@@ -130,6 +130,13 @@ or `org-babel-execute:C++' or `org-babel-execute:D'."
(flags (cdr (assoc :flags params)))
(flags (mapconcat 'identity
(if (listp flags) flags (list flags)) " "))
+ (libs (org-babel-read
+ (or (cdr (assq :libs params))
+ (org-entry-get nil "libs" t))
+ nil))
+ (libs (mapconcat #'identity
+ (if (listp libs) libs (list libs))
+ " "))
(full-body
(case org-babel-c-variant
(c (org-babel-C-expand-C body params))
@@ -139,13 +146,15 @@ or `org-babel-execute:C++' or `org-babel-execute:D'."
(case org-babel-c-variant
((c cpp)
(org-babel-eval
- (format "%s -o %s %s %s"
+ (format "%s -o %s %s %s %s"
(case org-babel-c-variant
(c org-babel-C-compiler)
(cpp org-babel-C++-compiler))
(org-babel-process-file-name tmp-bin-file)
flags
- (org-babel-process-file-name tmp-src-file)) ""))
+ (org-babel-process-file-name tmp-src-file)
+ libs)
+ ""))
(d nil)) ;; no separate compilation for D
(let ((results
(org-babel-eval