Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
src/platform/mbed/pmfeatures.h@0:14e5e829dffe, 2010-07-21 (annotated)
- Committer:
- dadaista
- Date:
- Wed Jul 21 12:50:41 2010 +0000
- Revision:
- 0:14e5e829dffe
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| dadaista | 0:14e5e829dffe | 1 | /* |
| dadaista | 0:14e5e829dffe | 2 | # This file is Copyright 2009 Dean Hall. |
| dadaista | 0:14e5e829dffe | 3 | # |
| dadaista | 0:14e5e829dffe | 4 | # This file is part of the Python-on-a-Chip program. |
| dadaista | 0:14e5e829dffe | 5 | # Python-on-a-Chip is free software: you can redistribute it and/or modify |
| dadaista | 0:14e5e829dffe | 6 | # it under the terms of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1. |
| dadaista | 0:14e5e829dffe | 7 | # |
| dadaista | 0:14e5e829dffe | 8 | # Python-on-a-Chip is distributed in the hope that it will be useful, |
| dadaista | 0:14e5e829dffe | 9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| dadaista | 0:14e5e829dffe | 10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| dadaista | 0:14e5e829dffe | 11 | # A copy of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1 |
| dadaista | 0:14e5e829dffe | 12 | # is seen in the file COPYING up one directory from this. |
| dadaista | 0:14e5e829dffe | 13 | */ |
| dadaista | 0:14e5e829dffe | 14 | |
| dadaista | 0:14e5e829dffe | 15 | |
| dadaista | 0:14e5e829dffe | 16 | /** |
| dadaista | 0:14e5e829dffe | 17 | * VM feature configuration |
| dadaista | 0:14e5e829dffe | 18 | * |
| dadaista | 0:14e5e829dffe | 19 | * Compile time switches to include features or save space. |
| dadaista | 0:14e5e829dffe | 20 | * |
| dadaista | 0:14e5e829dffe | 21 | * IMPORTANT: All of the HAVE_* items in this file should also exist in the |
| dadaista | 0:14e5e829dffe | 22 | * PM_FEATURES dict in src/tools/pmImgCreator.py. If the item is defined here, |
| dadaista | 0:14e5e829dffe | 23 | * the corresponding dict value should be True; False otherwise. |
| dadaista | 0:14e5e829dffe | 24 | */ |
| dadaista | 0:14e5e829dffe | 25 | |
| dadaista | 0:14e5e829dffe | 26 | |
| dadaista | 0:14e5e829dffe | 27 | #ifndef FEATURES_H_ |
| dadaista | 0:14e5e829dffe | 28 | #define FEATURES_H_ |
| dadaista | 0:14e5e829dffe | 29 | |
| dadaista | 0:14e5e829dffe | 30 | |
| dadaista | 0:14e5e829dffe | 31 | /** Defines the size of the static heap */ |
| dadaista | 0:14e5e829dffe | 32 | #define PM_HEAP_SIZE 0x2000 |
| dadaista | 0:14e5e829dffe | 33 | |
| dadaista | 0:14e5e829dffe | 34 | |
| dadaista | 0:14e5e829dffe | 35 | /** |
| dadaista | 0:14e5e829dffe | 36 | * When defined, bytecodes PRINT_ITEM and PRINT_NEWLINE are supported. Along |
| dadaista | 0:14e5e829dffe | 37 | * with these, helper routines in the object type are compiled in that allow |
| dadaista | 0:14e5e829dffe | 38 | * printing of the object. |
| dadaista | 0:14e5e829dffe | 39 | * REQUIRES stdio.h to have snprintf() |
| dadaista | 0:14e5e829dffe | 40 | */ |
| dadaista | 0:14e5e829dffe | 41 | #define HAVE_PRINT |
| dadaista | 0:14e5e829dffe | 42 | |
| dadaista | 0:14e5e829dffe | 43 | |
| dadaista | 0:14e5e829dffe | 44 | /** |
| dadaista | 0:14e5e829dffe | 45 | * When defined, the code to perform mark-sweep garbage collection is included |
| dadaista | 0:14e5e829dffe | 46 | * in the build and automatic GC is enabled. When undefined the allocator |
| dadaista | 0:14e5e829dffe | 47 | * will distribute memory until none is left, after which a memory exception |
| dadaista | 0:14e5e829dffe | 48 | * will occur. |
| dadaista | 0:14e5e829dffe | 49 | */ |
| dadaista | 0:14e5e829dffe | 50 | #define HAVE_GC |
| dadaista | 0:14e5e829dffe | 51 | |
| dadaista | 0:14e5e829dffe | 52 | |
| dadaista | 0:14e5e829dffe | 53 | /* #148 Create configurable float datatype */ |
| dadaista | 0:14e5e829dffe | 54 | /** |
| dadaista | 0:14e5e829dffe | 55 | * When defined, the code to support floating point objects is included |
| dadaista | 0:14e5e829dffe | 56 | * in the build. |
| dadaista | 0:14e5e829dffe | 57 | */ |
| dadaista | 0:14e5e829dffe | 58 | #define HAVE_FLOAT |
| dadaista | 0:14e5e829dffe | 59 | #define PM_FLOAT_LITTLE_ENDIAN |
| dadaista | 0:14e5e829dffe | 60 | |
| dadaista | 0:14e5e829dffe | 61 | /** |
| dadaista | 0:14e5e829dffe | 62 | * When defined, the code to support the keyword del is included in the build. |
| dadaista | 0:14e5e829dffe | 63 | * This involves the bytecodes: DELETE_SUBSCR, DELETE_NAME, DELETE_ATTR, |
| dadaista | 0:14e5e829dffe | 64 | * DELETE_GLOBAL and DELETE_FAST. |
| dadaista | 0:14e5e829dffe | 65 | */ |
| dadaista | 0:14e5e829dffe | 66 | #define HAVE_DEL |
| dadaista | 0:14e5e829dffe | 67 | |
| dadaista | 0:14e5e829dffe | 68 | /** |
| dadaista | 0:14e5e829dffe | 69 | * When defined, the code to support the IMPORT_FROM and IMPORT_STAR styles |
| dadaista | 0:14e5e829dffe | 70 | * is included in the build. |
| dadaista | 0:14e5e829dffe | 71 | */ |
| dadaista | 0:14e5e829dffe | 72 | #define HAVE_IMPORTS |
| dadaista | 0:14e5e829dffe | 73 | |
| dadaista | 0:14e5e829dffe | 74 | /* #157 Support default args */ |
| dadaista | 0:14e5e829dffe | 75 | /** |
| dadaista | 0:14e5e829dffe | 76 | * When defined, the code to support default arguments to functions is included |
| dadaista | 0:14e5e829dffe | 77 | * in the build. |
| dadaista | 0:14e5e829dffe | 78 | */ |
| dadaista | 0:14e5e829dffe | 79 | #define HAVE_DEFAULTARGS |
| dadaista | 0:14e5e829dffe | 80 | |
| dadaista | 0:14e5e829dffe | 81 | /* #160 Add support for string and tuple replication */ |
| dadaista | 0:14e5e829dffe | 82 | /** |
| dadaista | 0:14e5e829dffe | 83 | * When defined, the code to support sequence (list, tuple, string) replcation |
| dadaista | 0:14e5e829dffe | 84 | * is included in the build. |
| dadaista | 0:14e5e829dffe | 85 | * This feature is required by the builtin function __bi.map(). |
| dadaista | 0:14e5e829dffe | 86 | */ |
| dadaista | 0:14e5e829dffe | 87 | #define HAVE_REPLICATION |
| dadaista | 0:14e5e829dffe | 88 | |
| dadaista | 0:14e5e829dffe | 89 | /* #202 Implement classes in the vm */ |
| dadaista | 0:14e5e829dffe | 90 | /** |
| dadaista | 0:14e5e829dffe | 91 | * When defined, the code to support classes, instances, methods, etc. |
| dadaista | 0:14e5e829dffe | 92 | * is included in the build. |
| dadaista | 0:14e5e829dffe | 93 | */ |
| dadaista | 0:14e5e829dffe | 94 | #define HAVE_CLASSES |
| dadaista | 0:14e5e829dffe | 95 | |
| dadaista | 0:14e5e829dffe | 96 | /** |
| dadaista | 0:14e5e829dffe | 97 | * When defined, the code to support the assert statement is included |
| dadaista | 0:14e5e829dffe | 98 | * in the build. |
| dadaista | 0:14e5e829dffe | 99 | */ |
| dadaista | 0:14e5e829dffe | 100 | #define HAVE_ASSERT |
| dadaista | 0:14e5e829dffe | 101 | #if defined(HAVE_ASSERT) && !defined(HAVE_CLASSES) |
| dadaista | 0:14e5e829dffe | 102 | #error HAVE_ASSERT requires HAVE_CLASSES |
| dadaista | 0:14e5e829dffe | 103 | #endif |
| dadaista | 0:14e5e829dffe | 104 | |
| dadaista | 0:14e5e829dffe | 105 | /* #207 Add support for the yield keyword */ |
| dadaista | 0:14e5e829dffe | 106 | /** |
| dadaista | 0:14e5e829dffe | 107 | * When defined, the code to support the yield keyword's use for |
| dadaista | 0:14e5e829dffe | 108 | * generator-iterators is included in the build. |
| dadaista | 0:14e5e829dffe | 109 | */ |
| dadaista | 0:14e5e829dffe | 110 | #define HAVE_GENERATORS |
| dadaista | 0:14e5e829dffe | 111 | #if defined(HAVE_GENERATORS) && !defined(HAVE_CLASSES) |
| dadaista | 0:14e5e829dffe | 112 | #error HAVE_GENERATORS requires HAVE_CLASSES |
| dadaista | 0:14e5e829dffe | 113 | #endif |
| dadaista | 0:14e5e829dffe | 114 | |
| dadaista | 0:14e5e829dffe | 115 | /* #244 Add support for the backtick operation (UNARY_CONVERT) */ |
| dadaista | 0:14e5e829dffe | 116 | /** |
| dadaista | 0:14e5e829dffe | 117 | * When defined, the code to support the backtick operation (`x`) is included |
| dadaista | 0:14e5e829dffe | 118 | * in the build. |
| dadaista | 0:14e5e829dffe | 119 | * REQUIRES stdio.h to have snprintf() |
| dadaista | 0:14e5e829dffe | 120 | */ |
| dadaista | 0:14e5e829dffe | 121 | #define HAVE_BACKTICK |
| dadaista | 0:14e5e829dffe | 122 | |
| dadaista | 0:14e5e829dffe | 123 | /* #205 Add support for string format operation */ |
| dadaista | 0:14e5e829dffe | 124 | /** |
| dadaista | 0:14e5e829dffe | 125 | * When defined, the code to perform string formatting using the binary modulo |
| dadaista | 0:14e5e829dffe | 126 | * operator is included in the build. |
| dadaista | 0:14e5e829dffe | 127 | * REQUIRES stdio.h to have snprintf() |
| dadaista | 0:14e5e829dffe | 128 | */ |
| dadaista | 0:14e5e829dffe | 129 | #define HAVE_STRING_FORMAT |
| dadaista | 0:14e5e829dffe | 130 | |
| dadaista | 0:14e5e829dffe | 131 | /* #256 Add support for closures */ |
| dadaista | 0:14e5e829dffe | 132 | /** |
| dadaista | 0:14e5e829dffe | 133 | * When defined, the code to support function closures is included in the |
| dadaista | 0:14e5e829dffe | 134 | * build. |
| dadaista | 0:14e5e829dffe | 135 | */ |
| dadaista | 0:14e5e829dffe | 136 | #define HAVE_CLOSURES |
| dadaista | 0:14e5e829dffe | 137 | #if defined(HAVE_CLOSURES) && !defined(HAVE_DEFAULTARGS) |
| dadaista | 0:14e5e829dffe | 138 | #error HAVE_CLOSURES requires HAVE_DEFAULTARGS |
| dadaista | 0:14e5e829dffe | 139 | #endif |
| dadaista | 0:14e5e829dffe | 140 | |
| dadaista | 0:14e5e829dffe | 141 | /* #289 Create bytearray datatype */ |
| dadaista | 0:14e5e829dffe | 142 | /** |
| dadaista | 0:14e5e829dffe | 143 | * When defined, the code to support the bytearray type is included in the |
| dadaista | 0:14e5e829dffe | 144 | * build. |
| dadaista | 0:14e5e829dffe | 145 | */ |
| dadaista | 0:14e5e829dffe | 146 | #define HAVE_BYTEARRAY |
| dadaista | 0:14e5e829dffe | 147 | #if defined(HAVE_BYTEARRAY) && !defined(HAVE_CLASSES) |
| dadaista | 0:14e5e829dffe | 148 | #error HAVE_BYTEARRAY requires HAVE_CLASSES |
| dadaista | 0:14e5e829dffe | 149 | #endif |
| dadaista | 0:14e5e829dffe | 150 | |
| dadaista | 0:14e5e829dffe | 151 | #endif /* FEATURES_H_ */ |