mirror of
				https://github.com/sqlite/sqlite.git
				synced 2025-10-30 07:05:46 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Tcl
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Tcl
		
	
	
	
	
	
| #
 | |
| # Run this Tcl script to generate the dynload.html file.
 | |
| #
 | |
| set rcsid {$Id: dynload.tcl,v 1.1 2001/02/11 16:58:22 drh Exp $}
 | |
| 
 | |
| puts {<html>
 | |
| <head>
 | |
|   <title>How to build a dynamically loaded Tcl extension for SQLite</title>
 | |
| </head>
 | |
| <body bgcolor=white>
 | |
| <h1 align=center>
 | |
| How To Build A Dynamically Loaded Tcl Extension
 | |
| </h1>}
 | |
| puts {<p>
 | |
| <i>This note was contributed by 
 | |
| <a href="bsaunder@tampabay.rr.com.nospam">Bill Saunders</a>.  Thanks, Bill!</i>
 | |
| 
 | |
| <p>
 | |
| To compile the SQLite Tcl extension into a dynamically loaded module 
 | |
| I did the following:
 | |
| </p>
 | |
| 
 | |
| <ol>
 | |
| <li><p>Do a standard compile
 | |
| (I had a dir called bld at the same level as sqlite  ie
 | |
|         /root/bld
 | |
|         /root/sqlite
 | |
| I followed the directions and did a standard build in the bld
 | |
| directory)</p></li>
 | |
| 
 | |
| <li><p>
 | |
| Now do the following in the bld directory
 | |
| <blockquote><pre>
 | |
| gcc -shared -I. -lgdbm ../sqlite/src/tclsqlite.c libsqlite.a -o sqlite.so
 | |
| </pre></blockquote></p></li>
 | |
| 
 | |
| <li><p>
 | |
| This should produce the file sqlite.so in the bld directory</p></li>
 | |
| 
 | |
| <li><p>
 | |
| Create a pkgIndex.tcl file that contains this line
 | |
| 
 | |
| <blockquote><pre>
 | |
| package ifneeded sqlite 1.0 [list load [file join $dir sqlite.so]]
 | |
| </pre></blockquote></p></li>
 | |
| 
 | |
| <li><p>
 | |
| To use this put sqlite.so and pkgIndex.tcl in the same directory</p></li>
 | |
| 
 | |
| <li><p>
 | |
| From that directory start wish</p></li>
 | |
| 
 | |
| <li><p>
 | |
| Execute the following tcl command (tells tcl where to fine loadable
 | |
| modules)
 | |
| <blockquote><pre>
 | |
| lappend auto_path [exec pwd]
 | |
| </pre></blockquote></p></li>
 | |
| 
 | |
| <li><p>
 | |
| Load the package 
 | |
| <blockquote><pre>
 | |
| package require sqlite
 | |
| </pre></blockquote></p></li>
 | |
| 
 | |
| <li><p>
 | |
| Have fun....</p></li>
 | |
| </ul>
 | |
| 
 | |
| </body></html>}
 |