Add $PKGCHK and $PKGINFO variables for use on Solaris, and make the default $PKGCHECK...
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Sat, 19 Nov 2005 20:13:46 +0000 (20:13 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Sat, 19 Nov 2005 20:13:46 +0000 (20:13 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@1396 fdb21ef1-2011-0410-befe-b5e4ea1792b1

src/CHANGES.txt
src/engine/MANIFEST-xml.in
src/engine/SCons/Platform/sunos.py
src/engine/SCons/Platform/sunos.xml [new file with mode: 0644]
src/engine/SCons/Tool/sunc++.py

index 7ae07255a82f5606700041b6daecde43f684c736..eead5e925693abfd7e46bc6464388fecd4eb775f 100644 (file)
@@ -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.
index d8082c7048ca134f750106d7abb614247eee48b9..e360a1af4b0bdf393c95cdacf9356387a9ad8dec 100644 (file)
@@ -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
index 5f4f5ab06e84ae7679808e8d4494e208d7112469..ed9521e419284805ebcb5cfefb68b0e6a70c9db9 100644 (file)
@@ -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 (file)
index 0000000..d380d48
--- /dev/null
@@ -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>
index 91c0f6cb23f3583af53b2f33c98dc52041dd2156..a6ac10ae798a89e7ad685e29ca517fb0e613ad7c 100644 (file)
@@ -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)