Hopefully, the definitive spec files commit. Dedicated to Samuel Serapión, who reported issues with my previous commits.

modified   tools/rbuild/backend/mingw/modulehandler.cpp
   Specifying .spec/.pspec files twice (<importlibrary> and <file>) didn't really make sense (stubs are unusable without the .def and viceversa), so they can now be only specified in <importlibrary>. I'd rather drop <importlibrary> completely and specify .def/.spec/.pspec as <file>s, but it's too hard so it'll have to wait. At least we got rid of one invocation of the preprocessor for .pspec files
   Simplified and improved rules to generate spec and stub files from .pspec
   Did you know we set the wrong DLL name in autogenerated .def files? Always pass the right name to winebuild with --filename, just to be sure
   Fully support compiling .pspec/.spec files from the intermediate directory
   Import libraries don't actually depend on stub/thunk files

modified   tools/rbuild/backend/mingw/modulehandler.h
   Removed some dead code

modified   tools/rbuild/backend/mingw/rule.cpp
modified   tools/rbuild/module.cpp
modified   tools/rbuild/rbuild.h
   Allow <importlibrary dllname="..." ...> in all module types. Why? Why not?

modified   Makefile
   Added ECHO_CPP to echo invocations of the C preprocessor

Everything else: removed all <file> entries for .spec/.pspec files. It was just maintenance overhead

svn path=/trunk/; revision=37270
This commit is contained in:
KJK::Hyperion 2008-11-10 02:31:24 +00:00
parent f05d09c4b3
commit 8b822b8a26
86 changed files with 64 additions and 133 deletions

View file

@ -214,6 +214,7 @@ ifeq ($(HALFVERBOSEECHO),yes)
ECHO_BUILDNO =@echo $(QUOTE)[BUILDNO] $@$(QUOTE) ECHO_BUILDNO =@echo $(QUOTE)[BUILDNO] $@$(QUOTE)
ECHO_INVOKE =@echo $(QUOTE)[INVOKE] $<$(QUOTE) ECHO_INVOKE =@echo $(QUOTE)[INVOKE] $<$(QUOTE)
ECHO_PCH =@echo $(QUOTE)[PCH] $@$(QUOTE) ECHO_PCH =@echo $(QUOTE)[PCH] $@$(QUOTE)
ECHO_CPP =@echo $(QUOTE)[CPP] $@$(QUOTE)
ECHO_CC =@echo $(QUOTE)[CC] $<$(QUOTE) ECHO_CC =@echo $(QUOTE)[CC] $<$(QUOTE)
ECHO_CL =@echo $(QUOTE)[CL] $<$(QUOTE) ECHO_CL =@echo $(QUOTE)[CL] $<$(QUOTE)
ECHO_GAS =@echo $(QUOTE)[GAS] $<$(QUOTE) ECHO_GAS =@echo $(QUOTE)[GAS] $<$(QUOTE)
@ -246,6 +247,7 @@ else
ECHO_BUILDNO = ECHO_BUILDNO =
ECHO_INVOKE = ECHO_INVOKE =
ECHO_PCH = ECHO_PCH =
ECHO_CPP =
ECHO_CC = ECHO_CC =
ECHO_GAS = ECHO_GAS =
ECHO_NASM = ECHO_NASM =

View file

@ -9,6 +9,5 @@
<library>ntdll</library> <library>ntdll</library>
<file>msdmo.c</file> <file>msdmo.c</file>
<file>msdmo.rc</file> <file>msdmo.rc</file>
<file>msdmo.spec</file>
</module> </module>
</group> </group>

View file

@ -47,6 +47,5 @@
<file>control.c</file> <file>control.c</file>
<file>avisplit.c</file> <file>avisplit.c</file>
<file>version.rc</file> <file>version.rc</file>
<file>quartz.spec</file>
</module> </module>
</group> </group>

View file

@ -35,5 +35,4 @@
<file>volume.c</file> <file>volume.c</file>
<file>volumetexture.c</file> <file>volumetexture.c</file>
<file>version.rc</file> <file>version.rc</file>
<file>d3d9.spec</file>
</module> </module>

View file

@ -13,7 +13,6 @@
<file>registrar.c</file> <file>registrar.c</file>
<file>rsrc.rc</file> <file>rsrc.rc</file>
<include base="atl" root="intermediate">.</include> <include base="atl" root="intermediate">.</include>
<file>atl.spec</file>
<library>wine</library> <library>wine</library>
<library>uuid</library> <library>uuid</library>
<library>ole32</library> <library>ole32</library>

View file

@ -21,5 +21,4 @@
<file>browseui_main.c</file> <file>browseui_main.c</file>
<file>regsvr.c</file> <file>regsvr.c</file>
<file>version.rc</file> <file>version.rc</file>
<file>browseui.spec</file>
</module> </module>

View file

@ -10,7 +10,6 @@
<file>fci.c</file> <file>fci.c</file>
<file>fdi.c</file> <file>fdi.c</file>
<file>cabinet.rc</file> <file>cabinet.rc</file>
<file>cabinet.spec</file>
<library>wine</library> <library>wine</library>
<library>kernel32</library> <library>kernel32</library>
<library>ntdll</library> <library>ntdll</library>

View file

@ -9,5 +9,4 @@
<library>kernel32</library> <library>kernel32</library>
<library>ntdll</library> <library>ntdll</library>
<file>clusapi.c</file> <file>clusapi.c</file>
<file>clusapi.spec</file>
</module> </module>

View file

@ -43,7 +43,6 @@
<file>treeview.c</file> <file>treeview.c</file>
<file>updown.c</file> <file>updown.c</file>
<file>rsrc.rc</file> <file>rsrc.rc</file>
<file>comctl32.spec</file>
<library>wine</library> <library>wine</library>
<library>user32</library> <library>user32</library>
<library>gdi32</library> <library>gdi32</library>

View file

@ -15,7 +15,6 @@
<file>fontdlg.c</file> <file>fontdlg.c</file>
<file>printdlg.c</file> <file>printdlg.c</file>
<file>rsrc.rc</file> <file>rsrc.rc</file>
<file>comdlg32.spec</file>
<library>wine</library> <library>wine</library>
<library>uuid</library> <library>uuid</library>
<library>shell32</library> <library>shell32</library>

View file

@ -10,7 +10,6 @@
<define name="_WIN32_WINNT">0x600</define> <define name="_WIN32_WINNT">0x600</define>
<file>credui_main.c</file> <file>credui_main.c</file>
<file>credui.rc</file> <file>credui.rc</file>
<file>credui.spec</file>
<library>wine</library> <library>wine</library>
<library>advapi32</library> <library>advapi32</library>
<library>user32</library> <library>user32</library>

View file

@ -35,5 +35,4 @@
<file>ctl.c</file> <file>ctl.c</file>
<file>message.c</file> <file>message.c</file>
<file>crypt32.rc</file> <file>crypt32.rc</file>
<file>crypt32.spec</file>
</module> </module>

View file

@ -10,5 +10,4 @@
<library>kernel32</library> <library>kernel32</library>
<library>ntdll</library> <library>ntdll</library>
<file>cryptdll.c</file> <file>cryptdll.c</file>
<file>cryptdll.spec</file>
</module> </module>

View file

@ -13,6 +13,5 @@
<library>wininet</library> <library>wininet</library>
<library>ntdll</library> <library>ntdll</library>
<file>cryptnet_main.c</file> <file>cryptnet_main.c</file>
<file>cryptnet.spec</file>
</module> </module>
</group> </group>

View file

@ -8,7 +8,6 @@
<include base="ReactOS">include/reactos/wine</include> <include base="ReactOS">include/reactos/wine</include>
<define name="__WINESRC__" /> <define name="__WINESRC__" />
<file>main.c</file> <file>main.c</file>
<file>cryptui.spec</file>
<library>wine</library> <library>wine</library>
<library>kernel32</library> <library>kernel32</library>
<library>ntdll</library> <library>ntdll</library>

View file

@ -25,7 +25,6 @@
<file>storage.c</file> <file>storage.c</file>
<file>symbol.c</file> <file>symbol.c</file>
<file>type.c</file> <file>type.c</file>
<file>dbghelp.spec</file>
<library>wine</library> <library>wine</library>
<library>psapi</library> <library>psapi</library>
<library>kernel32</library> <library>kernel32</library>

View file

@ -7,7 +7,6 @@
<include base="ReactOS">include/reactos/wine</include> <include base="ReactOS">include/reactos/wine</include>
<define name="__WINESRC__" /> <define name="__WINESRC__" />
<file>dciman_main.c</file> <file>dciman_main.c</file>
<file>dciman32.spec</file>
<library>wine</library> <library>wine</library>
<library>kernel32</library> <library>kernel32</library>
<library>ntdll</library> <library>ntdll</library>

View file

@ -12,6 +12,5 @@
<file>hwpage.c</file> <file>hwpage.c</file>
<file>misc.c</file> <file>misc.c</file>
<file>stubs.c</file> <file>stubs.c</file>
<file>devmgr.spec</file>
<pch>precomp.h</pch> <pch>precomp.h</pch>
</module> </module>

View file

@ -8,5 +8,4 @@
<library>iphlpapi</library> <library>iphlpapi</library>
<file>dhcpcsvc.c</file> <file>dhcpcsvc.c</file>
<file>dhcpcsvc.rc</file> <file>dhcpcsvc.rc</file>
<file>dhcpcsvc.spec</file>
</module> </module>

View file

@ -14,5 +14,4 @@
<file>assembly.c</file> <file>assembly.c</file>
<file>fusion.c</file> <file>fusion.c</file>
<file>fusion_main.c</file> <file>fusion_main.c</file>
<file>fusion.spec</file>
</module> </module>

View file

@ -19,7 +19,6 @@
<file>pen.c</file> <file>pen.c</file>
<file>region.c</file> <file>region.c</file>
<file>stringformat.c</file> <file>stringformat.c</file>
<file>gdiplus.spec</file>
<library>wine</library> <library>wine</library>
<library>uuid</library> <library>uuid</library>
<library>shlwapi</library> <library>shlwapi</library>

View file

@ -11,7 +11,6 @@
<file>extserv.c</file> <file>extserv.c</file>
<file>hlink_main.c</file> <file>hlink_main.c</file>
<file>link.c</file> <file>link.c</file>
<file>hlink.spec</file>
<library>wine</library> <library>wine</library>
<library>shell32</library> <library>shell32</library>
<library>ole32</library> <library>ole32</library>

View file

@ -8,5 +8,4 @@
<library>wine</library> <library>wine</library>
<file>icmp_main.c</file> <file>icmp_main.c</file>
<file>icmp.rc</file> <file>icmp.rc</file>
<file>icmp.spec</file>
</module> </module>

View file

@ -10,6 +10,5 @@
<file>integrity.c</file> <file>integrity.c</file>
<file>modify.c</file> <file>modify.c</file>
<file>imagehlp.rc</file> <file>imagehlp.rc</file>
<file>imagehlp.spec</file>
<pch>precomp.h</pch> <pch>precomp.h</pch>
</module> </module>

View file

@ -9,7 +9,6 @@
<define name="_WIN32_WINNT">0x600</define> <define name="_WIN32_WINNT">0x600</define>
<file>imm.c</file> <file>imm.c</file>
<file>version.rc</file> <file>version.rc</file>
<file>imm32.spec</file>
<library>wine</library> <library>wine</library>
<library>user32</library> <library>user32</library>
<library>gdi32</library> <library>gdi32</library>

View file

@ -16,7 +16,6 @@
<file>pop3transport.c</file> <file>pop3transport.c</file>
<file>regsvr.c</file> <file>regsvr.c</file>
<file>smtptransport.c</file> <file>smtptransport.c</file>
<file>inetcomm.spec</file>
<library>wine</library> <library>wine</library>
<library>uuid</library> <library>uuid</library>
<library>ole32</library> <library>ole32</library>

View file

@ -7,7 +7,6 @@
<include base="ReactOS">include/reactos/wine</include> <include base="ReactOS">include/reactos/wine</include>
<define name="__WINESRC__" /> <define name="__WINESRC__" />
<file>main.c</file> <file>main.c</file>
<file>inetmib1.spec</file>
<library>wine</library> <library>wine</library>
<library>snmpapi</library> <library>snmpapi</library>
<library>kernel32</library> <library>kernel32</library>

View file

@ -17,5 +17,4 @@
<file>resinfo_reactos.c</file> <file>resinfo_reactos.c</file>
<file>route_reactos.c</file> <file>route_reactos.c</file>
<file>iphlpapi.rc</file> <file>iphlpapi.rc</file>
<file>iphlpapi.spec</file>
</module> </module>

View file

@ -11,7 +11,6 @@
<file>prop.c</file> <file>prop.c</file>
<file>sendmail.c</file> <file>sendmail.c</file>
<file>util.c</file> <file>util.c</file>
<file>mapi32.spec</file>
<library>wine</library> <library>wine</library>
<library>shlwapi</library> <library>shlwapi</library>
<library>shell32</library> <library>shell32</library>

View file

@ -10,7 +10,6 @@
<define name="_WIN32_WINNT">0x600</define> <define name="_WIN32_WINNT">0x600</define>
<file>mlang.c</file> <file>mlang.c</file>
<file>regsvr.c</file> <file>regsvr.c</file>
<file>mlang.spec</file>
<library>wine</library> <library>wine</library>
<library>ole32</library> <library>ole32</library>
<library>user32</library> <library>user32</library>

View file

@ -10,5 +10,4 @@
<library>netapi32</library> <library>netapi32</library>
<file>modemui.c</file> <file>modemui.c</file>
<file>modemui.rc</file> <file>modemui.rc</file>
<file>modemui.spec</file>
</module> </module>

View file

@ -13,7 +13,6 @@
<file>pwcache.c</file> <file>pwcache.c</file>
<file>wnet.c</file> <file>wnet.c</file>
<file>mpr.rc</file> <file>mpr.rc</file>
<file>mpr.spec</file>
<library>wine</library> <library>wine</library>
<library>user32</library> <library>user32</library>
<library>advapi32</library> <library>advapi32</library>

View file

@ -6,5 +6,4 @@
<library>wine</library> <library>wine</library>
<library>kernel32</library> <library>kernel32</library>
<file>mprapi.c</file> <file>mprapi.c</file>
<file>mprapi.spec</file>
</module> </module>

View file

@ -15,5 +15,4 @@
<file>msacm32_main.c</file> <file>msacm32_main.c</file>
<file>pcmconverter.c</file> <file>pcmconverter.c</file>
<file>stream.c</file> <file>stream.c</file>
<file>msacm32.spec</file>
</module> </module>

View file

@ -7,5 +7,4 @@
<library>uuid</library> <library>uuid</library>
<file>corruntimehost.c</file> <file>corruntimehost.c</file>
<file>mscoree_main.c</file> <file>mscoree_main.c</file>
<file>mscoree.spec</file>
</module> </module>

View file

@ -14,5 +14,4 @@
<file>stubs.c</file> <file>stubs.c</file>
<file>tui.c</file> <file>tui.c</file>
<file>msgina.rc</file> <file>msgina.rc</file>
<file>msgina.spec</file>
</module> </module>

View file

@ -57,7 +57,6 @@
<file>view.c</file> <file>view.c</file>
<file>rsrc.rc</file> <file>rsrc.rc</file>
<include base="mshtml" root="intermediate">.</include> <include base="mshtml" root="intermediate">.</include>
<file>mshtml.spec</file>
<library>wine</library> <library>wine</library>
<library>strmiids</library> <library>strmiids</library>
<library>uuid</library> <library>uuid</library>

View file

@ -52,7 +52,6 @@
<file>where.c</file> <file>where.c</file>
<file>msi.rc</file> <file>msi.rc</file>
<include base="msi" root="intermediate">.</include> <include base="msi" root="intermediate">.</include>
<file>msi.spec</file>
<library>wine</library> <library>wine</library>
<library>uuid</library> <library>uuid</library>
<library>urlmon</library> <library>urlmon</library>

View file

@ -16,7 +16,6 @@
<file>task_trigger.c</file> <file>task_trigger.c</file>
<file>mstask_local.idl</file> <file>mstask_local.idl</file>
<file>rsrc.rc</file> <file>rsrc.rc</file>
<file>mstask.spec</file>
<library>wine</library> <library>wine</library>
<library>uuid</library> <library>uuid</library>
<library>ole32</library> <library>ole32</library>

View file

@ -7,7 +7,6 @@
<include base="ReactOS">include/reactos/wine</include> <include base="ReactOS">include/reactos/wine</include>
<define name="__WINESRC__" /> <define name="__WINESRC__" />
<file>msvcrt20.c</file> <file>msvcrt20.c</file>
<file>msvcrt20.spec</file>
<library>wine</library> <library>wine</library>
<library>msvcrt</library> <library>msvcrt</library>
<library>kernel32</library> <library>kernel32</library>

View file

@ -7,7 +7,6 @@
<include base="ReactOS">include/reactos/wine</include> <include base="ReactOS">include/reactos/wine</include>
<define name="__WINESRC__" /> <define name="__WINESRC__" />
<file>msvcrt40.c</file> <file>msvcrt40.c</file>
<file>msvcrt40.spec</file>
<library>wine</library> <library>wine</library>
<library>msvcrt</library> <library>msvcrt</library>
<library>kernel32</library> <library>kernel32</library>

View file

@ -10,7 +10,6 @@
<file>msvideo_main.c</file> <file>msvideo_main.c</file>
<file>drawdib.c</file> <file>drawdib.c</file>
<file>rsrc.rc</file> <file>rsrc.rc</file>
<file>msvfw32.spec</file>
<library>wine</library> <library>wine</library>
<library>winmm</library> <library>winmm</library>
<library>version</library> <library>version</library>

View file

@ -53,7 +53,6 @@
<file>domimpl.c</file> <file>domimpl.c</file>
<file>entityref.c</file> <file>entityref.c</file>
<file>version.rc</file> <file>version.rc</file>
<file>msxml3.spec</file>
</module> </module>
<module name="msxml3_v1" type="embeddedtypelib"> <module name="msxml3_v1" type="embeddedtypelib">
<dependency>stdole2</dependency> <dependency>stdole2</dependency>

View file

@ -7,5 +7,4 @@
<library>kernel32</library> <library>kernel32</library>
<library>ntdll</library> <library>ntdll</library>
<file>nddeapi.c</file> <file>nddeapi.c</file>
<file>nddeapi.spec</file>
</module> </module>

View file

@ -18,7 +18,6 @@
<file>netbios.c</file> <file>netbios.c</file>
<file>share.c</file> <file>share.c</file>
<file>wksta.c</file> <file>wksta.c</file>
<file>netapi32.spec</file>
<library>wine</library> <library>wine</library>
<library>iphlpapi</library> <library>iphlpapi</library>
<library>ws2_32</library> <library>ws2_32</library>

View file

@ -16,7 +16,6 @@
<library>comctl32</library> <library>comctl32</library>
<library>ws2_32</library> <library>ws2_32</library>
<file>netcfgx.c</file> <file>netcfgx.c</file>
<file>netcfgx.spec</file>
<file>classfactory.c</file> <file>classfactory.c</file>
<file>netcfg_iface.c</file> <file>netcfg_iface.c</file>
<file>inetcfgcomp_iface.c</file> <file>inetcfgcomp_iface.c</file>

View file

@ -23,7 +23,6 @@
<file>netshell.rc</file> <file>netshell.rc</file>
<file>classfactory.c</file> <file>classfactory.c</file>
<file>connectmanager.c</file> <file>connectmanager.c</file>
<file>netshell.spec</file>
<file>lanconnectui.c</file> <file>lanconnectui.c</file>
<file>lanstatusui.c</file> <file>lanstatusui.c</file>
</module> </module>

View file

@ -5,7 +5,6 @@
<file>stubs.c</file> <file>stubs.c</file>
<file>wizard.c</file> <file>wizard.c</file>
<file>newdev.rc</file> <file>newdev.rc</file>
<file>newdev.spec</file>
<library>wine</library> <library>wine</library>
<library>gdi32</library> <library>gdi32</library>
<library>comctl32</library> <library>comctl32</library>

View file

@ -8,5 +8,4 @@
<library>kernel32</library> <library>kernel32</library>
<library>ntdll</library> <library>ntdll</library>
<file>ntdsapi.c</file> <file>ntdsapi.c</file>
<file>ntdsapi.spec</file>
</module> </module>

View file

@ -9,6 +9,5 @@
<library>wine</library> <library>wine</library>
<library>kernel32</library> <library>kernel32</library>
<file>proxyodbc.c</file> <file>proxyodbc.c</file>
<file>odbc32.spec</file>
</module> </module>
</group> </group>

View file

@ -12,6 +12,5 @@
<library>uuid</library> <library>uuid</library>
<library>ntdll</library> <library>ntdll</library>
<file>odbccp32.c</file> <file>odbccp32.c</file>
<file>odbccp32.spec</file>
</module> </module>
</group> </group>

View file

@ -61,7 +61,6 @@
<file>dcom.idl</file> <file>dcom.idl</file>
<file>irot.idl</file> <file>irot.idl</file>
<include base="ole32" root="intermediate">.</include> <include base="ole32" root="intermediate">.</include>
<file>ole32.spec</file>
</module> </module>
<module name="ole32_irot_server" type="rpcserver"> <module name="ole32_irot_server" type="rpcserver">
<file>irot.idl</file> <file>irot.idl</file>

View file

@ -8,7 +8,6 @@
<include base="ReactOS">include/reactos/wine</include> <include base="ReactOS">include/reactos/wine</include>
<define name="__WINESRC__" /> <define name="__WINESRC__" />
<file>main.c</file> <file>main.c</file>
<file>oleacc.spec</file>
<library>wine</library> <library>wine</library>
<library>kernel32</library> <library>kernel32</library>
<library>ntdll</library> <library>ntdll</library>

View file

@ -29,7 +29,6 @@
<file>oleaut32.rc</file> <file>oleaut32.rc</file>
<file>oleaut32_oaidl.idl</file> <file>oleaut32_oaidl.idl</file>
<include base="oleaut32" root="intermediate">.</include> <include base="oleaut32" root="intermediate">.</include>
<file>oleaut32.spec</file>
<library>oleaut32_proxy</library> <library>oleaut32_proxy</library>
<library>wine</library> <library>wine</library>
<library>ole32</library> <library>ole32</library>

View file

@ -8,5 +8,4 @@
<library>kernel32</library> <library>kernel32</library>
<library>ntdll</library> <library>ntdll</library>
<file>pdh_main.c</file> <file>pdh_main.c</file>
<file>pdh.spec</file>
</module> </module>

View file

@ -9,5 +9,4 @@
<library>ntdll</library> <library>ntdll</library>
<file>printui.c</file> <file>printui.c</file>
<file>printui.rc</file> <file>printui.rc</file>
<file>printui.spec</file>
</module> </module>

View file

@ -5,5 +5,4 @@
<library>kernel32</library> <library>kernel32</library>
<library>uuid</library> <library>uuid</library>
<file>pstorec.c</file> <file>pstorec.c</file>
<file>pstorec.spec</file>
</module> </module>

View file

@ -7,7 +7,6 @@
<include base="ReactOS">include/reactos/wine</include> <include base="ReactOS">include/reactos/wine</include>
<define name="__WINESRC__" /> <define name="__WINESRC__" />
<file>rasapi.c</file> <file>rasapi.c</file>
<file>rasapi32.spec</file>
<library>wine</library> <library>wine</library>
<library>kernel32</library> <library>kernel32</library>
<library>ntdll</library> <library>ntdll</library>

View file

@ -8,5 +8,4 @@
<library>uuid</library> <library>uuid</library>
<file>rasdlg.c</file> <file>rasdlg.c</file>
<file>rasdlg.rc</file> <file>rasdlg.rc</file>
<file>rasdlg.spec</file>
</module> </module>

View file

@ -8,5 +8,4 @@
<library>uuid</library> <library>uuid</library>
<file>rasman.c</file> <file>rasman.c</file>
<file>rasman.rc</file> <file>rasman.rc</file>
<file>rasman.spec</file>
</module> </module>

View file

@ -39,7 +39,6 @@
<file>rpcrt4.rc</file> <file>rpcrt4.rc</file>
<file>epm.idl</file> <file>epm.idl</file>
<include base="rpcrt4" root="intermediate">.</include> <include base="rpcrt4" root="intermediate">.</include>
<file>rpcrt4.spec</file>
</module> </module>
<module name="rpcrt4_epm_client" type="rpcclient"> <module name="rpcrt4_epm_client" type="rpcclient">
<file>epm.idl</file> <file>epm.idl</file>

View file

@ -13,5 +13,4 @@
<file>schannel_main.c</file> <file>schannel_main.c</file>
<file>usermode.c</file> <file>usermode.c</file>
<file>version.rc</file> <file>version.rc</file>
<file>schannel.spec</file>
</module> </module>

View file

@ -36,5 +36,4 @@
<file>stubs.c</file> <file>stubs.c</file>
<file>rpc.c</file> <file>rpc.c</file>
<file>setupapi.rc</file> <file>setupapi.rc</file>
<file>setupapi.spec</file>
</module> </module>

View file

@ -3,6 +3,5 @@
<include base="sfc">.</include> <include base="sfc">.</include>
<library>kernel32</library> <library>kernel32</library>
<file>sfc.c</file> <file>sfc.c</file>
<file>sfc.spec</file>
<pch>precomp.h</pch> <pch>precomp.h</pch>
</module> </module>

View file

@ -3,6 +3,5 @@
<include base="sfc_os">.</include> <include base="sfc_os">.</include>
<library>kernel32</library> <library>kernel32</library>
<file>sfc_os.c</file> <file>sfc_os.c</file>
<file>sfc_os.spec</file>
<pch>precomp.h</pch> <pch>precomp.h</pch>
</module> </module>

View file

@ -28,5 +28,4 @@
<file>view.c</file> <file>view.c</file>
<file>webbrowser.c</file> <file>webbrowser.c</file>
<file>shdocvw.rc</file> <file>shdocvw.rc</file>
<file>shdocvw.spec</file>
</module> </module>

View file

@ -70,7 +70,6 @@
<file>shv_def_cmenu.c</file> <file>shv_def_cmenu.c</file>
<file>startmenu.c</file> <file>startmenu.c</file>
<file>ros-systray.c</file> <file>ros-systray.c</file>
<file>shell32.spec</file>
<file>fprop.c</file> <file>fprop.c</file>
<file>drive.c</file> <file>drive.c</file>
<file>she_ocmenu.c</file> <file>she_ocmenu.c</file>

View file

@ -11,5 +11,4 @@
<library>gdiplus</library> <library>gdiplus</library>
<file>shimgvw.c</file> <file>shimgvw.c</file>
<file>shimgvw.rc</file> <file>shimgvw.rc</file>
<file>shimgvw.spec</file>
</module> </module>

View file

@ -21,7 +21,6 @@
<file>url.c</file> <file>url.c</file>
<file>wsprintf.c</file> <file>wsprintf.c</file>
<file>shlwapi.rc</file> <file>shlwapi.rc</file>
<file>shlwapi.spec</file>
<library>wine</library> <library>wine</library>
<library>uuid</library> <library>uuid</library>
<library>user32</library> <library>user32</library>

View file

@ -7,7 +7,6 @@
<include base="ReactOS">include/reactos/wine</include> <include base="ReactOS">include/reactos/wine</include>
<define name="__WINESRC__" /> <define name="__WINESRC__" />
<file>sxs.c</file> <file>sxs.c</file>
<file>sxs.spec</file>
<library>wine</library> <library>wine</library>
<library>kernel32</library> <library>kernel32</library>
<library>ntdll</library> <library>ntdll</library>

View file

@ -9,7 +9,6 @@
<file>assisted.c</file> <file>assisted.c</file>
<file>line.c</file> <file>line.c</file>
<file>phone.c</file> <file>phone.c</file>
<file>tapi32.spec</file>
<library>wine</library> <library>wine</library>
<library>advapi32</library> <library>advapi32</library>
<library>kernel32</library> <library>kernel32</library>

View file

@ -25,7 +25,6 @@
<file>umstream.c</file> <file>umstream.c</file>
<file>urlmon_main.c</file> <file>urlmon_main.c</file>
<file>rsrc.rc</file> <file>rsrc.rc</file>
<file>urlmon.spec</file>
<library>wine</library> <library>wine</library>
<library>uuid</library> <library>uuid</library>
<library>ole32</library> <library>ole32</library>

View file

@ -7,7 +7,6 @@
<include base="ReactOS">include/reactos/wine</include> <include base="ReactOS">include/reactos/wine</include>
<define name="__WINESRC__" /> <define name="__WINESRC__" />
<file>usp10.c</file> <file>usp10.c</file>
<file>usp10.spec</file>
<library>wine</library> <library>wine</library>
<library>gdi32</library> <library>gdi32</library>
<library>kernel32</library> <library>kernel32</library>

View file

@ -15,7 +15,6 @@
<file>system.c</file> <file>system.c</file>
<file>uxini.c</file> <file>uxini.c</file>
<file>version.rc</file> <file>version.rc</file>
<file>uxtheme.spec</file>
<library>wine</library> <library>wine</library>
<library>user32</library> <library>user32</library>
<library>gdi32</library> <library>gdi32</library>

View file

@ -30,6 +30,5 @@
<file>wininet_main.c</file> <file>wininet_main.c</file>
<file>rsrc.rc</file> <file>rsrc.rc</file>
<file>version.rc</file> <file>version.rc</file>
<file>wininet.spec</file>
</module> </module>
</group> </group>

View file

@ -26,6 +26,5 @@
<file>winmm.c</file> <file>winmm.c</file>
<file>registry.c</file> <file>registry.c</file>
<file>winmm_res.rc</file> <file>winmm_res.rc</file>
<file>winmm.spec</file>
</module> </module>
</group> </group>

View file

@ -17,5 +17,4 @@
<file>asn.c</file> <file>asn.c</file>
<file>softpub.c</file> <file>softpub.c</file>
<file>version.rc</file> <file>version.rc</file>
<file>wintrust.spec</file>
</module> </module>

View file

@ -27,7 +27,6 @@
<file>search.c</file> <file>search.c</file>
<file>value.c</file> <file>value.c</file>
<file>wldap32.rc</file> <file>wldap32.rc</file>
<file>wldap32.spec</file>
<library>wine</library> <library>wine</library>
<library>user32</library> <library>user32</library>
<library>kernel32</library> <library>kernel32</library>

View file

@ -7,7 +7,6 @@
<include base="ReactOS">include/reactos/wine</include> <include base="ReactOS">include/reactos/wine</include>
<define name="__WINESRC__" /> <define name="__WINESRC__" />
<file>wtsapi32.c</file> <file>wtsapi32.c</file>
<file>wtsapi32.spec</file>
<library>wine</library> <library>wine</library>
<library>kernel32</library> <library>kernel32</library>
<library>ntdll</library> <library>ntdll</library>

View file

@ -6,5 +6,4 @@
<library>hal</library> <library>hal</library>
<file>usbd.c</file> <file>usbd.c</file>
<file>usbd.rc</file> <file>usbd.rc</file>
<file>usbd.spec</file>
</module> </module>

View file

@ -10,5 +10,4 @@
<file>screen.c</file> <file>screen.c</file>
<file>surface.c</file> <file>surface.c</file>
<file>framebufacc.rc</file> <file>framebufacc.rc</file>
<file>framebufacc.spec</file>
</module> </module>

View file

@ -420,8 +420,6 @@ MingwModuleHandler::GetObjectFilename (
newExtension = "_" + module.name + ".coff"; newExtension = "_" + module.name + ".coff";
else if (extension == ".mc") else if (extension == ".mc")
newExtension = ".rc"; newExtension = ".rc";
else if (extension == ".spec" || extension == ".pspec")
newExtension = "_" + module.name + ".stubs.o";
else if (extension == ".idl") else if (extension == ".idl")
{ {
if ( module.type == RpcServer ) if ( module.type == RpcServer )
@ -540,26 +538,6 @@ MingwModuleHandler::GenerateDependsTarget () const
module.name.c_str () ); module.name.c_str () );
} }
string
MingwModuleHandler::GetObjectFilenames ()
{
const vector<CompilationUnit*>& compilationUnits = module.non_if_data.compilationUnits;
if ( compilationUnits.size () == 0 )
return "";
string objectFilenames ( "" );
for ( size_t i = 0; i < compilationUnits.size (); i++ )
{
if ( objectFilenames.size () > 0 )
objectFilenames += " ";
const FileLocation& compilationName = compilationUnits[i]->GetFilename ();
const FileLocation *object_file = GetObjectFilename ( &compilationName, module );
objectFilenames += backend->GetFullName ( *object_file );
delete object_file;
}
return objectFilenames;
}
/* static */ string /* static */ string
MingwModuleHandler::GenerateGccDefineParametersFromVector ( MingwModuleHandler::GenerateGccDefineParametersFromVector (
const vector<Define*>& defines, const vector<Define*>& defines,
@ -1001,6 +979,22 @@ MingwModuleHandler::GenerateObjectMacros (
delete object_file; delete object_file;
} }
CleanupCompilationUnitVector ( sourceCompilationUnits ); CleanupCompilationUnitVector ( sourceCompilationUnits );
if ( IsSpecDefinitionFile() )
{
const FileLocation *stubs_file = new FileLocation(
IntermediateDirectory,
module.importLibrary->source->relative_path,
ReplaceExtension ( module.importLibrary->source->name, "_" + module.name + ".stubs.o" ) );
fprintf (
fMakefile,
"%s += %s\n",
objectsMacro.c_str(),
backend->GetFullName ( *stubs_file ).c_str () );
delete stubs_file;
}
} }
/* caller needs to delete the returned object */ /* caller needs to delete the returned object */
@ -1056,33 +1050,34 @@ Rule wmcRule ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).rc
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).rc", "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).rc",
"$(INTERMEDIATE)$(SEP)include$(SEP)reactos$(SEP)$(source_name_noext).h", "$(INTERMEDIATE)$(SEP)include$(SEP)reactos$(SEP)$(source_name_noext).h",
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL ); "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
Rule winebuildPDefRule ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def: $(source)$(dependencies) $(WINEBUILD_TARGET) | $(INTERMEDIATE)$(SEP)$(source_dir)\n" Rule winebuildPDefRule ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec: $(source)$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
"\t$(ECHO_CPP)\n"
"\t${gcc} -xc -E ${$(module_name)_RCFLAGS} $(source) > $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec\n\n"
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def: $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec $(WINEBUILD_TARGET) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
"\t$(ECHO_WINEBLD)\n" "\t$(ECHO_WINEBLD)\n"
"\t${gcc} -xc -E ${$(module_name)_RCFLAGS} $(source) > $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).def.spec\n" "\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def --def -E $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec --filename $(module_dllname)\n\n",
"\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def --def -E $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).def.spec\n\n", "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec",
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).def.spec",
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def", "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def",
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL ); "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
Rule winebuildPRule ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c: $(source_path)$(SEP)$(source_name_noext).pspec $(WINEBUILD_TARGET)\n" Rule winebuildPRule ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c: $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec $(WINEBUILD_TARGET) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
"\t$(ECHO_WINEBLD)\n" "\t$(ECHO_WINEBLD)\n"
"\t${gcc} -xc -E ${$(module_name)_RCFLAGS} $(source) > $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.spec\n" "\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $@ --pedll $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec --filename $(module_dllname)\n\n"
"\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $(INTERMEDIATE)$(SEP)$(source_path)$(SEP)$(source_name_noext)_$(module_name).stubs.c --pedll $(INTERMEDIATE)$(SEP)$(source_path)$(SEP)$(source_name_noext)_$(module_name).stubs.spec\n" "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.o: $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.o: $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
"\t$(ECHO_CC)\n" "\t$(ECHO_CC)\n"
"\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -c $<\n", "\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -c $<\n",
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.spec", "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).spec",
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c", "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c",
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.o", "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.o",
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL ); "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
Rule winebuildDefRule ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def: $(source)$(dependencies) $(WINEBUILD_TARGET) | $(INTERMEDIATE)$(SEP)$(source_dir)\n" Rule winebuildDefRule ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def: $(source)$(dependencies) $(WINEBUILD_TARGET) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
"\t$(ECHO_WINEBLD)\n" "\t$(ECHO_WINEBLD)\n"
"\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $(INTERMEDIATE)$(SEP)$(source_path)$(SEP)$(source_name_noext)_$(module_name).auto.def --def -E $(source)\n\n", "\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $(INTERMEDIATE)$(SEP)$(source_path)$(SEP)$(source_name_noext)_$(module_name).auto.def --def -E $(source) --filename $(module_dllname)\n\n",
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).spec", "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext).spec",
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def", "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).auto.def",
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL ); "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)", NULL );
Rule winebuildRule ( "$(INTERMEDIATE)$(SEP)$(source_path)$(SEP)$(source_name_noext)_$(module_name).stubs.c: $(source_path)$(SEP)$(source_name_noext).spec $(WINEBUILD_TARGET)\n" Rule winebuildRule ( "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c: $(source_path)$(SEP)$(source_name_noext).spec $(WINEBUILD_TARGET)\n"
"\t$(ECHO_WINEBLD)\n" "\t$(ECHO_WINEBLD)\n"
"\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $(INTERMEDIATE)$(SEP)$(source_path)$(SEP)$(source_name_noext)_$(module_name).stubs.c --pedll $(source_path)$(SEP)$(source_name_noext).spec\n" "\t$(Q)$(WINEBUILD_TARGET) $(WINEBUILD_FLAGS) -o $@ --pedll $(source_path)$(SEP)$(source_name_noext).spec --filename $(module_dllname)\n"
"$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.o: $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n" "$(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.o: $(INTERMEDIATE)$(SEP)$(source_dir)$(SEP)$(source_name_noext)_$(module_name).stubs.c$(dependencies) | $(INTERMEDIATE)$(SEP)$(source_dir)\n"
"\t$(ECHO_CC)\n" "\t$(ECHO_CC)\n"
"\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -c $<\n", "\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -c $<\n",
@ -1258,8 +1253,6 @@ MingwModuleHandler::GenerateCommands (
{ HostDontCare, TypeDontCare, ".asm", &nasmRule }, { HostDontCare, TypeDontCare, ".asm", &nasmRule },
{ HostDontCare, TypeDontCare, ".rc", &windresRule }, { HostDontCare, TypeDontCare, ".rc", &windresRule },
{ HostDontCare, TypeDontCare, ".mc", &wmcRule }, { HostDontCare, TypeDontCare, ".mc", &wmcRule },
{ HostDontCare, TypeDontCare, ".pspec", &winebuildPRule },
{ HostDontCare, TypeDontCare, ".spec", &winebuildRule },
{ HostDontCare, RpcServer, ".idl", &widlServerRule }, { HostDontCare, RpcServer, ".idl", &widlServerRule },
{ HostDontCare, RpcClient, ".idl", &widlClientRule }, { HostDontCare, RpcClient, ".idl", &widlClientRule },
{ HostDontCare, RpcProxy, ".idl", &widlProxyRule }, { HostDontCare, RpcProxy, ".idl", &widlProxyRule },
@ -1485,8 +1478,6 @@ MingwModuleHandler::GenerateLinkerCommand (
linkerParameters.find ("-nostdlib") == string::npos && linkerParameters.find ("-nostdlib") == string::npos &&
!(module.type == KernelModeDLL || module.type == KernelModeDriver); !(module.type == KernelModeDLL || module.type == KernelModeDriver);
string targetName ( module.output->name );
if ( !module.HasImportLibrary() ) if ( !module.HasImportLibrary() )
{ {
fprintf ( fMakefile, fprintf ( fMakefile,
@ -1524,7 +1515,7 @@ MingwModuleHandler::GenerateLinkerCommand (
fprintf ( fMakefile, fprintf ( fMakefile,
"\t${dlltool} --dllname %s --def %s --output-exp $@%s%s\n", "\t${dlltool} --dllname %s --def %s --output-exp $@%s%s\n",
targetName.c_str (), module.GetDllName ().c_str (),
definitionFilename ? backend->GetFullName ( *definitionFilename ).c_str () : "", definitionFilename ? backend->GetFullName ( *definitionFilename ).c_str () : "",
module.mangledSymbols ? "" : " --kill-at", module.mangledSymbols ? "" : " --kill-at",
module.underscoreSymbols ? " --add-underscore" : "" ); module.underscoreSymbols ? " --add-underscore" : "" );
@ -1621,6 +1612,20 @@ MingwModuleHandler::GenerateObjectFileTargets ( const IfableData& data )
moduleDependencies ); moduleDependencies );
} }
CleanupCompilationUnitVector ( sourceCompilationUnits ); CleanupCompilationUnitVector ( sourceCompilationUnits );
SpecFileType spec = IsSpecDefinitionFile ();
if ( spec )
{
Rule * defRule;
if (spec == PSpec)
defRule = &winebuildPRule;
else
defRule = &winebuildRule;
defRule->Execute ( fMakefile, backend, module, module.importLibrary->source, clean_files );
}
} }
void void
@ -1683,7 +1688,7 @@ MingwModuleHandler::GenerateArchiveTarget ()
fprintf ( fMakefile, fprintf ( fMakefile,
"\t${dlltool} --dllname %s --def %s --output-lib $@%s%s\n", "\t${dlltool} --dllname %s --def %s --output-lib $@%s%s\n",
module.importLibrary->dllname.c_str (), module.GetDllName ().c_str (),
backend->GetFullName ( *definitionFilename ).c_str (), backend->GetFullName ( *definitionFilename ).c_str (),
module.mangledSymbols ? "" : " --kill-at", module.mangledSymbols ? "" : " --kill-at",
module.underscoreSymbols ? " --add-underscore" : "" ); module.underscoreSymbols ? " --add-underscore" : "" );
@ -2200,10 +2205,12 @@ MingwModuleHandler::IsSpecDefinitionFile () const
if(!module.importLibrary) if(!module.importLibrary)
return None; return None;
if(module.importLibrary->source->name.rfind(".spec") != string::npos) std::string ext = GetExtension ( *module.importLibrary->source );
if ( ext == ".spec" )
return Spec; return Spec;
if(module.importLibrary->source->name.rfind(".pspec") != string::npos) if ( ext == ".pspec" )
return PSpec; return PSpec;
return None; return None;
@ -2239,9 +2246,6 @@ MingwModuleHandler::GenerateImportLibraryTargetIfNeeded ()
const FileLocation *defFilename = GetDefinitionFilename (); const FileLocation *defFilename = GetDefinitionFilename ();
string empty = "tools" + sSep + "rbuild" + sSep + "empty.def"; string empty = "tools" + sSep + "rbuild" + sSep + "empty.def";
vector<FileLocation> deps;
GetDefinitionDependencies ( deps );
fprintf ( fMakefile, "# IMPORT LIBRARY RULE\n" ); fprintf ( fMakefile, "# IMPORT LIBRARY RULE\n" );
fprintf ( fMakefile, "%s:", fprintf ( fMakefile, "%s:",
@ -2253,11 +2257,6 @@ MingwModuleHandler::GenerateImportLibraryTargetIfNeeded ()
backend->GetFullName ( *defFilename ).c_str () ); backend->GetFullName ( *defFilename ).c_str () );
} }
size_t i, iend = deps.size();
for ( i = 0; i < iend; i++ )
fprintf ( fMakefile, " %s",
backend->GetFullName ( deps[i] ).c_str () );
fprintf ( fMakefile, " | %s\n", fprintf ( fMakefile, " | %s\n",
backend->GetFullPath ( *library_target ).c_str () ); backend->GetFullPath ( *library_target ).c_str () );
@ -2265,7 +2264,7 @@ MingwModuleHandler::GenerateImportLibraryTargetIfNeeded ()
fprintf ( fMakefile, fprintf ( fMakefile,
"\t${dlltool} --dllname %s --def %s --output-lib %s%s%s\n\n", "\t${dlltool} --dllname %s --def %s --output-lib %s%s%s\n\n",
module.output->name.c_str (), module.GetDllName ().c_str (),
defFilename ? backend->GetFullName ( *defFilename ).c_str () defFilename ? backend->GetFullName ( *defFilename ).c_str ()
: empty.c_str (), : empty.c_str (),
backend->GetFullName ( *library_target ).c_str (), backend->GetFullName ( *library_target ).c_str (),

View file

@ -97,8 +97,6 @@ protected:
const FileLocation* GetObjectFilename ( const FileLocation* sourceFile, const FileLocation* GetObjectFilename ( const FileLocation* sourceFile,
const Module& module ) const; const Module& module ) const;
std::string GetObjectFilenames ();
std::string GetPreconditionDependenciesName () const; std::string GetPreconditionDependenciesName () const;
std::string GetCFlagsMacro () const; std::string GetCFlagsMacro () const;
static std::string GetObjectsMacro ( const Module& ); static std::string GetObjectsMacro ( const Module& );

View file

@ -55,6 +55,7 @@ FixString ( const string& str, Backend *backend, const Module& module, const Fil
} }
ReplaceVariable ( ret, "$(dependencies)", dep ); ReplaceVariable ( ret, "$(dependencies)", dep );
ReplaceVariable ( ret, "$(module_name)", module.name ); ReplaceVariable ( ret, "$(module_name)", module.name );
ReplaceVariable ( ret, "$(module_dllname)", module.GetDllName() );
ReplaceVariable ( ret, "$(module_output)", GetTargetMacro ( module, true ) ); ReplaceVariable ( ret, "$(module_output)", GetTargetMacro ( module, true ) );
ReplaceVariable ( ret, "$(SEP)", sSep ); ReplaceVariable ( ret, "$(SEP)", sSep );

View file

@ -1362,6 +1362,16 @@ Module::SetImportLibrary ( ImportLibrary* importLibrary )
HasImportLibrary () ? "lib" + name + ".a" : output->name ); HasImportLibrary () ? "lib" + name + ".a" : output->name );
} }
std::string
Module::GetDllName () const
{
if ( importLibrary && !importLibrary->dllname.empty() )
return importLibrary->dllname;
else if ( output )
return output->name;
else
throw new InvalidOperationException ( __FILE__, __LINE__, "Module %s has no dllname." );
}
File::File ( DirectoryLocation directory, File::File ( DirectoryLocation directory,
const string& relative_path, const string& relative_path,

View file

@ -395,6 +395,7 @@ public:
bool HasFileWithExtension ( const IfableData&, const std::string& extension ) const; bool HasFileWithExtension ( const IfableData&, const std::string& extension ) const;
void InvokeModule () const; void InvokeModule () const;
void ProcessXML (); void ProcessXML ();
std::string GetDllName() const;
private: private:
void SetImportLibrary ( ImportLibrary* importLibrary ); void SetImportLibrary ( ImportLibrary* importLibrary );
DirectoryLocation GetTargetDirectoryTree () const; DirectoryLocation GetTargetDirectoryTree () const;