I haven't tested the patch, but the logic makes sense to me.
On Apr 23, 2016 1:26 PM, "Branko Čibej" <br...@apache.org> wrote:

> Hmmm ... is this thing on?
>
> On 07.04.2016 15:29, Branko Čibej wrote:
> > [The following was observed on Mac OS X, but I believe it applies to any
> > platform.]
> >
> > I've been building Serf 1.3.8 on OSX for a while (as part of a
> > closed-source project). Recently I noticed that the shared lib refers to
> > the system default OpenSSL (0.9.8f) instead of the one installed by
> > Homebrew (1.0.2g). That made me a bit unhappy because I'd explicitly
> > told the Scons about the path to Homebrew's OpenSSL.
> >
> > The really scary part is that I don't have the 0.9.8f headers anywhere
> > in /usr/include; just the shared libs in /usr/lib.
> >
> > After rummaging in SConstruct, I came up with the following patch for
> > 1.3.8 which fixes the problem for me on OSX and also continues to work
> > on Linux; I did not try to build on Windows, but can't see any reason
> > why it wouldn't work.
> >
> > Assuming everyone agrees this is the correct approach, I'll create
> > patches for trunk and the 1.3.x branch.
> >
> > -- Brane
> >
> > [[[
> > Put OpenSSL include and library paths first in their respective lists
> > to make sure the compiler and linker find the requested versions.
> > ]]]
> >
> > [[[
> > Index: SConstruct
> > ===================================================================
> > --- SConstruct        (revision 1487)
> > +++ SConstruct        (working copy)
> > @@ -318,14 +318,14 @@ if sys.platform == 'win32':
> >    # openssl
> >    env.Append(LIBS=['libeay32.lib', 'ssleay32.lib'])
> >    if not env.get('SOURCE_LAYOUT', None):
> > -    env.Append(CPPPATH='$OPENSSL/include/openssl',
> > -               LIBPATH='$OPENSSL/lib')
> > +    env.Prepend(CPPPATH='$OPENSSL/include/openssl',
> > +                LIBPATH='$OPENSSL/lib')
> >    elif 0: # opensslstatic:
> > -    env.Append(CPPPATH='$OPENSSL/inc32',
> > -               LIBPATH='$OPENSSL/out32')
> > +    env.Prepend(CPPPATH='$OPENSSL/inc32',
> > +                LIBPATH='$OPENSSL/out32')
> >    else:
> > -    env.Append(CPPPATH='$OPENSSL/inc32',
> > -               LIBPATH='$OPENSSL/out32dll')
> > +    env.Prepend(CPPPATH='$OPENSSL/inc32',
> > +                LIBPATH='$OPENSSL/out32dll')
> >  else:
> >    if os.path.isdir(apr):
> >      apr = os.path.join(apr, 'bin', 'apr-1-config')
> > @@ -351,8 +351,8 @@ else:
> >      apr_libs = ''
> >      apu_libs = ''
> >
> > -  env.Append(CPPPATH='$OPENSSL/include')
> > -  env.Append(LIBPATH='$OPENSSL/lib')
> > +  env.Prepend(CPPPATH='$OPENSSL/include')
> > +  env.Prepend(LIBPATH='$OPENSSL/lib')
> >
> >
> >  # If build with gssapi, get its information and define SERF_HAVE_GSSAPI
> > ]]]
> >
>
>

Reply via email to