automake: allow only shared builds
authorEmil Velikov <emil.l.velikov@gmail.com>
Tue, 11 Mar 2014 11:50:37 +0000 (11:50 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 11 Mar 2014 12:50:44 +0000 (12:50 +0000)
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@gmail.com>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
configure.ac
src/gallium/targets/osmesa/Makefile.am
src/mesa/drivers/osmesa/Makefile.am
src/mesa/drivers/x11/Makefile.am

index a8131cf70b2d4a98763b9e1effca2a83c507c734..c5042f93ee71b4bc45a9dfe8936220edef5aed6a 100644 (file)
@@ -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"
@@ -1117,12 +1105,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
@@ -1171,11 +1154,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)
index 66ddf93ef31043109c71a28955b4dfb85aa73ba3..48154e1c2d3d483690b0f4d0cebbd0fdde6feef9 100644 (file)
@@ -65,11 +65,7 @@ lib@OSMESA_LIB@_la_LDFLAGS += $(LLVM_LDFLAGS)
 lib@OSMESA_LIB@_la_LIBADD += $(top_builddir)/src/gallium/drivers/llvmpipe/libllvmpipe.la $(LLVM_LIBS)
 endif
 
-
-
-if BUILD_SHARED
 include $(top_srcdir)/install-gallium-links.mk
-endif
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = osmesa.pc
index e18b735db7b62edbc04b468290496653e4c19913..bc1244f52e997d76152be24bd11de2a089ffdbae 100644 (file)
@@ -47,9 +47,7 @@ lib@OSMESA_LIB@_la_LIBADD = \
        $(SHARED_GLAPI_LIB) \
        $(OSMESA_LIB_DEPS)
 
-if BUILD_SHARED
 include $(top_srcdir)/install-lib-links.mk
-endif
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = osmesa.pc
index 3f3a24b4eab23302576aa10dac42a5b28795bea1..b10e86f534a06c0feae78cbe7f57a9f81266763f 100644 (file)
@@ -64,6 +64,4 @@ lib@GL_LIB@_la_LDFLAGS = \
        -no-undefined \
        $(GL_LIB_DEPS)
 
-if BUILD_SHARED
 include $(top_srcdir)/install-lib-links.mk
-endif