/*
 *  This file is used to specify the preferred vm load addresses
 *  for OPENSTEP frameworks.  Centralizing this information
 *  makes it easy to find open slots when adding new frameworks.
 *
 *  The format is a dictionary whose keys are the names of
 *  frameworks, and the values are dictionaries whose keys are 
 *  platform names and values are preferred load addresses.
 *  Omnimake uses the value of $(PLATFORM_OS) for the platform
 *  names.
 *
 *  Our current strategy is to allow 4M of address space per
 *  library.
 *  
 */
{
    /*  Sybase DLLs.  We rebase these on install on NT.  */

    libcomn  = {winnt = 0x1f000000; };
    libcs    = {winnt = 0x1f200000; };
    libct    = {winnt = 0x1f400000; };
    libintl  = {winnt = 0x1f600000; };
    libsybdb = {winnt = 0x1f800000; };
    libtcl   = {winnt = 0x1fa00000; };
    nlmsnmp  = {winnt = 0x1fc00000; };
    nlwnsck  = {winnt = 0x1fe00000; };

    /* OPENSTEP Frameworks/DLLs */

    System            = {winnt = 0x30000000; nextstep = 0x05000000; };
    nextpdo           = {winnt = 0x31000000; };
    Foundation        = {winnt = 0x32010000; nextstep = 0x18000000; };
    AppKit            = {winnt = 0x34020000; nextstep = 0x06000000; };
    NeXTApps          = {winnt = 0x38030000; nextstep = 0x19000000; };
    DevKit            = {winnt = 0x3A040000; nextstep = 0x13000000; };
    ProjectBuilder    = {winnt = 0x3C050000; };
    InterfaceBuilder  = {winnt = 0x3C050000; nextstep = 0x1f000000; };
    genericBundle1    = {winnt = 0x3E060000; };
    genericBundle2    = {winnt = 0x3E080000; };
    genericBundle3    = {winnt = 0x3E0a0000; };
    genericBundle4    = {winnt = 0x3E0c0000; };
    genericBundle5    = {winnt = 0x3E0e0000; };
    Message           = {winnt = 0x40000000; nextstep = 0x1b000000; };
    WebObjects        = {winnt = 0x42010000; nextstep = 0x2b000000; };
    EOControl         = {winnt = 0x44020000; nextstep = 0x1e000000; };
    EOAccess1x        = {winnt = 0x46030000; nextstep = 0x0e000000; };
    EOAccess          = {winnt = 0x46030000; nextstep = 0x0e000000; };
    EOInterface1x     = {winnt = 0x48040000; nextstep = 0x0f000000; };
    EOInterface       = {winnt = 0x48040000; nextstep = 0x0f000000; };
    Sybase1x          = {winnt = 0x4A050000; nextstep = 0x28000000; };
    Sybase            = {winnt = 0x4A050000; nextstep = 0x28000000; };
    Oracle1x          = {winnt = 0x4C060000; nextstep = 0x29000000; };
    Oracle            = {winnt = 0x4C060000; nextstep = 0x29000000; };
    Informix1x        = {winnt = 0x4E070000; nextstep = 0x2a000000; };
    Informix          = {winnt = 0x4E070000; nextstep = 0x2a000000; };
    nextorb           = {winnt = 0x50080000; };
    EOModeler         = {winnt = 0x52090000; nextstep = 0x2c000000; };

    AppTest              = {nextstep = 0x20000000; };
    NIAccess             = {nextstep = 0x1a000000; };
    libRK                = {nextstep = 0x21000000; };
    libRKC               = {nextstep = 0x22000000; };
    libcanna             = {nextstep = 0x23000000; };
    "libg++"             = {nextstep = 0x24000000; };
    libiostream          = {nextstep = 0x25000000; };
    Uucp                 = {nextstep = 0x26000000; };
    "perl5/CORE/libperl" = {nextstep = 0x27000000; };
    libkeymap            = {nextstep = 0x1c000000; };
    libFaxD              = {nextstep = 0x1d000000; };
    libFoundation        = {nextstep = 0x07800000; };
    libMallocDebug       = {nextstep = 0x00000000; };
    libdsp               = {nextstep = 0x04090000; };
    libni                = {nextstep = 0x04100000; };
    NIInterface          = {nextstep = 0x04100000; };
    libsys               = {nextstep = 0x05000000; };
    libNext              = {nextstep = 0x06000000; };
    libmusic             = {nextstep = 0x08000000; };
    libMedia             = {nextstep = 0x09000000; };
    libIndexing          = {nextstep = 0x0a000000; };
    libphone             = {nextstep = 0x0a000000; };
    libdbkit             = {nextstep = 0x0b000000; };
    libnw                = {nextstep = 0x0c000000; };
    libInterceptor       = {nextstep = 0x0d000000; };
    Interceptor          = {nextstep = 0x0d000000; };
    libdbk2              = {nextstep = 0x0e000000; };
    libdbui              = {nextstep = 0x0f000000; };
    libMessageService    = {nextstep = 0x10000000; };
    dynamicLinker        = {nextstep = 0x12000000; };
    SoundKit             = {nextstep = 0x14000000; };
    Engine               = {nextstep = 0x15000000; };
    NEXTIME              = {nextstep = 0x16000000; };
    DebugKit             = {nextstep = 0x17000000; };

    /* Omni Frameworks */

    OmniFoundation = {winnt = 0x20000000; nextstep = 0x30000000; };
    OWF            = {winnt = 0x20400000; nextstep = 0x30400000; };
    OmniAppKit     = {winnt = 0x20800000; nextstep = 0x30800000; };
    OmniBase       = {winnt = 0x20c00000; nextstep = 0x30c00000; };
    OmniNetworking = {winnt = 0x21000000; nextstep = 0x31000000; };
    OmniDocument   = {winnt = 0x21400000; nextstep = 0x31400000; };
    MOKit          = {winnt = 0x21800000; nextstep = 0x31800000; };
    OIF            = {winnt = 0x21c00000; nextstep = 0x31c00000; };
    BSModel        = {                    nextstep = 0x32000000; };
    OmniEOAccess   = {                    nextstep = 0x32400000; };
    OmniEOControl  = {                    nextstep = 0x32800000; };
    OmniObjCParser = {                    nextstep = 0x32c00000; };

    /* Imaging Frameworks */
    PNG            = {                    nextstep = 0x38000000; };
    JPEG           = {                    nextstep = 0x38400000; };
    Zlib           = {                    nextstep = 0x38800000; };
}
