[Mesa-dev] [PATCH 02/10] build: Get rid of SRC_DIRS

Andreas Boll andreas.boll.dev at gmail.com
Wed Feb 27 04:07:17 PST 2013


This patch breaks the build with following config:

./autogen.sh \
    --enable-xlib-glx \
    --disable-driglx-direct \
    --disable-dri \
    --enable-debug \
    --enable-gles1 \
    --enable-gles2 \
    --enable-openvg \
    --enable-gallium-egl \
    --enable-xa \
    --enable-xorg

The problem seems to be the Xlib-based GLX library.

make[2]: Entering directory `/home/aboll/git/mesa/src/glx'
...

  CCLD   libGL.la
../../src/mapi/glapi/.libs/libglapi.a(glapi_x86-64.o): In function
`glAreTexturesResidentEXT':
/home/aboll/git/mesa/src/mapi/glapi/glapi_x86-64.S:11613: multiple
definition of `glAreTexturesResidentEXT'
./.libs/libglx.a(single2.o):/home/aboll/git/mesa/src/glx/single2.c:913:
first defined here
../../src/mapi/glapi/.libs/libglapi.a(glapi_x86-64.o): In function
`glDeleteTexturesEXT':
/home/aboll/git/mesa/src/mapi/glapi/glapi_x86-64.S:11862: multiple
definition of `glDeleteTexturesEXT'
./.libs/libglx.a(indirect.o):/home/aboll/git/mesa/src/glx/indirect.c:4219:
first defined here
../../src/mapi/glapi/.libs/libglapi.a(glapi_x86-64.o): In function
`glGenTexturesEXT':
/home/aboll/git/mesa/src/mapi/glapi/glapi_x86-64.S:11899: multiple
definition of `glGenTexturesEXT'
./.libs/libglx.a(indirect.o):/home/aboll/git/mesa/src/glx/indirect.c:4279:
first defined here
../../src/mapi/glapi/.libs/libglapi.a(glapi_x86-64.o): In function
`glIsTextureEXT':
/home/aboll/git/mesa/src/mapi/glapi/glapi_x86-64.S:11973: multiple
definition of `glIsTextureEXT'
./.libs/libglx.a(indirect.o):/home/aboll/git/mesa/src/glx/indirect.c:4336:
first defined here
../../src/mapi/glapi/.libs/libglapi.a(glapi_x86-64.o): In function
`glGetColorTableEXT':
/home/aboll/git/mesa/src/mapi/glapi/glapi_x86-64.S:12502: multiple
definition of `glGetColorTableEXT'
./.libs/libglx.a(indirect.o):/home/aboll/git/mesa/src/glx/indirect.c:4583:
first defined here
../../src/mapi/glapi/.libs/libglapi.a(glapi_x86-64.o): In function
`glGetColorTableParameterfvEXT':
/home/aboll/git/mesa/src/mapi/glapi/glapi_x86-64.S:12547: multiple
definition of `glGetColorTableParameterfvEXT'
./.libs/libglx.a(indirect.o):/home/aboll/git/mesa/src/glx/indirect.c:4646:
first defined here
../../src/mapi/glapi/.libs/libglapi.a(glapi_x86-64.o): In function
`glGetColorTableParameterivEXT':
/home/aboll/git/mesa/src/mapi/glapi/glapi_x86-64.S:12584: multiple
definition of `glGetColorTableParameterivEXT'
./.libs/libglx.a(indirect.o):/home/aboll/git/mesa/src/glx/indirect.c:4705:
first defined here
collect2: error: ld returned 1 exit status


2013/2/25 Matt Turner <mattst88 at gmail.com>:
> ---
>  Makefile.am     |   20 +++++++++++++++++++-
>  configure.ac    |   21 ++++++---------------
>  src/Makefile.am |    4 ----
>  3 files changed, 25 insertions(+), 20 deletions(-)
>  delete mode 100644 src/Makefile.am
>
> diff --git a/Makefile.am b/Makefile.am
> index 78ecfab..c3e2baa 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -45,7 +45,25 @@ if NEED_OPENGL_COMMON
>  SUBDIRS += src/glsl src/mesa
>  endif
>
> -SUBDIRS += src
> +if HAVE_GLX
> +SUBDIRS += src/glx
> +endif
> +
> +if HAVE_GBM
> +SUBDIRS += src/gbm
> +endif
> +
> +if HAVE_EGL
> +SUBDIRS += src/egl
> +endif
> +
> +if HAVE_GALLIUM
> +SUBDIRS += src/gallium src/gallium/winsys src/gallium/targets
> +
> +if HAVE_GALLIUM_TESTS
> +SUBDIRS += src/gallium/tests/trivial src/gallium/tests/unit
> +endif
> +endif
>
>  ACLOCAL_AMFLAGS = -I m4
>
> diff --git a/configure.ac b/configure.ac
> index 9178355..f25d488 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -732,6 +732,7 @@ if test "x$enable_glx" = xyes -a \
>      enable_glx=no
>  fi
>
> +AM_CONDITIONAL(HAVE_GLX, test "x$enable_glx" = xyes)
>  AM_CONDITIONAL(HAVE_DRI, test "x$enable_dri" = xyes)
>  AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \
>                                    "x$enable_osmesa" = xyes)
> @@ -772,10 +773,6 @@ xyesyes)
>      GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS"
>      HAVE_WINSYS_XLIB="yes"
>      ;;
> -xyesno)
> -    # DRI-based GLX
> -    SRC_DIRS="$SRC_DIRS glx"
> -    ;;
>  esac
>
>  if test "x$enable_dri" = xyes; then
> @@ -790,7 +787,6 @@ if test "x$enable_osmesa" = xyes; then
>      DRIVER_DIRS="$DRIVER_DIRS osmesa"
>  fi
>
> -AC_SUBST([SRC_DIRS])
>  AC_SUBST([DRIVER_DIRS])
>  AC_SUBST([GALLIUM_DIRS])
>  AC_SUBST([GALLIUM_TARGET_DIRS])
> @@ -1211,8 +1207,6 @@ if test "x$enable_gbm" = xauto; then
>      esac
>  fi
>  if test "x$enable_gbm" = xyes; then
> -    SRC_DIRS="$SRC_DIRS gbm"
> -
>      PKG_CHECK_MODULES([LIBUDEV], [libudev], [],
>                        AC_MSG_ERROR([gbm needs udev]))
>
> @@ -1223,6 +1217,7 @@ if test "x$enable_gbm" = xyes; then
>          fi
>      fi
>  fi
> +AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes)
>  GBM_PC_REQ_PRIV="libudev"
>  GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
>  AC_SUBST([GBM_PC_REQ_PRIV])
> @@ -1234,7 +1229,6 @@ dnl
>  EGL_CLIENT_APIS=""
>
>  if test "x$enable_egl" = xyes; then
> -    SRC_DIRS="$SRC_DIRS egl"
>      EGL_LIB_DEPS="$DLOPEN_LIBS $SELINUX_LIBS $PTHREAD_LIBS"
>
>      AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"])
> @@ -1253,6 +1247,7 @@ if test "x$enable_egl" = xyes; then
>
>      fi
>  fi
> +AM_CONDITIONAL(HAVE_EGL, test "x$enable_egl" = xyes)
>  AC_SUBST([EGL_LIB_DEPS])
>
>  dnl
> @@ -1462,10 +1457,7 @@ fi
>  dnl
>  dnl Gallium configuration
>  dnl
> -if test "x$with_gallium_drivers" != x; then
> -    SRC_DIRS="$SRC_DIRS gallium gallium/winsys gallium/targets"
> -fi
> -AM_CONDITIONAL(HAVE_GALLIUM, test "x$with_gallium_drivers" != x)
> +AM_CONDITIONAL(HAVE_GALLIUM, test -n "x$with_gallium_drivers")
>
>  AC_SUBST([LLVM_BINDIR])
>  AC_SUBST([LLVM_CFLAGS])
> @@ -1712,9 +1704,9 @@ dnl
>  dnl Gallium Tests
>  dnl
>  if test "x$enable_gallium_tests" = xyes; then
> -    SRC_DIRS="$SRC_DIRS gallium/tests/trivial gallium/tests/unit"
>      enable_gallium_loader=yes
>  fi
> +AM_CONDITIONAL(HAVE_GALLIUM_TESTS, test "x$enable_gallium_tests" = xyes)
>
>  dnl Directory for VDPAU libs
>  AC_ARG_WITH([vdpau-libdir],
> @@ -2033,7 +2025,6 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
>
>  dnl Substitute the config
>  AC_CONFIG_FILES([Makefile
> -               src/Makefile
>                 src/egl/Makefile
>                 src/egl/drivers/Makefile
>                 src/egl/drivers/dri2/Makefile
> @@ -2245,7 +2236,7 @@ else
>  fi
>
>  echo ""
> -if echo "$SRC_DIRS" | grep 'gallium' >/dev/null 2>&1; then
> +if test -n "x$with_gallium_drivers"; then
>      echo "        Gallium:         yes"
>      echo "        Gallium dirs:    $GALLIUM_DIRS"
>      echo "        Target dirs:     $GALLIUM_TARGET_DIRS"
> diff --git a/src/Makefile.am b/src/Makefile.am
> deleted file mode 100644
> index d6a7946..0000000
> --- a/src/Makefile.am
> +++ /dev/null
> @@ -1,4 +0,0 @@
> -SUBDIRS=$(SRC_DIRS)
> -
> -all-local:
> -       $(MKDIR_P) $(top_builddir)/$(LIB_DIR)
> --
> 1.7.8.6
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list