Peter Memishian wrote: > > > That's not checked into the tree; I think that comes from the build > > > environment itself. > > > > Right... but who or what sets the matching flag in the build ? > > The build uses the value of the VERSION environment variable, if it's set. > As per $SRC/tools/env/*.sh, this is usually set to the name of the > workspace being built. I presume that whoever spun that build set VERSION > to snv_<build> in their env file.
Grumpf.. ;-( > > > A number of things under usr/src/tools are aware of RELEASE -- and > > > probably a lot of other stuff that's been built over the years. > > > > Is there a way to hunt down all consumers of RELEASE ? > > I can't see how. Unless you just like pain, I'd leave things be. Well, I like to accept _some_ pain if it makes things a bit better for everyone... > > > > Is there any rule against global, single-word Makefile variables with > > > > less then four letters in the Makefile style guide yet ? > > > > > > No :-) > > > > Should I file a bug/RFE to get something like that added (e.g. "...any > > variable added to an OS/Net Makefile which is visible/used by multiple > > makefiles should be named using more than one word and have at least > > four characters..." or something like that (that still misses things > > like "namespaces" etc.)) ? > > You could, but it will probably sit there as AFAIK no one is maintaining > that Makefile style guide (I still have some changes from several years > ago that never made it back). ;-(( Who created the Makefile style guide and who was the last maintainer ? And what happened to these people ? > > > > +# common CPP flags for libshell consumers (ksh, shcomp etc.) > > > > > > I thought shcomp wasn't part of this putback? > > > > Uhm...right... > > ... but technically only the Makefiles are missing > > But that's the only part that matters as far as that comment is concerned. Umpf... Ok.. comment about "shcomp" removed... ... I've attached the new patch as "ksh93_integration_review_meem005.diff.txt" ... ... better ? ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz at nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;) -------------- next part -------------- Index: src/cmd/ksh/Makefile.testshell =================================================================== --- src/cmd/ksh/Makefile.testshell (revision 739) +++ src/cmd/ksh/Makefile.testshell (working copy) @@ -53,12 +53,6 @@ # io.sh[81]: picked up file descriptor zero for opening script file # -- snip -- # -# - "sun_solaris_getconf.sh" is currently in the whitelist for tests which are -# allowed to fail per explicit permission by Don Cragun -# (see http://mail.opensolaris.org/pipermail/ksh93-integration-discuss/2007-April/002499.html) -# because Solaris 11 < B64 returns a wrong value for "SSIZE_MAX" (see -# bug #6548104). Builds on >= B64 should no longer fail. -# # - These tests need a working system clock, otherwise they'll bite you. # # - The test frontend in this Makefile should be rewritten in ksh93 @@ -97,6 +91,9 @@ # $ export ON_KSH_TEST_LIST=<value> # before $ make install # ON_KSH_TEST_LIST = $(TESTSRC)/*.sh +# Flag to control whether we should make test failures non-fatal +ON_KSH_TEST_IGNORE_TESTFAILURE=false + # We must wait for other things in this subdir to finish before running # the test suite, otherwise we may run into trouble that this activity # may disturb the test suite run (resulting in weird "heisenbug"-like @@ -128,8 +125,8 @@ fi ; \ (for test_item in $(ON_KSH_TEST_LIST) ; do \ [[ "$${test_item}" = "$(TESTSRC)/builtins.sh" || \ - "$${test_item}" = "$(TESTSRC)/options.sh" || \ - "$${test_item}" = "$(TESTSRC)/sun_solaris_getconf.sh" ]] && \ + "$${test_item}" = "$(TESTSRC)/options.sh" ]] || \ + $(ON_KSH_TEST_IGNORE_TESTFAILURE) && \ set +o errexit ; \ printf \ "## Running %s test: LANG='%s' script='%s'\n" \ Index: src/cmd/ksh/Makefile.com =================================================================== --- src/cmd/ksh/Makefile.com (revision 739) +++ src/cmd/ksh/Makefile.com (working copy) @@ -54,33 +54,7 @@ # way to expliclity list each single flag. CPPFLAGS = \ $(DTEXTDOM) $(DTS_ERRNO) \ - -I$(ROOT)/usr/include/ast \ - -DKSHELL \ - -DSHOPT_BRACEPAT \ - -DSHOPT_CMDLIB_BLTIN=0 \ - '-DSH_CMDLIB_DIR="/usr/ast/bin"' \ - '-DSHOPT_CMDLIB_HDR="solaris_cmdlist.h"' \ - -DSHOPT_DYNAMIC \ - -DSHOPT_ESH \ - -DSHOPT_FILESCAN \ - -DSHOPT_HISTEXPAND \ - -DSHOPT_KIA \ - -DSHOPT_MULTIBYTE \ - -DSHOPT_NAMESPACE \ - -DSHOPT_OPTIMIZE \ - -DSHOPT_PFSH \ - -DSHOPT_RAWONLY \ - -DSHOPT_SUID_EXEC \ - -DSHOPT_SYSRC \ - -DSHOPT_VSH \ - -D_BLD_shell \ - -D_PACKAGE_ast \ - -DERROR_CONTEXT_T=Error_context_t \ - '-DUSAGE_LICENSE=\ - "[-author?David Korn <dgk at research.att.com>]"\ - "[-copyright?Copyright (c) 1982-2007 AT&T Knowledge Ventures]"\ - "[-license?http://www.opensource.org/licenses/cpl1.0.txt]"\ - "[--catalog?libshell]"' + $(LIBSHELLCPPFLAGS) CFLAGS += \ $(CCVERBOSE) \ Index: src/Makefile.ast =================================================================== --- src/Makefile.ast (revision 739) +++ src/Makefile.ast (working copy) @@ -33,3 +33,35 @@ # silence common AST&co. warnings... # ... about |#pragma prototyped| ... CERRWARN += -erroff=E_UNRECOGNIZED_PRAGMA_IGNORED + +# common CPP flags for libshell consumers (ksh etc.) +LIBSHELLCPPFLAGS = \ + -I$(ROOT)/usr/include/ast \ + -DKSHELL \ + -DSHOPT_BRACEPAT \ + -DSHOPT_CMDLIB_BLTIN=0 \ + '-DSH_CMDLIB_DIR="/usr/ast/bin"' \ + '-DSHOPT_CMDLIB_HDR="solaris_cmdlist.h"' \ + -DSHOPT_DYNAMIC \ + -DSHOPT_ESH \ + -DSHOPT_FILESCAN \ + -DSHOPT_HISTEXPAND \ + -DSHOPT_KIA \ + -DSHOPT_MULTIBYTE \ + -DSHOPT_NAMESPACE \ + -DSHOPT_OPTIMIZE \ + -DSHOPT_PFSH \ + -DSHOPT_RAWONLY \ + -DSHOPT_SUID_EXEC \ + -DSHOPT_SYSRC \ + -DSHOPT_VSH \ + -D_BLD_shell \ + -D_PACKAGE_ast \ + -DERROR_CONTEXT_T=Error_context_t \ + '-DUSAGE_LICENSE=\ + "[-author?David Korn <dgk at research.att.com>]"\ + "[-copyright?Copyright (c) 1982-2007 AT&T Knowledge Ventures]"\ + "[-license?http://www.opensource.org/licenses/cpl1.0.txt]"\ + "[--catalog?libshell]"' + + Index: src/lib/libshell/Makefile.com =================================================================== --- src/lib/libshell/Makefile.com (revision 739) +++ src/lib/libshell/Makefile.com (working copy) @@ -142,34 +142,9 @@ $(DTEXTDOM) $(DTS_ERRNO) \ -Isrc/cmd/ksh93 \ -I../common/include \ - -I$(ROOT)/usr/include/ast \ - -DKSHELL \ - -DSHOPT_BRACEPAT \ - -DSHOPT_CMDLIB_BLTIN=0 \ - '-DSH_CMDLIB_DIR="/usr/ast/bin"' \ - '-DSHOPT_CMDLIB_HDR="solaris_cmdlist.h"' \ - -DSHOPT_DYNAMIC \ - -DSHOPT_ESH \ - -DSHOPT_FILESCAN \ - -DSHOPT_HISTEXPAND \ - -DSHOPT_KIA \ - -DSHOPT_MULTIBYTE \ - -DSHOPT_NAMESPACE \ - -DSHOPT_OPTIMIZE \ - -DSHOPT_PFSH \ - -DSHOPT_RAWONLY \ - -DSHOPT_SUID_EXEC \ - -DSHOPT_SYSRC \ - -DSHOPT_VSH \ - -D_BLD_shell \ - -D_PACKAGE_ast \ - -DERROR_CONTEXT_T=Error_context_t \ - '-DUSAGE_LICENSE=\ - "[-author?David Korn <dgk at research.att.com>]"\ - "[-copyright?Copyright (c) 1982-2007 AT&T Knowledge Ventures]"\ - "[-license?http://www.opensource.org/licenses/cpl1.0.txt]"\ - "[--catalog?libshell]"' + $(LIBSHELLCPPFLAGS) + CFLAGS += \ $(CCVERBOSE) \ -xstrconst Index: src/lib/libshell/Makefile =================================================================== --- src/lib/libshell/Makefile (revision 739) +++ src/lib/libshell/Makefile (working copy) @@ -52,7 +52,7 @@ HDRDIR32= $(MACH)/include/ast HDRDIR64= $(MACH64)/include/ast -include ../Makefile.astinclude +include ../Makefile.asthdr install_h: $(ROOTHDRS) Index: src/lib/libcmd/Makefile =================================================================== --- src/lib/libcmd/Makefile (revision 739) +++ src/lib/libcmd/Makefile (working copy) @@ -49,7 +49,7 @@ HDRDIR32= $(MACH)/include/ast HDRDIR64= $(MACH64)/include/ast -include ../Makefile.astinclude +include ../Makefile.asthdr install_h: $(ROOTHDRS) Index: src/lib/Makefile.astinclude =================================================================== --- src/lib/Makefile.astinclude (revision 694) +++ src/lib/Makefile.astinclude (working copy) @@ -1,87 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# -# ident "%Z%%M% %I% %E% SMI" -# - -# Note: libast headers are generated by the AST build system outside OS/Net -# (and then copied here) and depend on the architecture (e.g. "i386", "amd64", -# "sparc", "sparcv9" etc. ...), we later merge them into one unified file -# (see below) - -ROOTHDRDIR= $(ROOT)/usr/include/ast - -# Define the symbol used to distinguish between 32bit and 64bit parts of the -# include file. We cannot use |_LP64| here because not every compiler (like -# Studio 10/11/12) sets it by default (this doesn't harm because the AST -# includes are OS- and platform-specific anyway) and we can't rely on the -# system includes like <sys/isa_defs.h> because "/usr/bin/diff -D<symbol>" -# adds the "#ifdef <symbol>" before any other content and "injecting" an -# "#include <sys/isa_defs.h>" will alter the behaviour of the AST code -# in unpredictable ways (e.g. the resulting code will not longer work). -# Sun-Bug #6524070 ("RFE: Please set |_LP64| for 64bit platforms by default -# (like gcc does)") has been filed against the Sun Studio compiler as RFE -# to set |_LP64| for 64bit targets. -# (INTEL_BLD is '#' for a Sparc build and SPARC_BLD is '#' for an Intel build) -$(SPARC_BLD)AST64BITCPPSYMBOL = __sparcv9 -$(INTEL_BLD)AST64BITCPPSYMBOL = __amd64 - -# We use a custom install sequence here to unify 32bit and 64bit AST includes -# since we can only ship one set of includes. Therefore we use -# "/usr/bin/diff -D <64bit>" (and for some exceptions a manual path) to -# generate an unified version of the include files (and add a boilerplate text -# which explains the interface stability status). -# ToDo: Rewrite this in ksh93 to simplify the boilerplate generation -$(ROOTHDRDIR)/%: $(HDRDIR32)/% $(HDRDIR64)/% - @mkdir -p tmpastinclude - @boilerplate="" \ - boilerplate="$${boilerplate}/*\n" \ - boilerplate="$${boilerplate} * BEGIN OpenSolaris section\n" \ - boilerplate="$${boilerplate} * This is an unstable interface; changes may be made\n" \ - boilerplate="$${boilerplate} * without notice.\n" \ - boilerplate="$${boilerplate} * END OpenSolaris section\n" \ - boilerplate="$${boilerplate} */\n" ; \ - if [ "$(@F)" = "ast_limits.h" -o \ - "$(@F)" = "ast_dirent.h" ] ; then \ - print "# Building (concatenation) $(@F)" ; \ - ( \ - print -n "$${boilerplate}" ; \ - print '#ifndef $(AST64BITCPPSYMBOL)' ; \ - cat "$(HDRDIR32)/$(@F)" ; \ - print '#else /* $(AST64BITCPPSYMBOL) */' ; \ - cat "$(HDRDIR64)/$(@F)" ; \ - print '#endif /* $(AST64BITCPPSYMBOL) */' ; \ - ) >"tmpastinclude/$(@F)" ; \ - else \ - print "# Building (diff) $(@F)" ; \ - ( \ - set +e ; \ - print -n "$${boilerplate}" ; \ - /usr/bin/diff -D $(AST64BITCPPSYMBOL) "$(HDRDIR32)/$(@F)" "$(HDRDIR64)/$(@F)" ; true ;\ - ) >"tmpastinclude/$(@F)" ; \ - fi - $(INS) -s -m $(FILEMODE) -f $(@D) "tmpastinclude/$(@F)" - -# Add temprary include files to the list of files to "clobber" -CLOBBERFILES += tmpastinclude/* Index: src/lib/libdll/Makefile =================================================================== --- src/lib/libdll/Makefile (revision 739) +++ src/lib/libdll/Makefile (working copy) @@ -50,7 +50,7 @@ HDRDIR32= $(MACH)/src/lib/libdll HDRDIR64= $(MACH64)/src/lib/libdll -include ../Makefile.astinclude +include ../Makefile.asthdr install_h: $(ROOTHDRS) Index: src/lib/libast/Makefile =================================================================== --- src/lib/libast/Makefile (revision 739) +++ src/lib/libast/Makefile (working copy) @@ -143,7 +143,7 @@ HDRDIR32= $(MACH)/include/ast HDRDIR64= $(MACH64)/include/ast -include ../Makefile.astinclude +include ../Makefile.asthdr install_h: $(ROOTHDRS) Index: src/lib/libpp/Makefile =================================================================== --- src/lib/libpp/Makefile (revision 739) +++ src/lib/libpp/Makefile (working copy) @@ -51,7 +51,7 @@ HDRDIR32= common HDRDIR64= common -include ../Makefile.astinclude +include ../Makefile.asthdr install_h: $(ROOTHDRS)