⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memalloc.cdl

📁 eCos操作系统源码
💻 CDL
📖 第 1 页 / 共 2 页
字号:
            no_define            description   "                This component contains configuration options related to the                 variable block memory allocator with separate metadata."            cdl_option CYGSEM_MEMALLOC_ALLOCATOR_SEPMETA_THREADAWARE {                display        "Make thread safe"                active_if      CYGPKG_KERNEL                default_value  1                description    "                    With this option enabled, this allocator will be                    made thread-safe. Additionally allocation functions                    are made available that allow a thread to wait                    until memory is available."            }        }    }    cdl_option CYGFUN_MEMALLOC_KAPI {        display       "Kernel C API support for memory allocation"        active_if     CYGPKG_KERNEL        default_value CYGFUN_KERNEL_API_C        description   "            This option must be enabled to provide the extensions required            to support integration into the kernel C API."        compile       kapi.cxx    }           cdl_option CYGSEM_MEMALLOC_MALLOC_ZERO_RETURNS_NULL {        display       "malloc(0) returns NULL"        default_value 0        description   "            This option controls the behavior of malloc(0) ( or calloc with            either argument 0 ). It is permitted by the standard to return            either a NULL pointer or a unique pointer. Enabling this option            forces a NULL pointer to be returned."    }           cdl_component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS {        display      "malloc() and supporting allocators"        flavor        bool        active_if     CYGPKG_ISOINFRA        implements    CYGINT_ISO_MALLOC        implements    CYGINT_ISO_MALLINFO        default_value 1        compile       malloc.cxx        description   "            This component enables support for dynamic memory            allocation as supplied by the functions malloc(),            free(), calloc() and realloc(). As these            functions are often used, but can have quite an            overhead, disabling them here can ensure they            cannot even be used accidentally when static            allocation is preferred. Within this component are            various allocators that can be selected for use            as the underlying implementation of the dynamic            allocation functions."        make -priority 50 {            heapgeninc.tcl : <PACKAGE>/src/heapgen.cpp            $(CC) $(CFLAGS) $(INCLUDE_PATH) -Wp,-MD,heapgen.tmp -E $< -o $@            @sed -e '/^ *\\/d' -e "s#.*: #$@: #" heapgen.tmp > $(notdir $@).deps            @rm heapgen.tmp        }            # FIXME this should have a dependency on mlt_headers, but CDL doesn't        # permit custom build rules depending on phony targets        # FIXME we workaround an NT cygtclsh80 bug by cd'ing into the        # correct dir and running heapgen.tcl from there rather than passing        # an absolute path.        make -priority 50 {            heaps.cxx : heapgeninc.tcl <PACKAGE>/src/heapgen.tcl            XPWD=`pwd` ; cd $(REPOSITORY)/$(PACKAGE)/src ; sh heapgen.tcl "$(PREFIX)" "$$XPWD"            @cp heaps.hxx "$(PREFIX)"/include/pkgconf/heaps.hxx            @chmod u+w "$(PREFIX)"/include/pkgconf/heaps.hxx        }        make_object {            heaps.o.d : heaps.cxx            $(CC) $(CFLAGS) $(INCLUDE_PATH) -Wp,-MD,heaps.tmp -c -o $(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o)) $<            @sed -e '/^ *\\/d' -e "s#.*: #$@: #" heaps.tmp > $@            @rm heaps.tmp        }        cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_HEAP_H {            display       "Use external heap definition"            flavor        booldata            default_value 0            description   "This option allows other components in the                           system to override the default system                           provision of heap memory pools. This should                           be set to a header which provides the equivalent                           definitions to <pkgconf/heaps.hxx>."        }        cdl_interface CYGINT_MEMALLOC_MALLOC_ALLOCATORS {            display       "malloc() allocator implementations"            requires      { CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1 }            no_define        }        cdl_option CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER {            display       "malloc() implementation instantiation data"            flavor        data            description   "                Memory allocator implementations that are capable of being                used underneath malloc() must be instantiated. The code                to do this is set in this option. It is only intended to                be set by the implementation, not the user."            # default corresponds to the default allocator            default_value {"<cyg/memalloc/dlmalloc.hxx>"}        }        cdl_option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE {            display       "Simple variable block implementation"            description   "This causes malloc() to use the simple                           variable block allocator."            default_value 0            implements    CYGINT_MEMALLOC_MALLOC_ALLOCATORS            requires      { CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == \                            "<cyg/memalloc/memvar.hxx>" }            requires      CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE        }        cdl_option CYGIMP_MEMALLOC_MALLOC_DLMALLOC {            display       "Doug Lea's malloc implementation"            description   "This causes malloc() to use a version of Doug Lea's                           malloc (dlmalloc) as the underlying implementation."            default_value 1            implements    CYGINT_MEMALLOC_MALLOC_ALLOCATORS            requires      { CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == \                            "<cyg/memalloc/dlmalloc.hxx>" }        }    }    cdl_option CYGNUM_MEMALLOC_FALLBACK_MALLOC_POOL_SIZE {        display       "Size of the fallback dynamic memory pool in bytes"        flavor        data        legal_values  32 to 0x7fffffff        default_value 16384        description   "            If *no* heaps are configured in your memory layout,            dynamic memory allocation by            malloc() and calloc() must be from a fixed-size,            contiguous memory pool (note here that it is the            pool that is of a fixed size, but malloc() is still            able to allocate variable sized chunks of memory            from it). This option is the size            of that pool, in bytes. Note that not all of            this is available for programs to            use - some is needed for internal information            about memory regions, and some may be lost to            ensure that memory allocation only returns            memory aligned on word (or double word)            boundaries - a very common architecture            constraint."    }# ====================================================================    cdl_component CYGPKG_MEMALLOC_OPTIONS {        display "Common memory allocator package build options"        flavor  none        no_define        description   "	    Package specific build options including control over	    compiler flags used only in building this package,	    and details of which tests are built."        cdl_option CYGPKG_MEMALLOC_CFLAGS_ADD {            display "Additional compiler flags"            flavor  data            no_define            default_value { "" }            description   "                This option modifies the set of compiler flags for                building this package. These flags are used in addition                to the set of global flags."        }        cdl_option CYGPKG_MEMALLOC_CFLAGS_REMOVE {            display "Suppressed compiler flags"            flavor  data            no_define            default_value { "" }            description   "                This option modifies the set of compiler flags for                building this package. These flags are removed from                the set of global flags if present."        }        cdl_option CYGPKG_MEMALLOC_TESTS {            display "Tests"            flavor  data            no_define            calculated { "tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2" }            description   "                This option specifies the set of tests for this package."        }    }}# ====================================================================# EOF memalloc.cdl

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -