- Timestamp:
- 2012-04-07T17:41:44Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b6913b7
- Parents:
- b69e4c0 (diff), 6bb169b5 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- tools
- Files:
-
- 1 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
tools/autotool.py
rb69e4c0 rdb96017 184 184 sys.stderr.write("ok\n") 185 185 186 def check_app_alternatives(alts, args, name, details): 187 "Check whether an application can be executed (use several alternatives)" 188 189 tried = [] 190 found = None 191 192 for alt in alts: 193 working = True 194 cmdline = [alt] + args 195 tried.append(" ".join(cmdline)) 196 197 try: 198 sys.stderr.write("Checking for %s ... " % alt) 199 subprocess.Popen(cmdline, stdout = subprocess.PIPE, stderr = subprocess.PIPE).wait() 200 except: 201 sys.stderr.write("failed\n") 202 working = False 203 204 if (working): 205 sys.stderr.write("ok\n") 206 found = alt 207 break 208 209 if (found is None): 210 print_error(["%s is missing." % name, 211 "", 212 "Please make sure that it is installed in your", 213 "system (%s)." % details, 214 "", 215 "The following alternatives were tried:"] + tried) 216 217 return found 218 186 219 def check_gcc(path, prefix, common, details): 187 220 "Check for GCC" … … 459 492 460 493 for key, value in common.items(): 461 outmk.write('%s = %s\n' % (key, value)) 494 if (type(value) is list): 495 outmk.write('%s = %s\n' % (key, " ".join(value))) 496 else: 497 outmk.write('%s = %s\n' % (key, value)) 462 498 463 499 outmk.close() … … 624 660 # Platform-specific utilities 625 661 if ((config['BARCH'] == "amd64") or (config['BARCH'] == "ia32") or (config['BARCH'] == "ppc32") or (config['BARCH'] == "sparc64")): 626 c heck_app(["mkisofs","--version"], "ISO 9660 creation utility", "usually part of genisoimage")662 common['GENISOIMAGE'] = check_app_alternatives(["mkisofs", "genisoimage"], ["--version"], "ISO 9660 creation utility", "usually part of genisoimage") 627 663 628 664 probe = probe_compiler(common, -
tools/check.sh
rb69e4c0 rdb96017 66 66 do 67 67 echo -n ">>>> Building $P... " 68 ( make distclean && make PROFILE=$P HANDS_OFF=y $1) >>/dev/null 2>>/dev/null68 ( make distclean && make PROFILE=$P HANDS_OFF=y "$@" ) >>/dev/null 2>>/dev/null 69 69 if [ $? -ne 0 ]; 70 70 then -
tools/config.py
rb69e4c0 rdb96017 85 85 if ctype == 'cnf': 86 86 return True 87 87 88 return False 88 89 … … 242 243 243 244 default = get_default_rule(rule) 244 245 245 246 # 246 247 # If we don't have a value but we do have … … 344 345 return True 345 346 347 def preprocess_config(config, rules): 348 "Preprocess configuration" 349 350 varname_mode = 'CONFIG_BFB_MODE' 351 varname_width = 'CONFIG_BFB_WIDTH' 352 varname_height = 'CONFIG_BFB_HEIGHT' 353 354 if varname_mode in config: 355 mode = config[varname_mode].partition('x') 356 357 config[varname_width] = mode[0] 358 rules.append((varname_width, 'choice', 'Default framebuffer width', None, None)) 359 360 config[varname_height] = mode[2] 361 rules.append((varname_height, 'choice', 'Default framebuffer height', None, None)) 362 346 363 def create_output(mkname, mcname, config, rules): 347 364 "Create output configuration" … … 504 521 if (len(sys.argv) >= 3) and (sys.argv[2] == 'default'): 505 522 if (infer_verify_choices(config, rules)): 523 preprocess_config(config, rules) 506 524 create_output(MAKEFILE, MACROS, config, rules) 507 525 return 0 … … 517 535 518 536 if (infer_verify_choices(config, rules)): 537 preprocess_config(config, rules) 519 538 create_output(MAKEFILE, MACROS, config, rules) 520 539 return 0 … … 564 583 565 584 default = get_default_rule(rule) 566 585 567 586 # 568 587 # If we don't have a value but we do have … … 626 645 xtui.screen_done(screen) 627 646 647 preprocess_config(config, rules) 628 648 create_output(MAKEFILE, MACROS, config, rules) 629 649 return 0 -
tools/mkfat.py
rb69e4c0 rdb96017 168 168 """ 169 169 170 def mangle_fname(name): 170 LFN_ENTRY = """little: 171 uint8_t pos 172 uint16_t name1[5] 173 uint8_t attr 174 uint8_t type 175 uint8_t csum 176 uint16_t name2[6] 177 uint16_t fc 178 uint16_t name3[2] 179 """ 180 181 # Global variable to hold the file names in 8.3 format. Needed to 182 # keep track of "number" when creating a short fname from a LFN. 183 name83_list = [] 184 185 def name83(fname): 186 "Create a 8.3 name for the given fname" 187 171 188 # FIXME: filter illegal characters 172 parts = name.split('.') 173 189 parts = fname.split('.') 190 191 name = '' 192 ext = '' 193 lfn = False 194 195 if len(fname) > 11 : 196 lfn = True 197 174 198 if len(parts) > 0: 175 fname = parts[0] 176 else: 177 fname = '' 178 179 if len(fname) > 8: 180 sys.stdout.write("mkfat.py: error: Directory entry " + name + 181 " base name is longer than 8 characters\n") 182 sys.exit(1); 183 184 return (fname + ' ').upper()[0:8] 185 186 def mangle_ext(name): 187 # FIXME: filter illegal characters 188 parts = name.split('.') 189 190 if len(parts) > 1: 191 ext = parts[1] 192 else: 193 ext = '' 194 195 if len(parts) > 2: 196 sys.stdout.write("mkfat.py: error: Directory entry " + name + 197 " has more than one extension\n") 198 sys.exit(1); 199 200 if len(ext) > 3: 201 sys.stdout.write("mkfat.py: error: Directory entry " + name + 202 " extension is longer than 3 characters\n") 203 sys.exit(1); 204 205 return (ext + ' ').upper()[0:3] 199 name = parts[0] 200 if len(name) > 8 : 201 lfn = True 202 203 if len(parts) > 1 : 204 ext = parts[-1] 205 if len(ext) > 3 : 206 lfn = True 207 208 if len(parts) > 2 : 209 lfn = True 210 211 if (lfn == False) : 212 return (name.ljust(8)[0:8], ext.ljust(3)[0:3], False) 213 214 # For filenames with multiple extensions, we treat the last one 215 # as the actual extension. The rest of the filename is stripped 216 # of dots and concatenated to form the short name 217 for _name in parts[1:-1]: 218 name = name + _name 219 220 global name83_list 221 for number in range(1, 10000) : 222 number_str = '~' + str(number) 223 224 if len(name) + len(number_str) > 8 : 225 name = name[0:8 - len(number_str)] 226 227 name = name + number_str; 228 229 if (name + ext) not in name83_list : 230 break 231 232 name83_list.append(name + ext) 233 234 return (name.ljust(8)[0:8], ext.ljust(3)[0:3], True) 235 236 def get_utf16(name, l) : 237 "Create a int array out of a string which we can store in uint16_t arrays" 238 239 bs = [0xFFFF for i in range(l)] 240 241 for i in range(len(name)) : 242 bs[i] = ord(name[i]) 243 244 if (len(name) < l) : 245 bs[len(name)] = 0; 246 247 return bs 248 249 def create_lfn_entry((name, index)) : 250 entry = xstruct.create(LFN_ENTRY) 251 252 entry.name1 = get_utf16(name[0:5], 5) 253 entry.name2 = get_utf16(name[5:11], 6) 254 entry.name3 = get_utf16(name[11:13], 2) 255 entry.pos = index 256 257 entry.attr = 0xF 258 entry.fc = 0 259 entry.type = 0 260 261 return entry 206 262 207 263 def create_dirent(name, directory, cluster, size): 264 208 265 dir_entry = xstruct.create(DIR_ENTRY) 209 266 210 dir_entry.name = mangle_fname(name).encode('ascii') 211 dir_entry.ext = mangle_ext(name).encode('ascii') 212 267 dir_entry.name, dir_entry.ext, lfn = name83(name) 268 269 dir_entry.name = dir_entry.name.upper().encode('ascii') 270 dir_entry.ext = dir_entry.ext.upper().encode('ascii') 271 213 272 if (directory): 214 273 dir_entry.attr = 0x30 … … 230 289 dir_entry.size = size 231 290 232 return dir_entry 291 292 if not lfn: 293 return [dir_entry] 294 295 n = len(name) / 13 + 1 296 names = [(name[i * 13: (i + 1) * 13 + 1], i + 1) for i in range(n)] 297 298 entries = sorted(map (create_lfn_entry, names), reverse = True, key = lambda e : e.pos) 299 entries[0].pos |= 0x40 300 301 fname11 = dir_entry.name + dir_entry.ext 302 303 csum = 0 304 for i in range(0, 11) : 305 csum = ((csum & 1) << 7) + (csum >> 1) + ord(fname11[i]) 306 csum = csum & 0xFF 307 308 for e in entries : 309 e.csum = csum; 310 311 entries.append(dir_entry) 312 313 return entries 233 314 234 315 def create_dot_dirent(empty_cluster): … … 288 369 if item.is_file: 289 370 rv = write_file(item, outf, cluster_size, data_start, fat, reserved_clusters) 290 directory. append(create_dirent(item.name, False, rv[0], rv[1]))371 directory.extend(create_dirent(item.name, False, rv[0], rv[1])) 291 372 elif item.is_dir: 292 373 rv = recursion(False, item.path, outf, cluster_size, root_start, data_start, fat, reserved_clusters, dirent_size, empty_cluster) 293 directory. append(create_dirent(item.name, True, rv[0], rv[1]))374 directory.extend(create_dirent(item.name, True, rv[0], rv[1])) 294 375 295 376 if (head): -
tools/toolchain.sh
rb69e4c0 rdb96017 53 53 EOF 54 54 55 BINUTILS_VERSION="2.2 1.1"56 BINUTILS_RELEASE=" a"57 GCC_VERSION="4.6. 1"58 GDB_VERSION="7. 3.1"55 BINUTILS_VERSION="2.22" 56 BINUTILS_RELEASE="" 57 GCC_VERSION="4.6.3" 58 GDB_VERSION="7.4" 59 59 60 60 BASEDIR="`pwd`" … … 274 274 GDB_SOURCE="ftp://ftp.gnu.org/gnu/gdb/" 275 275 276 download_fetch "${BINUTILS_SOURCE}" "${BINUTILS}" " bde820eac53fa3a8d8696667418557ad"277 download_fetch "${GCC_SOURCE}" "${GCC_CORE}" " 0c0e7e35d2215e19de9c97efba507553"278 download_fetch "${GCC_SOURCE}" "${GCC_OBJC}" " cbf0d4b701827922cf37ba6a4ace0079"279 download_fetch "${GCC_SOURCE}" "${GCC_CPP}" " 0d75ca7ca35b1e7f252223f9d23a6ad1"280 download_fetch "${GDB_SOURCE}" "${GDB}" " b89a5fac359c618dda97b88645ceab47"276 download_fetch "${BINUTILS_SOURCE}" "${BINUTILS}" "ee0f10756c84979622b992a4a61ea3f5" 277 download_fetch "${GCC_SOURCE}" "${GCC_CORE}" "766091220c6a14fcaa2c06dd573e3758" 278 download_fetch "${GCC_SOURCE}" "${GCC_OBJC}" "48ba23770c34b1cb468f72618b4452c5" 279 download_fetch "${GCC_SOURCE}" "${GCC_CPP}" "37515158a0fb3d0800ec41a08c05e69e" 280 download_fetch "${GDB_SOURCE}" "${GDB}" "95a9a8305fed4d30a30a6dc28ff9d060" 281 281 } 282 282
Note:
See TracChangeset
for help on using the changeset viewer.
