Skip to content
Snippets Groups Projects
Commit 602a48ce authored by deuce's avatar deuce
Browse files

Integrate the mingw32 library building into the main system since we can't

use an older Cryptlib anymore.
parent 7aa03d4f
Branches
Tags
No related merge requests found
...@@ -126,7 +126,7 @@ else ...@@ -126,7 +126,7 @@ else
CRYPTLIBDIR := $(CRYPT_IDIR) CRYPTLIBDIR := $(CRYPT_IDIR)
CRYPT_DEPS := cl CRYPT_DEPS := cl
CRYPT_LIBS += $(CRYPT_IDIR)/libcl.a CRYPT_LIBS += $(CRYPT_IDIR)/libcl.a
CRYPT_CFLAGS += -DSTATIC_CRYPTLIB CRYPT_CFLAGS += -DSTATIC_CRYPTLIB -DSTATIC_LIB
endif endif
# Put it all together... # Put it all together...
......
...@@ -65,7 +65,7 @@ $(CRYPT_SRC): | $(3RDPSRCDIR) ...@@ -65,7 +65,7 @@ $(CRYPT_SRC): | $(3RDPSRCDIR)
$(CRYPT_IDIR): | $(3RDPODIR) $(CRYPT_IDIR): | $(3RDPODIR)
$(QUIET)$(IFNOTEXIST) mkdir $(CRYPT_IDIR) $(QUIET)$(IFNOTEXIST) mkdir $(CRYPT_IDIR)
$(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)build/SSL-fix.patch $(3RDP_ROOT)$(DIRSEP)build/random_exit.patch $(3RDP_ROOT)$(DIRSEP)build/Dynamic-linked-static-lib.patch $(3RDP_ROOT)$(DIRSEP)build/terminal-params.patch | $(CRYPT_SRC) $(CRYPT_IDIR) $(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)build/SSL-fix.patch $(3RDP_ROOT)$(DIRSEP)build/random_exit.patch $(3RDP_ROOT)$(DIRSEP)build/Dynamic-linked-static-lib.patch $(3RDP_ROOT)$(DIRSEP)build/terminal-params.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw32.patch | $(CRYPT_SRC) $(CRYPT_IDIR)
@echo Creating $@ ... @echo Creating $@ ...
$(QUIET)-rm -rf $(CRYPT_SRC)/* $(QUIET)-rm -rf $(CRYPT_SRC)/*
$(QUIET)unzip -oa $(3RDPDISTDIR)$(DIRSEP)cryptlib.zip -d $(CRYPT_SRC) $(QUIET)unzip -oa $(3RDPDISTDIR)$(DIRSEP)cryptlib.zip -d $(CRYPT_SRC)
...@@ -73,6 +73,7 @@ $(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)b ...@@ -73,6 +73,7 @@ $(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)b
$(QUIET)patch -p0 -d $(CRYPT_SRC) < SSL-fix.patch $(QUIET)patch -p0 -d $(CRYPT_SRC) < SSL-fix.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < Dynamic-linked-static-lib.patch $(QUIET)patch -p0 -d $(CRYPT_SRC) < Dynamic-linked-static-lib.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < terminal-params.patch $(QUIET)patch -p0 -d $(CRYPT_SRC) < terminal-params.patch
$(QUIET)cd $(CRYPT_SRC) && env - PATH=$(PATH) make $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-mingw32.patch
$(QUIET)cd $(CRYPT_SRC) && env - PATH=$(PATH) CC=$(CC) AR=$(AR) RANLIB=$(RANLIB) make
$(QUIET)cp $(CRYPT_SRC)$(DIRSEP)libcl.a $(CRYPT_IDIR) $(QUIET)cp $(CRYPT_SRC)$(DIRSEP)libcl.a $(CRYPT_IDIR)
$(QUIET)cp $(CRYPT_SRC)$(DIRSEP)cryptlib.h $(CRYPT_IDIR) $(QUIET)cp $(CRYPT_SRC)$(DIRSEP)cryptlib.h $(CRYPT_IDIR)
diff -ur ../cl.patched/io/tcp.h ./io/tcp.h
--- ../cl.patched/io/tcp.h 2014-06-23 03:18:20.000000000 -0700
+++ ./io/tcp.h 2014-06-23 03:49:37.000000000 -0700
@@ -199,7 +199,7 @@
defined( __ECOS__ ) || defined( __MVS__ ) || \
defined( __PALMOS__ ) || defined( __RTEMS__ ) || \
defined ( __SYMBIAN32__ ) || defined( __TANDEM_NSK__ ) || \
- defined( __TANDEM_OSS__ ) || defined( __UNIX__ )
+ defined( __TANDEM_OSS__ ) || ( defined( __UNIX__ ) && !defined(__MSVCRT__))
/* C_IN is a cryptlib.h value which is also defined in some versions of
netdb.h, so we have to undefine it before we include any network header
Only in ./io: tcp.h.orig
diff -ur ../cl.patched/makefile ./makefile
--- ../cl.patched/makefile 2014-06-23 03:18:24.000000000 -0700
+++ ./makefile 2014-06-23 03:49:39.000000000 -0700
@@ -2299,9 +2299,8 @@
target-mingw:
@make OSNAME=win32 target-init
- @make asm_elf OBJPATH=$(OBJPATH)
make $(XDEFINES) OSNAME=MinGW CFLAGS="$(XCFLAGS) \
- -DCONFIG_DATA_LITTLEENDIAN -DWIN32 -DUSE_ASM -fomit-frame-pointer -O3"
+ -DCONFIG_DATA_LITTLEENDIAN -DWIN32 -DNO_ASM -DSTATIC_LIB -fomit-frame-pointer -O3"
# MIPS running Linux: Little-endian, 2.x kernel. Note that we use $(CFLAGS)
# rather than $(XCFLAGS) since this is a Unix system, just not the same as
Only in .: makefile.orig
diff -ur ../cl.patched/misc/config.h ./misc/config.h
--- ../cl.patched/misc/config.h 2014-06-23 03:18:16.000000000 -0700
+++ ./misc/config.h 2014-06-23 03:49:40.000000000 -0700
@@ -268,7 +268,7 @@
#if defined( __WIN32__ )
#ifndef __BORLANDC__
- #define USE_PKCS11
+// #define USE_PKCS11
#endif /* Borland C can't handle PKCS #11 headers */
#if !defined( NDEBUG )
#define USE_HARDWARE
Only in ./misc: config.h.orig
diff -ur ../cl.patched/misc/os_spec.c ./misc/os_spec.c
--- ../cl.patched/misc/os_spec.c 2014-06-23 03:18:16.000000000 -0700
+++ ./misc/os_spec.c 2014-06-23 03:49:42.000000000 -0700
@@ -1077,6 +1077,7 @@
#pragma comment( linker, "/export:DllRegisterServer=_DllRegisterServer@0,PRIVATE" )
#endif /* Win64 */
+#if 0
STDAPI DllRegisterServer( void )
{
MessageBoxA( NULL, "Why are you trying to register the cryptlib DLL?\n"
@@ -1085,6 +1086,7 @@
MB_ICONQUESTION | MB_OK );
return( E_NOINTERFACE );
}
+#endif
#endif /* !( NT_DRIVER || STATIC_LIB ) */
/* Borland's archaic compilers don't recognise DllMain() but still use the
Only in ./misc: os_spec.c.orig
diff -ur ../cl.patched/misc/os_spec.h ./misc/os_spec.h
--- ../cl.patched/misc/os_spec.h 2014-06-23 03:18:16.000000000 -0700
+++ ./misc/os_spec.h 2014-06-23 03:49:43.000000000 -0700
@@ -664,14 +664,14 @@
fairly easy but under Unix it's supported somewhat selectively and may be
buggy or platform-specific */
-#if defined( __WINDOWS__ ) || \
+#if defined( __WINDOWS__ ) || defined( __MSVCRT__) || \
( defined( __UNIX__ ) && \
( ( defined( sun ) && OSVERSION > 4 ) || defined( __linux__ ) || \
defined( _AIX ) || ( defined( __APPLE__ ) && !defined( __MAC__ ) ) ) )
#define DYNAMIC_LOAD
/* Macros to map OS-specific dynamic-load values to generic ones */
- #if defined( __WINDOWS__ )
+ #if defined( __WINDOWS__ ) || defined( __MSVCRT__ )
HMODULE WINAPI SafeLoadLibrary( LPCTSTR lpFileName );
#define INSTANCE_HANDLE HINSTANCE
@@ -944,7 +944,8 @@
#define EOL "\n"
#define EOL_LEN 1
#else
- #error "You need to add the OS-specific define to enable end-of-line handling"
+ #define EOL "\n"
+ #define EOL_LEN 1
#endif /* OS-specific EOL markers */
/* If we're compiling on IBM mainframes, enable EBCDIC <-> ASCII string
Only in ./misc: os_spec.h.orig
diff -ur ../cl.patched/random/win32.c ./random/win32.c
--- ../cl.patched/random/win32.c 2014-06-23 03:18:14.000000000 -0700
+++ ./random/win32.c 2014-06-23 03:49:45.000000000 -0700
@@ -1216,7 +1216,7 @@
/* If we're running under Win64 there's no need to include Win95/98
backwards-compatibility features */
-#ifndef __WIN64__
+#if 0
/* Type definitions for function pointers to call Toolhelp32 functions */
@@ -2118,7 +2118,7 @@
krnlExitMutex( MUTEX_RANDOM );
return;
}
-#ifndef __WIN64__
+#if 0
if( getSysVar( SYSVAR_ISWIN95 ) == TRUE )
{
hThread = ( HANDLE ) _beginthreadex( NULL, 0, threadSafeSlowPollWin95,
Only in ./random: win32.c.orig
diff -ur ../cl.patched/tools/buildlib.sh ./tools/buildlib.sh
--- ../cl.patched/tools/buildlib.sh 2014-06-23 03:18:20.000000000 -0700
+++ ./tools/buildlib.sh 2014-06-23 03:49:46.000000000 -0700
@@ -69,7 +69,7 @@
echo "Need to set up ucLinux link command" ;;
*)
- ar rcs $LIBNAME $* || \
- ( ar rc $LIBNAME $* && ranlib $LIBNAME )
+ $AR rcs $LIBNAME $* || \
+ ( $AR rc $LIBNAME $* && $RANLIB $LIBNAME )
esac
Only in ./tools: buildlib.sh.orig
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment