Avoid constructing a library name with variables without
proper escaping when SHLIBNAME is '$LIBNAME'
Found by: philip
* SConstruct
Handle special case that should have been caught by scons.
git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1727295 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/SConstruct b/SConstruct
index c7494c1..41d2983 100644
--- a/SConstruct
+++ b/SConstruct
@@ -230,11 +230,15 @@
if sys.platform != 'sunos5':
env['SHLIBVERSION'] = '%d.%d.%d' % (MAJOR, MINOR, 0)
-SHLIBNAME = '%sserf-%d' % (env['SHLIBPREFIX'], MAJOR)
-LIBNAME = '%sserf-%s' % (env['LIBPREFIX'], MAJOR)
+LIBNAME = '%sserf-%d' % (env['LIBPREFIX'], MAJOR)
if sys.platform == 'win32':
# On Win32 SHLIBPREFIX and LIBPREFIX are empty and both produce a .lib file.
SHLIBNAME = 'libserf-%d' % (MAJOR, )
+elif env['SHLIBPREFIX'] == '$LIBPREFIX':
+ # Let's avoid constructing '$LIBPREFIXserf...' which evaluates to ''
+ SHLIBNAME = LIBNAME
+else:
+ SHLIBNAME = '%sserf-%d' % (env['SHLIBPREFIX'], MAJOR)
env.Append(RPATH=[libdir],
PDB='${TARGET.filebase}.pdb')