mirror of
https://https.git.savannah.gnu.org/git/gnulib.git
synced 2026-09-01 02:34:55 +00:00
sys_sem: New module.
* lib/sys_sem.in.h: New file. * m4/sys_sem_h.m4: New file. * modules/sys_sem: New file. * doc/posix-headers/sys_sem.texi: Mention the new module.
This commit is contained in:
@@ -1,5 +1,11 @@
|
||||
2023-04-14 Bruno Haible <bruno@clisp.org>
|
||||
|
||||
sys_sem: New module.
|
||||
* lib/sys_sem.in.h: New file.
|
||||
* m4/sys_sem_h.m4: New file.
|
||||
* modules/sys_sem: New file.
|
||||
* doc/posix-headers/sys_sem.texi: Mention the new module.
|
||||
|
||||
sys_msg: New module.
|
||||
* lib/sys_msg.in.h: New file.
|
||||
* m4/sys_msg_h.m4: New file.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_sem.h.html}
|
||||
|
||||
Gnulib module: ---
|
||||
Gnulib module: sys_sem
|
||||
|
||||
Portability problems fixed by Gnulib:
|
||||
@itemize
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
/* Provide a more reliable sys/sem.h.
|
||||
|
||||
Copyright (C) 2023 Free Software Foundation, Inc.
|
||||
|
||||
This file 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.
|
||||
|
||||
This file 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 this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#if __GNUC__ >= 3
|
||||
@PRAGMA_SYSTEM_HEADER@
|
||||
#endif
|
||||
@PRAGMA_COLUMNS@
|
||||
|
||||
/* This file uses #include_next of a system file that defines time_t.
|
||||
For the 'year2038' module to work right, <config.h> needs to have been
|
||||
included before. */
|
||||
#if !_GL_CONFIG_H_INCLUDED
|
||||
#error "Please include config.h first."
|
||||
#endif
|
||||
|
||||
#@INCLUDE_NEXT@ @NEXT_SYS_SEM_H@
|
||||
@@ -0,0 +1,20 @@
|
||||
# sys_sem_h.m4 serial 1
|
||||
dnl Copyright (C) 2023 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl Written by Bruno Haible.
|
||||
|
||||
AC_DEFUN_ONCE([gl_SYS_SEM_H],
|
||||
[
|
||||
AC_CHECK_HEADERS_ONCE([sys/sem.h])
|
||||
dnl For now, we provide a <sys/sem.h> wrapper only if the system already has
|
||||
dnl a <sys/sem.h>.
|
||||
if test $ac_cv_header_sys_sem_h = yes; then
|
||||
GL_GENERATE_SYS_SEM_H=true
|
||||
gl_CHECK_NEXT_HEADERS([sys/sem.h])
|
||||
else
|
||||
GL_GENERATE_SYS_SEM_H=false
|
||||
fi
|
||||
])
|
||||
@@ -0,0 +1,48 @@
|
||||
Description:
|
||||
<sys/sem.h> with extra checks.
|
||||
|
||||
Files:
|
||||
lib/sys_sem.in.h
|
||||
m4/sys_sem_h.m4
|
||||
|
||||
Depends-on:
|
||||
gen-header
|
||||
include_next
|
||||
|
||||
configure.ac:
|
||||
gl_SYS_SEM_H
|
||||
gl_CONDITIONAL_HEADER([sys/sem.h])
|
||||
AC_PROG_MKDIR_P
|
||||
|
||||
Makefile.am:
|
||||
BUILT_SOURCES += $(SYS_SEM_H)
|
||||
|
||||
# We need the following in order to create <sys/sem.h> when desired.
|
||||
if GL_GENERATE_SYS_SEM_H
|
||||
sys/sem.h: sys_sem.in.h $(top_builddir)/config.status
|
||||
$(AM_V_GEN)$(MKDIR_P) '%reldir%/sys'
|
||||
$(AM_V_at)$(SED_HEADER_STDOUT) \
|
||||
-e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
|
||||
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
||||
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
||||
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
||||
-e 's|@''NEXT_SYS_SEM_H''@|$(NEXT_SYS_SEM_H)|g' \
|
||||
$(srcdir)/sys_sem.in.h > $@-t
|
||||
$(AM_V_at)mv $@-t $@
|
||||
else
|
||||
sys/sem.h: $(top_builddir)/config.status
|
||||
rm -f $@
|
||||
endif
|
||||
MOSTLYCLEANFILES += sys/sem.h sys/sem.h-t
|
||||
MOSTLYCLEANDIRS += sys
|
||||
|
||||
Include:
|
||||
#if HAVE_SYS_SEM_H
|
||||
<sys/sem.h>
|
||||
#endif
|
||||
|
||||
License:
|
||||
LGPLv2+
|
||||
|
||||
Maintainer:
|
||||
all
|
||||
Reference in New Issue
Block a user