<?xml version="1.0" ?>
<!--
Copyright (C) 2005, 2006 Apple Computer, Inc.  All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1.  Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
2.  Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
    its contributors may be used to endorse or promote products derived
    from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Base settings shared by all Bakefile-based ports.
-->

<makefile>
    <set var="SRCDIR" append="0">../..</set>

    <include file="../Bakefiles/presets.bkl" />
    <include file="WebCoreSources.bkl" />

    <set var="WEBCORE_BASE_SOURCES">
        $(WEBCORE_SOURCES_BMP)
        $(WEBCORE_SOURCES_CSS)
        $(WEBCORE_SOURCES_DERIVEDSOURCES)
        $(WEBCORE_SOURCES_DOM)
        $(WEBCORE_SOURCES_EDITING)
        $(WEBCORE_SOURCES_GIF)
        $(WEBCORE_SOURCES_HTML)
        $(WEBCORE_SOURCES_ICO)
        $(WEBCORE_SOURCES_ICON)
        $(WEBCORE_SOURCES_JPEG)
        $(WEBCORE_SOURCES_JS)
        $(WEBCORE_SOURCES_LOADER)
        $(WEBCORE_SOURCES_PAGE)
        $(WEBCORE_SOURCES_HISTORY)
        $(WEBCORE_SOURCES_PLATFORM)
        $(WEBCORE_SOURCES_PNG)
        $(WEBCORE_SOURCES_RENDERING)
        $(WEBCORE_SOURCES_XBM)
        $(WEBCORE_SOURCES_XML)
        $(WEBCORE_SOURCES_ZLIB)
    </set>

    <set var="BUILDDIR">obj-$(FORMAT)</set>

    <template id="webcore_cairo">
        <include>$(SRCDIR)/platform/graphics/cairo/cairo/src</include>
        <include>$(SRCDIR)/platform/graphics/cairo/pixman/src</include>
        <sources>
            $(WEBCORE_SOURCES_CAIRO)
            $(WEBCORE_SOURCES_PIXMAN)
        </sources>
    </template>

    <template id="webcore_base" template="xml2,iconv,xslt,icu,jscore,curl">
        <include>$(SRCDIR)</include>
        <include>$(SRCDIR)/bindings/js</include>
        <include>$(SRCDIR)/bridge</include>
        <include>$(SRCDIR)/css</include>
        <include>$(SRCDIR)/DerivedSources/WebCore</include>
        <include>$(SRCDIR)/dom</include>
        <include>$(SRCDIR)/editing</include>
        <include>$(SRCDIR)/ForwardingHeaders/kjs</include>
        <include>$(SRCDIR)/history</include>
        <include>$(SRCDIR)/html</include>
        <include>$(SRCDIR)/include</include>
        <include>$(SRCDIR)/loader</include>
        <include>$(SRCDIR)/loader/gdk</include>
        <include>$(SRCDIR)/loader/icon</include>
        <include>$(SRCDIR)/page</include>
        <include>$(SRCDIR)/platform</include>
        <include>$(SRCDIR)/platform/graphics</include>
        <include>$(SRCDIR)/platform/graphics/gdk</include>
        <include>$(SRCDIR)/platform/image-decoders</include>
        <include>$(SRCDIR)/platform/image-decoders/bmp</include>
        <include>$(SRCDIR)/platform/image-decoders/gif</include>
        <include>$(SRCDIR)/platform/image-decoders/ico</include>
        <include>$(SRCDIR)/platform/image-decoders/jpeg</include>
        <include>$(SRCDIR)/platform/image-decoders/png</include>
        <include>$(SRCDIR)/platform/image-decoders/xbm</include>
        <include>$(SRCDIR)/platform/image-decoders/zlib</include>
        <include>$(SRCDIR)/platform/network</include>
        <include>$(SRCDIR)/platform/network/gdk</include>
        <include>$(SRCDIR)/rendering</include>
        <include>$(SRCDIR)/xml</include>

        <sources>$(WEBCORE_BASE_SOURCES)</sources>


        <!-- FIXME: when building on Mac, ExtraCFEncodings.h is needed -->
        <if cond="PLATFORM_MACOSX=='1'">
            <include>$(SRCDIR)/platform/mac</include>
        </if>

        <define>ENABLE_XSLT=1</define>

        <!-- TODO: is there a Linux-specific platform define? -->
        <if cond="PLATFORM_UNIX=='1'">
            <if cond="PLATFORM_MACOSX=='0'">
                <define>LINUX</define>
            </if>
        </if>

        <!-- this GC version requires Mach's thread suspend/resume: -->
        <if cond="PLATFORM_MACOSX!='1'">
            <define>USE_CONSERVATIVE_GC=0</define>
        </if>

        <if cond="PLATFORM_MACOSX=='1'">
            <define>USE_CONSERVATIVE_GC=1</define>
        </if>

        <if cond="FORMAT=='gnu'">
            <!-- FIXME: we need proper configure checks -->
            <define>HAVE_FUNC_ISNAN</define>
        </if>

        <if cond="PLATFORM_WIN32=='1'">
            <include>win32</include>
            <define>HAVE_SYS_TIMEB_H=1</define>
            <define>HAVE_FLOAT_H=1</define>
            <define>HAVE_FUNC__FINITE=1</define>
        </if>
    </template>
</makefile>
