<?xml version="1.0" ?>
<!-- 
    Adds 'dll-def-file' tag to dll and module targets:
    
    Sample usage:
        <dll ...>
            ...
            <dll-def-file>src/foodll/foodll.def</dll-def-file>
        </dll>
    Useful when you don't want to clutter old code with __declspec(dllexport).
    
    Works with:
        autoconf, msvs2003prj
        
    Should work with:
        borland, mingw, msvc6prj,msvs2005prj,msvs2008prj
        
    Author Zbigniew Zagorski <z.zagorski@gmail.com>
-->
<makefile>
    <define-tag name="dll-def-file" rules="dll,module">
        <if cond="FORMAT in ('msvc,msvc6prj,msvs2003prj,msvs2005prj,msvs2008prj')">
            <ldflags>/DEF:$(SRCDIR)/$(value)</ldflags>
        </if>        
        <if cond="FORMAT=='mingw'">
            <ldflags>-Wl,--disable-auto-import $(SRCDIR)/$(value)</ldflags>
        </if>
        <if cond="FORMAT=='borland'">
            <ldflags>$(nativePaths(SRCDIR + DIRSEP + value))</ldflags>
        </if>
        <if cond="FORMAT=='autoconf'">
            <set var="__link_deffile">
                <if cond="PLATFORM_WIN32=='1'">-Wl,--disable-auto-import $(srcdir)/$(value)</if>
            </set>
            <ldflags>$(__link_deffile)</ldflags>
        </if>
    </define-tag>
</makefile>


