This has been mentioned before (here for example). That file (curlbuild.h as it appears in the distribution tarball) is really not intended to be used on systems that can run configure and generate its proper header, which should include most systems that can run on MIPS. When configure runs, it outputs a generated version for that particular system.
I could still see a value in fixing this so that maybe we can work on, long-term, move (back) toward not generating a system specific curlbuild.h at build time.
Can you suggest a full patch that you deem proper for this to build fine for you?
In understand that it's a generic header not meant to be used, but when building for Android from Windows using jni, there are no easy way to run configure
The fix I suggested that checks if __mips__ is defined AND that __LP64__ isn't defined is sufficient. I have that in my local version and can build libcurl for Android just fine on all 7 major architectures ( armeabi, armeabi-v7a, mips, x86, arm64-v8a, mips64 and x64 ).
I did this
Custom compile script for Android, compiling for mips64 fails due to CURL_SIZEOF_LONG not matching sizeof(long)
I expected the following
curlbuild.h line 532
defined(__mips__)is true for both 32 and 64 bit mips when compiling for Android, changing it to
(defined(__mips__) && !defined(__LP64__))fixes it.
Compiling for Android in Windows 7
The text was updated successfully, but these errors were encountered: