summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/CHANGES.txt12
-rw-r--r--src/RELEASE.txt7
-rw-r--r--src/engine/SCons/Tool/hpc++.py1
-rw-r--r--src/engine/SCons/Tool/hpcc.py3
-rw-r--r--src/engine/SCons/Tool/sunc++.py6
-rw-r--r--src/engine/SCons/Tool/suncc.py7
6 files changed, 34 insertions, 2 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index e568b31..4846e44 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -318,6 +318,9 @@ RELEASE 0.97 - XXX
- Add the 'f90' and 'f95' tools to the list of Fortran compilers
searched for by default.
+ - Add the +Z option by default when compiling shared objects on
+ HP-UX.
+
From Chen Lee:
- Handle Visual Studio project and solution files in Unicode.
@@ -607,6 +610,15 @@ RELEASE 0.97 - XXX
- Allow $JARCHDIR to be expanded to other construction variables.
+ From Steve-o:
+
+ - Add the -KPIC option by default when compiling shared objects on
+ Solaris.
+
+ - Change the default suffix for Solaris objects to .o, to conform to
+ Sun WorkShop's expectations. Change the profix to so_ so they can
+ still be differentiated from static objects in the same directory.
+
From Amir Szekely:
- When calling the resource compiler on MinGW, add --include-dir and
diff --git a/src/RELEASE.txt b/src/RELEASE.txt
index 4728748..e8bc3fd 100644
--- a/src/RELEASE.txt
+++ b/src/RELEASE.txt
@@ -157,6 +157,13 @@ RELEASE 0.97 - XXX
env = Environment(tools = ['default', 'f77'])
+ -- SOLARIS DEFAULT SHARED OBJECT PREFIXES AND SUFFIXES HAVE CHANGED
+
+ On Solaris, SCons now builds shared objects from C and C++ source
+ files with a default prefix of "so_" and a default suffix of ".o".
+ The previous default suffix of ".os" caused problems when trying
+ to use SCons with Sun WorkShop.
+
-- CACHED Configure() RESULTS ARE STORED IN A DIFFERENT FILE
The Configure() subsystem now stores its cached results in a
diff --git a/src/engine/SCons/Tool/hpc++.py b/src/engine/SCons/Tool/hpc++.py
index 3276412..8c4b4dd 100644
--- a/src/engine/SCons/Tool/hpc++.py
+++ b/src/engine/SCons/Tool/hpc++.py
@@ -64,6 +64,7 @@ def generate(env):
if acc:
env['CXX'] = acc or 'aCC'
+ env['SHCXXFLAGS'] = SCons.Util.CLVar('$CXXFLAGS +Z')
# determine version of aCC
line = os.popen(acc + ' -V 2>&1').readline().rstrip()
if string.find(line, 'aCC: HP ANSI C++') == 0:
diff --git a/src/engine/SCons/Tool/hpcc.py b/src/engine/SCons/Tool/hpcc.py
index f4ff80c..15f23dc 100644
--- a/src/engine/SCons/Tool/hpcc.py
+++ b/src/engine/SCons/Tool/hpcc.py
@@ -32,6 +32,8 @@ selection method.
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+import SCons.Util
+
import cc
def generate(env):
@@ -39,6 +41,7 @@ def generate(env):
cc.generate(env)
env['CXX'] = 'aCC'
+ env['SHCCFLAGS'] = SCons.Util.CLVar('$CCFLAGS +Z')
def exists(env):
return env.Detect('aCC')
diff --git a/src/engine/SCons/Tool/sunc++.py b/src/engine/SCons/Tool/sunc++.py
index 22d01db..91c0f6c 100644
--- a/src/engine/SCons/Tool/sunc++.py
+++ b/src/engine/SCons/Tool/sunc++.py
@@ -33,6 +33,8 @@ selection method.
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+import SCons.Util
+
import os.path
cplusplus = __import__('c++', globals(), locals(), [])
@@ -66,7 +68,9 @@ def generate(env):
env['CXX'] = cxx
env['SHCXX'] = shcxx
env['CXXVERSION'] = version
- env['SHOBJSUFFIX'] = '.os'
+ env['SHCXXFLAGS'] = SCons.Util.CLVar('$CXXFLAGS -KPIC')
+ env['SHOBJPREFIX'] = 'so_'
+ env['SHOBJSUFFIX'] = '.o'
def exists(env):
path, cxx, shcxx, version = get_cppc(env)
diff --git a/src/engine/SCons/Tool/suncc.py b/src/engine/SCons/Tool/suncc.py
index e851cd1..35d2aca 100644
--- a/src/engine/SCons/Tool/suncc.py
+++ b/src/engine/SCons/Tool/suncc.py
@@ -32,6 +32,8 @@ selection method.
__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
+import SCons.Util
+
import cc
def generate(env):
@@ -41,7 +43,10 @@ def generate(env):
"""
cc.generate(env)
- env['CXX'] = 'CC'
+ env['CXX'] = 'CC'
+ env['SHCCFLAGS'] = SCons.Util.CLVar('$CCFLAGS -KPIC')
+ env['SHOBJPREFIX'] = 'so_'
+ env['SHOBJSUFFIX'] = '.o'
def exists(env):
return env.Detect('CC')