diff options
author | Steven Knight <knight@baldmt.com> | 2005-11-19 20:13:46 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2005-11-19 20:13:46 (GMT) |
commit | f7972a26d12d280362feea9fd62eb692039e9a4f (patch) | |
tree | 18aa8e602341e1a1e1eb1bd13f0b039be63c4c9b | |
parent | e8650ad022a000744e6d676020559e5911accd7d (diff) | |
download | SCons-f7972a26d12d280362feea9fd62eb692039e9a4f.zip SCons-f7972a26d12d280362feea9fd62eb692039e9a4f.tar.gz SCons-f7972a26d12d280362feea9fd62eb692039e9a4f.tar.bz2 |
Add $PKGCHK and $PKGINFO variables for use on Solaris, and make the default $PKGCHECK = /usr/sbin/pkgcheck.
-rw-r--r-- | src/CHANGES.txt | 5 | ||||
-rw-r--r-- | src/engine/MANIFEST-xml.in | 1 | ||||
-rw-r--r-- | src/engine/SCons/Platform/sunos.py | 2 | ||||
-rw-r--r-- | src/engine/SCons/Platform/sunos.xml | 30 | ||||
-rw-r--r-- | src/engine/SCons/Tool/sunc++.py | 9 |
5 files changed, 44 insertions, 3 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt index 7ae0725..eead5e9 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -395,6 +395,11 @@ RELEASE 0.97 - XXX - Add /usr/ccs/bin to the end of the the default external execution PATH on Solaris. + - Add $PKGCHK and $PKGINFO variables for use on Solaris when searching + for the SunPRO C++ compiler. Make the default value for $PKGCHK + be /usr/sbin/pgkchk (since /usr/sbin isn't usually on the external + execution $PATH). + From Chen Lee: - Handle Visual Studio project and solution files in Unicode. diff --git a/src/engine/MANIFEST-xml.in b/src/engine/MANIFEST-xml.in index d8082c7..e360a1a 100644 --- a/src/engine/MANIFEST-xml.in +++ b/src/engine/MANIFEST-xml.in @@ -3,6 +3,7 @@ SCons/Defaults.xml SCons/Environment.xml SCons/Platform/__init__.xml SCons/Platform/posix.xml +SCons/Platform/sunos.xml SCons/Platform/win32.xml SCons/Tool/386asm.xml SCons/Tool/aixcc.xml diff --git a/src/engine/SCons/Platform/sunos.py b/src/engine/SCons/Platform/sunos.py index 5f4f5ab..ed9521e 100644 --- a/src/engine/SCons/Platform/sunos.py +++ b/src/engine/SCons/Platform/sunos.py @@ -39,4 +39,6 @@ def generate(env): # Based on sunSparc 8:32bit # ARG_MAX=1048320 - 3000 for environment expansion env['MAXLINELENGTH'] = 1045320 + env['PKGINFO'] = 'pkginfo' + env['PKGCHK'] = '/usr/sbin/pkgchk' env['ENV']['PATH'] = env['ENV']['PATH'] + ':/usr/ccs/bin' diff --git a/src/engine/SCons/Platform/sunos.xml b/src/engine/SCons/Platform/sunos.xml new file mode 100644 index 0000000..d380d48 --- /dev/null +++ b/src/engine/SCons/Platform/sunos.xml @@ -0,0 +1,30 @@ +<!-- +__COPYRIGHT__ + +This file is processed by the bin/SConsDoc.py module. +See its __doc__ string for a discussion of the format. +--> + +<cvar name="PKGCHK"> +<summary> +On Solaris systems, +the package-checking program that will +be used (along with &cv-PKGINFO;) +to look for installed versions of +the Sun PRO C++ compiler. +The default is +<filename>/usr/sbin/pgkchk</filename>. +</summary> +</cvar> + +<cvar name="PKGINFO"> +<summary> +On Solaris systems, +the package information program that will +be used (along with &cv-PKGCHK;) +to look for installed versions of +the Sun PRO C++ compiler. +The default is +<filename>pkginfo</filename>. +</summary> +</cvar> diff --git a/src/engine/SCons/Tool/sunc++.py b/src/engine/SCons/Tool/sunc++.py index 91c0f6c..a6ac10a 100644 --- a/src/engine/SCons/Tool/sunc++.py +++ b/src/engine/SCons/Tool/sunc++.py @@ -45,19 +45,22 @@ def get_cppc(env): cppcPath = env.get('CXX', None) cppcVersion = None + pkginfo = env.subst('$PKGINFO') + pkgchk = env.subst('$PKGCHK') + for package in ['SPROcpl']: - cmd = "pkginfo -l " + package + " 2>/dev/null | grep '^ *VERSION:'" + cmd = "%s -l %s 2>/dev/null | grep '^ *VERSION:'" % (pkginfo, package) line = os.popen(cmd).readline() if line: cppcVersion = line.split()[-1] - cmd = "pkgchk -l " + package + " | grep '^Pathname:.*/bin/CC$' | grep -v '/SC[0-9]*\.[0-9]*/'" + cmd = "%s -l %s | grep '^Pathname:.*/bin/CC$' | grep -v '/SC[0-9]*\.[0-9]*/'" % (pkgchk, package) line = os.popen(cmd).readline() cppcPath = os.path.dirname(line.split()[-1]) break return (cppcPath, 'CC', 'CC', cppcVersion) def generate(env): - """Add Builders and construction variables for SUN PRO C++ to an Environment.""" + """Add Builders and construction variables for SunPRO C++.""" path, cxx, shcxx, version = get_cppc(env) if path: cxx = os.path.join(path, cxx) |