add wdk changes to named branch
This commit is contained in:
13
ext/enchant-wdk/src/build-x64.bat
Normal file
13
ext/enchant-wdk/src/build-x64.bat
Normal 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
|
13
ext/enchant-wdk/src/build-x86.bat
Normal file
13
ext/enchant-wdk/src/build-x86.bat
Normal 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
|
15
ext/enchant-wdk/src/config.h
Normal file
15
ext/enchant-wdk/src/config.h
Normal 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"
|
29
ext/enchant-wdk/src/libenchant.rc
Normal file
29
ext/enchant-wdk/src/libenchant.rc
Normal 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
|
588
ext/enchant-wdk/src/makefile.mak
Normal file
588
ext/enchant-wdk/src/makefile.mak
Normal 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 :
|
||||
|
20
ext/enchant-wdk/src/release-x64.bat
Normal file
20
ext/enchant-wdk/src/release-x64.bat
Normal 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
|
20
ext/enchant-wdk/src/release-x86.bat
Normal file
20
ext/enchant-wdk/src/release-x86.bat
Normal 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
33
ext/lua-wdk/build-x64.bat
Normal 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
33
ext/lua-wdk/build-x86.bat
Normal 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
46
ext/lua-wdk/lua-wdk.patch
Normal 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
13
ext/nss-wdk/build-x64.bat
Normal 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
13
ext/nss-wdk/build-x86.bat
Normal 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
273
ext/nss-wdk/nss-wdk.patch
Normal 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
|
30
ext/openssl-wdk/build-x64.bat
Normal file
30
ext/openssl-wdk/build-x64.bat
Normal 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
|
31
ext/openssl-wdk/build-x86.bat
Normal file
31
ext/openssl-wdk/build-x86.bat
Normal 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
21638
ext/openssl-wdk/certdata.txt
Normal file
File diff suppressed because it is too large
Load Diff
195
ext/openssl-wdk/mk-ca-bundle.pl
Normal file
195
ext/openssl-wdk/mk-ca-bundle.pl
Normal 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;
|
||||
|
||||
|
64
ext/openssl-wdk/openssl-wdk.patch
Normal file
64
ext/openssl-wdk/openssl-wdk.patch
Normal 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';
|
Reference in New Issue
Block a user