1 2 3 4 5 6 7 8 9 10 11 12
13 import xdc.bld.ITarget2;
14
15 /*!
16 * ======== Bionic.xdc ========
17 * Embedded little endian ARM v5TE Bionic target
18 *
19 * This module defines an embedded target for Bionic on ARM. The target
20 * generates code compatible with the "v5TE" architecture.
21 *
22 */
23 metaonly module Bionic inherits google.targets.ITarget {
24 override readonly config string name = "Bionic";
25 override readonly config string os = "Linux";
26 override readonly config string suffix = "bnc";
27 override readonly config string isa = "v5T";
28 override readonly config xdc.bld.ITarget.Model model= {
29 endian: "little"
30 };
31
32 override readonly config string rts = "google.targets.arm.rts";
33 override config string platform = "host.platforms.arm";
34
35 override config string LONGNAME;
36 override config string libcDir;
37 override config string fsDir;
38
39 override readonly config String stdInclude = "google/targets/arm/std.h";
40
41 override readonly config ITarget2.Command cc = {
42 cmd: "$(rootDir)/$(LONGNAME) -c -MD -MF $@.dep",
43 opts: "-march=armv5t -fno-short-enums "
44 };
45
46 override config ITarget2.Options ccOpts = {
47 prefix: "-fPIC -Wunused",
48 suffix: "-Dfar= -D_ANDROID_"
49 };
50
51 override readonly config ITarget2.Command asm = {
52 cmd: "$(rootDir)/$(LONGNAME) -c -x assembler",
53 opts: "-march=armv5t"
54 };
55
56 override config ITarget2.Options lnkOpts = {
57 prefix: "",
58 suffix: "-Wl,-Map=$(XDCCFGDIR)/$@.map "
59 };
60
61 override readonly config xdc.bld.ITarget.StdTypes stdTypes = {
62 t_IArg : { size: 4, align: 4 },
63 t_Char : { size: 1, align: 1 },
64 t_Double : { size: 8, align: 4 },
65 t_Float : { size: 4, align: 4 },
66 t_Fxn : { size: 4, align: 4 },
67 t_Int : { size: 4, align: 4 },
68 t_Int8 : { size: 1, align: 1 },
69 t_Int16 : { size: 2, align: 2 },
70 t_Int32 : { size: 4, align: 4 },
71 t_Int64 : { size: 8, align: 4 },
72 t_Long : { size: 4, align: 4 },
73 t_LDouble : { size: 8, align: 4 },
74 t_LLong : { size: 8, align: 4 },
75 t_Ptr : { size: 4, align: 4 },
76 t_Short : { size: 2, align: 2 },
77 };
78 }
79 80 81 82
83