# Copyright (C) 2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
#
# The GNU C Library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# The GNU C Library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with the GNU C Library; see the file COPYING.LIB.  If
# not, see <http://www.gnu.org/licenses/>.

ASFLAGS-dl-tlsdesc.S = -DNOT_IN_libc=1
ASFLAGS-pthread_spin_lock.S = -DNOT_IN_libc -DIS_IN_libpthread
ASFLAGS-pthread_spin_trylock.S = -DNOT_IN_libc -DIS_IN_libpthread

libc_arch_a_CSRC = libc-tls.c
libc_arch_a_SSRC = libc-dl-tlsdesc.S

CFLAGS-gen_tlsdesc.c = -S
$(libpthread_arch_OUT)/gen_tlsdesc.c: $(libpthread_arch_DIR)/tlsdesc.sym | $(libpthread_arch_OUT)
	$(do_awk) $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@
$(libpthread_arch_OUT)/gen_tlsdesc.s: $(libpthread_arch_OUT)/gen_tlsdesc.c | headers
	$(compile.c)
libpthread-generated-y += $(libpthread_arch_OUT)/gen_tlsdesc.s
$(libpthread_arch_OUT)/tlsdesc.h: $(libpthread_arch_OUT)/gen_tlsdesc.s
	$(do_sed) $(PTHREAD_GENERATE_MANGLE) $< > $@
	@if test ! -s $@ ; then rm -f $@ ; false ; fi
pregen-headers-$(UCLIBC_HAS_THREADS_NATIVE) += $(libpthread_arch_OUT)/tlsdesc.h
