README.txt 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. This package contains:
  2. * the SQLite library amalgamation source code file: sqlite3.c
  3. * the sqlite3.h and sqlite3ext.h header files that define the C-language
  4. interface to the sqlite3.c library file
  5. * the shell.c file used to build the sqlite3 command-line shell program
  6. * autoconf-like installation infrastucture for building on POSIX
  7. compliant systems
  8. * a Makefile.msc, sqlite3.rc, and Replace.cs for building with Microsoft
  9. Visual C++ on Windows
  10. WHY USE THIS PACKAGE?
  11. =====================
  12. The canonical make system for SQLite requires TCL as part of the build
  13. process. Various TCL scripts are used to generate parts of the code and
  14. TCL is used to run tests. But some people would prefer to build SQLite
  15. using only generic tools and without having to install TCL. The purpose
  16. of this package is to provide that capability.
  17. This package contains a pre-build SQLite amalgamation file "sqlite3.c"
  18. (and its associated header file "sqlite3.h"). Because the
  19. amalgamation has been pre-built, no TCL is required for the code
  20. generate (the configure script itself is written in TCL but it can use
  21. the embedded copy of JimTCL).
  22. REASONS TO USE THE CANONICAL BUILD SYSTEM RATHER THAN THIS PACKAGE
  23. ==================================================================
  24. * the cononical build system allows you to run tests to verify that
  25. the build worked
  26. * the canonical build system supports more compile-time options
  27. * the canonical build system works for any arbitrary check-in to
  28. the SQLite source tree
  29. Step-by-step instructions on how to build using the canonical make
  30. system for SQLite can be found at:
  31. https://sqlite.org/src/doc/trunk/doc/compile-for-unix.md
  32. https://sqlite.org/src/doc/trunk/doc/compile-for-windows.md
  33. SUMMARY OF HOW TO BUILD USING THIS PACKAGE
  34. ==========================================
  35. Unix: ./configure; make
  36. Windows: nmake /f Makefile.msc
  37. BUILDING ON POSIX
  38. =================
  39. The configure script follows common conventions, making it easy
  40. to use for anyone who has configured a software tree before.
  41. It supports a number of build-time flags, the full list of which
  42. can be seen by running:
  43. ./configure --help
  44. The default value for the CFLAGS variable (options passed to the C
  45. compiler) includes debugging symbols in the build, resulting in larger
  46. binaries than are necessary. Override it on the configure command
  47. line like this:
  48. $ CFLAGS="-Os" ./configure
  49. to produce a smaller installation footprint.
  50. Many SQLite compilation parameters can be defined by passing flags
  51. to the configure script. Others may be passed on in the CFLAGS. For
  52. example:
  53. $ CFLAGS="-Os -DSQLITE_OMIT_DEPRECATED" ./configure
  54. BUILDING WITH MICROSOFT VISUAL C++
  55. ==================================
  56. To compile for Windows using Microsoft Visual C++:
  57. $ nmake /f Makefile.msc
  58. Using Microsoft Visual C++ 2005 (or later) is recommended. Several Windows
  59. platform variants may be built by adding additional macros to the NMAKE
  60. command line.
  61. Other preprocessor defines
  62. --------------------------
  63. Additionally, preprocessor defines may be specified by using the OPTS macro
  64. on the NMAKE command line. However, not all possible preprocessor defines
  65. may be specified in this manner as some require the amalgamation to be built
  66. with them enabled (see http://www.sqlite.org/compile.html). For example, the
  67. following will work:
  68. "OPTS=-DSQLITE_ENABLE_STAT4=1 -DSQLITE_OMIT_JSON=1"
  69. However, the following will not compile unless the amalgamation was built
  70. with it enabled:
  71. "OPTS=-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1"