Index: third_party/sqlite/src/autoconf/tea/win/makefile.vc |
diff --git a/third_party/sqlite/src/autoconf/tea/win/makefile.vc b/third_party/sqlite/src/autoconf/tea/win/makefile.vc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a5e462770721e8673f2cb7e7009847b4280d32ee |
--- /dev/null |
+++ b/third_party/sqlite/src/autoconf/tea/win/makefile.vc |
@@ -0,0 +1,414 @@ |
+# makefile.vc -- -*- Makefile -*- |
+# |
+# Microsoft Visual C++ makefile for use with nmake.exe v1.62+ (VC++ 5.0+) |
+# |
+# This makefile is based upon the Tcl 8.4 Makefile.vc and modified to |
+# make it suitable as a general package makefile. Look for the word EDIT |
+# which marks sections that may need modification. As a minumum you will |
+# need to change the PROJECT, DOTVERSION and DLLOBJS variables to values |
+# relevant to your package. |
+# |
+# See the file "license.terms" for information on usage and redistribution |
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES. |
+# |
+# Copyright (c) 1995-1996 Sun Microsystems, Inc. |
+# Copyright (c) 1998-2000 Ajuba Solutions. |
+# Copyright (c) 2001 ActiveState Corporation. |
+# Copyright (c) 2001-2002 David Gravereaux. |
+# Copyright (c) 2003 Pat Thoyts |
+# |
+#------------------------------------------------------------------------- |
+# RCS: @(#)$Id: makefile.vc,v 1.4 2004/07/26 08:22:05 patthoyts Exp $ |
+#------------------------------------------------------------------------- |
+ |
+!if !defined(MSDEVDIR) && !defined(MSVCDIR) && !defined(VCINSTALLDIR) && !defined(MSSDK) && !defined(WINDOWSSDKDIR) |
+MSG = ^ |
+You will need to run vcvars32.bat from Developer Studio, first, to setup^ |
+the environment. Jump to this line to read the new instructions. |
+!error $(MSG) |
+!endif |
+ |
+#------------------------------------------------------------------------------ |
+# HOW TO USE this makefile: |
+# |
+# 1) It is now necessary to have %MSVCDir% set in the environment. This is |
+# used as a check to see if vcvars32.bat had been run prior to running |
+# nmake or during the installation of Microsoft Visual C++, MSVCDir had |
+# been set globally and the PATH adjusted. Either way is valid. |
+# |
+# You'll need to run vcvars32.bat contained in the MsDev's vc(98)/bin |
+# directory to setup the proper environment, if needed, for your current |
+# setup. This is a needed bootstrap requirement and allows the swapping of |
+# different environments to be easier. |
+# |
+# 2) To use the Platform SDK (not expressly needed), run setenv.bat after |
+# vcvars32.bat according to the instructions for it. This can also turn on |
+# the 64-bit compiler, if your SDK has it. |
+# |
+# 3) Targets are: |
+# all -- Builds everything. |
+# <project> -- Builds the project (eg: nmake sample) |
+# test -- Builds and runs the test suite. |
+# install -- Installs the built binaries and libraries to $(INSTALLDIR) |
+# in an appropriate subdirectory. |
+# clean/realclean/distclean -- varying levels of cleaning. |
+# |
+# 4) Macros usable on the commandline: |
+# INSTALLDIR=<path> |
+# Sets where to install Tcl from the built binaries. |
+# C:\Progra~1\Tcl is assumed when not specified. |
+# |
+# OPTS=static,msvcrt,staticpkg,threads,symbols,profile,loimpact,none |
+# Sets special options for the core. The default is for none. |
+# Any combination of the above may be used (comma separated). |
+# 'none' will over-ride everything to nothing. |
+# |
+# static = Builds a static library of the core instead of a |
+# dll. The shell will be static (and large), as well. |
+# msvcrt = Effects the static option only to switch it from |
+# using libcmt(d) as the C runtime [by default] to |
+# msvcrt(d). This is useful for static embedding |
+# support. |
+# staticpkg = Effects the static option only to switch |
+# tclshXX.exe to have the dde and reg extension linked |
+# inside it. |
+# threads = Turns on full multithreading support. |
+# thrdalloc = Use the thread allocator (shared global free pool). |
+# symbols = Adds symbols for step debugging. |
+# profile = Adds profiling hooks. Map file is assumed. |
+# loimpact = Adds a flag for how NT treats the heap to keep memory |
+# in use, low. This is said to impact alloc performance. |
+# |
+# STATS=memdbg,compdbg,none |
+# Sets optional memory and bytecode compiler debugging code added |
+# to the core. The default is for none. Any combination of the |
+# above may be used (comma separated). 'none' will over-ride |
+# everything to nothing. |
+# |
+# memdbg = Enables the debugging memory allocator. |
+# compdbg = Enables byte compilation logging. |
+# |
+# MACHINE=(IX86|IA64|ALPHA) |
+# Set the machine type used for the compiler, linker, and |
+# resource compiler. This hook is needed to tell the tools |
+# when alternate platforms are requested. IX86 is the default |
+# when not specified. |
+# |
+# TMP_DIR=<path> |
+# OUT_DIR=<path> |
+# Hooks to allow the intermediate and output directories to be |
+# changed. $(OUT_DIR) is assumed to be |
+# $(BINROOT)\(Release|Debug) based on if symbols are requested. |
+# $(TMP_DIR) will de $(OUT_DIR)\<buildtype> by default. |
+# |
+# TESTPAT=<file> |
+# Reads the tests requested to be run from this file. |
+# |
+# CFG_ENCODING=encoding |
+# name of encoding for configuration information. Defaults |
+# to cp1252 |
+# |
+# 5) Examples: |
+# |
+# Basic syntax of calling nmake looks like this: |
+# nmake [-nologo] -f makefile.vc [target|macrodef [target|macrodef] [...]] |
+# |
+# Standard (no frills) |
+# c:\tcl_src\win\>c:\progra~1\micros~1\vc98\bin\vcvars32.bat |
+# Setting environment for using Microsoft Visual C++ tools. |
+# c:\tcl_src\win\>nmake -f makefile.vc all |
+# c:\tcl_src\win\>nmake -f makefile.vc install INSTALLDIR=c:\progra~1\tcl |
+# |
+# Building for Win64 |
+# c:\tcl_src\win\>c:\progra~1\micros~1\vc98\bin\vcvars32.bat |
+# Setting environment for using Microsoft Visual C++ tools. |
+# c:\tcl_src\win\>c:\progra~1\platfo~1\setenv.bat /pre64 /RETAIL |
+# Targeting Windows pre64 RETAIL |
+# c:\tcl_src\win\>nmake -f makefile.vc MACHINE=IA64 |
+# |
+#------------------------------------------------------------------------------ |
+#============================================================================== |
+############################################################################### |
+#------------------------------------------------------------------------------ |
+ |
+!if !exist("makefile.vc") |
+MSG = ^ |
+You must run this makefile only from the directory it is in.^ |
+Please `cd` to its location first. |
+!error $(MSG) |
+!endif |
+ |
+#------------------------------------------------------------------------- |
+# Project specific information (EDIT) |
+# |
+# You should edit this with the name and version of your project. This |
+# information is used to generate the name of the package library and |
+# it's install location. |
+# |
+# For example, the sample extension is going to build sample04.dll and |
+# would install it into $(INSTALLDIR)\lib\sample04 |
+# |
+# You need to specify the object files that need to be linked into your |
+# binary here. |
+# |
+#------------------------------------------------------------------------- |
+ |
+PROJECT = sqlite3 |
+!include "rules.vc" |
+ |
+# nmakehelp -V <file> <tag> will search the file for tag, skips until a |
+# number and returns all character until a character not in [0-9.ab] |
+# is read. |
+ |
+!if [echo REM = This file is generated from Makefile.vc > versions.vc] |
+!endif |
+# get project version from row "AC_INIT([sqlite], [3.7.14])" |
+!if [echo DOTVERSION = \>> versions.vc] \ |
+ && [nmakehlp -V ..\configure.in AC_INIT >> versions.vc] |
+!endif |
+!include "versions.vc" |
+ |
+VERSION = $(DOTVERSION:.=) |
+STUBPREFIX = $(PROJECT)stub |
+ |
+DLLOBJS = \ |
+ $(TMP_DIR)\tclsqlite3.obj |
+ |
+#------------------------------------------------------------------------- |
+# Target names and paths ( shouldn't need changing ) |
+#------------------------------------------------------------------------- |
+ |
+BINROOT = . |
+ROOT = .. |
+ |
+PRJIMPLIB = $(OUT_DIR)\$(PROJECT)$(VERSION)$(SUFX).lib |
+PRJLIBNAME = $(PROJECT)$(VERSION)$(SUFX).$(EXT) |
+PRJLIB = $(OUT_DIR)\$(PRJLIBNAME) |
+ |
+PRJSTUBLIBNAME = $(STUBPREFIX)$(VERSION).lib |
+PRJSTUBLIB = $(OUT_DIR)\$(PRJSTUBLIBNAME) |
+ |
+### Make sure we use backslash only. |
+PRJ_INSTALL_DIR = $(_INSTALLDIR)\$(PROJECT)$(DOTVERSION) |
+LIB_INSTALL_DIR = $(PRJ_INSTALL_DIR) |
+BIN_INSTALL_DIR = $(PRJ_INSTALL_DIR) |
+DOC_INSTALL_DIR = $(PRJ_INSTALL_DIR) |
+SCRIPT_INSTALL_DIR = $(PRJ_INSTALL_DIR) |
+INCLUDE_INSTALL_DIR = $(_TCLDIR)\include |
+ |
+### The following paths CANNOT have spaces in them. |
+GENERICDIR = $(ROOT)\generic |
+WINDIR = $(ROOT)\win |
+LIBDIR = $(ROOT)\library |
+DOCDIR = $(ROOT)\doc |
+TOOLSDIR = $(ROOT)\tools |
+COMPATDIR = $(ROOT)\compat |
+ |
+#--------------------------------------------------------------------- |
+# Compile flags |
+#--------------------------------------------------------------------- |
+ |
+!if !$(DEBUG) |
+!if $(OPTIMIZING) |
+### This cranks the optimization level to maximize speed |
+cdebug = -O2 -Op -Gs |
+!else |
+cdebug = |
+!endif |
+!else if "$(MACHINE)" == "IA64" |
+### Warnings are too many, can't support warnings into errors. |
+cdebug = -Z7 -Od -GZ |
+!else |
+cdebug = -Z7 -WX -Od -GZ |
+!endif |
+ |
+### Declarations common to all compiler options |
+cflags = -nologo -c -W3 -YX -Fp$(TMP_DIR)^\ |
+ |
+!if $(MSVCRT) |
+!if $(DEBUG) |
+crt = -MDd |
+!else |
+crt = -MD |
+!endif |
+!else |
+!if $(DEBUG) |
+crt = -MTd |
+!else |
+crt = -MT |
+!endif |
+!endif |
+ |
+INCLUDES = $(TCL_INCLUDES) -I"$(WINDIR)" -I"$(GENERICDIR)" \ |
+ -I"$(ROOT)\.." |
+BASE_CLFAGS = $(cflags) $(cdebug) $(crt) $(INCLUDES) \ |
+ -DSQLITE_3_SUFFIX_ONLY=1 -DSQLITE_ENABLE_RTREE=1 \ |
+ -DSQLITE_ENABLE_FTS3=1 -DSQLITE_OMIT_DEPRECATED=1 |
+CON_CFLAGS = $(cflags) $(cdebug) $(crt) -DCONSOLE -DSQLITE_ENABLE_FTS3=1 |
+TCL_CFLAGS = -DBUILD_sqlite -DUSE_TCL_STUBS \ |
+ -DPACKAGE_VERSION="\"$(DOTVERSION)\"" $(BASE_CLFAGS) \ |
+ $(OPTDEFINES) |
+ |
+#--------------------------------------------------------------------- |
+# Link flags |
+#--------------------------------------------------------------------- |
+ |
+!if $(DEBUG) |
+ldebug = -debug:full -debugtype:cv |
+!else |
+ldebug = -release -opt:ref -opt:icf,3 |
+!endif |
+ |
+### Declarations common to all linker options |
+lflags = -nologo -machine:$(MACHINE) $(ldebug) |
+ |
+!if $(PROFILE) |
+lflags = $(lflags) -profile |
+!endif |
+ |
+!if $(ALIGN98_HACK) && !$(STATIC_BUILD) |
+### Align sections for PE size savings. |
+lflags = $(lflags) -opt:nowin98 |
+!else if !$(ALIGN98_HACK) && $(STATIC_BUILD) |
+### Align sections for speed in loading by choosing the virtual page size. |
+lflags = $(lflags) -align:4096 |
+!endif |
+ |
+!if $(LOIMPACT) |
+lflags = $(lflags) -ws:aggressive |
+!endif |
+ |
+dlllflags = $(lflags) -dll |
+conlflags = $(lflags) -subsystem:console |
+guilflags = $(lflags) -subsystem:windows |
+baselibs = $(TCLSTUBLIB) |
+ |
+#--------------------------------------------------------------------- |
+# TclTest flags |
+#--------------------------------------------------------------------- |
+ |
+!IF "$(TESTPAT)" != "" |
+TESTFLAGS = $(TESTFLAGS) -file $(TESTPAT) |
+!ENDIF |
+ |
+#--------------------------------------------------------------------- |
+# Project specific targets (EDIT) |
+#--------------------------------------------------------------------- |
+ |
+all: setup $(PROJECT) |
+$(PROJECT): setup $(PRJLIB) |
+install: install-binaries install-libraries install-docs |
+ |
+# Tests need to ensure we load the right dll file we |
+# have to handle the output differently on Win9x. |
+# |
+!if "$(OS)" == "Windows_NT" || "$(MSVCDIR)" == "IDE" |
+test: setup $(PROJECT) |
+ set TCL_LIBRARY=$(ROOT)/library |
+ $(TCLSH) << |
+load $(PRJLIB:\=/) |
+cd "$(ROOT)/tests" |
+set argv "$(TESTFLAGS)" |
+source all.tcl |
+<< |
+!else |
+test: setup $(PROJECT) |
+ echo Please wait while the test results are collected |
+ set TCL_LIBRARY=$(ROOT)/library |
+ $(TCLSH) << >tests.log |
+load $(PRJLIB:\=/) |
+cd "$(ROOT)/tests" |
+set argv "$(TESTFLAGS)" |
+source all.tcl |
+<< |
+ type tests.log | more |
+!endif |
+ |
+setup: |
+ @if not exist $(OUT_DIR)\nul mkdir $(OUT_DIR) |
+ @if not exist $(TMP_DIR)\nul mkdir $(TMP_DIR) |
+ |
+$(PRJLIB): $(DLLOBJS) |
+ $(link32) $(dlllflags) -out:$@ $(baselibs) @<< |
+$** |
+<< |
+ -@del $*.exp |
+ |
+$(PRJSTUBLIB): $(PRJSTUBOBJS) |
+ $(lib32) -nologo -out:$@ $(PRJSTUBOBJS) |
+ |
+#--------------------------------------------------------------------- |
+# Implicit rules |
+#--------------------------------------------------------------------- |
+ |
+{$(WINDIR)}.c{$(TMP_DIR)}.obj:: |
+ $(cc32) $(TCL_CFLAGS) -DBUILD_$(PROJECT) -Fo$(TMP_DIR)\ @<< |
+$< |
+<< |
+ |
+{$(GENERICDIR)}.c{$(TMP_DIR)}.obj:: |
+ $(cc32) $(TCL_CFLAGS) -DBUILD_$(PROJECT) -Fo$(TMP_DIR)\ @<< |
+$< |
+<< |
+ |
+{$(COMPATDIR)}.c{$(TMP_DIR)}.obj:: |
+ $(cc32) $(TCL_CFLAGS) -DBUILD_$(PROJECT) -Fo$(TMP_DIR)\ @<< |
+$< |
+<< |
+ |
+{$(WINDIR)}.rc{$(TMP_DIR)}.res: |
+ $(rc32) -fo $@ -r -i "$(GENERICDIR)" -D__WIN32__ \ |
+!if $(DEBUG) |
+ -d DEBUG \ |
+!endif |
+!if $(TCL_THREADS) |
+ -d TCL_THREADS \ |
+!endif |
+!if $(STATIC_BUILD) |
+ -d STATIC_BUILD \ |
+!endif |
+ $< |
+ |
+.SUFFIXES: |
+.SUFFIXES:.c .rc |
+ |
+#--------------------------------------------------------------------- |
+# Installation. (EDIT) |
+# |
+# You may need to modify this section to reflect the final distribution |
+# of your files and possibly to generate documentation. |
+# |
+#--------------------------------------------------------------------- |
+ |
+install-binaries: |
+ @echo Installing binaries to '$(SCRIPT_INSTALL_DIR)' |
+ @if not exist "$(SCRIPT_INSTALL_DIR)" mkdir "$(SCRIPT_INSTALL_DIR)" |
+ @$(CPY) $(PRJLIB) "$(SCRIPT_INSTALL_DIR)" >NUL |
+ |
+install-libraries: |
+ @echo Installing libraries to '$(SCRIPT_INSTALL_DIR)' |
+ @if exist $(LIBDIR) $(CPY) $(LIBDIR)\*.tcl "$(SCRIPT_INSTALL_DIR)" |
+ @echo Installing package index in '$(SCRIPT_INSTALL_DIR)' |
+ @type << >"$(SCRIPT_INSTALL_DIR)\pkgIndex.tcl" |
+package ifneeded $(PROJECT) $(DOTVERSION) \ |
+ [list load [file join $$dir $(PRJLIBNAME)] sqlite3] |
+<< |
+ |
+install-docs: |
+ @echo Installing documentation files to '$(DOC_INSTALL_DIR)' |
+ @if exist $(DOCDIR) $(CPY) $(DOCDIR)\*.n "$(DOC_INSTALL_DIR)" |
+ |
+#--------------------------------------------------------------------- |
+# Clean up |
+#--------------------------------------------------------------------- |
+ |
+clean: |
+ @if exist $(TMP_DIR)\nul $(RMDIR) $(TMP_DIR) |
+ @if exist $(WINDIR)\version.vc del $(WINDIR)\version.vc |
+ |
+realclean: clean |
+ @if exist $(OUT_DIR)\nul $(RMDIR) $(OUT_DIR) |
+ |
+distclean: realclean |
+ @if exist $(WINDIR)\nmakehlp.exe del $(WINDIR)\nmakehlp.exe |
+ @if exist $(WINDIR)\nmakehlp.obj del $(WINDIR)\nmakehlp.obj |