View Issue Details

IDProjectCategoryView StatusLast Update
0001055Ecere SDKcompilerpublic2014-05-19 01:33
Reporterjerome Assigned Toredj  
PriorityimmediateSeverityblockReproducibilityN/A
Status closedResolutionfixed 
Product Version0.44.09 
Target Version0.44.10 64Fixed in Version0.44.10 64 
Summary0001055: Provide a way to cross-compile from 64 bit SDK for Android (32 bit)
DescriptionWe need to set targetBits to 32 in ecc/ecp, but avoid passing -m32 to GCC as the Android compiler does not recognize that option.

See attach patch which provides a work around but breaks normal 64->32 cross-builds.
TagsNo tags attached.

Activities

2014-02-04 11:38

 

x64CrossCompileAndroid.patch (1,510 bytes)   
diff --git a/compiler/ecc/ecc.ec b/compiler/ecc/ecc.ec
index ae7dbd0..fbb526f 100644
--- a/compiler/ecc/ecc.ec
+++ b/compiler/ecc/ecc.ec
@@ -296,11 +296,12 @@ class CompilerApp : Application
          {
             if(!strcmp(arg + 1, "m32") || !strcmp(arg + 1, "m64"))
             {
-               int newLen = cppOptionsLen + 1 + strlen(arg);
+               /*int newLen = cppOptionsLen + 1 + strlen(arg);
                cppOptions = renew cppOptions char[newLen + 1];
                cppOptions[cppOptionsLen] = ' ';
                strcpy(cppOptions + cppOptionsLen + 1, arg);
                cppOptionsLen = newLen;
+               */
                targetBits = !strcmp(arg + 1, "m32") ? 32 : 64;
             }
             else if(arg[1] == 'D' || arg[1] == 'I')
diff --git a/compiler/ecp/ecp.ec b/compiler/ecp/ecp.ec
index 933d9b9..8d566a5 100644
--- a/compiler/ecp/ecp.ec
+++ b/compiler/ecp/ecp.ec
@@ -1337,11 +1337,13 @@ class PrecompApp : Application
          {
             if(!strcmp(arg + 1, "m32") || !strcmp(arg + 1, "m64"))
             {
+               /*
                int newLen = cppOptionsLen + 1 + strlen(arg);
                cppOptions = renew cppOptions char[newLen + 1];
                cppOptions[cppOptionsLen] = ' ';
                strcpy(cppOptions + cppOptionsLen + 1, arg);
                cppOptionsLen = newLen;
+               */
                targetBits = !strcmp(arg + 1, "m32") ? 32 : 64;
             }
             else if(arg[1] == 'D' || arg[1] == 'I')
x64CrossCompileAndroid.patch (1,510 bytes)   

Issue History

Date Modified Username Field Change
2014-02-04 11:38 jerome New Issue
2014-02-04 11:38 jerome Status new => assigned
2014-02-04 11:38 jerome Assigned To => redj
2014-02-04 11:38 jerome File Added: x64CrossCompileAndroid.patch
2014-02-09 03:57 redj Status assigned => resolved
2014-02-09 03:57 redj Fixed in Version => 0.44.10 64
2014-02-09 03:57 redj Resolution open => fixed
2014-05-19 01:33 jerome Status resolved => closed