make-rules/configure.mk
changeset 774 d0cbca26a17c
parent 698 7144bcdfe7dd
child 1352 1358a1e1ff4c
--- a/make-rules/configure.mk	Tue Apr 17 10:38:01 2012 -0700
+++ b/make-rules/configure.mk	Tue Apr 17 10:40:54 2012 -0700
@@ -89,6 +89,16 @@
 $(BUILD_DIR_64)/.configured:	BITS=64
 
 CONFIGURE_ENV += $(CONFIGURE_ENV.$(BITS))
+ifeq   ($(strip $(PARFAIT_BUILD)),yes)
+# parfait creates '*.bc' files which can confuse configure's
+# object/exe extension detection. which we really don't need it
+# to do anyway, so we'll just tell it what they are.
+CONFIGURE_ENV += ac_cv_objext=o
+CONFIGURE_ENV += ac_cv_exeext=""
+# this is fixed in the clang compiler but we can't use it yet
+CONFIGURE_ENV += ac_cv_header_stdbool_h=yes
+endif
+
 
 # temporarily work around some issues
 CONFIGURE_ENV += "ac_cv_func_realloc_0_nonnull=yes"
@@ -110,6 +120,9 @@
 	(cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \
 		$(GMAKE) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS))
 	$(COMPONENT_POST_BUILD_ACTION)
+ifeq   ($(strip $(PARFAIT_BUILD)),yes)
+	-$(PARFAIT) build
+endif
 	$(TOUCH) $@
 
 # install the built source into a prototype area
@@ -128,5 +141,13 @@
 	$(COMPONENT_POST_TEST_ACTION)
 	$(TOUCH) $@
 
+ifeq   ($(strip $(PARFAIT_BUILD)),yes)
+parfait: install
+	-$(PARFAIT) build
+else
+parfait:
+	$(MAKE) PARFAIT_BUILD=yes parfait
+endif
+
 clean::
 	$(RM) -r $(BUILD_DIR) $(PROTO_DIR)