add wdk changes to named branch

This commit is contained in:
berkeviktor@aol.com
2011-02-28 18:59:32 +01:00
parent ad7ea4b77e
commit d03d6e606b
152 changed files with 32939 additions and 529 deletions

View File

@ -0,0 +1,13 @@
@echo off
set WDK_ROOT=c:\WinDDK\7600.16385.1
set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\api\crt\stl70
set LIB=%WDK_ROOT%\lib\wnet\amd64;%WDK_ROOT%\lib\Crt\amd64
set OPATH=%PATH%
set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin\amd64;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin\x64
nmake -f makefile.mak clean
nmake -f makefile.mak X64=1 DLL=1 MFLAGS=-MD GLIBDIR=..\glib-x64\include\glib-2.0
echo.Press return when ready to install!
pause
set PATH=%OPATH%
call release-x64.bat
pause

View File

@ -0,0 +1,13 @@
@echo off
set WDK_ROOT=c:\WinDDK\7600.16385.1
set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\api\crt\stl70
set LIB=%WDK_ROOT%\lib\wxp\i386;%WDK_ROOT%\lib\Crt\i386
set OPATH=%PATH%
set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin;%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\Common7\IDE
nmake -f makefile.mak clean
nmake -f makefile.mak DLL=1 MFLAGS=-MD GLIBDIR=..\glib-x86\include\glib-2.0
echo.Press return when ready to install!
pause
set PATH=%OPATH%
call release-x86.bat
pause

View File

@ -0,0 +1,15 @@
#include <sys/types.h>
#ifndef SSIZE_T_DEFINED
#ifdef ssize_t
#undef ssize_t
#endif
#ifdef _WIN64
typedef __int64 ssize_t;
#else
typedef _W64 int ssize_t;
#endif
#define SSIZE_T_DEFINED
#endif
#define ENCHANT_VERSION_STRING "1.6.0"

View File

@ -0,0 +1,29 @@
#include <winver.h>
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,6,0,2
PRODUCTVERSION 1,6,0,0
FILEFLAGSMASK 0
FILEFLAGS 0
FILEOS VOS__WINDOWS32
FILETYPE VFT_DLL
FILESUBTYPE VFT2_UNKNOWN
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904B0"
BEGIN
VALUE "CompanyName", "none"
VALUE "FileDescription", "libenchant"
VALUE "FileVersion", "1.6.0.2"
VALUE "InternalName", "libenchant"
VALUE "OriginalFilename", "libenchant.dll"
VALUE "ProductName", "libenchant"
VALUE "ProductVersion", "1.6.0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END

View File

@ -0,0 +1,588 @@
# -*- Makefile -*- for libenchant
#
# WDK fixes by Berke Viktor, 2010
#
# This makefile targets the Microsoft Visual C++ platform and is intended to build the enchant library along with its executables and test programs.
# It was written by Tolon (alex@tolon.co.uk). He thinks it was originally based on an MSVC makefile from glib, but can't quite remember.
# Tolon surrenders all rights regarding this file to the enchant project (http://www.abisource.com/enchant).
# Please direct any comments, bug-fixes, etc. to alex@tolon.co.uk.
#
# Example of my usage of this makefile with MSVC9:
# NMAKE -f Makefile.msvc DLL=1 PREFIX=C:\usr-msvc9 GLIBDIR=D:\dev\lib\glib
#
# Example of my usage of this makefile with MSVC6:
# NMAKE -f Makefile.msvc DLL=1 PREFIX=C:\usr-msvc6 GLIBDIR=D:\dev\lib\glib MANIFEST=0
#
# This makefile expects glib-2.0.lib and gmodule-2.0.lib to be available in the $(PREFIX)\lib folder.
ENCHANT_MAJOR_VERSION=1
ENCHANT_MINOR_VERSION=6
ENCHANT_MICRO_VERSION=0
BUILDNUMBER=0
ENCHANT_VERSION="$(ENCHANT_MAJOR_VERSION).$(ENCHANT_MINOR_VERSION).$(ENCHANT_MICRO_VERSION)"
#### Start of system configuration section. ####
# Flags that can be set on the nmake command line:
# DLL=1 for compiling a .dll with a stub .lib (default is a static .lib)
# Note that this works only with MFLAGS=-MD.
# MFLAGS={-ML|-MT|-MD} for defining the compilation model
# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib
# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib
# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib
# DEBUG=1 for compiling with debugging information
# PREFIX=Some\Directory Base directory for installation
# IIPREFIX=Some\\Directory Same thing with doubled backslashes
# GLIBDIR=Some\Directory Path to glib include directory
# MANIFEST=0 Disables embedding of manifest
!if !defined(DLL)
DLL=0
!endif
!if !defined(DEBUG)
DEBUG=0
!endif
!if !defined(MFLAGS)
!if !$(DLL)
MFLAGS=
!else
!if !$(DEBUG)
MFLAGS=-MD
!else
MFLAGS=-MDd
!endif
!endif
!endif
!if !defined(PREFIX)
PREFIX = c:\usr
!endif
!if !defined(IIPREFIX)
IIPREFIX = c:\\usr
!endif
!if !defined(MANIFEST)
MANIFEST=1
!endif
# Directories used by "make":
glibdir = $(GLIBDIR)
rootdir = .\..
topsrcdir = $(rootdir)\src
toptestdir = $(rootdir)\tests
bindir=$(rootdir)\bin
!if $(DEBUG)
outdir=$(rootdir)\bin\debug
!else
outdir=$(rootdir)\bin\release
!endif
objdir=$(outdir)\obj
pdbdir=$(outdir)\pdb
libdir=$(outdir)
# Directories used by "make install":
prefix = $(PREFIX)
exec_prefix = $(prefix)
#bindir = $(exec_prefix)\bin
#otherlibdir = $(exec_prefix)\lib
otherlibdir = $(GLIBDIR)\..\..\lib
includedir = $(prefix)\include
#datadir = $(prefix)\share
#localedir = $(datadir)\locale
#aliaspath =
#IIprefix = $(IIPREFIX)
#IIexec_prefix = $(IIprefix)
#IIbindir = $(IIexec_prefix)\\bin
#IIlibdir = $(IIexec_prefix)\\lib
#IIincludedir = $(IIprefix)\\include
#IIdatadir = $(IIprefix)\\share
#IIlocaledir = $(IIdatadir)\\locale
#IIaliaspath =
# Programs used by "make":
CC = cl
LINK = link
MT = mt
# Set to -W3 if you want to see maximum amount of warnings, including stupid
# ones. Set to -W1 to avoid warnings about signed/unsigned combinations.
WARN_CFLAGS = -W1
!if $(DEBUG)
OPTIMFLAGS = -Od
!else
# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5.
OPTIMFLAGS = -DNDEBUG -D_NDEBUG -Ox -MP2
!endif
OUTPUTFLAGS = \
-Fo"$(objdir)\\"
WINFLAGS = \
-DWINDOWS \
-D_WINDOWS \
-DWIN32 \
-D_WIN32 \
-DUNICODE \
-D_UNICODE
DEBUGFLAGS = -Zi
EXCEPTIONFLAGS = -EHsc
CPPFLAGS = -D_STL70_ -D_STATIC_CPPLIB
CFLAGS = \
-FI "$(topsrcdir)\config.h" \
$(MFLAGS) \
$(WARN_CFLAGS) \
$(EXCEPTIONFLAGS) \
$(OPTIMFLAGS) \
$(CPPFLAGS) \
$(WINFLAGS) \
$(OUTPUTFLAGS)
INCLUDES = \
-I$(topsrcdir) \
-I$(rootdir) \
-I$(includedir) \
-I$(glibdir) \
-I$(glibdir)\glib \
-I$(glibdir)\gmodule \
-I$(glibdir)\..\..\lib\glib-2.0\include
!ifdef X64
LINKOBJ = msvcrt_win2003.obj
MACHINE_FLAG = X64
CFLAGS = $(CFLAGS) /favor:AMD64 /D_WIN64
!else
MACHINE_FLAG = X86
LINKOBJ = msvcrt_winxp.obj
!endif
LINKFLAGS = \
-INCREMENTAL:NO \
-MANIFEST \
-MANIFESTUAC:"level='asInvoker' uiAccess='false'" \
-PDB:$(pdbdir)\\ \
-MACHINE:$(MACHINE_FLAG) \
-OPT:REF \
-OPT:ICF \
-DEBUG \
$(LINKOBJ)
AR = lib
AR_FLAGS = /out:
LN = copy
RM = -del
# Programs used by "make install":
INSTALL = copy
INSTALL_PROGRAM = copy
INSTALL_DATA = copy
#### End of system configuration section. ####
SHELL = /bin/sh
CC_OBJ = $(CC) $(INCLUDES) $(CFLAGS) -c
CC_LINK = $(LINK) $(LINKFLAGS)
LINK_EXE = $(CC_LINK) /SUBSYSTEM:CONSOLE
LINK_DLL = $(CC_LINK) /DLL /SUBSYSTEM:WINDOWS
!if $(MANIFEST)
EMBED_MANIFEST = $(MT) /manifest $(outdir)\exe_name.manifest /outputresource:"$(outdir)\exe_name;1"
CLEAN_MANIFEST = $(RM) $(outdir)\exe_name.manifest
!else
EMBED_MANIFEST =
CLEAN_MANIFEST =
!endif
# test-enchantxx isn't part of all as it has problems on MSVC6.
all: makedirs libenchant libenchant_ispell libenchant_myspell enchant enchant_lsmod test-enchant
#all: makedirs libenchant libenchant_ispell enchant enchant_lsmod test-enchant
makedirs: force
-mkdir $(bindir)
-mkdir $(outdir)
-mkdir $(libdir)
-mkdir $(objdir)
-mkdir $(pdbdir)
################################################################################
#### ENCHANT ####
srcdir = $(toptestdir)
ENCHANT_EXE=$(outdir)\enchant.exe
ENCHANT_PDB=$(pdbdir)\enchant.pdb
ENCHANT_DEFINES = \
-D_CONSOLE \
-DVERSION=\"$(ENCHANT_VERSION)\"
ENCHANT_LIBS = \
$(otherlibdir)\glib-2.0.lib \
$(libdir)\libenchant.lib
ENCHANT_OBJECTS = \
$(objdir)\enchant-ispell.obj
$(objdir)\enchant-ispell.obj : $(srcdir)\enchant-ispell.c
$(CC_OBJ) $** $(ENCHANT_DEFINES)
enchant: $(ENCHANT_EXE)
$(ENCHANT_EXE): $(ENCHANT_OBJECTS)
$(LINK_EXE) $(ENCHANT_OBJECTS) $(ENCHANT_LIBS) -OUT:$(ENCHANT_EXE)
$(EMBED_MANIFEST:exe_name=enchant.exe)
$(CLEAN_MANIFEST:exe_name=enchant.exe)
enchant_clean:
$(RM) $(ENCHANT_OBJECTS) $(ENCHANT_EXE) $(ENCHANT_PDB)
################################################################################
#### ENCHANT-LSMOD ####
srcdir = $(toptestdir)
ENCHANT_LSMOD_EXE=$(outdir)\enchant-lsmod.exe
ENCHANT_LSMOD_PDB=$(pdbdir)\enchant-lsmod.pdb
ENCHANT_LSMOD_DEFINES = \
-D_CONSOLE \
-DVERSION=\"$(ENCHANT_VERSION)\"
ENCHANT_LSMOD_LIBS = \
$(otherlibdir)\glib-2.0.lib \
$(libdir)\libenchant.lib
ENCHANT_LSMOD_OBJECTS = \
$(objdir)\enchant-lsmod.obj
$(objdir)\enchant-lsmod.obj : $(srcdir)\enchant-lsmod.c
$(CC_OBJ) $** $(ENCHANT_LSMOD_DEFINES)
enchant_lsmod: $(ENCHANT_LSMOD_EXE)
$(ENCHANT_LSMOD_EXE): $(ENCHANT_LSMOD_OBJECTS)
$(LINK_EXE) $(ENCHANT_LSMOD_OBJECTS) $(ENCHANT_LSMOD_LIBS) -OUT:$(ENCHANT_LSMOD_EXE)
$(EMBED_MANIFEST:exe_name=enchant-lsmod.exe)
$(CLEAN_MANIFEST:exe_name=enchant-lsmod.exe)
enchant_lsmod_clean:
$(RM) $(ENCHANT_LSMOD_OBJECTS) $(ENCHANT_LSMOD_EXE) $(ENCHANT_LSMOD_PDB)
################################################################################
#### TEST-ENCHANT ####
srcdir = $(toptestdir)
TEST_ENCHANT_EXE=$(outdir)\test-enchant.exe
TEST_ENCHANT_PDB=$(pdbdir)\test-enchant.pdb
TEST_ENCHANT_DEFINES = \
-D_CONSOLE \
-DVERSION=\"$(ENCHANT_VERSION)\"
TEST_ENCHANT_LIBS = \
$(otherlibdir)\glib-2.0.lib \
$(libdir)\libenchant.lib
TEST_ENCHANT_OBJECTS = \
$(objdir)\test-enchant.obj
$(objdir)\test-enchant.obj : $(srcdir)\test-enchant.c
$(CC_OBJ) $** $(TEST_ENCHANT_DEFINES)
test-enchant: $(TEST_ENCHANT_EXE)
$(TEST_ENCHANT_EXE): $(TEST_ENCHANT_OBJECTS)
$(LINK_EXE) $(TEST_ENCHANT_OBJECTS) $(TEST_ENCHANT_LIBS) -OUT:$(TEST_ENCHANT_EXE)
$(EMBED_MANIFEST:exe_name=test-enchant.exe)
$(CLEAN_MANIFEST:exe_name=test-enchant.exe)
test-enchant_clean:
$(RM) $(TEST_ENCHANT_OBJECTS) $(TEST_ENCHANT_EXE) $(TEST_ENCHANT_PDB)
################################################################################
#### TEST-ENCHANTXX ####
srcdir = $(toptestdir)
TEST_ENCHANTXX_EXE=$(outdir)\test-enchantxx.exe
TEST_ENCHANTXX_PDB=$(pdbdir)\test-enchantxx.pdb
TEST_ENCHANTXX_DEFINES = \
-D_CONSOLE \
-DVERSION=\"$(ENCHANT_VERSION)\"
TEST_ENCHANTXX_LIBS = \
$(otherlibdir)\glib-2.0.lib \
$(libdir)\libenchant.lib
TEST_ENCHANTXX_OBJECTS = \
$(objdir)\test-enchantxx.obj
$(objdir)\test-enchantxx.obj : $(srcdir)\test-enchantxx.cpp
$(CC_OBJ) $** $(TEST_ENCHANTXX_DEFINES)
test-enchantxx: $(TEST_ENCHANTXX_EXE)
$(TEST_ENCHANTXX_EXE): $(TEST_ENCHANTXX_OBJECTS)
$(LINK_EXE) $(TEST_ENCHANTXX_OBJECTS) $(TEST_ENCHANTXX_LIBS) -OUT:$(TEST_ENCHANTXX_EXE)
$(EMBED_MANIFEST:exe_name=test-enchantxx.exe)
$(CLEAN_MANIFEST:exe_name=test-enchantxx.exe)
test-enchantxx_clean:
$(RM) $(TEST_ENCHANTXX_OBJECTS) $(TEST_ENCHANTXX_EXE) $(TEST_ENCHANTXX_PDB)
################################################################################
#### LIBENCHANT ####
srcdir = $(topsrcdir)
LIBENCHANT_DEFINES = \
-D_ENCHANT_BUILD=1 \
-DWINDLL
LIBENCHANT_DLL=$(outdir)\libenchant.dll
LIBENCHANT_LIB=$(outdir)\libenchant.lib
LIBENCHANT_PDB=$(pdbdir)\libenchant.pdb
LIBENCHANT_RES=$(srcdir)\libenchant.res
LIBENCHANT_RC=$(srcdir)\libenchant.rc
LIBENCHANT_LIBS = \
$(otherlibdir)\glib-2.0.lib \
$(otherlibdir)\gmodule-2.0.lib \
advapi32.lib
LIBENCHANT_OBJECTS = \
$(objdir)\enchant.obj \
$(objdir)\prefix.obj \
$(objdir)\pwl.obj
$(objdir)\pwl.obj : $(srcdir)\pwl.c
$(CC_OBJ) $** $(LIBENCHANT_DEFINES)
$(objdir)\prefix.obj : $(srcdir)\prefix.c
$(CC_OBJ) $** $(LIBENCHANT_DEFINES)
$(objdir)\enchant.obj : $(srcdir)\enchant.c
$(CC_OBJ) $** $(LIBENCHANT_DEFINES)
$(LIBENCHANT_RES) : $(LIBENCHANT_RC)
rc -Fo $(LIBENCHANT_RES) $(LIBENCHANT_RC)
!if !$(DLL)
libenchant: LIBENCHANT_LIB
libenchant_clean: libenchant_lib_clean
!else
libenchant: LIBENCHANT_DLL
libenchant_clean: libenchant_dll_clean
!endif
LIBENCHANT_LIB : $(LIBENCHANT_OBJECTS)
-$(RM) libenchant.lib
$(AR) $(AR_FLAGS)$(LIBENCHANT_LIB) $(LIBENCHANT_OBJECTS)
# libenchant.dll and libenchant.lib are created together.
LIBENCHANT_DLL : $(LIBENCHANT_OBJECTS) $(LIBENCHANT_RES)
$(LINK_DLL) $(LIBENCHANT_OBJECTS) $(LIBENCHANT_LIBS) $(LIBENCHANT_RES) -OUT:$(LIBENCHANT_DLL)
$(EMBED_MANIFEST:exe_name=libenchant.dll)
$(CLEAN_MANIFEST:exe_name=libenchant.dll)
libenchant_lib_clean:
$(RM) $(LIBENCHANT_OBJECTS) $(LIBENCHANT_LIB)
libenchant_dll_clean:
$(RM) $(LIBENCHANT_OBJECTS) $(LIBENCHANT_LIB) $(LIBENCHANT_DLL) $(LIBENCHANT_PDB) $(LIBENCHANT_RES) $(LIBENCHANT_RC)
################################################################################
#### LIBENCHANT_ISPELL ####
srcdir = $(topsrcdir)\ispell
LIBENCHANT_ISPELL_DEFINES = \
-D "_ENCHANT_BUILD=1" \
-D "ISPELL_PROVIDER_EXPORTS" \
-D_USRDLL \
-D_WINDLL
LIBENCHANT_ISPELL_DLL=$(outdir)\libenchant_ispell.dll
LIBENCHANT_ISPELL_LIB=$(libdir)\libenchant_ispell.lib
LIBENCHANT_ISPELL_PDB=$(pdbdir)\libenchant_ispell.pdb
LIBENCHANT_ISPELL_LIBS = \
$(otherlibdir)\glib-2.0.lib \
$(otherlibdir)\gmodule-2.0.lib \
$(libdir)\libenchant.lib \
advapi32.lib ntstc_msvcrt.lib
LIBENCHANT_ISPELL_OBJECTS = \
$(objdir)\correct.obj \
$(objdir)\good.obj \
$(objdir)\hash.obj \
$(objdir)\ispell_checker.obj \
$(objdir)\lookup.obj \
$(objdir)\makedent.obj \
$(objdir)\tgood.obj
!if !$(DLL)
libenchant_ispell: LIBENCHANT_ISPELL_LIB
libenchant_ispell_clean: libenchant_ispell_lib_clean
!else
libenchant_ispell: LIBENCHANT_ISPELL_DLL
libenchant_ispell_clean: libenchant_ispell_dll_clean
!endif
$(objdir)\correct.obj : $(srcdir)\correct.cpp
$(CC_OBJ) $** $(LIBENCHANT_ISPELL_DEFINES)
$(objdir)\good.obj : $(srcdir)\good.cpp
$(CC_OBJ) $** $(LIBENCHANT_ISPELL_DEFINES)
$(objdir)\hash.obj : $(srcdir)\hash.cpp
$(CC_OBJ) $** $(LIBENCHANT_ISPELL_DEFINES)
$(objdir)\ispell_checker.obj : $(srcdir)\ispell_checker.cpp
$(CC_OBJ) $** $(LIBENCHANT_ISPELL_DEFINES)
$(objdir)\lookup.obj : $(srcdir)\lookup.cpp
$(CC_OBJ) $** $(LIBENCHANT_ISPELL_DEFINES)
$(objdir)\makedent.obj : $(srcdir)\makedent.cpp
$(CC_OBJ) $** $(LIBENCHANT_ISPELL_DEFINES)
$(objdir)\tgood.obj : $(srcdir)\tgood.cpp
$(CC_OBJ) $** $(LIBENCHANT_ISPELL_DEFINES)
LIBENCHANT_ISPELL_LIB : $(LIBENCHANT_ISPELL_OBJECTS)
-$(RM) $(LIBENCHANT_ISPELL_LIB)
$(AR) $(AR_FLAGS)$(LIBENCHANT_ISPELL_LIB) $(LIBENCHANT_ISPELL_OBJECTS)
# libenchant_ispell.dll and libenchant_ispell.lib are created together.
LIBENCHANT_ISPELL_DLL : $(LIBENCHANT_ISPELL_OBJECTS)
$(LINK_DLL) $(LIBENCHANT_ISPELL_OBJECTS) $(LIBENCHANT_ISPELL_LIBS) -OUT:$(LIBENCHANT_ISPELL_DLL)
$(EMBED_MANIFEST:exe_name=libenchant_ispell.dll)
$(CLEAN_MANIFEST:exe_name=libenchant_ispell.dll)
libenchant_ispell_lib_clean:
$(RM) $(LIBENCHANT_ISPELL_OBJECTS) $(LIBENCHANT_ISPELL_LIB)
libenchant_ispell_dll_clean:
$(RM) $(LIBENCHANT_ISPELL_OBJECTS) $(LIBENCHANT_ISPELL_LIB) $(LIBENCHANT_ISPELL_DLL) $(LIBENCHANT_ISPELL_PDB)
################################################################################
#### LIBENCHANT_MYSPELL ####
srcdir = $(topsrcdir)\myspell
LIBENCHANT_MYSPELL_DEFINES = \
-D "HUNSPELL_STATIC" \
-D "_ENCHANT_BUILD=1" \
-D "_USRDLL" \
-D "MYSPELL_PROVIDER_EXPORTS" \
-D "_WINDLL"
LIBENCHANT_MYSPELL_DLL=$(outdir)\libenchant_myspell.dll
LIBENCHANT_MYSPELL_LIB=$(libdir)\libenchant_myspell.lib
LIBENCHANT_MYSPELL_PDB=$(pdbdir)\libenchant_myspell.pdb
LIBENCHANT_MYSPELL_LIBS = \
$(otherlibdir)\glib-2.0.lib \
$(otherlibdir)\gmodule-2.0.lib \
$(libdir)\libenchant.lib \
advapi32.lib ntstc_msvcrt.lib
LIBENCHANT_MYSPELL_OBJECTS = \
$(objdir)\affentry.obj \
$(objdir)\affixmgr.obj \
$(objdir)\dictmgr.obj \
$(objdir)\csutil.obj \
$(objdir)\utf_info.obj \
$(objdir)\hashmgr.obj \
$(objdir)\suggestmgr.obj \
$(objdir)\hunspell.obj \
$(objdir)\filemgr.obj \
$(objdir)\phonet.obj \
$(objdir)\hunzip.obj \
$(objdir)\myspell_checker.obj
!if !$(DLL)
libenchant_myspell: LIBENCHANT_MYSPELL_LIB
libenchant_myspell_clean: libenchant_myspell_lib_clean
!else
libenchant_myspell: LIBENCHANT_MYSPELL_DLL
libenchant_myspell_clean: libenchant_myspell_dll_clean
!endif
$(objdir)\affentry.obj : $(srcdir)\affentry.cxx
$(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES)
$(objdir)\affixmgr.obj : $(srcdir)\affixmgr.cxx
$(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES)
$(objdir)\dictmgr.obj : $(srcdir)\dictmgr.cxx
$(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES)
$(objdir)\csutil.obj : $(srcdir)\csutil.cxx
$(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES)
$(objdir)\utf_info.obj : $(srcdir)\utf_info.cxx
$(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES)
$(objdir)\hashmgr.obj : $(srcdir)\hashmgr.cxx
$(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES)
$(objdir)\suggestmgr.obj : $(srcdir)\suggestmgr.cxx
$(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES)
$(objdir)\hunspell.obj : $(srcdir)\hunspell.cxx
$(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES)
$(objdir)\filemgr.obj : $(srcdir)\filemgr.cxx
$(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES)
$(objdir)\phonet.obj : $(srcdir)\phonet.cxx
$(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES)
$(objdir)\hunzip.obj : $(srcdir)\hunzip.cxx
$(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES)
$(objdir)\myspell_checker.obj : $(srcdir)\myspell_checker.cpp
$(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES)
LIBENCHANT_MYSPELL_LIB : $(LIBENCHANT_MYSPELL_OBJECTS)
-$(RM) $(LIBENCHANT_MYSPELL_LIB)
$(AR) $(AR_FLAGS)$(LIBENCHANT_MYSPELL_LIB) $(LIBENCHANT_MYSPELL_OBJECTS)
# libenchant_myspell.dll and libenchant_myspell.lib are created together.
LIBENCHANT_MYSPELL_DLL : $(LIBENCHANT_MYSPELL_OBJECTS)
$(LINK_DLL) $(LIBENCHANT_MYSPELL_OBJECTS) $(LIBENCHANT_MYSPELL_LIBS) -OUT:$(LIBENCHANT_MYSPELL_DLL)
$(EMBED_MANIFEST:exe_name=libenchant_myspell.dll)
$(CLEAN_MANIFEST:exe_name=libenchant_myspell.dll)
libenchant_myspell_lib_clean:
$(RM) $(LIBENCHANT_MYSPELL_OBJECTS) $(LIBENCHANT_MYSPELL_LIB)
libenchant_myspell_dll_clean:
$(RM) $(LIBENCHANT_MYSPELL_OBJECTS) $(LIBENCHANT_MYSPELL_LIB) $(LIBENCHANT_MYSPELL_DLL) $(LIBENCHANT_MYSPELL_PDB)
################################################################################
check : all
mostlyclean : clean
clean: libenchant_clean libenchant_ispell_clean libenchant_myspell_clean enchant_clean enchant_lsmod_clean test-enchant_clean test-enchantxx_clean
distclean : clean
maintainer-clean : distclean
force :

View File

@ -0,0 +1,20 @@
@echo off
set ENCHANT_DEST=..\..\enchant-wdk-1.6.0-x64
set RELEASE_DIR=..\bin\release
rmdir /q /s %ENCHANT_DEST%
mkdir %ENCHANT_DEST%
copy ..\COPYING.LIB %ENCHANT_DEST%\LICENSE.ENCHANT
xcopy /q /s /i %RELEASE_DIR%\enchant.exe %ENCHANT_DEST%\bin\
copy %RELEASE_DIR%\enchant-lsmod.exe %ENCHANT_DEST%\bin
copy %RELEASE_DIR%\libenchant.dll %ENCHANT_DEST%\bin
xcopy /q /s /i enchant.h %ENCHANT_DEST%\include\enchant\
copy "enchant++.h" %ENCHANT_DEST%\include\enchant\
copy enchant-provider.h %ENCHANT_DEST%\include\enchant\
xcopy /q /s /i %RELEASE_DIR%\libenchant_ispell.dll %ENCHANT_DEST%\lib\enchant\
copy %RELEASE_DIR%\libenchant_ispell.exp %ENCHANT_DEST%\lib\enchant\
copy %RELEASE_DIR%\libenchant_ispell.lib %ENCHANT_DEST%\lib\enchant\
copy %RELEASE_DIR%\libenchant_myspell.dll %ENCHANT_DEST%\lib\enchant\
copy %RELEASE_DIR%\libenchant_myspell.exp %ENCHANT_DEST%\lib\enchant\
copy %RELEASE_DIR%\libenchant_myspell.lib %ENCHANT_DEST%\lib\enchant\
copy %RELEASE_DIR%\libenchant.exp %ENCHANT_DEST%\lib
copy %RELEASE_DIR%\libenchant.lib %ENCHANT_DEST%\lib

View File

@ -0,0 +1,20 @@
@echo off
set ENCHANT_DEST=..\..\enchant-wdk-1.6.0-x86
set RELEASE_DIR=..\bin\release
rmdir /q /s %ENCHANT_DEST%
mkdir %ENCHANT_DEST%
copy ..\COPYING.LIB %ENCHANT_DEST%\LICENSE.ENCHANT
xcopy /q /s /i %RELEASE_DIR%\enchant.exe %ENCHANT_DEST%\bin\
copy %RELEASE_DIR%\enchant-lsmod.exe %ENCHANT_DEST%\bin
copy %RELEASE_DIR%\libenchant.dll %ENCHANT_DEST%\bin
xcopy /q /s /i enchant.h %ENCHANT_DEST%\include\enchant\
copy "enchant++.h" %ENCHANT_DEST%\include\enchant\
copy enchant-provider.h %ENCHANT_DEST%\include\enchant\
xcopy /q /s /i %RELEASE_DIR%\libenchant_ispell.dll %ENCHANT_DEST%\lib\enchant\
copy %RELEASE_DIR%\libenchant_ispell.exp %ENCHANT_DEST%\lib\enchant\
copy %RELEASE_DIR%\libenchant_ispell.lib %ENCHANT_DEST%\lib\enchant\
copy %RELEASE_DIR%\libenchant_myspell.dll %ENCHANT_DEST%\lib\enchant\
copy %RELEASE_DIR%\libenchant_myspell.exp %ENCHANT_DEST%\lib\enchant\
copy %RELEASE_DIR%\libenchant_myspell.lib %ENCHANT_DEST%\lib\enchant\
copy %RELEASE_DIR%\libenchant.exp %ENCHANT_DEST%\lib
copy %RELEASE_DIR%\libenchant.lib %ENCHANT_DEST%\lib

33
ext/lua-wdk/build-x64.bat Normal file
View File

@ -0,0 +1,33 @@
@echo off
set WDK_ROOT=c:\WinDDK\7600.16385.1
set OPATH=%PATH%
set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\ddk
set LIB=%WDK_ROOT%\lib\wnet\amd64;%WDK_ROOT%\lib\Crt\amd64
set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin\amd64
set DEST=..\lua-wdk-5.1.4-2-x64
call etc\luavs-x64.bat
@echo off
echo.Press return when ready to install!
pause
set PATH=%OPATH%
rmdir /Q /S %DEST%
mkdir %DEST%
mkdir %DEST%\bin
mkdir %DEST%\lib
mkdir %DEST%\include
copy COPYRIGHT %DEST%\LICENSE.LUA
:: binaries and libraries
copy src\lua.exe %DEST%\bin
copy src\lua51.dll %DEST%\bin
copy src\lua51.exp %DEST%\bin
copy src\luac.exe %DEST%\bin
:: library
copy src\lua51.lib %DEST%\lib
:: api
copy src\lua.h %DEST%\include
copy src\luaconf.h %DEST%\include
copy src\lualib.h %DEST%\include
copy src\lauxlib.h %DEST%\include
copy etc\lua.hpp %DEST%\include
echo.Finished!
pause

33
ext/lua-wdk/build-x86.bat Normal file
View File

@ -0,0 +1,33 @@
@echo off
set WDK_ROOT=c:\WinDDK\7600.16385.1
set OPATH=%PATH%
set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\ddk
set LIB=%WDK_ROOT%\lib\wxp\i386;%WDK_ROOT%\lib\Crt\i386
set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin;%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\Common7\IDE
set DEST=..\lua-wdk-5.1.4-2-x86
call etc\luavs.bat
@echo off
echo.Press return when ready to install!
pause
set PATH=%OPATH%
rmdir /Q /S %DEST%
mkdir %DEST%
mkdir %DEST%\bin
mkdir %DEST%\lib
mkdir %DEST%\include
copy COPYRIGHT %DEST%\LICENSE.LUA
:: binaries and libraries
copy src\lua.exe %DEST%\bin
copy src\lua51.dll %DEST%\bin
copy src\lua51.exp %DEST%\bin
copy src\luac.exe %DEST%\bin
:: library
copy src\lua51.lib %DEST%\lib
:: api
copy src\lua.h %DEST%\include
copy src\luaconf.h %DEST%\include
copy src\lualib.h %DEST%\include
copy src\lauxlib.h %DEST%\include
copy etc\lua.hpp %DEST%\include
echo.Finished!
pause

46
ext/lua-wdk/lua-wdk.patch Normal file
View File

@ -0,0 +1,46 @@
diff -ruN --strip-trailing-cr lua-5.1.4.orig/etc/luavs-x64.bat lua-5.1.4/etc/luavs-x64.bat
--- lua-5.1.4.orig/etc/luavs-x64.bat 1970-01-01 01:00:00 +0100
+++ lua-5.1.4/etc/luavs-x64.bat 2010-08-16 13:02:08 +0200
@@ -0,0 +1,28 @@
+@rem Script to build Lua under "Visual Studio .NET Command Prompt".
+@rem Do not run from this directory; run it from the toplevel: etc\luavs.bat .
+@rem It creates lua51.dll, lua51.lib, lua.exe, and luac.exe in src.
+@rem (contributed by David Manura and Mike Pall)
+
+@setlocal
+@set MYCOMPILE=cl /nologo /MD /O2 /W3 /c
+@set MYLINK=link /nologo msvcrt_win2003.obj
+@set MYMT=mt /nologo
+
+cd src
+%MYCOMPILE% /DLUA_BUILD_AS_DLL l*.c
+del lua.obj luac.obj
+%MYLINK% /DLL /out:lua51.dll l*.obj
+if exist lua51.dll.manifest^
+ %MYMT% -manifest lua51.dll.manifest -outputresource:lua51.dll;2
+%MYCOMPILE% /DLUA_BUILD_AS_DLL lua.c
+%MYLINK% /out:lua.exe lua.obj lua51.lib
+if exist lua.exe.manifest^
+ %MYMT% -manifest lua.exe.manifest -outputresource:lua.exe
+%MYCOMPILE% l*.c print.c
+del lua.obj linit.obj lbaselib.obj ldblib.obj liolib.obj lmathlib.obj^
+ loslib.obj ltablib.obj lstrlib.obj loadlib.obj
+%MYLINK% /out:luac.exe *.obj
+if exist luac.exe.manifest^
+ %MYMT% -manifest luac.exe.manifest -outputresource:luac.exe
+del *.obj *.manifest
+cd ..
diff -ruN --strip-trailing-cr lua-5.1.4.orig/etc/luavs.bat lua-5.1.4/etc/luavs.bat
--- lua-5.1.4.orig/etc/luavs.bat 2008-01-20 17:40:10 +0100
+++ lua-5.1.4/etc/luavs.bat 2010-08-16 13:02:18 +0200
@@ -4,8 +4,8 @@
@rem (contributed by David Manura and Mike Pall)
@setlocal
-@set MYCOMPILE=cl /nologo /MD /O2 /W3 /c /D_CRT_SECURE_NO_DEPRECATE
-@set MYLINK=link /nologo
+@set MYCOMPILE=cl /nologo /MD /O2 /W3 /c
+@set MYLINK=link /nologo msvcrt_winxp.obj
@set MYMT=mt /nologo
cd src

13
ext/nss-wdk/build-x64.bat Normal file
View File

@ -0,0 +1,13 @@
@echo off
set WDK_ROOT=c:\WinDDK\7600.16385.1
set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\ddk
set LIB=%WDK_ROOT%\lib\wnet\amd64;%WDK_ROOT%\lib\Crt\amd64
set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin\amd64;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin\x64;c:\mozilla-build\msys\bin;c:\mozilla-build\moztools-x64\bin
set BUILD_OPT=1
set USE_64=1
set WINDDK_BUILD=1
cd mozilla\security\nss
make nss_build_all
cd ..\..\..
echo.Finished!
pause

13
ext/nss-wdk/build-x86.bat Normal file
View File

@ -0,0 +1,13 @@
@echo off
set WDK_ROOT=c:\WinDDK\7600.16385.1
set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt
set LIB=%WDK_ROOT%\lib\wxp\i386;%WDK_ROOT%\lib\Crt\i386
set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin;%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\Common7\IDE;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin;c:\mozilla-build\msys\bin;c:\mozilla-build\moztools\bin
set BUILD_OPT=1
set USE_64=
set WINDDK_BUILD=1
cd mozilla\security\nss
make nss_build_all
cd ..\..\..
echo.Finished!
pause

273
ext/nss-wdk/nss-wdk.patch Normal file
View File

@ -0,0 +1,273 @@
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/dbm/include/mcom_db.h nss-3.12.9/mozilla/dbm/include/mcom_db.h
--- nss-3.12.9.orig/mozilla/dbm/include/mcom_db.h 2009-06-05 01:18:50 +0200
+++ nss-3.12.9/mozilla/dbm/include/mcom_db.h 2011-02-11 00:03:42 +0100
@@ -40,6 +40,15 @@
#define off_t long
#endif
+#ifdef WINDDK_BUILD
+#ifndef stat
+#define stat _stat
+#endif
+#ifndef getpid
+#define getpid GetCurrentProcessId
+#endif
+#endif
+
#ifndef macintosh
#include <sys/types.h>
#endif
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/dbm/src/mktemp.c nss-3.12.9/mozilla/dbm/src/mktemp.c
--- nss-3.12.9.orig/mozilla/dbm/src/mktemp.c 2009-06-05 01:19:32 +0200
+++ nss-3.12.9/mozilla/dbm/src/mktemp.c 2011-02-11 00:03:42 +0100
@@ -45,13 +45,13 @@
#include <ctype.h>
#include "mcom_db.h"
-#ifndef _WINDOWS
-#include <unistd.h>
-#endif
-
#ifdef _WINDOWS
+#ifndef WINDDK_BUILD
#include <process.h>
+#endif
#include "winfile.h"
+#else
+#include <unistd.h>
#endif
static int _gettemp(char *path, register int *doopen, int extraFlags);
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/nsprpub/config/config.mk nss-3.12.9/mozilla/nsprpub/config/config.mk
--- nss-3.12.9.orig/mozilla/nsprpub/config/config.mk 2010-07-09 04:10:34 +0200
+++ nss-3.12.9/mozilla/nsprpub/config/config.mk 2011-02-11 00:03:42 +0100
@@ -154,6 +154,15 @@
DEFINES += -DMOZ_UNICODE
endif
+ifdef WINDDK_BUILD
+OS_CFLAGS += -DWINDDK_BUILD
+ifdef USE_64
+OS_LIBS += msvcrt_win2003.obj
+else
+OS_LIBS += msvcrt_winxp.obj
+endif
+endif
+
####################################################################
#
# Configuration for the release process
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/nsprpub/pr/src/Makefile.in nss-3.12.9/mozilla/nsprpub/pr/src/Makefile.in
--- nss-3.12.9.orig/mozilla/nsprpub/pr/src/Makefile.in 2010-10-13 02:52:54 +0200
+++ nss-3.12.9/mozilla/nsprpub/pr/src/Makefile.in 2011-02-11 00:03:42 +0100
@@ -197,9 +197,17 @@
ifdef NS_USE_GCC
OS_LIBS = -ladvapi32 -lwsock32 -lwinmm
else
+ifdef WINDDK_BUILD
+ifdef USE_64
+OS_LIBS = advapi32.lib wsock32.lib winmm.lib msvcrt_win2003.obj
+else
+OS_LIBS = advapi32.lib wsock32.lib winmm.lib msvcrt_winxp.obj
+endif
+else
OS_LIBS = advapi32.lib wsock32.lib winmm.lib
endif
endif
+endif
ifeq ($(OS_ARCH),WINCE)
OS_LIBS = ws2.lib
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/nsprpub/pr/src/md/windows/ntmisc.c nss-3.12.9/mozilla/nsprpub/pr/src/md/windows/ntmisc.c
--- nss-3.12.9.orig/mozilla/nsprpub/pr/src/md/windows/ntmisc.c 2010-08-15 22:59:14 +0200
+++ nss-3.12.9/mozilla/nsprpub/pr/src/md/windows/ntmisc.c 2011-02-11 00:03:42 +0100
@@ -625,7 +625,11 @@
*/
hasFdInheritBuffer = (attr && attr->fdInheritBuffer);
if ((envp == NULL) && hasFdInheritBuffer) {
+#ifdef WINDDK_BUILD
+ envp = getenv;
+#else
envp = environ;
+#endif
}
if (envp != NULL) {
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/coreconf/WIN32.mk nss-3.12.9/mozilla/security/coreconf/WIN32.mk
--- nss-3.12.9.orig/mozilla/security/coreconf/WIN32.mk 2010-08-18 03:28:06 +0200
+++ nss-3.12.9/mozilla/security/coreconf/WIN32.mk 2011-02-11 00:03:42 +0100
@@ -145,6 +145,14 @@
else # !NS_USE_GCC
OS_CFLAGS += -W3 -nologo -D_CRT_SECURE_NO_WARNINGS
OS_DLLFLAGS += -nologo -DLL -SUBSYSTEM:WINDOWS
+ ifdef WINDDK_BUILD
+ OS_CFLAGS += -DWINDDK_BUILD
+ ifdef USE_64
+ OS_LIBS += msvcrt_win2003.obj
+ else
+ OS_LIBS += msvcrt_winxp.obj
+ endif
+ endif
ifeq ($(_MSC_VER),$(_MSC_VER_6))
ifndef MOZ_DEBUG_SYMBOLS
OS_DLLFLAGS += -PDB:NONE
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/coreconf/arch.mk nss-3.12.9/mozilla/security/coreconf/arch.mk
--- nss-3.12.9.orig/mozilla/security/coreconf/arch.mk 2009-06-05 04:14:50 +0200
+++ nss-3.12.9/mozilla/security/coreconf/arch.mk 2011-02-11 00:03:42 +0100
@@ -268,7 +268,15 @@
# the uname.exe in the MSYS toolkit.
#
ifeq (MINGW32_NT,$(findstring MINGW32_NT,$(OS_ARCH)))
- OS_RELEASE := $(patsubst MINGW32_NT-%,%,$(OS_ARCH))
+ ifdef WINDDK_BUILD
+ ifdef USE_64
+ OS_RELEASE := 5.2
+ else
+ OS_RELEASE := 5.1
+ endif
+ else
+ OS_RELEASE := $(patsubst MINGW32_NT-%,%,$(OS_ARCH))
+ endif
OS_ARCH = WINNT
USE_MSYS = 1
ifndef CPU_ARCH
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/cmd/platlibs.mk nss-3.12.9/mozilla/security/nss/cmd/platlibs.mk
--- nss-3.12.9.orig/mozilla/security/nss/cmd/platlibs.mk 2010-06-12 02:58:34 +0200
+++ nss-3.12.9/mozilla/security/nss/cmd/platlibs.mk 2011-02-11 00:03:42 +0100
@@ -249,3 +249,11 @@
endif
JAR_LIBS = $(DIST)/lib/$(LIB_PREFIX)jar.$(LIB_SUFFIX)
+
+ifdef WINDDK_BUILD
+ifdef USE_64
+OS_LIBS += msvcrt_win2003.obj
+else
+OS_LIBS += msvcrt_winxp.obj
+endif
+endif
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/cmd/selfserv/selfserv.c nss-3.12.9/mozilla/security/nss/cmd/selfserv/selfserv.c
--- nss-3.12.9.orig/mozilla/security/nss/cmd/selfserv/selfserv.c 2010-04-03 20:27:28 +0200
+++ nss-3.12.9/mozilla/security/nss/cmd/selfserv/selfserv.c 2011-02-11 00:03:42 +0100
@@ -51,8 +51,13 @@
#endif
#if defined(_WINDOWS)
+#ifdef WINDDK_BUILD
+#include <windows.h>
+#define getpid GetCurrentProcessId
+#else
#include <process.h> /* for getpid() */
#endif
+#endif
#include <signal.h>
#include <stdlib.h>
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c nss-3.12.9/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c
--- nss-3.12.9.orig/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c 2009-03-10 22:18:08 +0100
+++ nss-3.12.9/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c 2011-02-11 00:03:42 +0100
@@ -80,7 +80,11 @@
#elif defined(_MSC_VER)
+#ifdef WINDDK_BUILD
+#include <ntddk.h>
+#else
#include <intrin.h>
+#endif
void freebl_cpuid(unsigned long op, unsigned long *eax,
unsigned long *ebx, unsigned long *ecx,
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/lib/freebl/win_rand.c nss-3.12.9/mozilla/security/nss/lib/freebl/win_rand.c
--- nss-3.12.9.orig/mozilla/security/nss/lib/freebl/win_rand.c 2011-01-06 20:05:58 +0100
+++ nss-3.12.9/mozilla/security/nss/lib/freebl/win_rand.c 2011-02-11 00:03:42 +0100
@@ -50,6 +50,13 @@
#include <sys/types.h>
#include <sys/stat.h>
#endif
+
+#ifdef WINDDK_BUILD
+#ifndef stat
+#define stat _stat
+#endif
+#endif
+
#include <stdio.h>
#include "prio.h"
#include "prerror.h"
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/lib/softoken/legacydb/config.mk nss-3.12.9/mozilla/security/nss/lib/softoken/legacydb/config.mk
--- nss-3.12.9.orig/mozilla/security/nss/lib/softoken/legacydb/config.mk 2009-06-11 02:55:50 +0200
+++ nss-3.12.9/mozilla/security/nss/lib/softoken/legacydb/config.mk 2011-02-11 00:03:42 +0100
@@ -96,3 +96,11 @@
ifeq ($(OS_TARGET),WINCE)
DEFINES += -DDBM_USING_NSPR
endif
+
+ifdef WINDDK_BUILD
+ifdef USE_64
+OS_LIBS += msvcrt_win2003.obj
+else
+OS_LIBS += msvcrt_winxp.obj
+endif
+endif
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/lib/sqlite/sqlite3.c nss-3.12.9/mozilla/security/nss/lib/sqlite/sqlite3.c
--- nss-3.12.9.orig/mozilla/security/nss/lib/sqlite/sqlite3.c 2010-01-08 06:42:38 +0100
+++ nss-3.12.9/mozilla/security/nss/lib/sqlite/sqlite3.c 2011-02-11 00:03:42 +0100
@@ -10980,7 +10980,8 @@
** localtime_s().
*/
#if !defined(HAVE_LOCALTIME_R) && !defined(HAVE_LOCALTIME_S) && \
- defined(_MSC_VER) && defined(_CRT_INSECURE_DEPRECATE)
+ defined(_MSC_VER) && defined(_CRT_INSECURE_DEPRECATE) && \
+ !defined(WINDDK_BUILD)
#define HAVE_LOCALTIME_S 1
#endif
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/lib/ssl/sslimpl.h nss-3.12.9/mozilla/security/nss/lib/ssl/sslimpl.h
--- nss-3.12.9.orig/mozilla/security/nss/lib/ssl/sslimpl.h 2010-07-31 06:33:52 +0200
+++ nss-3.12.9/mozilla/security/nss/lib/ssl/sslimpl.h 2011-02-11 00:03:42 +0100
@@ -1624,8 +1624,13 @@
#elif defined(_WIN32_WCE)
#define SSL_GETPID GetCurrentProcessId
#elif defined(WIN32)
+#ifdef WINDDK_BUILD
+#include <windows.h>
+#define SSL_GETPID GetCurrentProcessId
+#else
extern int __cdecl _getpid(void);
#define SSL_GETPID _getpid
+#endif
#else
#define SSL_GETPID() 0
#endif
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/lib/zlib/config.mk nss-3.12.9/mozilla/security/nss/lib/zlib/config.mk
--- nss-3.12.9.orig/mozilla/security/nss/lib/zlib/config.mk 2009-11-07 02:13:10 +0100
+++ nss-3.12.9/mozilla/security/nss/lib/zlib/config.mk 2011-02-11 00:03:42 +0100
@@ -46,3 +46,11 @@
PROGRAM =
EXTRA_LIBS = $(LIBRARY)
+
+ifdef WINDDK_BUILD
+ifdef USE_64
+OS_LIBS += msvcrt_win2003.obj
+else
+OS_LIBS += msvcrt_winxp.obj
+endif
+endif
diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/lib/zlib/gzio.c nss-3.12.9/mozilla/security/nss/lib/zlib/gzio.c
--- nss-3.12.9.orig/mozilla/security/nss/lib/zlib/gzio.c 2009-11-07 02:13:10 +0100
+++ nss-3.12.9/mozilla/security/nss/lib/zlib/gzio.c 2011-02-11 00:03:42 +0100
@@ -11,6 +11,12 @@
#include "zutil.h"
+#ifdef WINDDK_BUILD
+#ifndef vsnprintf
+#define vsnprintf _vsnprintf
+#endif
+#endif
+
#ifdef NO_DEFLATE /* for compatibility with old definition */
# define NO_GZCOMPRESS
#endif

View File

@ -0,0 +1,30 @@
@echo off
set WDK_ROOT=c:\WinDDK\7600.16385.1
set PERL_PATH=c:\mozilla-build\perl-5.12-x64\bin
set NASM_PATH=c:\mozilla-build\nasm
set OPENSSL_DEST=..\openssl-wdk-1.0.0d-x64
set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\ddk;ms;zlib-x64\include
set LIB=%WDK_ROOT%\lib\wnet\amd64;%WDK_ROOT%\lib\Crt\amd64;zlib-x64\lib
set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin\amd64;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin\x64;%PERL_PATH%;%NASM_PATH%;%SystemRoot%\System32;..\zlib-x64\bin
perl Configure VC-WIN64A enable-camellia zlib-dynamic --openssldir=./
call ms\do_win64a
nmake -f ms\ntdll.mak vclean
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak test
perl mk-ca-bundle.pl -n
echo.Press return when ready to install!
pause
move include include-orig
nmake -f ms\ntdll.mak install
rmdir /q /s %OPENSSL_DEST%
mkdir %OPENSSL_DEST%
move bin %OPENSSL_DEST%
move include %OPENSSL_DEST%
move lib %OPENSSL_DEST%
mkdir %OPENSSL_DEST%\share
move openssl.cnf %OPENSSL_DEST%\share\openssl.cnf.example
move include-orig include
copy zlib-x64\bin\zlib1.dll %OPENSSL_DEST%\bin
move cert.pem %OPENSSL_DEST%\bin
echo.Finished!
pause

View File

@ -0,0 +1,31 @@
@echo off
set WDK_ROOT=c:\WinDDK\7600.16385.1
set PERL_PATH=c:\mozilla-build\perl-5.12-x86\bin
set NASM_PATH=c:\mozilla-build\nasm
set OPENSSL_DEST=..\openssl-wdk-1.0.0d-x86
set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\ddk;ms;zlib-x86\include
set LIB=%WDK_ROOT%\lib\wxp\i386;%WDK_ROOT%\lib\Crt\i386;zlib-x86\lib
set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin;%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\Common7\IDE;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin;%PERL_PATH%;%NASM_PATH%;%SystemRoot%\System32;..\zlib-x86\bin
perl Configure VC-WIN32 enable-camellia zlib-dynamic --openssldir=./
call ms\do_nasm
@echo off
nmake -f ms\ntdll.mak vclean
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak test
perl mk-ca-bundle.pl -n
echo.Press return when ready to install!
pause
move include include-orig
nmake -f ms\ntdll.mak install
rmdir /q /s %OPENSSL_DEST%
mkdir %OPENSSL_DEST%
move bin %OPENSSL_DEST%
move include %OPENSSL_DEST%
move lib %OPENSSL_DEST%
mkdir %OPENSSL_DEST%\share
move openssl.cnf %OPENSSL_DEST%\share\openssl.cnf.example
move include-orig include
copy zlib-x86\bin\zlib1.dll %OPENSSL_DEST%\bin
move cert.pem %OPENSSL_DEST%\bin
echo.Finished!
pause

21638
ext/openssl-wdk/certdata.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,195 @@
#!/usr/bin/perl -w
# ***************************************************************************
# * _ _ ____ _
# * Project ___| | | | _ \| |
# * / __| | | | |_) | |
# * | (__| |_| | _ <| |___
# * \___|\___/|_| \_\_____|
# *
# * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
# *
# * This software is licensed as described in the file COPYING, which
# * you should have received as part of this distribution. The terms
# * are also available at http://curl.haxx.se/docs/copyright.html.
# *
# * You may opt to use, copy, modify, merge, publish, distribute and/or sell
# * copies of the Software, and permit persons to whom the Software is
# * furnished to do so, under the terms of the COPYING file.
# *
# * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
# * KIND, either express or implied.
# *
# * $Id: mk-ca-bundle.pl,v 1.10 2008/02/15 00:41:54 gknauf Exp $
# ***************************************************************************
# This Perl script creates a fresh ca-bundle.crt file for use with libcurl.
# It downloads certdata.txt from Mozilla's source tree (see URL below),
# then parses certdata.txt and extracts CA Root Certificates into PEM format.
# These are then processed with the OpenSSL commandline tool to produce the
# final ca-bundle.crt file.
# The script is based on the parse-certs script written by Roland Krikava.
# This Perl script works on almost any platform since its only external
# dependency is the OpenSSL commandline tool for optional text listing.
# Hacked by Guenter Knauf.
#
# Hacked again by Cameron Kaiser to use cURL *instead* of LWP.
#
use Getopt::Std;
use MIME::Base64;
#use LWP::UserAgent;
use strict;
use vars qw($opt_b $opt_h $opt_i $opt_l $opt_n $opt_q $opt_t $opt_u $opt_v);
# more up-to-date revisions can always be found at http://hg.mozilla.org/mozilla-central/
# in the security/nss/lib/ckfw/builtins folder
my $url = 'http://mxr.mozilla.org/seamonkey/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1';
# If the OpenSSL commandline is not in search path you can configure it here!
my $openssl = 'openssl';
my $version = $1 if ('$Revision: 1.10 $' =~ /\s(\d+\.\d+)\s/);
getopts('bhilnqtuv');
if ($opt_i) {
print ("=" x 78 . "\n");
print "Script Version : $version\n";
print "Perl Version : $]\n";
print "Operating System Name : $^O\n";
print "Getopt::Std.pm Version : ${Getopt::Std::VERSION}\n";
print "MIME::Base64.pm Version : ${MIME::Base64::VERSION}\n";
# print "LWP::UserAgent.pm Version : ${LWP::UserAgent::VERSION}\n";
# print "LWP.pm Version : ${LWP::VERSION}\n";
print "This version uses cURL. As it should.\n";
print `curl --version`;
print ("=" x 78 . "\n");
}
$0 =~ s/\\/\//g;
$0 = substr($0, rindex($0, '/') + 1);
if ($opt_h) {
printf("Usage:\t%s [-b] [-i] [-l] [-n] [-q] [-t] [-u] [-v] [<outputfile>]\n", $0);
print "\t-b\tbackup an existing version of ca-bundle.crt\n";
print "\t-i\tprint version info about used modules\n";
print "\t-l\tprint license info about certdata.txt\n";
print "\t-n\tno download of certdata.txt (to use existing)\n";
print "\t-q\tbe really quiet (no progress output at all)\n";
print "\t-t\tinclude plain text listing of certificates\n";
print "\t-u\tunlink (remove) certdata.txt after processing\n";
print "\t-v\tbe verbose and print out processed CAs\n";
exit;
}
#my $crt = $ARGV[0] || 'ca-bundle.crt';
my $crt = $ARGV[0] || 'cert.pem';
my $txt = substr($url, rindex($url, '/') + 1);
$txt =~ s/\?.*//;
if (!$opt_n || !-e $txt) {
print "Downloading '$txt' ...\n" if (!$opt_q);
#my $ua = new LWP::UserAgent(agent => "$0/$version");
#my $req = new HTTP::Request('GET', $url);
#my $res = $ua->request($req);
#if ($res->is_success) {
# open(TXT,">$txt") or die "Couldn't open $txt: $!";
# print TXT $res->content . "\n";
# close(TXT) or die "Couldn't close $txt: $!";
#} else {
# die $res->status_line;
#}
system("curl $url > $txt");
}
if ($opt_b && -e $crt) {
my $bk = 1;
while (-e "$crt.~${bk}~") {
$bk++;
}
rename $crt, "$crt.~${bk}~";
}
my $format = $opt_t ? "plain text and " : "";
my $currentdate = scalar gmtime() . " UTC";
open(CRT,">$crt") or die "Couldn't open $crt: $!";
print CRT <<EOT;
##
## $crt -- Bundle of CA Root Certificates
##
## Converted at: ${currentdate}
##
## This is a bundle of X.509 certificates of public Certificate Authorities
## (CA). These were automatically extracted from Mozilla's root certificates
## file (certdata.txt). This file can be found in the mozilla source tree:
## '/mozilla/security/nss/lib/ckfw/builtins/certdata.txt'
##
## It contains the certificates in ${format}PEM format and therefore
## can be directly used with curl / libcurl / php_curl, or with
## an Apache+mod_ssl webserver for SSL client authentication.
## Just configure this file as the SSLCACertificateFile.
##
EOT
close(CRT) or die "Couldn't close $crt: $!";
print "Processing '$txt' ...\n" if (!$opt_q);
my $caname;
my $certnum = 0;
open(TXT,"$txt") or die "Couldn't open $txt: $!";
while (<TXT>) {
if (/\*\*\*\*\* BEGIN LICENSE BLOCK \*\*\*\*\*/) {
open(CRT, ">>$crt") or die "Couldn't open $crt: $!";
print CRT;
print if ($opt_l);
while (<TXT>) {
print CRT;
print if ($opt_l);
last if (/\*\*\*\*\* END LICENSE BLOCK \*\*\*\*\*/);
}
close(CRT) or die "Couldn't close $crt: $!";
}
next if /^#|^\s*$/;
chomp;
if (/^CVS_ID\s+\"(.*)\"/) {
open(CRT, ">>$crt") or die "Couldn't open $crt: $!";
print CRT "# $1\n";
close(CRT) or die "Couldn't close $crt: $!";
}
if (/^CKA_LABEL\s+[A-Z0-9]+\s+\"(.*)\"/) {
$caname = $1;
}
if (/^CKA_VALUE MULTILINE_OCTAL/) {
my $data;
while (<TXT>) {
last if (/^END/);
chomp;
my @octets = split(/\\/);
shift @octets;
for (@octets) {
$data .= chr(oct);
}
}
my $pem = "-----BEGIN CERTIFICATE-----\n"
. MIME::Base64::encode($data)
. "-----END CERTIFICATE-----\n";
open(CRT, ">>$crt") or die "Couldn't open $crt: $!";
print CRT "\n$caname\n";
print CRT ("=" x length($caname) . "\n");
if (!$opt_t) {
print CRT $pem;
}
close(CRT) or die "Couldn't close $crt: $!";
if ($opt_t) {
open(TMP, "|$openssl x509 -md5 -fingerprint -text -inform PEM >> $crt") or die "Couldn't open openssl pipe: $!";
print TMP $pem;
close(TMP) or die "Couldn't close openssl pipe: $!";
}
print "Parsing: $caname\n" if ($opt_v);
$certnum ++;
}
}
close(TXT) or die "Couldn't close $txt: $!";
unlink $txt if ($opt_u);
print "Done ($certnum CA certs processed).\n" if (!$opt_q);
exit;

View File

@ -0,0 +1,64 @@
diff -ruN --strip-trailing-cr openssl-1.0.0d.orig/Configure openssl-1.0.0d/Configure
--- openssl-1.0.0d.orig/Configure 2010-11-30 23:19:26 +0100
+++ openssl-1.0.0d/Configure 2011-02-10 23:57:56 +0100
@@ -491,12 +491,12 @@
#
# Win64 targets, WIN64I denotes IA-64 and WIN64A - AMD64
"VC-WIN64I","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:ia64cpuid.o:ia64.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o:::::::ias:win32",
-"VC-WIN64A","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:x86_64cpuid.o:bn_asm.o x86_64-mont.o::aes-x86_64.o::md5-x86_64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4-x86_64.o:::wp-x86_64.o:cmll-x86_64.o cmll_misc.o:auto:win32",
+"VC-WIN64A","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE:::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:x86_64cpuid.o:bn_asm.o x86_64-mont.o::aes-x86_64.o::md5-x86_64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4-x86_64.o:::wp-x86_64.o:cmll-x86_64.o cmll_misc.o:auto:win32",
"debug-VC-WIN64I","cl:-W3 -Gs0 -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:ia64cpuid.o:ia64.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o:::::::ias:win32",
"debug-VC-WIN64A","cl:-W3 -Gs0 -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:x86_64cpuid.o:bn_asm.o x86_64-mont.o::aes-x86_64.o::md5-x86_64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4-x86_64.o:::wp-x86_64.o:cmll-x86_64.o cmll_misc.o:auto:win32",
# x86 Win32 target defaults to ANSI API, if you want UNICODE, complement
# 'perl Configure VC-WIN32' with '-DUNICODE -D_UNICODE'
-"VC-WIN32","cl:-W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
+"VC-WIN32","cl:-W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
# Unified CE target
"debug-VC-WIN32","cl:-W3 -WX -Gs0 -GF -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
"VC-CE","cl::::WINCE::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${no_asm}:win32",
diff -ruN --strip-trailing-cr openssl-1.0.0d.orig/engines/e_aep.c openssl-1.0.0d/engines/e_aep.c
--- openssl-1.0.0d.orig/engines/e_aep.c 2010-11-18 23:59:42 +0100
+++ openssl-1.0.0d/engines/e_aep.c 2011-02-10 23:57:56 +0100
@@ -61,7 +61,12 @@
#include <sys/types.h>
#include <unistd.h>
#else
+#ifdef _MSC_VER
+#include <windows.h>
+#define _getpid GetCurrentProcessId
+#else
#include <process.h>
+#endif
typedef int pid_t;
#endif
diff -ruN --strip-trailing-cr openssl-1.0.0d.orig/util/pl/VC-32.pl openssl-1.0.0d/util/pl/VC-32.pl
--- openssl-1.0.0d.orig/util/pl/VC-32.pl 2010-09-13 19:28:34 +0200
+++ openssl-1.0.0d/util/pl/VC-32.pl 2011-02-10 23:57:56 +0100
@@ -37,7 +37,7 @@
$lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
$opt_cflags=$f.' /Ox';
$dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
- $lflags="/nologo /subsystem:console /opt:ref";
+ $lflags="/nologo /subsystem:console /opt:ref msvcrt_win2003.obj";
*::perlasm_compile_target = sub {
my ($target,$source,$bname)=@_;
@@ -118,7 +118,7 @@
$lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib
$opt_cflags=$f.' /Ox /O2 /Ob2';
$dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
- $lflags="/nologo /subsystem:console /opt:ref";
+ $lflags="/nologo /subsystem:console /opt:ref msvcrt_winxp.obj";
}
$mlflags='';
@@ -179,7 +179,7 @@
$lfile='/out:';
$shlib_ex_obj="";
-$app_ex_obj="setargv.obj" if ($FLAVOR !~ /CE/);
+$app_ex_obj="" if ($FLAVOR !~ /CE/);
if ($FLAVOR =~ /WIN64A/) {
if (`nasm -v 2>NUL` =~ /NASM version ([0-9]+\.[0-9]+)/ && $1 >= 2.0) {
$asm='nasm -f win64 -DNEAR -Ox -g';