//
// cURL network retrieval client
//

TARGET        curl.exe
TARGETTYPE    exe
UID           0x00000000 0xF0206442

SOURCEPATH  ../../../src
SOURCE \
    hugehelp.c \
    tool_binmode.c \
    tool_bname.c \
    tool_cb_dbg.c \
    tool_cb_hdr.c \
    tool_cb_prg.c \
    tool_cb_rea.c \
    tool_cb_see.c \
    tool_cb_wrt.c \
    tool_cfgable.c \
    tool_convert.c \
    tool_dirhie.c \
    tool_doswin.c \
    tool_easysrc.c \
    tool_formparse.c \
    tool_getparam.c \
    tool_getpass.c \
    tool_help.c \
    tool_helpers.c \
    tool_homedir.c \
    tool_libinfo.c \
    tool_main.c \
    tool_mfiles.c \
    tool_msgs.c \
    tool_operate.c \
    tool_operhlp.c \
    tool_panykey.c \
    tool_paramhlp.c \
    tool_parsecfg.c \
    tool_setopt.c \
    tool_sleep.c \
    tool_urlglob.c \
    tool_util.c \
    tool_vms.c \
    tool_writeenv.c \
    tool_writeout.c \
    tool_xattr.c

SOURCEPATH  ../../../lib
SOURCE \
    rawstr.c nonblock.c

USERINCLUDE ../../../src ../../../lib ../../../include/curl

SYSTEMINCLUDE ../../../include /epoc32/include /epoc32/include/stdapis

LIBRARY       euser.lib libc.lib libcurl.lib
STATICLIBRARY libcrt0.lib

CAPABILITY NetworkServices

EPOCSTACKSIZE 0x8000

