Can I use C header files with DLLC and not define the API functions?
jrs@jrs-laptop:~/sb/source/extensions/sqlite$ ls -l sqlite3_wrap.xml
-rw-rw-r-- 1 jrs jrs 1268084 Apr 16 22:12 sqlite3_wrap.xml
jrs@jrs-laptop:~/sb/source/extensions/sqlite$ time scriba dllcdef.sb
sqlite3_libversion
sqlite3_sourceid
sqlite3_libversion_number
sqlite3_compileoption_used
sqlite3_compileoption_get
sqlite3_threadsafe
sqlite3_close
sqlite3_exec
SQLITE_ACCESS_EXISTS
sqlite3_shutdown
sqlite3_os_init
sqlite3_os_end
sqlite3_config
sqlite3_db_config
SQLITE_CONFIG_SINGLETHREAD
sqlite3_last_insert_rowid
sqlite3_changes
sqlite3_total_changes
sqlite3_interrupt
sqlite3_complete
sqlite3_complete16
sqlite3_busy_handler
sqlite3_busy_timeout
sqlite3_get_table
sqlite3_free_table
sqlite3_mprintf
sqlite3_vmprintf
sqlite3_snprintf
sqlite3_vsnprintf
sqlite3_malloc
sqlite3_realloc
sqlite3_free
sqlite3_memory_used
sqlite3_memory_highwater
sqlite3_randomness
sqlite3_set_authorizer
SQLITE_DENY
sqlite3_profile
sqlite3_progress_handler
sqlite3_open
sqlite3_open16
sqlite3_open_v2
sqlite3_uri_parameter
sqlite3_uri_boolean
sqlite3_uri_int64
sqlite3_errcode
sqlite3_extended_errcode
sqlite3_errmsg
sqlite3_errmsg16
sqlite3_limit
SQLITE_LIMIT_LENGTH
sqlite3_prepare_v2
sqlite3_prepare16
sqlite3_prepare16_v2
sqlite3_sql
sqlite3_stmt_readonly
sqlite3_stmt_busy
sqlite3_bind_blob
sqlite3_bind_double
sqlite3_bind_int
sqlite3_bind_int64
sqlite3_bind_null
sqlite3_bind_text
sqlite3_bind_text16
sqlite3_bind_value
sqlite3_bind_zeroblob
sqlite3_bind_parameter_count
sqlite3_bind_parameter_name
sqlite3_bind_parameter_index
sqlite3_clear_bindings
sqlite3_column_count
sqlite3_column_name
sqlite3_column_name16
sqlite3_column_database_name
sqlite3_column_database_name16
sqlite3_column_table_name
sqlite3_column_table_name16
sqlite3_column_origin_name
sqlite3_column_origin_name16
sqlite3_column_decltype
sqlite3_column_decltype16
sqlite3_step
sqlite3_data_count
SQLITE_INTEGER
sqlite3_column_bytes
sqlite3_column_bytes16
sqlite3_column_double
sqlite3_column_int
sqlite3_column_int64
sqlite3_column_text
sqlite3_column_text16
sqlite3_column_type
sqlite3_column_value
sqlite3_finalize
sqlite3_reset
sqlite3_create_function
sqlite3_create_function16
sqlite3_create_function_v2
SQLITE_UTF8
sqlite3_expired
sqlite3_transfer_bindings
sqlite3_global_recover
sqlite3_thread_cleanup
sqlite3_memory_alarm
sqlite3_value_blob
sqlite3_value_bytes
sqlite3_value_bytes16
sqlite3_value_double
sqlite3_value_int
sqlite3_value_int64
sqlite3_value_text
sqlite3_value_text16
sqlite3_value_text16le
sqlite3_value_text16be
sqlite3_value_type
sqlite3_value_numeric_type
sqlite3_aggregate_context
sqlite3_user_data
sqlite3_context_db_handle
sqlite3_get_auxdata
sqlite3_set_auxdata
sqlite3_result_blob
sqlite3_result_double
sqlite3_result_error
sqlite3_result_error16
sqlite3_result_error_toobig
sqlite3_result_error_nomem
sqlite3_result_error_code
sqlite3_result_int
sqlite3_result_int64
sqlite3_result_null
sqlite3_result_text
sqlite3_result_text16
sqlite3_result_text16le
sqlite3_result_text16be
sqlite3_result_value
sqlite3_result_zeroblob
sqlite3_create_collation
sqlite3_create_collation_v2
sqlite3_create_collation16
sqlite3_collation_needed
sqlite3_collation_needed16
sqlite3_sleep
sqlite3_get_autocommit
sqlite3_db_handle
sqlite3_db_filename
sqlite3_db_readonly
sqlite3_next_stmt
sqlite3_commit_hook
sqlite3_rollback_hook
sqlite3_update_hook
sqlite3_enable_shared_cache
sqlite3_release_memory
sqlite3_db_release_memory
sqlite3_soft_heap_limit64
sqlite3_soft_heap_limit
sqlite3_table_column_metadata
sqlite3_load_extension
sqlite3_enable_load_extension
sqlite3_auto_extension
sqlite3_reset_auto_extension
SQLITE_INDEX_CONSTRAINT_EQ
sqlite3_create_module_v2
sqlite3_declare_vtab
sqlite3_overload_function
sqlite3_blob_open
sqlite3_blob_reopen
sqlite3_blob_close
sqlite3_blob_bytes
sqlite3_blob_read
sqlite3_blob_write
sqlite3_vfs_find
sqlite3_vfs_register
sqlite3_vfs_unregister
sqlite3_mutex_alloc
sqlite3_mutex_free
sqlite3_mutex_enter
sqlite3_mutex_try
sqlite3_mutex_leave
sqlite3_mutex_held
sqlite3_mutex_notheld
SQLITE_MUTEX_FAST
sqlite3_file_control
sqlite3_test_control
SQLITE_TESTCTRL_FIRST
SQLITE_STATUS_MEMORY_USED
SQLITE_DBSTATUS_LOOKASIDE_USED
sqlite3_backup_init
sqlite3_backup_step
sqlite3_backup_finish
sqlite3_backup_remaining
sqlite3_backup_pagecount
sqlite3_unlock_notify
sqlite3_stricmp
sqlite3_strnicmp
sqlite3_log
sqlite3_wal_hook
sqlite3_wal_autocheckpoint
sqlite3_wal_checkpoint
sqlite3_wal_checkpoint_v2
SQLITE_CHECKPOINT_PASSIVE
SQLITE_VTAB_CONSTRAINT_SUPPORT
sqlite3_rtree_geometry_callback
real 0m0.389s
user 0m0.380s
sys 0m0.008s
jrs@jrs-laptop:~/sb/source/extensions/sqlite$ swig --help
Target Language Options
-allegrocl - Generate ALLEGROCL wrappers
-chicken - Generate CHICKEN wrappers
-clisp - Generate CLISP wrappers
-cffi - Generate CFFI wrappers
-csharp - Generate C# wrappers
-d - Generate D wrappers
-go - Generate Go wrappers
-guile - Generate Guile wrappers
-java - Generate Java wrappers
-javascript - Generate Javascript wrappers
-lua - Generate Lua wrappers
-modula3 - Generate Modula 3 wrappers
-mzscheme - Generate Mzscheme wrappers
-ocaml - Generate Ocaml wrappers
-octave - Generate Octave wrappers
-perl - Generate Perl wrappers
-php - Generate PHP wrappers
-pike - Generate Pike wrappers
-python - Generate Python wrappers
-r - Generate R (aka GNU S) wrappers
-ruby - Generate Ruby wrappers
-scilab - Generate Scilab wrappers
-sexp - Generate Lisp S-Expressions wrappers
-tcl - Generate Tcl wrappers
-uffi - Generate Common Lisp / UFFI wrappers
-xml - Generate XML wrappers
General Options
-addextern - Add extra extern declarations
-c++ - Enable C++ processing
-co <file> - Check <file> out of the SWIG library
-copyctor - Automatically generate copy constructors wherever possible
-cpperraswarn - Treat the preprocessor #error statement as #warning (default)
-cppext <ext> - Change file extension of generated C++ files to <ext>
(default is cxx, except for PHP which uses cpp)
-copyright - Display copyright notices
-debug-classes - Display information about the classes found in the interface
-debug-module <n>- Display module parse tree at stages 1-4, <n> is a csv list of stages
-debug-symtabs - Display symbol tables information
-debug-symbols - Display target language symbols in the symbol tables
-debug-csymbols - Display C symbols in the symbol tables
-debug-lsymbols - Display target language layer symbols
-debug-tags - Display information about the tags found in the interface
-debug-template - Display information for debugging templates
-debug-top <n> - Display entire parse tree at stages 1-4, <n> is a csv list of stages
-debug-typedef - Display information about the types and typedefs in the interface
-debug-typemap - Display typemap debugging information
-debug-tmsearch - Display typemap search debugging information
-debug-tmused - Display typemaps used debugging information
-directors - Turn on director mode for all the classes, mainly for testing
-dirprot - Turn on wrapping of protected members for director classes (default)
-D<symbol> - Define a symbol <symbol> (for conditional compilation)
-E - Preprocess only, does not generate wrapper code
-external-runtime [file] - Export the SWIG runtime stack
-fakeversion <v>- Make SWIG fake the program version number to <v>
-fcompact - Compile in compact mode
-features <list>- Set global features, where <list> is a comma separated list of
features, eg -features directors,autodoc=1
If no explicit value is given to the feature, a default of 1 is used
-fastdispatch - Enable fast dispatch mode to produce faster overload dispatcher code
-Fmicrosoft - Display error/warning messages in Microsoft format
-Fstandard - Display error/warning messages in commonly used format
-fvirtual - Compile in virtual elimination mode
-help - This output
-I- - Don't search the current directory
-I<dir> - Look for SWIG files in directory <dir>
-ignoremissing - Ignore missing include files
-importall - Follow all #include statements as imports
-includeall - Follow all #include statements
-l<ifile> - Include SWIG library file <ifile>
-macroerrors - Report errors inside macros
-makedefault - Create default constructors/destructors (the default)
-M - List all dependencies
-MD - Is equivalent to `-M -MF <file>', except `-E' is not implied
-MF <file> - Generate dependencies into <file> and continue generating wrappers
-MM - List dependencies, but omit files in SWIG library
-MMD - Like `-MD', but omit files in SWIG library
-module <name> - Set module name to <name>
-MP - Generate phony targets for all dependencies
-MT <target> - Set the target of the rule emitted by dependency generation
-nocontract - Turn off contract checking
-nocpperraswarn - Do not treat the preprocessor #error statement as #warning
-nodefault - Do not generate default constructors nor default destructors
-nodefaultctor - Do not generate implicit default constructors
-nodefaultdtor - Do not generate implicit default destructors
-nodirprot - Do not wrap director protected members
-noexcept - Do not wrap exception specifiers
-nofastdispatch - Disable fast dispatch mode (default)
-nopreprocess - Skip the preprocessor step
-notemplatereduce - Disable reduction of the typedefs in templates
-O - Enable the optimization options:
-fastdispatch -fvirtual
-o <outfile> - Set name of C/C++ output file to <outfile>
-oh <headfile> - Set name of C++ output header file for directors to <headfile>
-outcurrentdir - Set default output dir to current dir instead of input file's path
-outdir <dir> - Set language specific files output directory to <dir>
-pcreversion - Display PCRE version information
-small - Compile in virtual elimination & compact mode
-swiglib - Report location of SWIG library and exit
-templatereduce - Reduce all the typedefs in templates
-v - Run in verbose mode
-version - Display SWIG version number
-Wall - Remove all warning suppression, also implies -Wextra
-Wallkw - Enable keyword warnings for all the supported languages
-Werror - Treat warnings as errors
-Wextra - Adds the following additional warnings: 202,309,403,512,321,322
-w<list> - Suppress/add warning messages, eg -w401,+321 - see Warnings.html
-xmlout <file> - Write XML version of the parse tree to <file> after normal processing
Options can also be defined using the SWIG_FEATURES environment variable, for example:
$ SWIG_FEATURES="-Wall"
$ export SWIG_FEATURES
$ swig -python interface.i
is equivalent to:
$ swig -Wall -python interface.i
Tcl 8 Options (available with -tcl)
-itcl - Enable ITcl support
-nosafe - Leave out SafeInit module function.
-prefix <name> - Set a prefix <name> to be prepended to all names
-namespace - Build module into a Tcl 8 namespace
-pkgversion - Set package version
Note: 'swig -<lang> -help' displays options for a specific target language.
jrs@jrs-laptop:~/sb/source/extensions/sqlite$