If we would handle both cases as the else clause we construct the string 
‘$LIBPREFIXserf-1’, as the evaluation rules of scons handles \$[a-zA-Z]+ as 
macro reference we just constructed an undefined environment variable before 
this patch, while we really just want an alias of LIBNAME, which is created in 
the same way but with a different prefix.

The problem was that we created A ‘lib-2.so’.


I think this comment is a summary of what I described above, but as noted in my 
other mail I’m interested in better solutions to this problem. I’m not an scons 
expert…

(Currently this specific block resolves the problem identified by Philip.)

Bert

Sent from Mail for Windows 10

From: Greg Stein
Sent: donderdag 28 januari 2016 13:25
To: Bert Huijben
Cc: dev@serf.apache.org
Subject: Re: svn commit: r1727295 - /serf/trunk/SConstruct

On Thu, Jan 28, 2016 at 3:47 AM, <rhuij...@apache.org> wrote:
>...

> +++ serf/trunk/SConstruct Thu Jan 28 09:47:00 2016
> @@ -230,11 +230,15 @@ incdir = '$PREFIX/include/serf-$MAJOR'
>  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 ''
>

The above comment makes NO sense. How does it relate to the following line.
Or anything?


> +  SHLIBNAME = LIBNAME
> +else:
> +  SHLIBNAME = '%sserf-%d' % (env['SHLIBPREFIX'], MAJOR)
>
>  env.Append(RPATH=[libdir],
>             PDB='${TARGET.filebase}.pdb')
>
>
>

Reply via email to