mapi: Workaround a bug in makedepend.
authorChia-I Wu <olv@lunarg.com>
Sat, 29 Jan 2011 11:06:27 +0000 (19:06 +0800)
committerChia-I Wu <olv@lunarg.com>
Sat, 29 Jan 2011 11:22:54 +0000 (19:22 +0800)
makedepend would crash when a source includes a header indirectly, such
as

  #define HEADER "some-header.h"
  #include HEADER

Do not define HEADER (makedepend would detects this as an incomplete
include) and add the dependency manually in the Makefile.

This should hopefully fix bug #33374.

src/mapi/es1api/Makefile
src/mapi/glapi/Makefile
src/mapi/shared-glapi/Makefile
src/mapi/vgapi/Makefile

index 4fa68e5c39d04e5335e781e1d6527b6271c541d9..aef694866c2144ccafe1753a30ae779acdcde749 100644 (file)
@@ -124,10 +124,15 @@ install: default install-headers install-pc
        $(MINSTALL) $(TOP)/$(LIB_DIR)/$(esapi_LIB_GLOB) \
                $(DESTDIR)$(INSTALL_LIB_DIR)
 
+# workaround a bug in makedepend
+makedepend_CPPFLAGS := \
+       $(filter-out -DMAPI_ABI_HEADER=%, $(esapi_CPPFLAGS))
+$(esapi_OBJECTS): glapi_mapi_tmp.h
+
 depend: $(esapi_SOURCES)
        @echo "running $(MKDEP)"
        @touch depend
-       @$(MKDEP) $(MKDEP_OPTIONS) -f- $(DEFINES) $(esapi_CPPFLAGS) \
+       @$(MKDEP) $(MKDEP_OPTIONS) -f- $(DEFINES) $(makedepend_CPPFLAGS) \
                $(esapi_SOURCES) 2>/dev/null | \
                sed -e 's,^$(GLAPI)/,,' -e 's,^$(MAPI)/,,' > depend
 
index 203a8abd018323c101575530c7dffd29f0d97827..bb4ed6585d9df62aabfb8ab4803934ae27373847 100644 (file)
@@ -13,11 +13,12 @@ include $(MAPI)/sources.mak
 glapi_CPPFLAGS := \
        -I$(TOP)/include \
        -I$(TOP)/src/mapi \
-       -I$(TOP)/src/mesa \
-       -DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\"
+       -I$(TOP)/src/mesa
 
 ifeq ($(SHARED_GLAPI),1)
-glapi_CPPFLAGS += -DMAPI_MODE_BRIDGE
+glapi_CPPFLAGS += \
+       -DMAPI_MODE_BRIDGE \
+       -DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\"
 glapi_SOURCES := $(addprefix $(MAPI)/, $(MAPI_BRIDGE_SOURCES))
 
 glapi_GLAPI_OBJECTS :=
@@ -58,10 +59,19 @@ clean:
        -rm -f lib$(TARGET).a
        -rm -f depend depend.bak
 
+ifeq ($(SHARED_GLAPI),1)
+# workaround a bug in makedepend
+makedepend_CPPFLAGS := \
+       $(filter-out -DMAPI_ABI_HEADER=%, $(glapi_CPPFLAGS))
+$(glapi_OBJECTS): glapi_mapi_tmp.h
+else
+makedepend_CPPFLAGS := $(glapi_CPPFLAGS)
+endif
+
 depend: $(glapi_SOURCES)
        @ echo "running $(MKDEP)"
        @ touch depend
-       @$(MKDEP) $(MKDEP_OPTIONS) -f- $(DEFINES) $(glapi_CPPFLAGS) \
+       @$(MKDEP) $(MKDEP_OPTIONS) -f- $(DEFINES) $(makedepend_CPPFLAGS) \
                $(glapi_SOURCES) 2>/dev/null | sed -e 's,^$(MAPI)/,,' > depend
 
 -include depend
index ee937bd681b9c42c4679b99d54333ba7a9b77bfe..c928f822c813a1ec8e0b10c275d5999d6e7e44b5 100644 (file)
@@ -51,10 +51,15 @@ install:
        $(MINSTALL) $(TOP)/$(LIB_DIR)/$(GLAPI_LIB_GLOB) \
                $(DESTDIR)$(INSTALL_LIB_DIR)
 
+# workaround a bug in makedepend
+makedepend_CPPFLAGS := \
+       $(filter-out -DMAPI_ABI_HEADER=%, $(glapi_CPPFLAGS))
+$(glapi_OBJECTS): glapi_mapi_tmp.h
+
 depend: $(glapi_SOURCES)
        @echo "running $(MKDEP)"
        @touch depend
-       @$(MKDEP) $(MKDEP_OPTIONS) -f- $(DEFINES) $(glapi_CPPFLAGS) \
+       @$(MKDEP) $(MKDEP_OPTIONS) -f- $(DEFINES) $(makedepend_CPPFLAGS) \
                $(glapi_SOURCES) 2>/dev/null | sed -e 's,^$(MAPI)/,,' \
                > depend
 
index e239e20987e7d80ba720f623fd1c39cab1ef15f6..68cf26e83c370d22539e1c06ee443085408ff592 100644 (file)
@@ -81,11 +81,14 @@ install: default install-headers install-pc
        $(MINSTALL) $(TOP)/$(LIB_DIR)/$(VG_LIB_GLOB) \
                $(DESTDIR)$(INSTALL_LIB_DIR)
 
+# due to a bug in makedepend, cannot pass VGAPI_CPPFLAGS to it
+$(VGAPI_OBJECTS): vgapi_tmp.h
+
 depend: $(VGAPI_SOURCES)
        @echo "running $(MKDEP)"
        @touch depend
        @$(MKDEP) $(MKDEP_OPTIONS) -f- $(DEFINES) $(INCLUDE_DIRS) \
-               $(VGAPI_CPPFLAGS) $(VGAPI_SOURCES) 2>/dev/null | \
+               $(VGAPI_SOURCES) 2>/dev/null | \
                sed -e 's,^$(MAPI)/,,' > depend
 
 -include depend