diff options
author | Thierry Banel <tbanelwebmin@free.fr> | 2016-03-20 14:50:17 +0100 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2016-03-26 00:32:56 +0100 |
commit | 9438ac6014cf59b66e8e7f50b34e8f747435e0f1 (patch) | |
tree | 2ef15d66a69a13aa885933e723a73672496295df | |
parent | 6cddbe8493cfe367495d81a181e58a493c9d4f67 (diff) | |
download | org-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.el | 13 |
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 |