st/xa, xa/vmwgfx: Generate exported symbol list from the st/xa symbols.
authorThomas Hellstrom <thellstrom@vmware.com>
Thu, 24 Nov 2011 20:54:54 +0000 (21:54 +0100)
committerThomas Hellstrom <thellstrom@vmware.com>
Fri, 25 Nov 2011 15:38:36 +0000 (16:38 +0100)
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
configs/autoconf.in
configure.ac
src/gallium/state_trackers/xa/xa_symbols [deleted file]
src/gallium/targets/xa-vmwgfx/Makefile

index 3d4c749cf4bc2be6f2612e6b658e82896b1ab52a..9ea7588a11873fd08efa638bed56db1df7369e35 100644 (file)
@@ -54,6 +54,9 @@ MKLIB_OPTIONS = @MKLIB_OPTIONS@
 MKDEP = @MKDEP@
 MKDEP_OPTIONS = @MKDEP_OPTIONS@
 INSTALL = @INSTALL@
+AWK = @AWK@
+GREP = @GREP@
+NM = @NM@
 
 # Python and flags (generally only needed by the developers)
 PYTHON2 = @PYTHON2@
index 8885a6d74e5f606968c2f2dec9b0dca482beea8b..febb9f68098204a81ff43cdb28eb256c1598ab3d 100644 (file)
@@ -1468,9 +1468,21 @@ fi
 dnl
 dnl XA configuration
 dnl
+if test "x$enable_xa" = xyes; then
+AC_PROG_AWK
+AC_PROG_GREP
+AC_CHECK_PROG(NM, nm, "nm")
+if test "x$AWK" = x || test "x$GREP" = x || test "x$NM" = x; then
+AC_MSG_WARN([Missing one of nm, grep or awk. Disabling xa.])
+enable_xa=no
+fi
+fi
 if test "x$enable_xa" = xyes; then
     GALLIUM_STATE_TRACKERS_DIRS="xa $GALLIUM_STATE_TRACKERS_DIRS"
     HAVE_ST_XA=yes
+    AC_SUBST(AWK)
+    AC_SUBST(GREP)
+    AC_SUBST(NM)
 fi
 
 dnl
diff --git a/src/gallium/state_trackers/xa/xa_symbols b/src/gallium/state_trackers/xa/xa_symbols
deleted file mode 100644 (file)
index 6da701f..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-xa_tracker_version
-xa_tracker_create
-xa_tracker_destroy
-xa_surface_create
-xa_surface_destroy
-xa_surface_redefine
-xa_surface_dma
-xa_surface_map
-xa_surface_unmap
-xa_surface_format
-xa_surface_handle
-xa_format_check_supported
-xa_context_default
-xa_context_create
-xa_context_destroy
-xa_fence_get
-xa_fence_wait
-xa_fence_destroy
-xa_copy_prepare
-xa_copy
-xa_copy_done
-xa_solid_prepare
-xa_solid
-xa_solid_done
-xa_composite_allocation
-xa_composite_check_accelerated
-xa_composite_prepare
-xa_composite_rect
-xa_composite_done
-xa_yuv_planar_blit
index a4c02d1bca04f22ffb8b460ba0ab367b9c21e37e..6ca446a15dcce6ddb385ca6584eccd24dd32dc4f 100644 (file)
@@ -52,13 +52,17 @@ endif
 
 default: $(TOP)/$(LIB_DIR)/gallium/$(XA_LIB_NAME)
 
+# Generate list of library visible symbols
+xa_symbols: $(TOP)/src/gallium/state_trackers/xa/libxatracker.o
+       $(NM) $< | $(GREP) ' T ' | $(AWK) '{print $$3}' > $@
 
 # Make the library
-$(TOP)/$(LIB_DIR)/gallium/$(XA_LIB_NAME): depend $(OBJECTS) $(XA_LIB_DEPS)
+$(TOP)/$(LIB_DIR)/gallium/$(XA_LIB_NAME): depend $(OBJECTS) $(XA_LIB_DEPS) \
+       xa_symbols
        $(MKLIB) -o $(XA_LIB) -linker $(LD) -ldflags '$(LDFLAGS)' \
                -major $(XA_MAJOR) -minor $(XA_MINOR) -patch $(XA_TINY) \
                $(MKLIB_OPTIONS) \
-               -exports $(TOP)/src/gallium/state_trackers/xa/xa_symbols\
+               -exports xa_symbols \
                 -install $(TOP)/$(LIB_DIR)/gallium \
                $(OBJECTS) $(XA_LIB_DEPS) $(GALLIUM_AUXILIARIES)
 
@@ -91,7 +95,7 @@ clean:
        -rm -f *.la
        -rm -f *.pc
        -rm -rf .libs
-       -rm -f depend depend.bak exptmp
+       -rm -f depend depend.bak exptmp xa_symbols
 
 
 depend: $(SOURCES)