diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2010-03-01 20:56:48 +0100 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2010-03-02 08:49:19 +0100 |
commit | a0c9ed511ed0a8d9d545bce5817d85f521503e87 (patch) | |
tree | 07264355ec99a2a097e3e439504d9d9633fc8afc | |
parent | c89ad70c66e101fd70889cdf9f56348565008e26 (diff) | |
download | ptxdist-a0c9ed511ed0a8d9d545bce5817d85f521503e87.tar.gz ptxdist-a0c9ed511ed0a8d9d545bce5817d85f521503e87.tar.xz |
[mesalib] make sure the mklib script uses the correct linker
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r-- | patches/MesaLib-7.6.1/add-mklib-option.diff | 58 | ||||
-rw-r--r-- | patches/MesaLib-7.6.1/fix-mklib-cmdline.diff | 26 | ||||
-rw-r--r-- | patches/MesaLib-7.6.1/series | 2 | ||||
-rw-r--r-- | rules/mesalib.make | 4 |
4 files changed, 90 insertions, 0 deletions
diff --git a/patches/MesaLib-7.6.1/add-mklib-option.diff b/patches/MesaLib-7.6.1/add-mklib-option.diff new file mode 100644 index 000000000..f6651eedf --- /dev/null +++ b/patches/MesaLib-7.6.1/add-mklib-option.diff @@ -0,0 +1,58 @@ +Subject: add -linker-prefix option to mklib +From: Michael Olbrich <m.olbrich@pengutronix.de> + +On Linux mklib uses gcc or g++ (for C++) as linker. This breaks when +cross-compiling. The "-linker" option cannot be used, because it cannot be +used to specify a differen linker for C and C++. +This patch adds an extra option to add a prefix for the linker command. + +Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> + +--- + bin/mklib | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +Index: b/bin/mklib +=================================================================== +--- a/bin/mklib ++++ b/bin/mklib +@@ -34,6 +34,7 @@ MINOR=0 + PATCH="" + DEPS="" + LINK="" ++LINK_PREFIX="" + LDFLAGS="" + CPLUSPLUS=0 + STATIC=0 +@@ -99,6 +100,10 @@ do + shift 1; + LINK=$1 + ;; ++ '-linker-prefix') ++ shift 1; ++ LINK_PREFIX=$1 ++ ;; + '-ldflags') + shift 1; + LDFLAGS=$1 +@@ -234,9 +239,9 @@ case $ARCH in + if [ "x$LINK" = "x" ] ; then + # -linker was not specified so set default link command now + if [ $CPLUSPLUS = 1 ] ; then +- LINK=g++ ++ LINK=${LINK_PREFIX}g++ + else +- LINK=gcc ++ LINK=${LINK_PREFIX}gcc + fi + fi + +@@ -271,7 +276,7 @@ case $ARCH in + elif [ $STATIC = 1 ] ; then + LIBNAME="lib${LIBNAME}.a" # prefix with "lib", suffix with ".a" + echo "mklib: Making" $ARCH "static library: " ${LIBNAME} +- LINK="ar" ++ LINK="${LINK_PREFIX}ar" + OPTS="-ru" + if [ "${ALTOPTS}" ] ; then + OPTS=${ALTOPTS} diff --git a/patches/MesaLib-7.6.1/fix-mklib-cmdline.diff b/patches/MesaLib-7.6.1/fix-mklib-cmdline.diff new file mode 100644 index 000000000..bb056e6ea --- /dev/null +++ b/patches/MesaLib-7.6.1/fix-mklib-cmdline.diff @@ -0,0 +1,26 @@ +Subject: fix mklib command line +From: Michael Olbrich <m.olbrich@pengutronix.de> + +during configure the environment variable MKLIB_OPTIONS can be used to +specify extra options for mklib. This variable is not used everywhere. +This patch fixes this. + +Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de> + +--- + src/gallium/winsys/drm/Makefile.template | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: b/src/gallium/winsys/drm/Makefile.template +=================================================================== +--- a/src/gallium/winsys/drm/Makefile.template ++++ b/src/gallium/winsys/drm/Makefile.template +@@ -82,7 +82,7 @@ SHARED_INCLUDES = \ + default: depend symlinks $(TOP)/$(LIB_DIR)/gallium/$(LIBNAME) + + $(LIBNAME): $(OBJECTS) $(MESA_MODULES) $(PIPE_DRIVERS) $(WINOBJ) Makefile $(TOP)/src/mesa/drivers/dri/Makefile.template +- $(MKLIB) -noprefix -o $@ \ ++ $(MKLIB) -noprefix -o $@ $(MKLIB_OPTIONS) \ + $(OBJECTS) $(PIPE_DRIVERS) \ + -Wl,--start-group $(MESA_MODULES) -Wl,--end-group \ + $(WINOBJ) $(DRI_LIB_DEPS) $(DRIVER_EXTRAS) diff --git a/patches/MesaLib-7.6.1/series b/patches/MesaLib-7.6.1/series index 2b0af5b95..dc9f03838 100644 --- a/patches/MesaLib-7.6.1/series +++ b/patches/MesaLib-7.6.1/series @@ -1 +1,3 @@ configure.ac.diff +fix-mklib-cmdline.diff +add-mklib-option.diff diff --git a/rules/mesalib.make b/rules/mesalib.make index 670b9ba70..8f72eaedd 100644 --- a/rules/mesalib.make +++ b/rules/mesalib.make @@ -69,6 +69,10 @@ endif # Prepare # ---------------------------------------------------------------------------- +MESALIB_CONF_ENV := \ + $(CROSS_ENV) \ + MKLIB_OPTIONS="-linker-prefix $(PTXCONF_COMPILER_PREFIX)" + MESALIB_COMPILE_ENV := $(CROSS_ENV_CC_FOR_BUILD) MESALIB_DRIVERS-$(PTXCONF_MESALIB_DRIVER_XLIB) += xlib |