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

[commits] r927 - in /branches/eglibc-2_5/libc: ./ catgets/



Author: jimb
Date: Wed Dec 13 12:28:27 2006
New Revision: 927

Log:
2006-12-08  Jim Blandy  <jimb@xxxxxxxxxxxxxxxx>

        Add rudimentary option group support.
        * option-groups.mak, option-groups.def, option-groups.defaults:
        New files.
        * Makerules: Add contents of enabled option groups to the values
        of the variables 'routines', 'others', 'install-bin',
        'install-sbin', 'extra-objs', 'tests', and 'test-srcs'.
        * catgets/Makefile: Add the catgets directory's routines and
        programs to the OPTION_EGLIBC_CATGETS option group.

Added:
    branches/eglibc-2_5/libc/option-groups.def
    branches/eglibc-2_5/libc/option-groups.defaults
    branches/eglibc-2_5/libc/option-groups.mak
Modified:
    branches/eglibc-2_5/libc/ChangeLog.eglibc
    branches/eglibc-2_5/libc/Makerules
    branches/eglibc-2_5/libc/catgets/Makefile

Modified: branches/eglibc-2_5/libc/ChangeLog.eglibc
==============================================================================
--- branches/eglibc-2_5/libc/ChangeLog.eglibc (original)
+++ branches/eglibc-2_5/libc/ChangeLog.eglibc Wed Dec 13 12:28:27 2006
@@ -1,3 +1,14 @@
+2006-12-08  Jim Blandy  <jimb@xxxxxxxxxxxxxxxx>
+
+	Add rudimentary option group support.
+	* option-groups.mak, option-groups.def, option-groups.defaults:
+        New files.
+	* Makerules: Add contents of enabled option groups to the values
+	of the variables 'routines', 'others', 'install-bin',
+	'install-sbin', 'extra-objs', 'tests', and 'test-srcs'.
+	* catgets/Makefile: Add the catgets directory's routines and
+	programs to the OPTION_EGLIBC_CATGETS option group.
+
 2006-12-07  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* misc/tst-efgcvt.c (ecvt_tests): Disable subnormal test for E500

Modified: branches/eglibc-2_5/libc/Makerules
==============================================================================
--- branches/eglibc-2_5/libc/Makerules (original)
+++ branches/eglibc-2_5/libc/Makerules Wed Dec 13 12:28:27 2006
@@ -405,6 +405,16 @@
 endef
 endif
 
+# Include targets in the selected option groups.
+routines     += $(routines-y)
+others       += $(others-y)
+install-bin  += $(install-bin-y)
+install-sbin += $(install-sbin-y)
+extra-objs   += $(extra-objs-y)
+tests        += $(tests-y)
+test-srcs    += $(test-srcs-y)
+
+
 # Modify the list of routines we build for different targets
 
 ifeq (yesyes,$(build-shared)$(elf))

Modified: branches/eglibc-2_5/libc/catgets/Makefile
==============================================================================
--- branches/eglibc-2_5/libc/catgets/Makefile (original)
+++ branches/eglibc-2_5/libc/catgets/Makefile Wed Dec 13 12:28:27 2006
@@ -21,16 +21,18 @@
 #
 subdir	:= catgets
 
+include ../option-groups.mak
+
 headers		= nl_types.h
 distribute	= catgetsinfo.h config.h xopen-msg.sed test1.msg test2.msg \
 		  test-gencat.sh sample.SJIS
-routines	= catgets open_catalog
-others		= gencat
-install-bin	= gencat
-extra-objs	= $(gencat-modules:=.o)
+routines-$(OPTION_EGLIBC_CATGETS)    := catgets open_catalog
+others-$(OPTION_EGLIBC_CATGETS)      := gencat
+install-bin-$(OPTION_EGLIBC_CATGETS) := gencat
+extra-objs-$(OPTION_EGLIBC_CATGETS)  := $(gencat-modules:=.o)
 
-tests = tst-catgets
-test-srcs = test-gencat
+tests-$(OPTION_EGLIBC_CATGETS)       := tst-catgets
+test-srcs-$(OPTION_EGLIBC_CATGETS)   := test-gencat
 
 gencat-modules	= xmalloc
 

Added: branches/eglibc-2_5/libc/option-groups.def
==============================================================================
--- branches/eglibc-2_5/libc/option-groups.def (added)
+++ branches/eglibc-2_5/libc/option-groups.def Wed Dec 13 12:28:27 2006
@@ -1,0 +1,44 @@
+# This file documents the option groups EGLIBC currently supports, in
+# a format akin to the Linux Kconfig system's.  The syntax may change
+# over time.
+#
+# An entry of the form:
+#
+#   config OPTION_GROUP_NAME
+#       bool "one-line explanation of what this option group controls"
+#       help
+#           Multi-line help explaining the option group's meaning in
+#           some detail, terminated by indentation level.
+#
+# defines an option group whose variable is OPTION_GROUP_NAME, with
+# meaningful values 'y' (enabled) and 'n' (disabled).  The
+# documentation is formatted to be consumed by some sort of
+# interactive configuration interface, but EGLIBC doesn't have such an
+# interface yet.
+# 
+# Option group variables get their default values from the file
+# 'option-groups.defaults', in the top directory of the EGLIBC source
+# tree.  By default, all EGLIBC option groups are enabled --- their
+# variables are set to 'y'.
+#
+# After including 'option-groups.defaults', the EGLIBC make machinery
+# includes the file 'option-groups.config' from the top of the build
+# tree, if it is present.  Developers can place assignments to option
+# group variables in that file to override the defaults.  For example,
+# to disable an option group, place a line of the form:
+#
+#    OPTION_GROUP_NAME = n
+#
+# in 'option-groups.config' at the top of your build tree.  To
+# explicitly enable an option group, you may also write:
+#
+#    OPTION_GROUP_NAME = y
+# 
+# although this simply reestablishes the value already set by
+# 'option-groups.defaults'.
+
+config OPTION_EGLIBC_CATGETS
+   bool "Functions for accessing message catalogs"
+   help
+       This option group includes functions for accessing message
+       catalogs: catopen, catclose, and catgets.

Added: branches/eglibc-2_5/libc/option-groups.defaults
==============================================================================
--- branches/eglibc-2_5/libc/option-groups.defaults (added)
+++ branches/eglibc-2_5/libc/option-groups.defaults Wed Dec 13 12:28:27 2006
@@ -1,0 +1,11 @@
+# This file sets default values for all option group variables
+# mentioned in option-groups.def; see that file for a description of
+# each option group.
+#
+# Subdirectory makefiles include this file before including the user's
+# settings from option-groups.config at the top of the build tree;
+# that file need only refer to those options whose default settings
+# are to be changed.
+#
+# By default, all option groups are enabled.
+OPTION_EGLIBC_CATGETS = y

Added: branches/eglibc-2_5/libc/option-groups.mak
==============================================================================
--- branches/eglibc-2_5/libc/option-groups.mak (added)
+++ branches/eglibc-2_5/libc/option-groups.mak Wed Dec 13 12:28:27 2006
@@ -1,0 +1,17 @@
+# Setup file for subdirectory Makefiles that define EGLIBC option groups.
+
+# Read the default settings for all options.
+include $(..)option-groups.defaults
+
+# Read the developer's option group selections, overriding the
+# defaults from option-groups.defaults.
+-include $(objdir)/option-groups.config
+
+# Establish 'routines-y', etc. as simply expanded variables.
+routines-y     :=
+others-y       :=
+install-bin-y  :=
+install-sbin-y :=
+extra-objs-y   :=
+tests-y        :=
+test-srcs-y    :=