[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r3184 - in /trunk/libc: ./ iconv/ locale/ nptl/ posix/



Author: jimb
Date: Fri Aug 17 17:23:43 2007
New Revision: 3184

Log:
Implement the OPTION_EGLIBC_SPAWN option group.

* option-groups.def (OPTION_EGLIBC_SPAWN): New entry.
* option-groups.defaults (OPTION_EGLIBC_SPAWN): Initialize.
* posix/Makefile (routines): Move spawn routines into group.
(tests): Move tst-spawn into group.
* iconv/Makefile (CPPFLAGS-charmap-dir.c): Pass NO_UNCOMPRESS if
spawn is not available.
* locale/Makefile (CFLAGS-charmap-dir.c): Same.
* nptl/Makefile (tst-exec1): Put in group.

Modified:
    trunk/libc/ChangeLog.eglibc
    trunk/libc/iconv/Makefile
    trunk/libc/locale/Makefile
    trunk/libc/nptl/Makefile
    trunk/libc/option-groups.def
    trunk/libc/option-groups.defaults
    trunk/libc/posix/Makefile

Modified: trunk/libc/ChangeLog.eglibc
==============================================================================
--- trunk/libc/ChangeLog.eglibc (original)
+++ trunk/libc/ChangeLog.eglibc Fri Aug 17 17:23:43 2007
@@ -1,3 +1,16 @@
+2007-08-17  Jim Blandy  <jimb@xxxxxxxxxxxxxxxx>
+
+	Implement the OPTION_EGLIBC_SPAWN option group.
+
+	* option-groups.def (OPTION_EGLIBC_SPAWN): New entry.
+	* option-groups.defaults (OPTION_EGLIBC_SPAWN): Initialize.
+	* posix/Makefile (routines): Move spawn routines into group.
+	(tests): Move tst-spawn into group.
+	* iconv/Makefile (CPPFLAGS-charmap-dir.c): Pass NO_UNCOMPRESS if
+	spawn is not available.
+	* locale/Makefile (CFLAGS-charmap-dir.c): Same.
+	* nptl/Makefile (tst-exec1): Put in group.
+
 2007-08-16  Jim Blandy  <jimb@xxxxxxxxxxxxxxxx>
 
 	Implement the OPTION_EGLIBC_FSTAB option group

Modified: trunk/libc/iconv/Makefile
==============================================================================
--- trunk/libc/iconv/Makefile (original)
+++ trunk/libc/iconv/Makefile Fri Aug 17 17:23:43 2007
@@ -79,6 +79,9 @@
 CPPFLAGS-strtab = -DNOT_IN_libc
 CPPFLAGS-charmap = -DNOT_IN_libc
 CPPFLAGS-charmap-dir = -DNOT_IN_libc
+ifneq (y,$(OPTION_EGLIBC_SPAWN))
+CPPFLAGS-charmap-dir.c += -DNO_UNCOMPRESS
+endif
 
 include ../Rules
 

Modified: trunk/libc/locale/Makefile
==============================================================================
--- trunk/libc/locale/Makefile (original)
+++ trunk/libc/locale/Makefile Fri Aug 17 17:23:43 2007
@@ -124,6 +124,9 @@
 CFLAGS-charmap.c = -Wno-write-strings -Wno-char-subscripts
 CFLAGS-locfile.c = -Wno-write-strings -Wno-char-subscripts
 CFLAGS-charmap-dir.c = -Wno-write-strings
+ifneq (y,$(OPTION_EGLIBC_SPAWN))
+CFLAGS-charmap-dir.c += -DNO_UNCOMPRESS
+endif
 CFLAGS-ld-messages.c = $(OPTION_POSIX_REGEXP-CFLAGS-y)
 
 # This makes sure -DNOT_IN_libc is passed for all these modules.

Modified: trunk/libc/nptl/Makefile
==============================================================================
--- trunk/libc/nptl/Makefile (original)
+++ trunk/libc/nptl/Makefile Fri Aug 17 17:23:43 2007
@@ -247,7 +247,7 @@
 	tst-flock1 tst-flock2 \
 	tst-signal1 tst-signal2 tst-signal3 tst-signal4 tst-signal5 \
 	tst-signal6 tst-signal7 \
-	tst-exec1 tst-exec2 tst-exec3 tst-exec4 \
+	tst-exec2 tst-exec3 tst-exec4 \
 	tst-exit1 tst-exit2 tst-exit3 \
 	tst-stdio1 tst-stdio2 \
 	tst-stack1 tst-stack2 tst-stack3 \
@@ -266,6 +266,9 @@
 	tst-getpid1 tst-getpid2 tst-getpid3 \
 	tst-initializers1 $(patsubst %,tst-initializers1-%,c89 gnu89 c99 gnu99)
 xtests = tst-setuid1 tst-setuid1-static tst-mutexpp1 tst-mutexpp6 tst-mutexpp10
+
+# This test uses the posix_spawn functions.
+tests-$(OPTION_EGLIBC_SPAWN) += tst-exec1
 
 # Files which must not be linked with libpthread.
 tests-nolibpthread = tst-unload

Modified: trunk/libc/option-groups.def
==============================================================================
--- trunk/libc/option-groups.def (original)
+++ trunk/libc/option-groups.def Fri Aug 17 17:23:43 2007
@@ -420,6 +420,42 @@
         rresvport       ruserpass
         rresvport_af
         
+config OPTION_EGLIBC_SPAWN
+   bool "Support for POSIX posix_spawn functions"
+   help
+      This option group includes the POSIX functions for executing
+      programs in child processes without using 'fork' or 'vfork'.
+
+      This option group includes the following functions:
+
+        posix_spawn
+        posix_spawnattr_destroy
+        posix_spawnattr_getflags
+        posix_spawnattr_getpgroup
+        posix_spawnattr_getschedparam
+        posix_spawnattr_getschedpolicy
+        posix_spawnattr_getsigdefault
+        posix_spawnattr_getsigmask
+        posix_spawnattr_init
+        posix_spawnattr_setflags
+        posix_spawnattr_setpgroup
+        posix_spawnattr_setschedparam
+        posix_spawnattr_setschedpolicy
+        posix_spawnattr_setsigdefault
+        posix_spawnattr_setsigmask
+        posix_spawn_file_actions_addclose
+        posix_spawn_file_actions_adddup2
+        posix_spawn_file_actions_addopen
+        posix_spawn_file_actions_destroy
+        posix_spawn_file_actions_init
+        posix_spawnp
+
+      This option group also provides the ability for the iconv,
+      localedef, and locale programs to operate transparently on
+      compressed charset definitions.  When this option group is
+      disabled, those programs will only operate on uncompressed
+      charmap files.
+
 config OPTION_EGLIBC_SUNRPC
    bool "Support for the Sun 'RPC' protocol."
    depends OPTION_EGLIBC_INET

Modified: trunk/libc/option-groups.defaults
==============================================================================
--- trunk/libc/option-groups.defaults (original)
+++ trunk/libc/option-groups.defaults Fri Aug 17 17:23:43 2007
@@ -19,5 +19,6 @@
 OPTION_EGLIBC_NIS = y
 OPTION_EGLIBC_NSSWITCH = y
 OPTION_EGLIBC_RCMD = y
+OPTION_EGLIBC_SPAWN = y
 OPTION_EGLIBC_SUNRPC = y
 OPTION_POSIX_REGEXP = y

Modified: trunk/libc/posix/Makefile
==============================================================================
--- trunk/libc/posix/Makefile (original)
+++ trunk/libc/posix/Makefile Fri Aug 17 17:23:43 2007
@@ -59,6 +59,12 @@
 	sched_primin sched_rr_gi sched_getaffinity sched_setaffinity	      \
 	wordexp								      \
 	pread pwrite pread64 pwrite64					      \
+	posix_madvise							      \
+	get_child_max sched_cpucount
+
+routines-$(OPTION_EGLIBC_INET) += getaddrinfo gai_strerror 
+routines-$(OPTION_POSIX_REGEXP) += regex
+routines-$(OPTION_EGLIBC_SPAWN) +=					      \
 	spawn_faction_init spawn_faction_destroy spawn_faction_addclose	      \
 	spawn_faction_addopen spawn_faction_adddup2			      \
 	spawnattr_init spawnattr_destroy				      \
@@ -66,12 +72,7 @@
 	spawnattr_getflags spawnattr_setflags				      \
 	spawnattr_getpgroup spawnattr_setpgroup spawn spawnp spawni	      \
 	spawnattr_getsigmask spawnattr_getschedpolicy spawnattr_getschedparam \
-	spawnattr_setsigmask spawnattr_setschedpolicy spawnattr_setschedparam \
-	posix_madvise							      \
-	get_child_max sched_cpucount
-
-routines-$(OPTION_EGLIBC_INET) += getaddrinfo gai_strerror 
-routines-$(OPTION_POSIX_REGEXP) += regex
+	spawnattr_setsigmask spawnattr_setschedpolicy spawnattr_setschedparam
 
 include ../Makeconfig
 
@@ -105,7 +106,8 @@
 xtests-$(OPTION_EGLIBC_INET) += bug-ga2
 ifeq (yes,$(build-shared))
 test-srcs	:= globtest
-tests           += wordexp-test tst-exec tst-spawn
+tests           += wordexp-test tst-exec
+tests-$(OPTION_EGLIBC_SPAWN) += tst-spawn
 endif
 others		:= getconf
 install-bin	:= getconf