]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - grp/Makefile
Prefer https to http for gnu.org and fsf.org URLs
[thirdparty/glibc.git] / grp / Makefile
index 8c63a4c65e11c52eb62db040b615adc5ed3683f3..9477cc67de96b9570430537aea67822a56bfea78 100644 (file)
@@ -1,31 +1,66 @@
-# Copyright (C) 1991, 1992, 1996, 1997 Free Software Foundation, Inc.
+# Copyright (C) 1991-2019 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 Library General Public License as
-# published by the Free Software Foundation; either version 2 of the
-# License, or (at your option) any later version.
+# 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
-# Library General Public License for more details.
+# Lesser General Public License for more details.
 
-# You should have received a copy of the GNU Library General Public
-# License along with the GNU C Library; see the file COPYING.LIB.  If not,
-# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, see
+# <https://www.gnu.org/licenses/>.
 
 #
 #      Sub-makefile for grp portion of the library.
 #
 subdir := grp
+
+include ../Makeconfig
+
 headers := grp.h
 
 routines := fgetgrent initgroups setgroups \
-           getgrent getgrgid getgrnam \
-           getgrent_r getgrgid_r getgrnam_r fgetgrent_r
+           getgrent getgrgid getgrnam putgrent \
+           getgrent_r getgrgid_r getgrnam_r fgetgrent_r \
+           grp-merge
+
+tests := testgrp tst-putgrent
+
+ifeq (yes,$(build-shared))
+test-srcs :=  tst_fgetgrent
+ifeq ($(run-built-tests),yes)
+tests-special += $(objpfx)tst_fgetgrent.out
+endif
+endif
 
-tests := testgrp
 
 include ../Rules
+
+ifeq ($(have-thread-library),yes)
+
+CFLAGS-getgrgid_r.c += -fexceptions
+CFLAGS-getgrnam_r.c += -fexceptions
+CFLAGS-getgrent_r.c += -fexceptions
+CFLAGS-getgrent.c += -fexceptions
+CFLAGS-fgetgrent.c += -fexceptions
+CFLAGS-fgetgrent_r.c += -fexceptions $(libio-mtsafe)
+CFLAGS-putgrent.c += -fexceptions $(libio-mtsafe)
+CFLAGS-initgroups.c += -fexceptions
+CFLAGS-getgrgid.c += -fexceptions
+
+endif
+
+ifeq ($(run-built-tests),yes)
+# tst_fgetgrent currently only works with shared libraries
+ifeq (yes,$(build-shared))
+$(objpfx)tst_fgetgrent.out: tst_fgetgrent.sh $(objpfx)tst_fgetgrent
+       $(SHELL) $< $(common-objpfx) '$(test-program-prefix)' > $@; \
+       $(evaluate-test)
+
+endif
+endif