Index: OpenDDS-3.11/configure
===================================================================
--- OpenDDS-3.11.orig/configure
+++ OpenDDS-3.11/configure
@@ -135,6 +135,7 @@ my @specs = # Array of array-refs, each
     'inline!', 'Inlining (yes)',
     'static!', 'Static libraries (no)',
     'ipv6!', 'IPv6 support (no)',
+    'force-cross-compile!', 'Cross-compile, even on same target (no)',
    ],
    ['Required dependencies for OpenDDS:',
     'ace=s', 'ACE (use ACE_ROOT, ACE_wrappers, or download)',
@@ -336,7 +337,8 @@ if (defined $opts{'safety-profile'} && $
   $opts{'safety-profile'} = 'extended';
 }
 
-if ($opts{'host'} ne $opts{'target'} || $opts{'safety-profile'}) {
+if ($opts{'host'} ne $opts{'target'} || $opts{'safety-profile'} ||
+    $opts{'force-cross-compile'}) {
   print "Setting cross-compile build\n" if $opts{'verbose'};
   $cross_compile = 1;
 }
@@ -1315,6 +1317,15 @@ if ($cross_compile) {
     setEnv('HOST_ACE', 'build/host' . $ace_sub_dds);
     setEnv('ACE_ROOT', 'build/target' . $ace_sub_dds);
   }
+  elsif (defined($ENV{HOST_ACE})) {
+    setHostEnv('ACE_ROOT', $ENV{HOST_ACE});
+    setEnv('HOST_ACE', $ENV{HOST_ACE});
+    setEnv('ACE_ROOT', $ace_src);
+    if ($tao_sub_ace) {
+      setHostEnv('TAO_ROOT', $ENV{HOST_ACE} . $tao_sub_ace);
+      setEnv('TAO_ROOT', $ace_src . $tao_sub_ace);
+    }
+  }
   else {
     clone_host_and_target($ace_src);
     setHostEnv('ACE_ROOT', $ace_src . '/build/host');
