--- a/configure	2019-01-24 04:49:47.000000000 +0530
+++ b/configure	2019-01-24 13:45:30.430540440 +0530
@@ -148,6 +148,7 @@
     '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)',
@@ -358,7 +359,8 @@
 }
 
 my $build_host_tools;
-if ($opts{'host'} ne $opts{'target'} || $opts{'safety-profile'}) {
+if ($opts{'host'} ne $opts{'target'} || $opts{'safety-profile'} ||
+  $opts{'force-cross-compile'}) {
   $build_host_tools = !$opts{'host-tools'};
   print "Cross-compile build " .
     ($build_host_tools ? 'including' : 'excluding') . " host tools\n"
@@ -1787,6 +1789,15 @@
     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');
