[Buildroot] [PATCH] wvstreams: Build bundled argp library with -fPIC
Markos Chandras
markos.chandras at gmail.com
Thu Jun 20 09:05:19 UTC 2013
On 20 June 2013 09:00, Peter Korsgaard <jacmet at uclibc.org> wrote:
>>>>>> "Markos" == Markos Chandras <markos.chandras at gmail.com> writes:
>
> Markos> From: Markos Chandras <markos.chandras at imgtec.com>
> Markos> Fixes linking problems on MIPS.
>
> Markos> Signed-off-by: Markos Chandras <markos.chandras at imgtec.com>
> Markos> ---
> Markos> package/wvstreams/wvstreams-0006-argp-fpic.patch | 28 ++++++++++++++++++++++++
> Markos> 1 file changed, 28 insertions(+)
> Markos> create mode 100644 package/wvstreams/wvstreams-0006-argp-fpic.patch
>
> Markos> diff --git a/package/wvstreams/wvstreams-0006-argp-fpic.patch b/package/wvstreams/wvstreams-0006-argp-fpic.patch
> Markos> new file mode 100644
> Markos> index 0000000..b4cf1d2
> Markos> --- /dev/null
> Markos> +++ b/package/wvstreams/wvstreams-0006-argp-fpic.patch
> Markos> @@ -0,0 +1,28 @@
> Markos> +Build argp object files with -fPIC.
> Markos> +
> Markos> +The argp bundled dependency is linked to the libwvutils.so shared library.
> Markos> +MIPS will refuce to link a non-PIC library with a shared one.
> Markos> +
> Markos> +We fix this problem by building the argp source files using -fPIC since
> Markos> +the libargp static library will only be used to link to libwvutils.so
> Markos> +as instructed by the following rule in the root Makefile:
> Markos> +
> Markos> +ifeq ($(USE_WVSTREAMS_ARGP),1)
> Markos> + utils/wvargs.o-CPPFLAGS += -Iargp
> Markos> + libwvutils.so-LIBS += -Largp -largp
> Markos> +
> Markos> +Signed-off-by: Markos Chandras <markos.chandras at imgtec.com>
> Markos> +
> Markos> +Index: wvstreams-4.6.1/argp/Makefile.in
> Markos> +===================================================================
> Markos> +--- wvstreams-4.6.1.orig/argp/Makefile.in
> Markos> ++++ wvstreams-4.6.1/argp/Makefile.in
> Markos> +@@ -137,7 +137,7 @@ AUTOMAKE = @AUTOMAKE@
> Markos> + AWK = @AWK@
> Markos> + CC = @CC@
> Markos> + CCDEPMODE = @CCDEPMODE@
> Markos> +-CFLAGS = @CFLAGS@
> Markos> ++CFLAGS = @CFLAGS@ -fPIC
>
> How about when wvstreams is built as a static library
> (BR2_PREFER_STATIC_LIB)?
>
> Makefile.in is a generated file, so you should rather fix Makefile.am
> and set WVSTREAMS_AUTORECONF = YES, but wouldn't it just be simpler to
> just add CFLAGS="$(TARGET_CFLAGS) -fPIC" to WVSTREAMS_CONF_ENV when
> building in the !BR2_PREFER_STATIC_LIB case?
>
> --
> Bye, Peter Korsgaard
Hi Peter,
Yes modifying the CFLAGS is simpler. I will do that.
--
Regards,
Markos Chandras
More information about the buildroot
mailing list