OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [services/] [objloader/] [current/] [cdl/] [objloader.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      objloader.cdl
4
#
5
#      Object loader configuration data
6
#
7
# ====================================================================
8
## ####ECOSGPLCOPYRIGHTBEGIN####
9
## -------------------------------------------
10
## This file is part of eCos, the Embedded Configurable Operating System.
11
## Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc.
12
##
13
## eCos is free software; you can redistribute it and/or modify it under
14
## the terms of the GNU General Public License as published by the Free
15
## Software Foundation; either version 2 or (at your option) any later
16
## version.
17
##
18
## eCos is distributed in the hope that it will be useful, but WITHOUT
19
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
21
## for more details.
22
##
23
## You should have received a copy of the GNU General Public License
24
## along with eCos; if not, write to the Free Software Foundation, Inc.,
25
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
26
##
27
## As a special exception, if other files instantiate templates or use
28
## macros or inline functions from this file, or you compile this file
29
## and link it with other works to produce a work based on this file,
30
## this file does not by itself cause the resulting work to be covered by
31
## the GNU General Public License. However the source code for this file
32
## must still be made available in accordance with section (3) of the GNU
33
## General Public License v2.
34
##
35
## This exception does not invalidate any other reasons why a work based
36
## on this file might be covered by the GNU General Public License.
37
## -------------------------------------------
38
## ####ECOSGPLCOPYRIGHTEND####
39
# ====================================================================
40
######DESCRIPTIONBEGIN####
41
#
42
# Author(s):      Anthony Tonizzo (atonizzo@gmail.com)
43
# Contributors:   Andrew Lunn
44
# Date:           2005-05-13
45
#
46
#####DESCRIPTIONEND####
47
#
48
# ====================================================================
49
 
50
cdl_package CYGPKG_OBJLOADER {
51
    display       "Object file loader"
52
    description   "This package provides support for loading and relocating
53
                   object files within eCos."
54
    include_dir   cyg/objloader
55
    include_files elf.h objelf.h loader_fs.h relocate_ppc.h relocate_i386.h
56
    include_files relocate_arm.h loader_memory.h
57
    compile       objloader.c objelf.c
58
    requires      CYGPKG_MEMALLOC
59
# ====================================================================
60
 
61
    cdl_component CYGPKG_SERVICES_OBJLOADER_ARCHITECTURE {
62
        display "Architecture dependent settings"
63
        flavor  none
64
        no_define
65
        requires CYGINT_SERVICES_OBJLOADER_RELOCATOR == 1
66
 
67
        description   "Each of the options here enables the correct
68
                       relocation support for the architectures supported."
69
 
70
        cdl_interface CYGINT_SERVICES_OBJLOADER_RELOCATOR {
71
            display "Suitable function to perform a symbol relocation"
72
            description "
73
                For each architecture we need a function which relocate
74
                a symbol. If we don't have a relocator the loader
75
                cannot work."
76
        }
77
 
78
        cdl_option CYGBLD_OBJLOADER_ARCHITECTURE_POWERPC {
79
           display       "Support loading on PowerPC processors"
80
           calculated    CYGPKG_HAL_POWERPC
81
           implements    CYGINT_SERVICES_OBJLOADER_RELOCATOR
82
           define_proc {
83
               puts $::cdl_header "#include "
84
           }
85
           compile relocate_ppc.c
86
        }
87
 
88
        cdl_option CYGBLD_OBJLOADER_ARCHITECTURE_I386 {
89
           display       "Support loading on I386 processors"
90
           calculated    CYGPKG_HAL_I386 || CYGPKG_HAL_SYNTH_I386
91
           implements    CYGINT_SERVICES_OBJLOADER_RELOCATOR
92
           define_proc {
93
               puts $::cdl_header "#include "
94
           }
95
           compile relocate_i386.c
96
        }
97
 
98
        cdl_option CYGBLD_OBJLOADER_ARCHITECTURE_ARM {
99
            display       "Support loading on ARM processors"
100
            calculated    CYGPKG_HAL_ARM
101
            implements    CYGINT_SERVICES_OBJLOADER_RELOCATOR
102
            define_proc {
103
               puts $::cdl_header "#include "
104
            }
105
            compile relocate_arm.c
106
        }
107
 
108
    }
109
 
110
    cdl_component CYGOPT_SERVICES_OBJLOADER_LOADERS {
111
        display "Loaders to compile"
112
        flavor  none
113
        no_define
114
        description   "Options to select which types of loaders (e.g. from file
115
                       system, memory, http etc. to compile."
116
 
117
      cdl_option CYGOPT_SERVICES_OBJLOADER_LOADERS_FS {
118
          display       "Load module from file system"
119
          flavor        bool
120
          default_value 1
121
          requires      CYGPKG_IO_FILEIO
122
          description   "This option will compile the code required to load an
123
                         object library from a generic file system."
124
          compile       loader_fs.c
125
      }
126
 
127
      cdl_option CYGOPT_SERVICES_OBJLOADER_LOADERS_MEMORY {
128
          display       "Load module from memory"
129
          flavor        bool
130
          default_value 1
131
          description   "This option will compile the module required to load an
132
                         object library from a ROM memory."
133
          compile       loader_memory.c
134
      }
135
    }
136
 
137
    cdl_option CYGPKG_SERVICES_OBJLOADER_DEBUG_LEVEL {
138
        display          "Verbosity of debug output"
139
        flavor           data
140
        legal_values     0 1 2
141
        default_value    0
142
        description      "This option allows controls over the verbosity of
143
                         the debug output. 1 is moderate, 2 is very
144
                         verbose, including the symbol name of each relocation
145
                         performed. Any value other than 0 will prevent the
146
                         unloading of unused library data, thus increasing the
147
                         heap memory requirements of the package."
148
    }
149
 
150
    cdl_component CYGPKG_SERVICES_OBJLOADER_OPTIONS {
151
        display "Object loader build options"
152
        flavor  none
153
        description   "
154
            Package specific build options including control over
155
            compiler flags used only in building this package,
156
            and details of which tests are built."
157
 
158
 
159
        cdl_option CYGPKG_SERVICES_OBJLOADER_CFLAGS_ADD {
160
            display "Additional compiler flags"
161
            flavor  data
162
            no_define
163
            default_value { "" }
164
            description   "
165
                This option modifies the set of compiler flags for
166
                building the serial device drivers. These flags are
167
                used in addition to the set of global flags."
168
        }
169
 
170
        cdl_option CYGPKG_SERVICES_OBJLOADER_CFLAGS_REMOVE {
171
            display "Suppressed compiler flags"
172
            flavor  data
173
            no_define
174
            default_value { "" }
175
            description   "
176
                This option modifies the set of compiler flags for
177
                building the serial device drivers. These flags are
178
                removed from the set of global flags if present."
179
        }
180
    }
181
 
182
    cdl_component CYGTST_SERVICES_OBJLOADER_BUILD_TESTS {
183
        display       "Build test library"
184
        default_value 0
185
        active_if     CYGPKG_FS_ROM
186
        active_if     CYGINT_SERVICES_OBJLOADER_RELOCATOR
187
        requires      CYGBLD_FS_ROMFS_MK_ROMFS
188
        no_define
189
        description   "
190
            This option enables the building of a library and an
191
            application for testing the loader."
192
 
193
        make -priority 320 {
194
            testobj/hello.o : /tests/library/hello.c
195
            @mkdir -p "$(dir $@)"
196
            $(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(ACTUAL_CFLAGS) -o $@ $<
197
        }
198
 
199
        make -priority 322 {
200
            /include/cyg/objloader/testromfs_be.h : testobj/hello.o
201
            $(PREFIX)/bin/mk_romfs -b $(dir $<) testromfs_be.bin
202
            @mkdir -p "$(dir $@)"
203
            @tclsh $(PREFIX)/bin/file2c.tcl testromfs_be.bin $@
204
        }
205
 
206
        make -priority 322 {
207
            /include/cyg/objloader/testromfs_le.h : testobj/hello.o
208
            $(PREFIX)/bin/mk_romfs $(dir $<) testromfs_le.bin
209
            @mkdir -p "$(dir $@)"
210
            @tclsh $(PREFIX)/bin/file2c.tcl testromfs_le.bin $@
211
        }
212
 
213
        cdl_option CYGPKG_OBJLOADER_TESTS {
214
            display     "Objloader tests"
215
            flavor      data
216
            no_define
217
            calculated  { "tests/test_mods" }
218
            description "
219
                This option specifies the set of tests for the object
220
                loader package"
221
       }
222
    }
223
}
224
 
225
# ====================================================================
226
# EOF objloader.cdl

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.