blob: 4f1809cea55b7c2f407c4c527c5198509934e342 [file] [log] [blame]
xf.libdd93d52023-05-12 07:10:14 -07001# Copyright (C) 1991-2016 Free Software Foundation, Inc.
2# This file is part of the GNU C Library.
3
4# The GNU C Library is free software; you can redistribute it and/or
5# modify it under the terms of the GNU Lesser General Public
6# License as published by the Free Software Foundation; either
7# version 2.1 of the License, or (at your option) any later version.
8
9# The GNU C Library is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12# Lesser General Public License for more details.
13
14# You should have received a copy of the GNU Lesser General Public
15# License along with the GNU C Library; if not, see
16# <http://www.gnu.org/licenses/>.
17
18#
19# Sub-makefile for grp portion of the library.
20#
21subdir := grp
22
23include ../Makeconfig
24
25headers := grp.h
26
27routines := fgetgrent initgroups setgroups \
28 getgrent getgrgid getgrnam putgrent \
29 getgrent_r getgrgid_r getgrnam_r fgetgrent_r
30
31tests := testgrp tst-putgrent
32
33ifeq (yes,$(build-shared))
34test-srcs := tst_fgetgrent
35ifeq ($(run-built-tests),yes)
36tests-special += $(objpfx)tst_fgetgrent.out
37endif
38endif
39
40
41include ../Rules
42
43ifeq ($(have-thread-library),yes)
44
45CFLAGS-getgrgid_r.c = -fexceptions
46CFLAGS-getgrnam_r.c = -fexceptions
47CFLAGS-getgrent_r.c = -fexceptions
48CFLAGS-getgrent.c = -fexceptions
49CFLAGS-fgetgrent.c = -fexceptions
50CFLAGS-fgetgrent_r.c = -fexceptions $(libio-mtsafe)
51CFLAGS-putgrent.c = -fexceptions $(libio-mtsafe)
52CFLAGS-initgroups.c = -fexceptions
53CFLAGS-getgrgid.c = -fexceptions
54
55endif
56
57ifeq ($(run-built-tests),yes)
58# tst_fgetgrent currently only works with shared libraries
59ifeq (yes,$(build-shared))
60$(objpfx)tst_fgetgrent.out: tst_fgetgrent.sh $(objpfx)tst_fgetgrent
61 $(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; \
62 $(evaluate-test)
63
64endif
65endif