Index: driver/cc1.cc
===================================================================
--- driver/cc1.cc	(revision 5a43ab812177a8259bdb8f044159f0ab1d2e6755)
+++ driver/cc1.cc	(revision 417a630db6cb1830d7a4a07a5573619f517b3c04)
@@ -10,6 +10,6 @@
 // Created On       : Fri Aug 26 14:23:51 2005
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Aug 26 07:52:19 2019
-// Update Count     : 374
+// Last Modified On : Mon Aug 26 14:21:22 2019
+// Update Count     : 375
 //
 
@@ -33,9 +33,9 @@
 
 
-static string installlibdir( CFA_LIBDIR );				// fixed location of cc1 and cfa-cpp commands when installed
 static string compiler_path( CFA_BACKEND_CC );			// path/name of C compiler
 static bool CFA_flag = false;							// -CFA flag
 static bool save_temps = false;							// -save-temps flag
 static string o_file;
+static string bprefix;
 
 
@@ -98,4 +98,6 @@
 			} else if ( prefix( val, "-o=" ) ) {		// output file for -CFA
 				o_file = val.substr( 3 );
+			} else if ( prefix( val, "-B=" ) ) {		// location of cfa-cpp
+				bprefix = val.substr( 3 );
 			} else {
 				args[nargs++] = ( *new string( arg.substr( __CFA_FLAGPREFIX__.size() + 4 ) ) ).c_str();
@@ -428,5 +430,5 @@
 
 	if ( fork() == 0 ) {								// child runs CFA
-		cargs[0] = ( *new string( installlibdir + "cfa-cpp" ) ).c_str();
+		cargs[0] = ( *new string( bprefix + "cfa-cpp" ) ).c_str();
 		cargs[ncargs++] = cpp_in;
 
Index: driver/cfa.cc
===================================================================
--- driver/cfa.cc	(revision 5a43ab812177a8259bdb8f044159f0ab1d2e6755)
+++ driver/cfa.cc	(revision 417a630db6cb1830d7a4a07a5573619f517b3c04)
@@ -10,6 +10,6 @@
 // Created On       : Tue Aug 20 13:44:49 2002
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Aug 23 16:27:07 2019
-// Update Count     : 411
+// Last Modified On : Mon Aug 26 14:25:44 2019
+// Update Count     : 414
 //
 
@@ -82,5 +82,5 @@
 	string heading;										// banner printed at start of cfa compilation
 	string arg;											// current command-line argument during command-line parsing
-	string Bprefix;										// path where gcc looks for compiler command steps
+	string bprefix;										// path where gcc looks for compiler command steps
 	string langstd;										// language standard
 
@@ -211,6 +211,6 @@
 				} // if
 			} else if ( prefix( arg, "-B" ) ) {
-				Bprefix = arg.substr(2);				// strip the -B flag
-				args[nargs++] = ( *new string( string("-D__GCC_BPREFIX__=") + Bprefix ) ).c_str();
+				bprefix = arg.substr(2);				// strip the -B flag
+//				args[nargs++] = ( *new string( string("-D__GCC_BPREFIX__=") + bprefix ) ).c_str();
 			} else if ( arg == "-c" || arg == "-S" || arg == "-E" || arg == "-M" || arg == "-MM" ) {
 				args[nargs++] = argv[i];				// pass argument along
@@ -370,8 +370,9 @@
 	} // if
 
-	if ( Bprefix.length() == 0 ) {
-		Bprefix = ! intree ? installlibdir : srcdriverdir;
-		if ( Bprefix[Bprefix.length() - 1] != '/' ) Bprefix += '/';
-		args[nargs++] = ( *new string( string("-D__GCC_BPREFIX__=") + Bprefix ) ).c_str();
+	if ( bprefix.length() == 0 ) {
+		bprefix = ! intree ? installlibdir : srcdriverdir;
+		if ( bprefix[bprefix.length() - 1] != '/' ) bprefix += '/';
+//		args[nargs++] = ( *new string( string("-D__GCC_BPREFIX__=") + bprefix ) ).c_str();
+		Putenv( argv, ( *new string( string("-B=") + bprefix ) ).c_str() );
 	} // if
 
@@ -401,5 +402,5 @@
 		args[nargs++] = "-fgnu89-inline";
 		args[nargs++] = "-D__int8_t_defined";			// prevent gcc type-size attributes
-		args[nargs++] = ( *new string( string("-B") + Bprefix ) ).c_str();
+		args[nargs++] = ( *new string( string("-B") + bprefix ) ).c_str();
 	} else {
 		cerr << argv[0] << " error, compiler \"" << compiler_name << "\" unsupported." << endl;
