1 # Makefile for support library, used only at build and test time
2 # Copyright (C) 2016-2018 Free Software Foundation, Inc.
3 # This file is part of the GNU C Library.
5 # The GNU C Library is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU Lesser General Public
7 # License as published by the Free Software Foundation; either
8 # version 2.1 of the License, or (at your option) any later version.
10 # The GNU C Library is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 # Lesser General Public License for more details.
15 # You should have received a copy of the GNU Lesser General Public
16 # License along with the GNU C Library; if not, see
17 # <http://www.gnu.org/licenses/>.
23 extra-libs
:= libsupport
24 extra-libs-others
= $(extra-libs
)
25 extra-libs-noinstall
:= $(extra-libs
)
27 libsupport-routines
= \
44 support_capture_subprocess \
45 support_capture_subprocess_check \
47 support_copy_file_range \
48 support_descriptor_supports_holes \
49 support_enter_mount_namespace \
50 support_enter_network_namespace \
51 support_format_address_family \
52 support_format_addrinfo \
53 support_format_dns_packet \
54 support_format_herrno \
55 support_format_hostent \
56 support_format_netent \
57 support_isolate_in_subprocess \
61 support_quote_string \
62 support_record_failure \
64 support_shared_allocate \
65 support_test_compare_blob \
66 support_test_compare_failure \
67 support_test_compare_string \
68 support_write_file_string \
70 support_test_verify_impl \
101 xpthread_attr_destroy \
103 xpthread_attr_setdetachstate \
104 xpthread_attr_setguardsize \
105 xpthread_attr_setstacksize \
106 xpthread_barrier_destroy \
107 xpthread_barrier_init \
108 xpthread_barrier_wait \
109 xpthread_barrierattr_destroy \
110 xpthread_barrierattr_init \
111 xpthread_barrierattr_setpshared \
113 xpthread_check_return \
118 xpthread_mutex_consistent \
119 xpthread_mutex_destroy \
120 xpthread_mutex_init \
121 xpthread_mutex_lock \
122 xpthread_mutex_unlock \
123 xpthread_mutexattr_destroy \
124 xpthread_mutexattr_init \
125 xpthread_mutexattr_setprotocol \
126 xpthread_mutexattr_setpshared \
127 xpthread_mutexattr_setrobust \
128 xpthread_mutexattr_settype \
130 xpthread_rwlock_init \
131 xpthread_rwlock_rdlock \
132 xpthread_rwlock_unlock \
133 xpthread_rwlock_wrlock \
134 xpthread_rwlockattr_init \
135 xpthread_rwlockattr_setkind_np \
138 xpthread_spin_unlock \
156 libsupport-static-only-routines
:= $(libsupport-routines
)
157 # Only build one variant of the library.
158 libsupport-inhibit-o
:= .os
159 ifeq ($(build-shared
),yes
)
160 libsupport-inhibit-o
+= .o
163 CFLAGS-support_paths.c
= \
164 -DSRCDIR_PATH
=\"`cd .. ; pwd`\" \
165 -DOBJDIR_PATH
=\"`cd $(objpfx)/..; pwd`\" \
166 -DOBJDIR_ELF_LDSO_PATH
=\"`cd $(objpfx)/..; pwd`/elf
/$(rtld-installed-name
)\" \
167 -DINSTDIR_PATH
=\"$(prefix)\" \
168 -DLIBDIR_PATH
=\"$(libdir)\"
171 LINKS_DSO_PROGRAM
= links-dso-program-c
173 LINKS_DSO_PROGRAM
= links-dso-program
174 LDLIBS-links-dso-program
= -lstdc
++ -lgcc
-lgcc_s
$(libunwind
)
177 LDLIBS-test-container
= $(libsupport
)
179 others
+= test-container
180 others-noinstall
+= test-container
182 others
+= shell-container echo-container true-container
183 others-noinstall
+= shell-container echo-container true-container
185 others
+= $(LINKS_DSO_PROGRAM
)
186 others-noinstall
+= $(LINKS_DSO_PROGRAM
)
188 $(objpfx
)test-container
: $(libsupport
)
189 $(objpfx
)shell-container
: $(libsupport
)
190 $(objpfx
)echo-container
: $(libsupport
)
191 $(objpfx
)true-container
: $(libsupport
)
195 tst-support-namespace \
196 tst-support_blob_repeat \
197 tst-support_capture_subprocess \
198 tst-support_format_dns_packet \
199 tst-support_quote_blob \
200 tst-support_quote_string \
201 tst-support_record_failure \
203 tst-test_compare_blob \
204 tst-test_compare_string \
207 ifeq ($(run-built-tests
),yes
)
209 $(objpfx
)tst-support_record_failure-2.out
211 $(objpfx
)tst-support_record_failure-2.out
: tst-support_record_failure-2.sh \
212 $(objpfx
)tst-support_record_failure
213 $(SHELL
) $< $(common-objpfx
) '$(test-program-prefix-before-env)' \
214 '$(run-program-env)' '$(test-program-prefix-after-env)' \
219 $(objpfx
)tst-support_format_dns_packet
: $(common-objpfx
)resolv
/libresolv.so