diff options
author | Mike Frysinger <vapier@gentoo.org> | 2016-01-14 22:27:29 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2016-01-14 22:43:13 -0500 |
commit | 32c2bba917aa517e021ba38c8fab2d9cf52d9ec8 (patch) | |
tree | 215ad587b3ff5b91535f09ef6ad108c1cd87d7f1 /net-libs/serf/files | |
parent | media-sound/mpfc: Add missing AC_SEARCH_LIBS for libm to prevent underlinking (diff) | |
download | gentoo-32c2bba917aa517e021ba38c8fab2d9cf52d9ec8.tar.gz gentoo-32c2bba917aa517e021ba38c8fab2d9cf52d9ec8.tar.bz2 gentoo-32c2bba917aa517e021ba38c8fab2d9cf52d9ec8.zip |
net-libs/serf: fix various cross-compile issues
- Use SYSROOT to locate helper config scripts to compile against.
- Drop OPENSSL var as it's useless.
- Respect AR/RANLIB settings.
- Make static libs optional.
- Pass settings to install phase too to avoid rebuilding things.
Diffstat (limited to 'net-libs/serf/files')
-rw-r--r-- | net-libs/serf/files/serf-1.3.8-openssl.patch | 28 | ||||
-rw-r--r-- | net-libs/serf/files/serf-1.3.8-static-lib.patch | 49 |
2 files changed, 77 insertions, 0 deletions
diff --git a/net-libs/serf/files/serf-1.3.8-openssl.patch b/net-libs/serf/files/serf-1.3.8-openssl.patch new file mode 100644 index 000000000000..4cc3719303bb --- /dev/null +++ b/net-libs/serf/files/serf-1.3.8-openssl.patch @@ -0,0 +1,28 @@ +the build doesn't actually use the openssl var for anything useful. +it blindly adds it to the -I/-L paths which causes problems when you +cross-compile and when you link (it also adds it to -rpath). punt +the setting and forget about it. + +--- a/SConstruct ++++ b/SConstruct +@@ -354,8 +354,6 @@ else: + apr_libs = '' + apu_libs = '' + +- env.Append(CPPPATH=['$OPENSSL/include']) +- env.Append(LIBPATH=['$OPENSSL/lib']) + + + # If build with gssapi, get its information and define SERF_HAVE_GSSAPI +@@ -369,8 +369,9 @@ if sys.platform == 'win32': + # On some systems, the -R values that APR describes never make it into actual + # RPATH flags. We'll manually map all directories in LIBPATH into new + # flags to set RPATH values. +-for d in env['LIBPATH']: +- env.Append(RPATH=':'+d) ++if env.get('LIBPATH', None): ++ for d in env['LIBPATH']: ++ env.Append(RPATH=':'+d) + + # Set up the construction of serf-*.pc + pkgconfig = env.Textfile('serf-%d.pc' % (MAJOR,), diff --git a/net-libs/serf/files/serf-1.3.8-static-lib.patch b/net-libs/serf/files/serf-1.3.8-static-lib.patch new file mode 100644 index 000000000000..1538328ece66 --- /dev/null +++ b/net-libs/serf/files/serf-1.3.8-static-lib.patch @@ -0,0 +1,49 @@ +respect the active archiver tool instead of using `ar` all the time. +same for `ranlib`. + +also add support for BUILD_STATIC bool for controlling the libserf.a. + +--- a/SConstruct ++++ b/SConstruct +@@ -103,6 +103,9 @@ + BoolVariable('APR_STATIC', + "Enable using a static compiled APR", + False), ++ RawListVariable('AR', "Command name or path of the archiver", None), ++ RawListVariable('RANLIB', "Command name or path of the archiver indexer", None), ++ BoolVariable('BUILD_STATIC', 'Build libserf static library', True), + RawListVariable('CC', "Command name or path of the C compiler", None), + RawListVariable('CFLAGS', "Extra flags for the C compiler (space-separated)", + None), +@@ -193,6 +196,7 @@ if gssapi and os.path.isdir(gssapi): + + debug = env.get('DEBUG', None) + aprstatic = env.get('APR_STATIC', None) ++build_static = env.get('BUILD_STATIC', True) + + Help(opts.GenerateHelpText(env)) + opts.Save(SAVED_CONFIG, env) +@@ -384,7 +388,9 @@ pkgconfig = env.Textfile('serf-%d.pc' % (MAJOR,), + env.get('GSSAPI_LIBS', '')), + }) + +-env.Default(lib_static, lib_shared, pkgconfig) ++env.Default(lib_shared, pkgconfig) ++if build_static: ++ env.Default(lib_static) + + if CALLOUT_OKAY: + conf = Configure(env) +@@ -420,8 +420,10 @@ if sys.platform == 'darwin': + % (target_install_shared_path, + install_shared_path))) + +-env.Alias('install-lib', [install_static, install_shared, +- ]) ++install_libs = [install_shared] ++if build_static: ++ install_libs.append(install_static) ++env.Alias('install-lib', install_libs) + env.Alias('install-inc', env.Install(incdir, HEADER_FILES)) + env.Alias('install-pc', env.Install(os.path.join(libdir, 'pkgconfig'), + pkgconfig)) |