[Mesa-dev] [PATCH 20/20] automake: allow only shared builds
Emil Velikov
emil.l.velikov at gmail.com
Tue Mar 4 13:12:44 PST 2014
Static and shared builds were possible in the good old days
of static makefiles. Currently the build system does not
distinguish nor does anything special when one requests a
static build.
Print a warning message for the packager that static builds
are not supported and continue building shared libs.
Currently only Debian and derivatives use static build, and
they use it for building a Xlib powered libGL. This patch
will only change the warning message they are seeing but
the binaries produced will be identical.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
configure.ac | 56 +++++++++++-----------------------
src/gallium/targets/osmesa/Makefile.am | 3 --
src/mesa/drivers/osmesa/Makefile.am | 2 --
src/mesa/drivers/x11/Makefile.am | 2 --
4 files changed, 18 insertions(+), 45 deletions(-)
diff --git a/configure.ac b/configure.ac
index 7130f6d..83c36b5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -285,18 +285,15 @@ dnl Can't have static and shared libraries, default to static if user
dnl explicitly requested. If both disabled, set to static since shared
dnl was explicitly requested.
case "x$enable_static$enable_shared" in
-xyesyes )
- AC_MSG_WARN([Cannot build static and shared libraries, disabling shared])
- enable_shared=no
+xnoyes )
;;
-xnono )
- AC_MSG_WARN([Cannot disable both static and shared libraries, enabling static])
- enable_static=yes
+* )
+ AC_MSG_WARN([Messa build supports only shared libraries, enabling shared])
+ enable_shared=yes
+ enable_static=no
;;
esac
-AM_CONDITIONAL(BUILD_SHARED, test "x$enable_shared" = xyes)
-
dnl
dnl other compiler options
dnl
@@ -331,20 +328,16 @@ AM_CONDITIONAL(HAVE_COMPAT_SYMLINKS, test x$HAVE_COMPAT_SYMLINKS = xyes)
dnl
dnl library names
dnl
-if test "$enable_static" = yes; then
- LIB_EXT='a'
-else
- case "$host_os" in
- darwin* )
- LIB_EXT='dylib' ;;
- cygwin* )
- LIB_EXT='dll' ;;
- aix* )
- LIB_EXT='a' ;;
- * )
- LIB_EXT='so' ;;
- esac
-fi
+case "$host_os" in
+darwin* )
+ LIB_EXT='dylib' ;;
+cygwin* )
+ LIB_EXT='dll' ;;
+aix* )
+ LIB_EXT='a' ;;
+* )
+ LIB_EXT='so' ;;
+esac
AC_SUBST([LIB_EXT])
@@ -781,11 +774,6 @@ PKG_CHECK_MODULES([LIBUDEV], [libudev >= $LIBUDEV_REQUIRED],
have_libudev=yes, have_libudev=no)
if test "x$enable_dri" = xyes; then
- # DRI must be shared, I think
- if test "$enable_static" = yes; then
- AC_MSG_ERROR([Cannot use static libraries for DRI drivers])
- fi
-
# not a hard requirement as swrast does not depend on it
if test "x$have_libdrm" = xyes; then
DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
@@ -1113,12 +1101,7 @@ x16|x32)
esac
if test "x$enable_osmesa" = xyes -o "x$enable_gallium_osmesa" = xyes; then
- # only link libraries with osmesa if shared
- if test "$enable_static" = no; then
- OSMESA_LIB_DEPS="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
- else
- OSMESA_LIB_DEPS=""
- fi
+ OSMESA_LIB_DEPS="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
OSMESA_MESA_DEPS=""
OSMESA_PC_LIB_PRIV="-lm $PTHREAD_LIBS $SELINUX_LIBS $DLOPEN_LIBS"
fi
@@ -1167,11 +1150,8 @@ if test "x$enable_egl" = xyes; then
AC_CHECK_FUNC(mincore, [DEFINES="$DEFINES -DHAVE_MINCORE"])
- if test "$enable_static" != yes; then
- if test "x$enable_dri" = xyes; then
- HAVE_EGL_DRIVER_DRI2=1
- fi
-
+ if test "x$enable_dri" = xyes; then
+ HAVE_EGL_DRIVER_DRI2=1
fi
fi
AM_CONDITIONAL(HAVE_EGL, test "x$enable_egl" = xyes)
diff --git a/src/gallium/targets/osmesa/Makefile.am b/src/gallium/targets/osmesa/Makefile.am
index c065773..775abd9 100644
--- a/src/gallium/targets/osmesa/Makefile.am
+++ b/src/gallium/targets/osmesa/Makefile.am
@@ -66,12 +66,9 @@ lib at OSMESA_LIB@_la_LIBADD += $(top_builddir)/src/gallium/drivers/llvmpipe/libllv
endif
-
-if BUILD_SHARED
if HAVE_COMPAT_SYMLINKS
include $(top_srcdir)/install-gallium-links.mk
endif
-endif
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = osmesa.pc
diff --git a/src/mesa/drivers/osmesa/Makefile.am b/src/mesa/drivers/osmesa/Makefile.am
index 9ab6820..4d61b14 100644
--- a/src/mesa/drivers/osmesa/Makefile.am
+++ b/src/mesa/drivers/osmesa/Makefile.am
@@ -47,11 +47,9 @@ lib at OSMESA_LIB@_la_LIBADD = \
$(SHARED_GLAPI_LIB) \
$(OSMESA_LIB_DEPS)
-if BUILD_SHARED
if HAVE_COMPAT_SYMLINKS
include $(top_srcdir)/install-lib-links.mk
endif
-endif
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = osmesa.pc
diff --git a/src/mesa/drivers/x11/Makefile.am b/src/mesa/drivers/x11/Makefile.am
index cc83793..63321be 100644
--- a/src/mesa/drivers/x11/Makefile.am
+++ b/src/mesa/drivers/x11/Makefile.am
@@ -64,8 +64,6 @@ lib at GL_LIB@_la_LDFLAGS = \
-no-undefined \
$(GL_LIB_DEPS)
-if BUILD_SHARED
if HAVE_COMPAT_SYMLINKS
include $(top_srcdir)/install-lib-links.mk
endif
-endif
--
1.9.0
More information about the mesa-dev
mailing list