--- configure.orig	2010-11-02 16:22:33.000000000 -0400
+++ configure	2010-11-02 16:34:52.000000000 -0400
@@ -618,12 +618,6 @@
 		}
 #endif
 
-		if(opt_framework && qc_buildmode_debug)
-		{
-			printf("\nError: Cannot use both --framework and --debug.\n");
-			exit(1);
-		}
-
 		// sanity check exclusive options
 		int x;
 
@@ -695,24 +689,19 @@
 	bool exec()
 	{
 #ifdef Q_OS_MAC
+		QString str = "CONFIG += @ARCHES@\n";
 		if(qc_getenv("QC_UNIVERSAL") == "Y")
 		{
 			qc_universal_enabled = true;
 
-			QString str =
-			"contains(QT_CONFIG,x86):contains(QT_CONFIG,ppc) {\n"
-			"	CONFIG += x86 ppc\n"
-			"}\n";
-
 			QString sdk = qc_getenv("QC_MAC_SDK");
 			if(!sdk.isEmpty())
 			{
 				str += QString("QMAKE_MAC_SDK = %1\n").arg(sdk);
 				qc_universal_sdk = sdk;
 			}
-
-			conf->addExtra(str);
 		}
+		conf->addExtra(str);
 #endif
 		return true;
 	}
@@ -814,13 +803,9 @@
 			str += "QMAKE_CFLAGS += -g\n";
 			str += "QMAKE_CXXFLAGS += -g\n";
 		}
+		str += "       CONFIG += @ARCHES@\n";
 		if(universal)
 		{
-			str +=
-			"contains(QT_CONFIG,x86):contains(QT_CONFIG,ppc) {\n"
-			"	CONFIG += x86 ppc\n"
-			"}\n";
-
 			if(!sdk.isEmpty())
 				str += QString("QMAKE_MAC_SDK = %1\n").arg(sdk);
 		}
@@ -884,10 +869,19 @@
 		QString pkg_template3 = QString(
 		"Requires: %1\n");
 
-		QString pkg_template4 = QString(
-		"Libs: -L\${libdir} -l%1\n"
-		"Cflags: -I\${includedir}\n"
-		"\n");
+		QString pkg_template4;
+		if (qc_buildmode_framework_enabled) {
+			pkg_template4 = QString(
+			"Libs: -F\${libdir} -framework %1\n"
+			"Libs.private: -L\${libdir}\n"
+			"Cflags: -I\${includedir}\n"
+			"\n");
+		} else {
+			pkg_template4 = QString(
+			"Libs: -L\${libdir} -l%1\n"
+			"Cflags: -I\${includedir}\n"
+			"\n");
+		}
 
 		QStringList pcfiles;