]> git.saurik.com Git - wxWidgets.git/blobdiff - build/bakefiles/multilib.bkl
reuse wxObjectRefData for various ref-counted classes (closes #10886)
[wxWidgets.git] / build / bakefiles / multilib.bkl
index cba2e42cfbdea723b7bdc230edd5bb7f06ad07ca..93e5848a4e10a4fedd929997e24f476eaab0a505 100644 (file)
@@ -3,6 +3,20 @@
 
 <makefile>
 
+    <define-rule name="wxshortcut" extends="phony">
+        <template>
+            <set var="name">$(id.replace('wx',''))</set>
+            <set var="namedll">
+                <if cond="SHARED=='1'">$(name)dll</if>
+            </set>
+            <set var="namelib">
+                <if cond="SHARED=='0'">$(name)lib</if>
+            </set>
+            <depends>$(namedll)</depends>
+            <depends>$(namelib)</depends>
+        </template>
+    </define-rule>
+
     <!-- ================================================================= -->
     <!--                            wxBase library                         -->
     <!-- ================================================================= -->
@@ -22,6 +36,8 @@
         <msvc-headers>$(BASE_CMN_HDR) $(BASE_PLATFORM_HDR)</msvc-headers>
     </lib>
 
+    <wxshortcut id="wxbase" cond="MONOLITHIC=='0'"/>
+
     <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">base=baselib+basedll</set>
 
 
@@ -44,6 +60,8 @@
         <msvc-headers>$(NET_CMN_HDR) $(NET_PLATFORM_HDR)</msvc-headers>
     </lib>
 
+    <wxshortcut id="wxnet" cond="MONOLITHIC=='0'"/>
+
     <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">net=netlib+netdll</set>
 
 
@@ -68,6 +86,8 @@
         <msvc-headers>$(ALL_GUI_HEADERS)</msvc-headers>
     </lib>
 
+    <wxshortcut id="wxcore" cond="MONOLITHIC=='0' and USE_GUI=='1'"/>
+
     <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">core=corelib+coredll</set>
 
 
         <msvc-headers>$(ADVANCED_HDR)</msvc-headers>
     </lib>
 
+    <wxshortcut id="wxadv" cond="MONOLITHIC=='0' and USE_GUI=='1'"/>
+
     <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">adv=advlib+advdll</set>
 
 
         <msvc-headers>$(MEDIA_HDR)</msvc-headers>
         <library>coredll</library>
         <library>basedll</library>
+        <ldlibs>$(EXTRALIBS_MEDIA)</ldlibs>
     </dll>
 
     <lib id="medialib" template="wx_lib"
         <msvc-headers>$(MEDIA_HDR)</msvc-headers>
     </lib>
 
-    <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">media=medialib+mediadll</set>
-
-
-    <!-- ================================================================= -->
-    <!--                        DB classes library                         -->
-    <!-- ================================================================= -->
-
-    <dll id="odbcdll" template="wx_base_dll"
-         cond="SHARED=='1' and USE_ODBC=='1' and MONOLITHIC=='0'">
-        <define>WXUSINGDLL</define>
-        <define>WXMAKINGDLL_ODBC</define>
-        <sources>$(ODBC_SRC)</sources>
-        <msvc-headers>$(ODBC_HDR)</msvc-headers>
-        <library>basedll</library>
-        <ldlibs>$(EXTRALIBS_ODBC)</ldlibs>
-    </dll>
+    <wxshortcut id="wxmedia" cond="MONOLITHIC=='0' and USE_GUI=='1' and USE_MEDIA=='1'"/>
 
-    <lib id="odbclib" template="wx_base_lib"
-        cond="SHARED=='0' and USE_ODBC=='1' and MONOLITHIC=='0'">
-        <sources>$(ODBC_SRC)</sources>
-        <msvc-headers>$(ODBC_HDR)</msvc-headers>
-    </lib>
-
-
-    <dll id="dbgriddll" template="wx_dll"
-         cond="SHARED=='1' and USE_GUI=='1' and USE_ODBC=='1' and MONOLITHIC=='0'">
-        <define>WXUSINGDLL</define>
-        <define>WXMAKINGDLL_DBGRID</define>
-        <sources>$(DBGRID_SRC)</sources>
-        <msvc-headers>$(DBGRID_HDR)</msvc-headers>
-        <library>advdll</library>
-        <library>odbcdll</library>
-        <library>coredll</library>
-        <library>basedll</library>
-    </dll>
-
-    <lib id="dbgridlib" template="wx_lib"
-        cond="SHARED=='0' and USE_GUI=='1' and USE_ODBC=='1' and MONOLITHIC=='0'">
-        <sources>$(DBGRID_SRC)</sources>
-        <msvc-headers>$(DBGRID_HDR)</msvc-headers>
-    </lib>
-
-    <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">odbc=odbclib+odbcdll</set>
-    <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">dbgrid=dbgridlib+dbgriddll</set>
+    <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">media=medialib+mediadll</set>
 
 
     <!-- ================================================================ -->
         <msvc-headers>$(HTML_HDR)</msvc-headers>
     </dll>
 
+    <!-- use this to conditonally link against htmldll with <library>: -->
+    <set var="htmldll_library_link">
+        <if cond="SHARED=='1' and USE_GUI=='1' and USE_HTML=='1' and MONOLITHIC=='0'">htmldll</if>
+    </set>
+
     <lib id="htmllib" template="wx_lib"
          cond="SHARED=='0' and USE_GUI=='1' and USE_HTML=='1' and MONOLITHIC=='0'">
         <sources>$(HTML_SRC)</sources>
         <msvc-headers>$(HTML_HDR)</msvc-headers>
     </lib>
 
+    <wxshortcut id="wxhtml" cond="MONOLITHIC=='0' and USE_HTML=='1'"/>
+
     <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">html=htmllib+htmldll</set>
 
     <!-- ================================================================ -->
         <msvc-headers>$(QA_HDR)</msvc-headers>
     </lib>
 
+    <wxshortcut id="wxqa" cond="MONOLITHIC=='0' and USE_QA=='1'"/>
+
     <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">qa=qalib+qadll</set>
 
     <!-- ================================================================ -->
         <msvc-headers>$(XML_HDR)</msvc-headers>
     </lib>
 
+    <wxshortcut id="wxxml" cond="MONOLITHIC=='0'"/>
+
     <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">xml=xmllib+xmldll</set>
 
     <!-- ================================================================ -->
         <define>WXUSINGDLL</define>
         <define>WXMAKINGDLL_XRC</define>
         <sources>$(XRC_SRC)</sources>
-        <library>htmldll</library>
+        <library>$(htmldll_library_link)</library>
         <library>advdll</library>
         <library>coredll</library>
         <library>xmldll</library>
         <msvc-headers>$(XRC_HDR)</msvc-headers>
     </lib>
 
+    <wxshortcut id="wxxrc" cond="MONOLITHIC=='0' and USE_XRC=='1'"/>
+
     <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">xrc=xrclib+xrcdll</set>
 
     <!-- ================================================================ -->
         <sources>$(AUI_SRC)</sources>
         <msvc-headers>$(AUI_HDR)</msvc-headers>
     </lib>
+    
+    <wxshortcut id="wxaui" cond="MONOLITHIC=='0' and USE_AUI=='1'"/>
 
     <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">aui=auilib+auidll</set>
 
+    <!-- ================================================================ -->
+    <!--                            PROPGRID                              -->
+    <!-- ================================================================ -->
+
+    <dll id="propgriddll" template="wx_dll"
+         cond="SHARED=='1' and USE_PROPGRID=='1' and MONOLITHIC=='0'">
+        <define>WXUSINGDLL</define>
+        <define>WXMAKINGDLL_PROPGRID</define>
+        <sources>$(PROPGRID_SRC)</sources>
+        <library>advdll</library>
+        <library>coredll</library>
+        <library>basedll</library>
+        <msvc-headers>$(PROPGRID_HDR)</msvc-headers>
+    </dll>
+
+    <lib id="propgridlib" template="wx_lib"
+         cond="SHARED=='0' and USE_PROPGRID=='1' and MONOLITHIC=='0'">
+        <sources>$(PROPGRID_SRC)</sources>
+        <msvc-headers>$(PROPGRID_HDR)</msvc-headers>
+    </lib>
+    
+    <wxshortcut id="wxpropgrid" cond="MONOLITHIC=='0' and USE_PROPGRID=='1'"/>
+
+    <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">propgrid=propgridlib+propgriddll</set>
+
     <!-- ================================================================ -->
     <!--                            RICHTEXT                              -->
     <!-- ================================================================ -->
         <define>WXMAKINGDLL_RICHTEXT</define>
         <sources>$(RICHTEXT_SRC)</sources>
         <library>advdll</library>
-        <library>htmldll</library>
+        <library>$(htmldll_library_link)</library>
         <library>xmldll</library>
         <library>coredll</library>
         <library>basedll</library>
         <sources>$(RICHTEXT_SRC)</sources>
         <msvc-headers>$(RICHTEXT_HDR)</msvc-headers>
     </lib>
+    
+    <wxshortcut id="wxrichtext" cond="MONOLITHIC=='0' and USE_RICHTEXT=='1'"/>
 
     <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">richtext=richtextlib+richtextdll</set>
 
+    <!-- ================================================================ -->
+    <!--                            STC                                   -->
+    <!-- ================================================================ -->
+
+    <template id="stc_base">
+        <include>$(TOP_SRCDIR)src/stc/scintilla/include</include>
+        <include>$(TOP_SRCDIR)src/stc/scintilla/src</include>
+        <define>__WX__</define>
+        <define>SCI_LEXER</define>
+        <define>LINK_LEXERS</define>
+        <cppflags-borland>-w-8027</cppflags-borland>
+        <library>wxscintilla</library>
+    </template>
+
+    <dll id="stcdll" template="wx_dll,stc_base"
+         cond="SHARED=='1' and USE_STC=='1' and MONOLITHIC=='0'">
+        <define>WXUSINGDLL</define>
+        <define>WXMAKINGDLL_STC</define>
+        <sources>$(STC_SRC)</sources>
+        <library>coredll</library>
+        <library>basedll</library>
+        <msvc-headers>$(STC_HDR)</msvc-headers>
+    </dll>
+
+    <lib id="stclib" template="wx_lib,stc_base"
+         cond="SHARED=='0' and USE_STC=='1' and MONOLITHIC=='0'">
+        <sources>$(STC_SRC)</sources>
+        <msvc-headers>$(STC_HDR)</msvc-headers>
+    </lib>
+    
+    <wxshortcut id="wxstc" cond="MONOLITHIC=='0' and USE_STC=='1'"/>
+
+    <set var="MSVC6PRJ_MERGED_TARGETS_MULTILIB" append="1">stc=stclib+stcdll</set>
+
 </makefile>