<set var="BUILDDIR">$(OBJS)</set>
</if>
- <set var="LIBDIRNAME">
+ <set var="LIBDIRNAME" make_var="1">
<if cond="FORMAT=='autoconf'">$(top_builddir)lib</if>
<if cond="FORMAT!='autoconf'">
- $(TOP_SRCDIR)lib$(DIRSEP)$(COMPILER)_$(CFG_NAME_PART)
+ $(nativePaths(TOP_SRCDIR))lib$(DIRSEP)$(COMPILER)_$(CFG_NAME_PART)
</if>
</set>
</if>
</template>
+ <define-tag name="msvc-headers" rules="dll,lib">
+ <if cond="FORMAT=='msvc6prj'">
+ <msvc-project-files>
+ $(addPrefixToList('include\', wxwin.headersOnly(value)))
+ </msvc-project-files>
+ </if>
+ </define-tag>
+
<!-- for GUI libs/samples: -->
<template id="wx_append_nomono" template="wx_append_base_nomono">
<ldlibs>$(EXTRALIBS_GUI)</ldlibs>
</template>
<template id="wx_base_dll" template="wx_dll_b"
template_append="wx_append_base_nomono">
+ <depends>wxexpat</depends>
<depends>wxzlib</depends>
<depends>wxregex</depends>
</template>
<define>wxUSE_BASE=1</define>
<define>WXMAKINGDLL</define>
<sources>$(MONOLIB_SRC)</sources>
+ <msvc-headers>$(ALL_HEADERS)</msvc-headers>
<ldlibs>$(EXTRALIBS_XML)</ldlibs>
</dll>
cond="SHARED=='0' and MONOLITHIC=='1'">
<define>wxUSE_BASE=1</define>
<sources>$(MONOLIB_SRC)</sources>
+ <msvc-headers>$(ALL_HEADERS)</msvc-headers>
</lib>
</makefile>
<define>wxUSE_BASE=1</define>
<define>wxUSE_GUI=0</define>
<sources>$(BASE_SRC) $(BASE_AND_GUI_SRC)</sources>
+ <msvc-headers>$(BASE_CMN_HDR) $(BASE_PLATFORM_HDR)</msvc-headers>
</dll>
<lib id="baselib" template="wx_base_lib"
<define>wxUSE_BASE=1</define>
<define>wxUSE_GUI=0</define>
<sources>$(BASE_SRC) $(BASE_AND_GUI_SRC)</sources>
+ <msvc-headers>$(BASE_CMN_HDR) $(BASE_PLATFORM_HDR)</msvc-headers>
</lib>
<!-- ================================================================= -->
<define>WXMAKINGDLL_CORE</define>
<define>wxUSE_BASE=0</define>
<sources>$(BASE_AND_GUI_SRC) $(CORE_SRC)</sources>
+ <msvc-headers>$(ALL_GUI_HEADERS)</msvc-headers>
<library>basedll</library>
</dll>
cond="SHARED=='0' and USE_GUI=='1' and MONOLITHIC=='0'">
<define>wxUSE_BASE=0</define>
<sources>$(BASE_AND_GUI_SRC) $(CORE_SRC)</sources>
+ <msvc-headers>$(ALL_GUI_HEADERS)</msvc-headers>
</lib>
<sources>$(HTML_SRC)</sources>
<library>coredll</library>
<library>basedll</library>
+ <msvc-headers>$(HTML_HDR)</msvc-headers>
</dll>
<lib id="htmllib" template="wx_lib"
cond="SHARED=='0' and USE_HTML=='1' and MONOLITHIC=='0'">
<sources>$(HTML_SRC)</sources>
+ <msvc-headers>$(HTML_HDR)</msvc-headers>
</lib>
<!-- ================================================================ -->
<define>WXUSINGDLL</define>
<define>WXMAKINGDLL_XML</define>
<sources>$(XML_SRC)</sources>
+ <msvc-headers>$(XML_HDR)</msvc-headers>
<library>basedll</library>
<ldlibs>$(EXTRALIBS_XML)</ldlibs>
</dll>
<lib id="xmllib" template="wx_base_lib"
cond="SHARED=='0' and MONOLITHIC=='0'">
<sources>$(XML_SRC)</sources>
+ <msvc-headers>$(XML_HDR)</msvc-headers>
</lib>
</makefile>
<define>WXUSINGDLL</define>
<define>WXMAKINGDLL_GL</define>
<sources>$(OPENGL_SRC)</sources>
+ <msvc-headers>$(OPENGL_HDR)</msvc-headers>
<!-- link against base and core libs in multilib build: -->
<sys-lib>$(WXLIBGLDEP_CORE)</sys-lib>
<lib id="gllib" template="wx_lib"
cond="SHARED=='0' and USE_GUI=='1' and USE_OPENGL=='1'">
<sources>$(OPENGL_SRC)</sources>
+ <msvc-headers>$(OPENGL_HDR)</msvc-headers>
</lib>
</makefile>
return getVersion()[1]
def getVersionRelease():
return getVersion()[2]
+
+
+def headersOnly(files):
+ """Filters 'files' so that only headers are left. Used with
+ <msvc-project-files> to add headers to VC++ projects but not files such
+ as arrimpl.cpp."""
+
+ def callback(cond, sources):
+ prf = suf = ''
+ if sources[0].isspace(): prefix=' '
+ if sources[-1].isspace(): suffix=' '
+ retval = []
+ for s in sources.split():
+ if s.endswith('.h'):
+ retval.append(s)
+ return '%s%s%s' % (prf, ' '.join(retval), suf)
+ return utils.substitute2(files, callback)