From: Mikel B. <mut...@us...> - 2006-04-06 06:28:58
|
Update of /cvsroot/swig/SWIG/Source/Modules In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5644/Source/Modules Modified Files: allegrocl.cxx Log Message: 04/05/2006: mutandiz [allegrocl] Fix output typemap of char so it produces a character instead of an integer. Also adds input/output typemaps for 'char *'. add command-line argument -isolate to generate an interface file that won't interfere with other SWIG generated files that may be used in the same application. Index: allegrocl.cxx =================================================================== RCS file: /cvsroot/swig/SWIG/Source/Modules/allegrocl.cxx,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** allegrocl.cxx 21 Mar 2006 07:15:38 -0000 1.30 --- allegrocl.cxx 6 Apr 2006 06:28:53 -0000 1.31 *************** *** 27,34 **** --- 27,37 ---- static String *module_name=0; + static String *swig_package=0; + const char *identifier_converter="identifier-convert-null"; static bool CWrap = true; // generate wrapper file for C code by default. most correct. static bool Generate_Wrapper = false; + static bool unique_swig_package = false; static String *current_namespace=NewString(""); *************** *** 1497,1500 **** --- 1500,1506 ---- CWrap = false; Swig_mark_arg(i); + } else if (!strcmp(argv[i], "-isolate")) { + unique_swig_package = true; + Swig_mark_arg(i); } *************** *** 1525,1528 **** --- 1531,1537 ---- String *cl_filename=NewString(""); + swig_package = unique_swig_package ? + NewStringf("swig.%s", module_name) : NewString("swig"); + Printf(cl_filename, "%s%s.cl", SWIG_output_directory(), module_name); *************** *** 1557,1572 **** Printf(f_cl, ";; This is an automatically generated file. Make changes in\n" ";; the definition file, not here.\n\n" ! "(defpackage :swig\n" " (:use :common-lisp :ff :excl)\n" " (:export #:*swig-identifier-converter* #:*swig-module-name*\n" ! " #:*void*))\n" ! "(in-package :swig)\n\n" "(eval-when (compile load eval)\n" " (defparameter *swig-identifier-converter* '%s)\n" " (defparameter *swig-module-name* :%s))\n\n", ! identifier_converter, module_name); Printf(f_cl, "(defpackage :%s\n" ! " (:use :common-lisp :swig :ff :excl))\n\n", ! module_name); Printf(f_clhead, "(in-package :%s)\n", module_name); --- 1566,1581 ---- Printf(f_cl, ";; This is an automatically generated file. Make changes in\n" ";; the definition file, not here.\n\n" ! "(defpackage :%s\n" " (:use :common-lisp :ff :excl)\n" " (:export #:*swig-identifier-converter* #:*swig-module-name*\n" ! " #:*void* #:*swig-expoert-list*))\n" ! "(in-package :%s)\n\n" "(eval-when (compile load eval)\n" " (defparameter *swig-identifier-converter* '%s)\n" " (defparameter *swig-module-name* :%s))\n\n", ! swig_package, swig_package, identifier_converter, module_name); Printf(f_cl, "(defpackage :%s\n" ! " (:use :common-lisp :%s :ff :excl))\n\n", ! module_name, swig_package); Printf(f_clhead, "(in-package :%s)\n", module_name); *************** *** 1584,1588 **** emit_linked_types(); ! Printf(f_clwrap, "\n(in-package :swig)\n"); Printf(f_clwrap, "\n(macrolet ((swig-do-export ()\n"); Printf(f_clwrap, " `(dolist (s ',*swig-export-list*)\n"); --- 1593,1597 ---- emit_linked_types(); ! Printf(f_clwrap, "\n(in-package :%s)\n", swig_package); Printf(f_clwrap, "\n(macrolet ((swig-do-export ()\n"); Printf(f_clwrap, " `(dolist (s ',*swig-export-list*)\n"); *************** *** 2330,2334 **** SwigType *result_type = Swig_cparse_type(Getattr(n,"tmap:ctype")); // prime the pump, with support for OUTPUT, INOUT typemaps. ! Printf(wrap->code,"(let ((ACL_ffresult swig:*void*)\n ACL_result)\n $body\n (if (eq ACL_ffresult swig:*void*)\n (values-list ACL_result)\n (values-list (cons ACL_ffresult ACL_result))))"); Parm *p; --- 2339,2343 ---- SwigType *result_type = Swig_cparse_type(Getattr(n,"tmap:ctype")); // prime the pump, with support for OUTPUT, INOUT typemaps. ! Printf(wrap->code,"(let ((ACL_ffresult %s:*void*)\n ACL_result)\n $body\n (if (eq ACL_ffresult %s:*void*)\n (values-list ACL_result)\n (values-list (cons ACL_ffresult ACL_result))))", swig_package, swig_package); Parm *p; |