← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 2305: support HTML Help libs from recent MS SDKs

 

------------------------------------------------------------
revno: 2305
committer: poy <poy@xxxxxxxxxx>
branch nick: trunk
timestamp: Wed 2010-11-24 20:05:54 +0100
message:
  support HTML Help libs from recent MS SDKs
added:
  htmlhelp/lib/ia64/
  htmlhelp/lib/x64/
  htmlhelp/preload/
  htmlhelp/preload/htmlhelp.h
modified:
  SConstruct
  changelog.txt
  win32/WinUtil.cpp


--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk

Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'SConstruct'
--- SConstruct	2010-11-23 16:38:12 +0000
+++ SConstruct	2010-11-24 19:05:54 +0000
@@ -174,8 +174,11 @@
 
 	env.Tool("gch", toolpath=".")
 
-	env.Append(CPPPATH = ['#/htmlhelp/include/'])
-	env.Append(LIBPATH = ['#/htmlhelp/lib/'])
+	env.Append(CPPPATH = ['#/htmlhelp/preload/', '#/htmlhelp/include/'])
+	html_lib = '#/htmlhelp/lib/'
+	if env['arch'] != 'x86':
+		html_lib = html_lib + env['arch'] + '/'
+	env.Append(LIBPATH = [html_lib])
 
 env.Append(CPPDEFINES = defs[env['mode']])
 env.Append(CPPDEFINES = defs['common'])
@@ -222,7 +225,7 @@
 pot_bld = Builder (action = Action([pot_args], 'Extracting messages to $TARGET from $SOURCES'))
 env.Append(BUILDERS = {'PotBuild' : pot_bld})
 
-conf = Configure(env)
+conf = Configure(env, conf_dir = dev.get_build_path('.sconf_temp'), log_file = dev.get_build_path('config.log'), clean = False, help = False)
 if conf.CheckCXXHeader(['windows.h', 'htmlhelp.h'], '<>'):
 	conf.env.Append(CPPDEFINES='HAVE_HTMLHELP_H')
 if conf.CheckCXXHeader('natupnp.h', '<>'):

=== modified file 'changelog.txt'
--- changelog.txt	2010-11-21 19:11:21 +0000
+++ changelog.txt	2010-11-24 19:05:54 +0000
@@ -35,6 +35,7 @@
 * [ADC] Group search extensions with the "GR" param (poy)
 * Keep search history in file list windows (emtee)
 * Update OpenSSL to version 1.0.0b (poy)
+* [L#378829] Make sure our OpenSSL binaries aren't "optimized for MS-DOS" (poy)
 
 -- 0.770 2010-07-05 --
 * [L#550300] Catch more potential file corruptions (thanks bigmuscle)

=== added directory 'htmlhelp/lib/ia64'
=== added directory 'htmlhelp/lib/x64'
=== added directory 'htmlhelp/preload'
=== added file 'htmlhelp/preload/htmlhelp.h'
--- htmlhelp/preload/htmlhelp.h	1970-01-01 00:00:00 +0000
+++ htmlhelp/preload/htmlhelp.h	2010-11-24 19:05:54 +0000
@@ -0,0 +1,17 @@
+// support HTML Help libs from recent MS SDKs.
+
+#ifdef _MSC_VER
+#error "htmlhelp/preload/htmlhelp.h is only for non-MSVC compilers"
+#endif
+
+#define _MSC_VER 1400 // simulate a high enough version to make sure htmlhelp doesn't define junk
+
+#define __in
+#define __in_opt
+
+#include_next <htmlhelp.h>
+
+#undef __in
+#undef __in_opt
+
+#undef _MSC_VER

=== modified file 'win32/WinUtil.cpp'
--- win32/WinUtil.cpp	2010-11-21 15:59:18 +0000
+++ win32/WinUtil.cpp	2010-11-24 19:05:54 +0000
@@ -49,6 +49,20 @@
 
 #ifdef HAVE_HTMLHELP_H
 #include <htmlhelp.h>
+
+#ifndef _MSC_VER
+// HTML Help libs from recent MS SDKs are compiled with /GS, so link in the following.
+#ifdef _WIN64
+#define HH_GS_CALL __cdecl
+#else
+#define HH_GS_CALL __fastcall
+#endif
+extern "C" {
+	void HH_GS_CALL __GSHandlerCheck() { }
+	void HH_GS_CALL __security_check_cookie(uintptr_t) { }
+}
+#undef HH_GS_CALL
+#endif
 #endif
 
 // def taken from <gettextP.h>