Add rcdefs.h and support for automatic manifests on Windows
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36133 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
4c4863dbe7
commit
c8d5853155
@ -278,10 +278,6 @@
|
||||
<if cond="TARGET_CPU=='AMD64'">/MACHINE:AMD64</if>
|
||||
<if cond="TARGET_CPU=='IA64'">/MACHINE:IA64</if>
|
||||
</set>
|
||||
<set var="RES_TARGET_CPU">
|
||||
<if cond="TARGET_CPU=='AMD64'">WX_CPU_AMD64</if>
|
||||
<if cond="TARGET_CPU=='IA64'">WX_CPU_IA64</if>
|
||||
</set>
|
||||
|
||||
<template id="common_settings">
|
||||
<debug-info>$(DEBUGINFO)</debug-info>
|
||||
@ -305,7 +301,6 @@
|
||||
</if>
|
||||
<if cond="FORMAT=='msvc'">
|
||||
<ldflags>$(LINK_TARGET_CPU)</ldflags>
|
||||
<res-define>$(RES_TARGET_CPU)</res-define>
|
||||
</if>
|
||||
</template>
|
||||
|
||||
@ -400,8 +395,27 @@ $(TAB)copy "$(DOLLAR)(InputPath)" $(SETUPHDIR)\wx\setup.h
|
||||
</if>
|
||||
</define-tag>
|
||||
|
||||
<define-tag name="msvc-create-rcdefs-h" rules="dll,lib">
|
||||
<if cond="IS_MSVC_PRJ">
|
||||
<msvc-headers-setup-h>
|
||||
msw/genrcdefs.h
|
||||
</msvc-headers-setup-h>
|
||||
<set var="VC_COMPILER">
|
||||
<if cond="FORMAT=='msevc4prj'">$(_COMPILER)</if>
|
||||
<if cond="FORMAT!='msevc4prj'">cl</if>
|
||||
</set>
|
||||
<set var="_custom_build_include_wx_msw_genrcdefs_h">
|
||||
Creating $(SETUPHDIR)\wx\msw\rcdefs.h
|
||||
|
||||
"$(SETUPHDIR)\wx\msw\rcdefs.h" : "$(DOLLAR)(SOURCE)" "$(DOLLAR)(SETUPHDIR)\wx\msw"
|
||||
$(TAB)$(VC_COMPILER) /EP /nologo "$(DOLLAR)(InputPath)" > "$(SETUPHDIR)\wx\msw\rcdefs.h"
|
||||
</set>
|
||||
</if>
|
||||
</define-tag>
|
||||
|
||||
<template id="msvc_setup_h">
|
||||
<msvc-copy-setup-h/>
|
||||
<msvc-create-rcdefs-h/>
|
||||
</template>
|
||||
|
||||
<!-- =============================================================== -->
|
||||
@ -445,11 +459,9 @@ $(TAB)copy "$(DOLLAR)(InputPath)" $(SETUPHDIR)\wx\setup.h
|
||||
<define>$(THREAD_DEFINE)</define>
|
||||
<define>$(UNICODE_DEFINE)</define>
|
||||
<define>$(MSLU_DEFINE)</define>
|
||||
<!-- this include is added by configure, we need to put other
|
||||
includes before it: -->
|
||||
<include cond="FORMAT!='autoconf'">$(SETUPHDIR)</include>
|
||||
<include cond="FORMAT!='autoconf'">$(TOP_SRCDIR)include</include>
|
||||
<lib-path>$(LIBDIRNAME)</lib-path>
|
||||
<include cond="FORMAT!='autoconf'">$(SETUPHDIR)</include>
|
||||
<warnings>max</warnings>
|
||||
<cppflags-watcom>
|
||||
-wcd=549 <!-- 'sizeof' operand contains compiler generated information -->
|
||||
@ -575,6 +587,14 @@ $(TAB)copy "$(DOLLAR)(InputPath)" $(SETUPHDIR)\wx\setup.h
|
||||
</if>
|
||||
</template>
|
||||
|
||||
<if cond="FORMAT=='autoconf'">
|
||||
<set var="RCDEFDIR">
|
||||
<if cond="TOOLKIT=='MSW'">
|
||||
$(LIBDIRNAME)/wx/include/$(TOOLCHAIN_FULLNAME)
|
||||
</if>
|
||||
</set>
|
||||
</if>
|
||||
|
||||
<template id="wx_dll_b" template="wx_lib_b">
|
||||
<set var="WXDLLNAME">$(wxwin.mkDllName(wxid))</set>
|
||||
<dllname>$(WXDLLNAME)</dllname>
|
||||
@ -587,9 +607,10 @@ $(TAB)copy "$(DOLLAR)(InputPath)" $(SETUPHDIR)\wx\setup.h
|
||||
<!-- version info resources: -->
|
||||
<if cond="FORMAT not in ['rpmspec','wx24dsp']"> <!-- FIXME: fix for bkl-0.1.7 only, remove the cond later -->
|
||||
<res-define>WXDLLNAME=$(WXDLLNAME)</res-define>
|
||||
<res-include cond="FORMAT=='autoconf'">
|
||||
$(TOP_SRCDIR)include
|
||||
</res-include>
|
||||
<if cond="FORMAT=='autoconf'">
|
||||
<res-include>$(TOP_SRCDIR)include</res-include>
|
||||
<res-include>$(RCDEFDIR)</res-include>
|
||||
</if>
|
||||
</if>
|
||||
<win32-res>$(WXTOPDIR)src/msw/version.rc</win32-res>
|
||||
</template>
|
||||
|
@ -34,9 +34,10 @@
|
||||
<include>$(SRCDIR)/$(WXTOPDIR)samples</include>
|
||||
<!-- this include is not added via <include> for autoconf, see
|
||||
common.bkl: -->
|
||||
<res-include cond="FORMAT=='autoconf'">
|
||||
$(TOP_SRCDIR)include
|
||||
</res-include>
|
||||
<if cond="FORMAT=='autoconf'">
|
||||
<res-include>$(TOP_SRCDIR)include</res-include>
|
||||
<res-include>$(RCDEFDIR)</res-include>
|
||||
</if>
|
||||
|
||||
<win32-res>$(WXTOPDIR)samples/sample.rc</win32-res>
|
||||
<if cond="FORMAT=='autoconf'">
|
||||
|
@ -5,6 +5,29 @@
|
||||
|
||||
<set var="BUILDING_LIB" overwrite="0">0</set>
|
||||
|
||||
<set var="CPP_DEFAULT_VALUE">
|
||||
<if cond="FORMAT=='borland'">
|
||||
cpp32 -Sr -oCON
|
||||
</if>
|
||||
<if cond="FORMAT=='mingw'">
|
||||
$(DOLLAR)(CC) -E
|
||||
</if>
|
||||
<if cond="FORMAT=='msvc'">
|
||||
$(DOLLAR)(CC) /EP /nologo
|
||||
</if>
|
||||
<if cond="FORMAT=='watcom'">
|
||||
$(DOLLAR)(CC) -p
|
||||
</if>
|
||||
</set>
|
||||
<option name="CPP">
|
||||
<default-value>
|
||||
$(CPP_DEFAULT_VALUE)
|
||||
</default-value>
|
||||
<description>
|
||||
The C preprocessor
|
||||
</description>
|
||||
</option>
|
||||
|
||||
<option name="SHARED">
|
||||
<values>0,1</values>
|
||||
<values-description>,DLL</values-description>
|
||||
|
@ -1407,6 +1407,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
wx/msw/regconf.h
|
||||
wx/msw/region.h
|
||||
wx/msw/registry.h
|
||||
wx/msw/rcdefs.h
|
||||
wx/msw/scrolbar.h
|
||||
wx/msw/setup0.h
|
||||
wx/msw/slider95.h
|
||||
|
@ -101,9 +101,18 @@
|
||||
</command>
|
||||
</action>
|
||||
|
||||
<set var="RCDEFS_H">
|
||||
<if cond="TOOLKIT=='MSW'">
|
||||
lib/wx/include/$(TOOLCHAIN_FULLNAME)/wx/msw/rcdefs.h
|
||||
</if>
|
||||
</set>
|
||||
|
||||
<data-files>
|
||||
<srcdir>$(BUILDDIR)</srcdir>
|
||||
<files>lib/wx/include/$(TOOLCHAIN_FULLNAME)/wx/setup.h</files>
|
||||
<files>
|
||||
lib/wx/include/$(TOOLCHAIN_FULLNAME)/wx/setup.h
|
||||
$(RCDEFS_H)
|
||||
</files>
|
||||
<install-to>$(LIBDIR)/wx/include/$(TOOLCHAIN_FULLNAME)/wx</install-to>
|
||||
</data-files>
|
||||
|
||||
@ -193,6 +202,29 @@
|
||||
</if>
|
||||
|
||||
|
||||
<!-- create rcdefs.h on Windows: -->
|
||||
<if cond="FORMAT in ['borland','mingw','msvc','watcom']">
|
||||
|
||||
<mkdir id="libdir_setup_wx_msw">
|
||||
<depends>libdir_setup_wx</depends>
|
||||
<dir>$(SETUPHDIR)/wx/msw</dir>
|
||||
</mkdir>
|
||||
|
||||
<action id="rcdefs.h">
|
||||
|
||||
<dependency-of>setup_h</dependency-of>
|
||||
<depends>libdir_setup_wx_msw</depends>
|
||||
<depends-on-file>$(SRCDIR)/include/wx/msw/genrcdefs.h</depends-on-file>
|
||||
|
||||
<command>
|
||||
$(DOLLAR)(CPP) "$(SRCDIR)\include\wx\msw\genrcdefs.h" > "$(SETUPHDIR)\wx\msw\rcdefs.h"
|
||||
</command>
|
||||
|
||||
</action>
|
||||
|
||||
</if>
|
||||
|
||||
|
||||
<if cond="FORMAT=='autoconf'">
|
||||
|
||||
<!-- Show this banner after installation: -->
|
||||
|
17
configure.in
17
configure.in
@ -7291,6 +7291,23 @@ AC_PROG_MAKE_SET
|
||||
|
||||
AC_CONFIG_HEADERS([lib/wx/include/${TOOLCHAIN_FULLNAME}/wx/setup.h:setup.h.in])
|
||||
|
||||
if test "$USE_WIN32" = 1; then
|
||||
AC_CONFIG_COMMANDS(
|
||||
[
|
||||
rcdefs.h
|
||||
],
|
||||
[
|
||||
mkdir -p $outdir &&
|
||||
$CPP $infile | sed 's/^# *[1-9].*//;s/^ *//;/./,/^$/!d' > $outdir/rcdefs.h
|
||||
],
|
||||
[
|
||||
CPP="$CPP"
|
||||
infile="$srcdir/include/wx/msw/genrcdefs.h"
|
||||
outdir="lib/wx/include/$TOOLCHAIN_FULLNAME/wx/msw"
|
||||
]
|
||||
)
|
||||
fi
|
||||
|
||||
AC_CONFIG_FILES([ lib/wx/config/${TOOLCHAIN_FULLNAME}:wx-config.in ],
|
||||
[ chmod +x lib/wx/config/${TOOLCHAIN_FULLNAME} ],
|
||||
[ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ])
|
||||
|
@ -2880,5 +2880,32 @@ typedef struct window_t *WXWidget;
|
||||
private: \
|
||||
classname& operator=(const classname&);
|
||||
|
||||
/* --------------------------------------------------------------------------- */
|
||||
/* If a manifest is being automatically generated, add common controls 6 to it */
|
||||
/* --------------------------------------------------------------------------- */
|
||||
|
||||
#if (!defined wxUSE_NO_MANIFEST || wxUSE_NO_MANIFEST == 0 ) && \
|
||||
( defined _MSC_FULL_VER && _MSC_FULL_VER >= 140040130 )
|
||||
|
||||
#define WX_CC_MANIFEST(cpu) \
|
||||
"/manifestdependency:\"type='win32' \
|
||||
name='Microsoft.Windows.Common-Controls' \
|
||||
version='6.0.0.0' \
|
||||
processorArchitecture='"cpu"' \
|
||||
publicKeyToken='6595b64144ccf1df' \
|
||||
language='*'\""
|
||||
|
||||
#if defined _M_IX86
|
||||
#pragma comment(linker, WX_CC_MANIFEST("x86"))
|
||||
#elif defined _M_X64
|
||||
#pragma comment(linker, WX_CC_MANIFEST("amd64"))
|
||||
#elif defined _M_IA64
|
||||
#pragma comment(linker, WX_CC_MANIFEST("ia64"))
|
||||
#else
|
||||
#pragma comment(linker, WX_CC_MANIFEST("*"))
|
||||
#endif
|
||||
|
||||
#endif /* !wxUSE_NO_MANIFEST && _MSC_FULL_VER >= 140040130 */
|
||||
|
||||
#endif
|
||||
/* _WX_DEFS_H_ */
|
||||
|
43
include/wx/msw/genrcdefs.h
Executable file
43
include/wx/msw/genrcdefs.h
Executable file
@ -0,0 +1,43 @@
|
||||
/*
|
||||
* Name: wx/msw/genrcdefs.h
|
||||
* Purpose: Emit preprocessor symbols into rcdefs.h for resource compiler
|
||||
* Author: Mike Wetherell
|
||||
* RCS-ID: $Id$
|
||||
* Copyright: (c) 2005 Mike Wetherell
|
||||
* Licence: wxWindows licence
|
||||
*/
|
||||
|
||||
#define EMIT(line) line
|
||||
|
||||
EMIT(#ifndef _WX_RCDEFS_H)
|
||||
EMIT(#define _WX_RCDEFS_H)
|
||||
|
||||
#ifdef _MSC_FULL_VER
|
||||
EMIT(#define WX_MSC_FULL_VER _MSC_FULL_VER)
|
||||
#endif
|
||||
|
||||
#ifdef _M_AMD64
|
||||
EMIT(#define WX_CPU_AMD64)
|
||||
#endif
|
||||
|
||||
#ifdef _M_ARM
|
||||
EMIT(#define WX_CPU_ARM)
|
||||
#endif
|
||||
|
||||
#ifdef _M_IA64
|
||||
EMIT(#define WX_CPU_IA64)
|
||||
#endif
|
||||
|
||||
#if defined _M_IX86 || defined _X86_
|
||||
EMIT(#define WX_CPU_X86)
|
||||
#endif
|
||||
|
||||
#ifdef _M_PPC
|
||||
EMIT(#define WX_CPU_PPC)
|
||||
#endif
|
||||
|
||||
#ifdef _M_SH
|
||||
EMIT(#define WX_CPU_SH)
|
||||
#endif
|
||||
|
||||
EMIT(#endif)
|
15
include/wx/msw/rcdefs.h
Normal file
15
include/wx/msw/rcdefs.h
Normal file
@ -0,0 +1,15 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/msw/rcdefs.h
|
||||
// Purpose: Fallback for the generated rcdefs.h under the lib directory
|
||||
// Author: Mike Wetherell
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2005 Mike Wetherell
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_RCDEFS_H
|
||||
#define _WX_RCDEFS_H
|
||||
|
||||
#define WX_CPU_X86
|
||||
|
||||
#endif
|
@ -20,6 +20,8 @@
|
||||
#include "wx/msw/wince/wince.rc"
|
||||
#endif
|
||||
|
||||
#include "wx/msw/rcdefs.h"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// This is the MDI Window menu
|
||||
@ -92,13 +94,15 @@ wxBITMAP_STD_COLOURS BITMAP "wx/msw/colours.bmp"
|
||||
//
|
||||
|
||||
#if !defined(wxUSE_NO_MANIFEST) || (wxUSE_NO_MANIFEST == 0)
|
||||
#if !defined(WX_MSC_FULL_VER) || WX_MSC_FULL_VER < 140040130
|
||||
|
||||
#ifdef WX_CPU_AMD64
|
||||
#if defined(WX_CPU_AMD64)
|
||||
1 24 "wx/msw/amd64.manifest"
|
||||
#elif defined(WX_CPU_IA64)
|
||||
1 24 "wx/msw/ia64.manifest"
|
||||
#elif !defined(__WIN64__)
|
||||
#elif defined(WX_CPU_X86)
|
||||
1 24 "wx/msw/wx.manifest"
|
||||
#endif
|
||||
|
||||
#endif // !defined(WX_MSC_FULL_VER) || WX_MSC_FULL_VER < 140040130
|
||||
#endif // !defined(wxUSE_NO_MANIFEST) || (wxUSE_NO_MANIFEST == 0)
|
||||
|
Loading…
Reference in New Issue
Block a user