annotate packages/services/loader/current/cdl/loader.cdl @ 208:e0c0827131d1 ecos

Merge from eCos master repository on 2002-05-20-20:11:54-BST
author jlarmour
date Mon, 20 May 2002 22:19:26 +0000
parents 022f1e506033
children d2c90368aeef
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
184
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
1 # ====================================================================
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
2 #
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
3 # loader.cdl
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
4 #
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
5 # Dynamic loader configuration data
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
6 #
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
7 # ====================================================================
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
8 #####ECOSGPLCOPYRIGHTBEGIN####
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
9 # -------------------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
10 # This file is part of eCos, the Embedded Configurable Operating System.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
11 # Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
12 #
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
13 # eCos is free software; you can redistribute it and/or modify it under
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
14 # the terms of the GNU General Public License as published by the Free
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
15 # Software Foundation; either version 2 or (at your option) any later version.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
16 #
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
17 # eCos is distributed in the hope that it will be useful, but WITHOUT ANY
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
18 # WARRANTY; without even the implied warranty of MERCHANTABILITY or
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
19 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
20 # for more details.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
21 #
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
22 # You should have received a copy of the GNU General Public License along
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
23 # with eCos; if not, write to the Free Software Foundation, Inc.,
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
24 # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
25 #
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
26 # As a special exception, if other files instantiate templates or use macros
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
27 # or inline functions from this file, or you compile this file and link it
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
28 # with other works to produce a work based on this file, this file does not
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
29 # by itself cause the resulting work to be covered by the GNU General Public
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
30 # License. However the source code for this file must still be made available
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
31 # in accordance with section (3) of the GNU General Public License.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
32 #
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
33 # This exception does not invalidate any other reasons why a work based on
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
34 # this file might be covered by the GNU General Public License.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
35 #
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
36 # Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
37 # at http://sources.redhat.com/ecos/ecos-license
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
38 # -------------------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 184
diff changeset
39 #####ECOSGPLCOPYRIGHTEND####
184
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
40 # ====================================================================
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
41 ######DESCRIPTIONBEGIN####
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
42 #
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
43 # Author(s): nickg
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
44 # Contributors:
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
45 # Date: 2000-11-20
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
46 #
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
47 #####DESCRIPTIONEND####
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
48 #
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
49 # ====================================================================
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
50
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
51 cdl_package CYGPKG_LOADER {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
52 display "Dynamic loader"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
53 description "
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
54 This package provides support for dynamic code loading."
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
55 include_dir cyg/loader
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
56 compile loader.cxx dload.cxx
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
57
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
58 requires { CYGBLD_ISO_DLFCN_HEADER == "<cyg/loader/dlfcn.h>" }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
59 implements CYGINT_ISO_DLFCN
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
60
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
61 # ====================================================================
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
62
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
63 cdl_component CYGPKG_LOADER_OPTIONS {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
64 display "Common memory allocator package build options"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
65 flavor none
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
66 no_define
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
67 description "
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
68 Package specific build options including control over
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
69 compiler flags used only in building this package,
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
70 and details of which tests are built."
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
71
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
72 cdl_option CYGPKG_LOADER_CFLAGS_ADD {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
73 display "Additional compiler flags"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
74 flavor data
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
75 no_define
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
76 default_value { "" }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
77 description "
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
78 This option modifies the set of compiler flags for
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
79 building this package. These flags are used in addition
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
80 to the set of global flags."
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
81 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
82
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
83 cdl_option CYGPKG_LOADER_CFLAGS_REMOVE {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
84 display "Suppressed compiler flags"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
85 flavor data
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
86 no_define
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
87 default_value { "-O2 -fvtable-gc" }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
88 description "
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
89 This option modifies the set of compiler flags for
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
90 building this package. These flags are removed from
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
91 the set of global flags if present."
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
92 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
93
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
94 cdl_option CYGPKG_LOADER_LDFLAGS_ADD {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
95 display "Additional compiler flags"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
96 flavor data
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
97 no_define
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
98 # default_value { "-L$(PREFIX)/lib -ldlforce" }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
99 default_value { "" }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
100 description "
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
101 This option modifies the set of compiler flags for
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
102 building this package. These flags are used in addition
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
103 to the set of global flags."
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
104 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
105
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
106 cdl_option CYGPKG_LOADER_LDFLAGS_REMOVE {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
107 display "Suppressed compiler flags"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
108 flavor data
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
109 no_define
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
110 default_value { "-Wl,-static -Wl,--gc-sections" }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
111 description "
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
112 This option modifies the set of compiler flags for
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
113 building this package. These flags are removed from
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
114 the set of global flags if present."
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
115 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
116
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
117 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
118
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
119 # ====================================================================
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
120 # Dynamic library build options
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
121
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
122 cdl_option CYGBLD_LOADER_DYNAMIC_LD {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
123 display "Build linker script for dynamic libraries"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
124 flavor bool
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
125 default_value 1
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
126 description "Build a linker script for creating dynamic libraries"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
127
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
128 make -priority 50 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
129 <PREFIX>/lib/dynamic.ld: <PACKAGE>/src/dynamic.ld
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
130 $(CC) -E -P -Wp,-MD,dynamic.tmp -DEXTRAS=1 -xc $(INCLUDE_PATH) $(CFLAGS) -o $@ $<
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
131 @echo $@ ": \\" > $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
132 @tail +2 dynamic.tmp >> $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
133 @echo >> $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
134 @rm dynamic.tmp
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
135
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
136 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
137 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
138
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
139 cdl_option CYGBLD_LOADER_CRTBEGINS {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
140 display "Build special crtbeginS.o for dynamic libraries"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
141 flavor bool
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
142 default_value 1
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
143
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
144 make -priority 110 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
145 <PREFIX>/lib/crtbeginS.o : <PACKAGE>/src/crtbeginS.c
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
146 $(CC) -Wp,-MD,crtbeginS.tmp $(INCLUDE_PATH) -g0 -Wall -finhibit-size-directive -fno-inline-functions -fno-exceptions -c -o $@ $<
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
147 @echo $@ ": \\" > $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
148 @tail +2 crtbeginS.tmp >> $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
149 @echo >> $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
150 @rm crtbeginS.tmp
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
151 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
152 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
153
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
154 cdl_option CYGBLD_LOADER_CRTENDS {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
155 display "Build special crtendS.o for dynamic libraries"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
156 flavor bool
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
157 default_value 1
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
158
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
159 make -priority 110 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
160 <PREFIX>/lib/crtendS.o : <PACKAGE>/src/crtendS.c
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
161 $(CC) -Wp,-MD,crtendS.tmp $(INCLUDE_PATH) -g0 -Wall -finhibit-size-directive -fno-inline-functions -fno-exceptions -c -o $@ $<
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
162 @echo $@ ": \\" > $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
163 @tail +2 crtendS.tmp >> $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
164 @echo >> $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
165 @rm crtendS.tmp
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
166 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
167 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
168
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
169 cdl_option CYGBLD_LOADER_DLFORCE_LIB {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
170 display "Build dynamic load library"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
171 flavor bool
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
172 default_value 1
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
173 description "Build a shared library that is to be linked with the executable
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
174 to force it to be built in such a way that it is suitable for
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
175 having some other shared library load against it. This is the
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
176 most portable way of achieving this."
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
177
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
178 make -priority 160 {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
179 <PREFIX>/lib/libdlforce.so : <PACKAGE>/src/dlforce.c
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
180 $(CC) $(CFLAGS) -Wp,-MD,dlforce.tmp $(INCLUDE_PATH) -shared -c -o src/dlforce.o $<
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
181 $(CC) -g -nostdlib -L$(PREFIX)/lib -shared -Tdynamic.ld -o $@ $(PREFIX)/lib/crtbeginS.o src/dlforce.o $(PREFIX)/lib/crtendS.o
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
182 @echo $@ ": \\" > $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
183 @tail +2 dlforce.tmp >> $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
184 @echo >> $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
185 @rm dlforce.tmp
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
186 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
187 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
188
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
189 # ====================================================================
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
190 # Tests
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
191
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
192
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
193 cdl_option CYGBLD_LOADER_TEST_FOO_LIB {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
194 display "Build a dynamic load library"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
195 flavor bool
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
196 default_value 1
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
197 description "Build a shared library for testing."
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
198
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
199 make {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
200 tests/libfoo.so : <PACKAGE>/tests/foo.c
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
201 mkdir -p tests
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
202 $(CC) $(CFLAGS) -Wp,-MD,foo.tmp $(INCLUDE_PATH) -shared -c -o tests/foo.o $<
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
203 $(CC) $(LDFLAGS) -L$(PREFIX)/lib -shared -Tdynamic.ld -o $@ $(PREFIX)/lib/crtbeginS.o tests/foo.o $(PREFIX)/lib/crtendS.o
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
204 @echo $@ ": \\" > $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
205 @tail +2 foo.tmp >> $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
206 @echo >> $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
207 @rm foo.tmp
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
208 cc -o entable $(REPOSITORY)/$(PACKAGE)/tests/entable.c
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
209 ./entable libfoo <tests/libfoo.so >tests/libfoo.so.c
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
210 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
211 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
212
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
213 cdl_option CYGBLD_LOADER_TEST_LOADFOO {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
214 display "Build library load test program"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
215 flavor bool
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
216 default_value 1
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
217 description "Build a test program that will load the test shared library"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
218
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
219 make {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
220 <PREFIX>/tests/services/loader/current/tests/loadfoo : <PACKAGE>/tests/loadfoo.cxx
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
221 mkdir -p $(PREFIX)/tests/services/loader/current/tests
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
222 $(CC) $(CFLAGS) -Wp,-MD,loadfoo.tmp $(INCLUDE_PATH) -c -o tests/loadfoo.o $<
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
223 # $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -ldlforce -o $@ $(PREFIX)/lib/crtbeginS.o tests/loadfoo.o $(PREFIX)/lib/crtendS.o
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
224 $(CC) $(LDFLAGS) -Wl,-E -L$(PREFIX)/lib -Ttarget.ld -ldlforce -o $@ tests/loadfoo.o
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
225 @echo $@ ": \\" > $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
226 @tail +2 loadfoo.tmp >> $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
227 @echo >> $(notdir $@).deps
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
228 @rm loadfoo.tmp
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
229
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
230 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
231 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
232
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
233 # cdl_option CYGPKG_LOADER_TESTS {
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
234 # display "Tests"
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
235 # flavor data
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
236 # no_define
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
237 # calculated { "tests/loadfoo" }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
238 # description "
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
239 # This option specifies the set of tests for this package."
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
240 # }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
241
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
242 }
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
243
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
244 # ====================================================================
022f1e506033 Merge from eCos master repository on 2001-10-02-17:59:22-BST
jlarmour
parents:
diff changeset
245 # EOF loader.cdl