Merge branch 'sdl_android' of github.com:pelya/commandergenius into sdl_android
This commit is contained in:
2
build.sh
2
build.sh
@@ -93,7 +93,7 @@ else
|
||||
fi
|
||||
|
||||
[ -e project/local.properties ] || {
|
||||
android update project -p project -t android-23 || exit 1
|
||||
android update project -p project -t android-25 || exit 1
|
||||
rm -f project/src/Globals.java
|
||||
}
|
||||
|
||||
|
||||
@@ -979,7 +979,8 @@ if [ "$GooglePlayGameServicesId" = "n" -o -z "$GooglePlayGameServicesId" ] ; the
|
||||
$SEDI "/==GOOGLEPLAYGAMESERVICES==/ d" project/AndroidManifest.xml
|
||||
GooglePlayGameServicesId=""
|
||||
grep '=play-services' project/local.properties > /dev/null && {
|
||||
$SEDI 's/.*=play-services.*//g' project/local.properties
|
||||
echo "sdk.dir=$SDK_DIR" > project/local.properties
|
||||
echo 'proguard.config=proguard.cfg;proguard-local.cfg' >> project/local.properties
|
||||
rm -f project/libs/android-support-v4.jar
|
||||
}
|
||||
else
|
||||
@@ -990,10 +991,12 @@ else
|
||||
cat $F | sed "s/^package .*;/package $AppFullName;/" >> project/src/$OUT
|
||||
done
|
||||
|
||||
PLAY_SERVICES_VER=9.4.0
|
||||
PLAY_SERVICES_VER=10.2.1
|
||||
SUPPORT_V4_VER=24.0.0
|
||||
rm -rf project/play-services
|
||||
|
||||
CURDIR=`pwd`
|
||||
|
||||
cd $SDK_DIR/extras/google/m2repository/com/google/android/gms/play-services-games/$PLAY_SERVICES_VER || exit 1
|
||||
$CURDIR/aar2jar.py -o $CURDIR/project/play-services/games -i play-services-games-$PLAY_SERVICES_VER || exit 1
|
||||
cd $SDK_DIR/extras/google/m2repository/com/google/android/gms/play-services-drive/$PLAY_SERVICES_VER || exit 1
|
||||
@@ -1004,10 +1007,19 @@ else
|
||||
$CURDIR/aar2jar.py -o $CURDIR/project/play-services/tasks -i play-services-tasks-$PLAY_SERVICES_VER || exit 1
|
||||
cd $SDK_DIR/extras/google/m2repository/com/google/android/gms/play-services-basement/$PLAY_SERVICES_VER || exit 1
|
||||
$CURDIR/aar2jar.py -o $CURDIR/project/play-services/basement -i play-services-basement-$PLAY_SERVICES_VER || exit 1
|
||||
#cd $SDK_DIR/extras/android/m2repository/com/android/support/support-core-utils/$SUPPORT_V4_VER || exit 1
|
||||
#$CURDIR/aar2jar.py -o $CURDIR/project/play-services/support-core-utils -i support-core-utils-$SUPPORT_V4_VER || exit 1
|
||||
#cd $SDK_DIR/extras/android/m2repository/com/android/support/support-compat/$SUPPORT_V4_VER || exit 1
|
||||
#$CURDIR/aar2jar.py -o $CURDIR/project/play-services/support-compat -i support-compat-$SUPPORT_V4_VER || exit 1
|
||||
cd $SDK_DIR/extras/android/m2repository/com/android/support/support-v4/$SUPPORT_V4_VER || exit 1
|
||||
$CURDIR/aar2jar.py -o $CURDIR/project/play-services/support-v4 -i support-v4-$SUPPORT_V4_VER || exit 1
|
||||
|
||||
cd $CURDIR
|
||||
|
||||
ln -s -f $SDK_DIR/extras/android/m2repository/com/android/support/support-annotations/$SUPPORT_V4_VER/support-annotations-$SUPPORT_V4_VER.jar project/libs/android-support-v4.jar || exit 1
|
||||
|
||||
$SEDI "s/==GOOGLEPLAYGAMESERVICES_APP_ID==/$GooglePlayGameServicesId/g" project/res/values/strings.xml
|
||||
grep 'play-services' project/local.properties > /dev/null || {
|
||||
grep "play-services-games-$PLAY_SERVICES_VER" project/local.properties > /dev/null || {
|
||||
|
||||
PROGUARD=`which android`
|
||||
PROGUARD=`dirname $PROGUARD`/proguard/lib/proguard.jar
|
||||
@@ -1019,17 +1031,16 @@ else
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
# Ant is way too smart, and adds current project path in front of the ${sdk.dir}
|
||||
echo "sdk.dir=$SDK_DIR" > project/local.properties
|
||||
echo 'proguard.config=proguard.cfg;proguard-local.cfg' >> project/local.properties
|
||||
echo "android.library.reference.1=play-services/games/play-services-games-$PLAY_SERVICES_VER" >> project/local.properties
|
||||
echo "android.library.reference.2=play-services/drive/play-services-drive-$PLAY_SERVICES_VER" >> project/local.properties
|
||||
echo "android.library.reference.3=play-services/base/play-services-base-$PLAY_SERVICES_VER" >> project/local.properties
|
||||
echo "android.library.reference.4=play-services/tasks/play-services-tasks-$PLAY_SERVICES_VER" >> project/local.properties
|
||||
echo "android.library.reference.5=play-services/basement/play-services-basement-$PLAY_SERVICES_VER" >> project/local.properties
|
||||
#echo 'android.library.reference.6=../../../../../../../../../../../../../../${sdk.dir}/extras/android/compatibility/v7/mediarouter' >> project/local.properties
|
||||
#echo 'android.library.reference.7=../../../../../../../../../../../../../../${sdk.dir}/extras/android/compatibility/v7/appcompat' >> project/local.properties
|
||||
#echo 'android.library.reference.8=../../../../../../../../../../../../../../${sdk.dir}/extras/android/compatibility/v7/palette' >> project/local.properties
|
||||
echo 'proguard.config=proguard.cfg;proguard-local.cfg' >> project/local.properties
|
||||
ln -s -f $SDK_DIR/extras/android/compatibility/v4/android-support-v4.jar project/libs
|
||||
echo "android.library.reference.6=play-services/support-v4/support-v4-$SUPPORT_V4_VER" >> project/local.properties
|
||||
}
|
||||
fi
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# TODO: libboost, libffmpeg, libpython (used only in GemRB)
|
||||
|
||||
ARCHES32 := armeabi armeabi-v7a x86 mips
|
||||
ARCHES64 := arm64-v8a
|
||||
ARCHES64 := arm64-v8a x86_64
|
||||
|
||||
ICONV := $(foreach ARCH, $(ARCHES32), iconv/lib/$(ARCH)/libiconv.so iconv/lib/$(ARCH)/libcharset.so)
|
||||
|
||||
|
||||
1
project/jni/application/curl-config
Executable file
1
project/jni/application/curl-config
Executable file
@@ -0,0 +1 @@
|
||||
#!/bin/sh
|
||||
@@ -7,10 +7,10 @@ AppName="Ninslash"
|
||||
AppFullName=ninslash.com
|
||||
|
||||
# Application version code (integer)
|
||||
AppVersionCode=02220
|
||||
AppVersionCode=02321
|
||||
|
||||
# Application user-visible version name (string)
|
||||
AppVersionName="0.2.2.20"
|
||||
AppVersionName="0.2.3.21"
|
||||
|
||||
# Specify path to download application data in zip archive in the form 'Description|URL|MirrorURL^Description2|URL2|MirrorURL2^...'
|
||||
# If you'll start Description with '!' symbol it will be enabled by default, other downloads should be selected by user from startup config menu
|
||||
@@ -24,7 +24,7 @@ AppDataDownloadUrl="!!Game data|data.zip"
|
||||
ResetSdlConfigForThisVersion=n
|
||||
|
||||
# Delete application data files when upgrading (specify file/dir paths separated by spaces)
|
||||
DeleteFilesOnUpgrade="libsdl-DownloadFinished-0.flag"
|
||||
DeleteFilesOnUpgrade="libsdl-DownloadFinished-0.flag data"
|
||||
|
||||
# Here you may type readme text, which will be shown during startup. Format is:
|
||||
# Text in English, use \\\\n to separate lines (that's four backslashes)^de:Text in Deutsch^ru:Text in Russian^button:Button that will open some URL:http://url-to-open/
|
||||
|
||||
Submodule project/jni/application/ninslash/src updated: 58d9dd8655...0e47d0a1c1
@@ -7,10 +7,10 @@ AppName="OpenTTD"
|
||||
AppFullName=org.openttd.sdl
|
||||
|
||||
# Application version code (integer)
|
||||
AppVersionCode=16164
|
||||
AppVersionCode=17069
|
||||
|
||||
# Application user-visible version name (string)
|
||||
AppVersionName="1.6.1.64"
|
||||
AppVersionName="1.7.0.69"
|
||||
|
||||
# Specify path to download application data in zip archive in the form 'Description|URL|MirrorURL^Description2|URL2|MirrorURL2^...'
|
||||
# If you'll start Description with '!' symbol it will be enabled by default, other downloads should be selected by user from startup config menu
|
||||
@@ -18,7 +18,7 @@ AppVersionName="1.6.1.64"
|
||||
# If the URL does not contain 'http://' it is treated as file from 'project/jni/application/src/AndroidData' dir -
|
||||
# these files are put inside .apk package by build system
|
||||
# You can specify Google Play expansion files in the form 'obb:main.12345' or 'obb:patch.12345' where 12345 is the app version, first associated with the file
|
||||
AppDataDownloadUrl="!!Data files - 20 Mb|openttd-data-1.6.1-1.zip.xz^!!Config file|:.openttd/openttd.cfg:openttd-1.4.0.30.cfg^!!MIDI music support (18 Mb)|timidity.zip.xz|http://sourceforge.net/projects/libsdl-android/files/timidity.zip.xz^!!Internationalization files|icudt52l.zip.xz|http://sourceforge.net/projects/libsdl-android/files/icudt52l.zip.xz^HD graphics - 220 Mb download|http://sourceforge.net/projects/libsdl-android/files/OpenTTD/abase-0.1.2-0.zip.xz/download|http://sourceforge.net/projects/libsdl-android/files/OpenTTD/zBase-v5588.zip.xz/download"
|
||||
AppDataDownloadUrl="!!Data files - 20 Mb|openttd-data-1.7.0-0.zip.xz^!!Config file|:.openttd/openttd.cfg:openttd-1.4.0.30.cfg^!!MIDI music support (18 Mb)|timidity.zip.xz|http://sourceforge.net/projects/libsdl-android/files/timidity.zip.xz^!!Internationalization files|icudt52l.zip.xz|http://sourceforge.net/projects/libsdl-android/files/icudt52l.zip.xz^HD graphics (optional) - 220 Mb download|http://sourceforge.net/projects/libsdl-android/files/OpenTTD/abase-0.1.2-0.zip.xz/download|http://sourceforge.net/projects/libsdl-android/files/OpenTTD/zBase-v5588.zip.xz/download"
|
||||
|
||||
# Reset SDL config when updating application to the new version (y) / (n)
|
||||
ResetSdlConfigForThisVersion=n
|
||||
@@ -109,7 +109,7 @@ CompatibilityHacksTouchscreenKeyboardSaveRestoreOpenGLState=
|
||||
|
||||
# Application uses SDL_UpdateRects() properly, and does not draw in any region outside those rects.
|
||||
# This improves drawing speed, but I know only one application that does that, and it's written by me (y)/(n)
|
||||
CompatibilityHacksProperUsageOfSDL_UpdateRects=
|
||||
CompatibilityHacksProperUsageOfSDL_UpdateRects=n
|
||||
|
||||
# Application uses mouse (y) or (n), this will show mouse emulation dialog to the user
|
||||
AppUsesMouse=y
|
||||
|
||||
@@ -12,11 +12,13 @@ small_aa = true
|
||||
medium_aa = true
|
||||
large_aa = true
|
||||
mono_aa = true
|
||||
min_button_size = 40
|
||||
min_step_size = 40
|
||||
min_button_size = 48
|
||||
min_step_size = 48
|
||||
|
||||
[gui]
|
||||
left_mouse_btn_scrolling = true
|
||||
osk_activation = disabled
|
||||
auto_scrolling = 0
|
||||
reverse_scroll = true
|
||||
windows_titlebars = false
|
||||
windows_decorations = true
|
||||
|
||||
@@ -18,7 +18,7 @@ cd bin
|
||||
export LD_LIBRARY_PATH=/usr/local/lib
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
./openttd -d 2 -r 854x480 #-g opntitle.sav
|
||||
./openttd -d 2 -r 854x480 # -g opntitle.sav
|
||||
else
|
||||
#gdb -ex run --args \
|
||||
valgrind --track-fds=yes --log-file=valgrind.log --leak-check=full \
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
VER=1.6.1-1
|
||||
VER=1.7.0-0
|
||||
|
||||
cd data
|
||||
rm -f ../AndroidData/openttd-data-*.zip.xz ../AndroidData/openttd-data-*.zip
|
||||
|
||||
Submodule project/jni/application/openttd/src updated: 6fe5779964...3364c4288d
@@ -3,11 +3,11 @@ gl4es
|
||||
|
||||
This is a library providing OpenGL 1.x functionality for OpenGL ES accelerated hardware.
|
||||
|
||||
This is a fork a glshim (https://github.com/lunixbochs/glshim). Go check this lib if you need things like RemoteGL or if need support for TinyGLES (for 100% software rendering).
|
||||
This is a fork a glshim (https://github.com/lunixbochs/glshim). Go check this lib if you need things like RemoteGL or TinyGLES (for 100% software rendering).
|
||||
|
||||
The focusse is on compatibility with a wide selection of game and software, as well as speed.
|
||||
The focus is on compatibility with a wide selection of game and software, as well as speed.
|
||||
|
||||
It has been tested successfully of a large selection of games and software, including: Mincraft, OpenMW, SeriousSam, RVGL, TSMC, TORCS, SpeedDreams, GL-117, Blender 2.68 and many more.
|
||||
It has been tested successfully of a large selection of games and software, including: Mincraft, OpenMW, SeriousSam, RVGL, TSMC, TORCS, SpeedDreams, GL-117, Foobillard(plus), Blender 2.68 and many more.
|
||||
|
||||
Most function of OpenGL up to 1.5 are supported, with some notable exceptions:
|
||||
* Reading of Depth or Stencil buffer will not work
|
||||
@@ -235,13 +235,19 @@ Vertex Array BGRA extension
|
||||
* 0 : Default, GL_ARB_vertex_array_bgra not exposed (still emulated)
|
||||
* 1 : Extension exposed may be faster in some cases (Arx Libertatis mainly)
|
||||
|
||||
##### LIBGL_BEGINEND
|
||||
Merge of subsequent glBegin/glEnd blocks (will be non-effective if BATCH mode is used)
|
||||
* 0 : Don't try to merge
|
||||
* 1 : Try to merge, even if there is a glColor / glNormal in between (default)
|
||||
* 2 : Try hard to merge, even if there is a glColor / glNormal or Matrix operations in between
|
||||
|
||||
----
|
||||
|
||||
Version history
|
||||
----
|
||||
|
||||
##### Current version
|
||||
* Added some optimisations for sequencial glBegin/glEnd blocks
|
||||
##### 0.9.5
|
||||
* Added some optimisations for sequencial glBegin/glEnd blocks, with a switch to control them
|
||||
* Fixed many issue with Lights introduced with 0.9.4
|
||||
* Fixed Android build introduced with 0.9.4
|
||||
|
||||
|
||||
@@ -25,5 +25,9 @@
|
||||
#define GL_NOERROR_HINT_GL4ES 0xA10A
|
||||
// same as using LIBGL_NODOWNSAMPLING=x
|
||||
#define GL_NODOWNSAMPLING_HINT_GL4ES 0xA10B
|
||||
// same as using LIBGL_NOVAOCACHE=x
|
||||
#define GL_NOVAOCACHE_HINT_GL4ES 0xA10C
|
||||
// same as using LIBGL_BEGINEND=x
|
||||
#define GL_BEGINEND_HINT_GL4ES 0xA10D
|
||||
|
||||
#endif
|
||||
@@ -525,6 +525,12 @@ void gl4es_glGetFloatv(GLenum pname, GLfloat *params) {
|
||||
case GL_NODOWNSAMPLING_HINT_GL4ES:
|
||||
*params=globals4es.nodownsampling;
|
||||
break;
|
||||
case GL_NOVAOCACHE_HINT_GL4ES:
|
||||
*params=globals4es.novaocache;
|
||||
break;
|
||||
case GL_BEGINEND_HINT_GL4ES:
|
||||
*params=globals4es.beginend;
|
||||
break;
|
||||
default:
|
||||
errorGL();
|
||||
gles_glGetFloatv(pname, params);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "debug.h"
|
||||
#include "../glx/hardext.h"
|
||||
#include "init.h"
|
||||
#include "matrix.h"
|
||||
|
||||
glstate_t *glstate = NULL;
|
||||
|
||||
@@ -1036,6 +1037,10 @@ void gl4es_glBegin(GLenum mode) {
|
||||
glstate->list.active->mode = mode;
|
||||
glstate->list.active->mode_init = mode;
|
||||
noerrorShim(); // TODO, check Enum validity
|
||||
if (!(glstate->list.compiling || glstate->gl_batch) && (globals4es.beginend==2) && !(glstate->polygon_mode==GL_LINE)) { //TODO: check TexGen?
|
||||
// immediate MV matrix handling
|
||||
gl4es_immediateMVBegin();
|
||||
}
|
||||
}
|
||||
void glBegin(GLenum mode) AliasExport("gl4es_glBegin");
|
||||
|
||||
@@ -1047,7 +1052,7 @@ void gl4es_glEnd() {
|
||||
if (glstate->enable.texture[a] && ((glstate->list.active->tex[a]==0) && !(glstate->enable.texgen_s[a] || glstate->texture.pscoordreplace[a])))
|
||||
rlMultiTexCoord4f(glstate->list.active, GL_TEXTURE0+a, glstate->texcoord[a][0], glstate->texcoord[a][1], glstate->texcoord[a][2], glstate->texcoord[a][3]);
|
||||
// render if we're not in a display list
|
||||
if (!(glstate->list.compiling || glstate->gl_batch) && (!(globals4es.mergelist) || (glstate->polygon_mode==GL_LINE))) {
|
||||
if (!(glstate->list.compiling || glstate->gl_batch) && (!(globals4es.beginend) || (glstate->polygon_mode==GL_LINE))) {
|
||||
renderlist_t *mylist = glstate->list.active;
|
||||
glstate->list.active = NULL;
|
||||
mylist = end_renderlist(mylist);
|
||||
@@ -1600,6 +1605,8 @@ void flush() {
|
||||
free_renderlist(mylist);
|
||||
glstate->gl_batch = old;
|
||||
}
|
||||
if(glstate->immediateMV)
|
||||
gl4es_immediateMVEnd();
|
||||
init_statebatch();
|
||||
glstate->list.active = (glstate->gl_batch)?alloc_renderlist():NULL;
|
||||
}
|
||||
|
||||
@@ -78,6 +78,17 @@ void gl4es_glHint(GLenum pname, GLenum mode) {
|
||||
else
|
||||
errorShim(GL_INVALID_ENUM);
|
||||
break;
|
||||
case GL_NOVAOCACHE_HINT_GL4ES:
|
||||
if (mode<=1)
|
||||
globals4es.novaocache = mode;
|
||||
else
|
||||
errorShim(GL_INVALID_ENUM);
|
||||
break;
|
||||
case GL_BEGINEND_HINT_GL4ES:
|
||||
if(mode<=2)
|
||||
globals4es.beginend = mode;
|
||||
else
|
||||
errorShim(GL_INVALID_ENUM);
|
||||
default:
|
||||
errorGL();
|
||||
gles_glHint(pname, mode);
|
||||
|
||||
@@ -45,6 +45,7 @@ void initialize_gl4es() {
|
||||
memset(&globals4es, 0, sizeof(globals4es));
|
||||
globals4es.mergelist = 1;
|
||||
globals4es.queries = 1;
|
||||
globals4es.beginend = 1;
|
||||
// overides by env. variables
|
||||
char *env_nobanner = getenv("LIBGL_NOBANNER");
|
||||
if (env_nobanner && strcmp(env_nobanner, "1") == 0)
|
||||
@@ -266,7 +267,23 @@ void initialize_gl4es() {
|
||||
|
||||
env(LIBGL_NOTEXMAT, globals4es.texmat, "Don't handle Texture Matrice internaly");
|
||||
env(LIBGL_NOVAOCACHE, globals4es.novaocache, "Don't use VAO cache");
|
||||
|
||||
|
||||
char *env_beginend = getenv("LIBGL_BEGINEND");
|
||||
if(env_beginend) {
|
||||
if (strcmp(env_beginend, "0") == 0) {
|
||||
globals4es.beginend = 0;
|
||||
SHUT(LOGD("LIBGL: Don't try to merge subsequent glBegin/glEnd blocks\n"));
|
||||
}
|
||||
if (strcmp(env_beginend, "1") == 0) {
|
||||
globals4es.beginend = 1;
|
||||
SHUT(LOGD("LIBGL: Try to merge subsequent glBegin/glEnd blocks, even if there is a glColor / glNormal in between\n"));
|
||||
}
|
||||
if (strcmp(env_beginend, "2") == 0) {
|
||||
globals4es.beginend = 2;
|
||||
SHUT(LOGD("LIBGL: Try hard to merge subsequent glBegin/glEnd blocks, even if there is a glColor / glNormal or Matrix operations in between\n"));
|
||||
}
|
||||
}
|
||||
|
||||
char cwd[1024];
|
||||
if (getcwd(cwd, sizeof(cwd))!= NULL)
|
||||
SHUT(LOGD("LIBGL: Current folder is:%s\n", cwd));
|
||||
|
||||
@@ -40,6 +40,7 @@ typedef struct _globals4es {
|
||||
#endif
|
||||
int texmat;
|
||||
int novaocache;
|
||||
int beginend;
|
||||
char version[50];
|
||||
} globals4es_t;
|
||||
|
||||
|
||||
@@ -1281,6 +1281,9 @@ void FASTMATH rlVertex4f(renderlist_t *list, GLfloat x, GLfloat y, GLfloat z, GL
|
||||
|
||||
GLfloat * const vert = list->vert + (list->len++ * 4);
|
||||
vert[0] = x; vert[1] = y; vert[2] = z; vert[3] = w;
|
||||
if(glstate->immediateMV) { // need to trasform the vector if immediateMV is active
|
||||
vector_matrix(vert, getMVMat(), vert);
|
||||
}
|
||||
}
|
||||
|
||||
void rlNormal3f(renderlist_t *list, GLfloat x, GLfloat y, GLfloat z) {
|
||||
@@ -1296,6 +1299,9 @@ void rlNormal3f(renderlist_t *list, GLfloat x, GLfloat y, GLfloat z) {
|
||||
|
||||
GLfloat *normal = list->lastNormal;
|
||||
normal[0] = x; normal[1] = y; normal[2] = z;
|
||||
if(glstate->immediateMV) { // need to trasform the vector if immediateMV is active
|
||||
vector3_matrix(normal, getMVMat(), normal);
|
||||
}
|
||||
}
|
||||
|
||||
void rlColor4f(renderlist_t *list, GLfloat r, GLfloat g, GLfloat b, GLfloat a) {
|
||||
|
||||
@@ -48,7 +48,10 @@ static int send_to_hardware() {
|
||||
case GL_PROJECTION:
|
||||
return 1;
|
||||
case GL_MODELVIEW:
|
||||
return 1;
|
||||
if (glstate->immediateMV)
|
||||
return 0;
|
||||
else
|
||||
return 1;
|
||||
case GL_TEXTURE:
|
||||
return (globals4es.texmat)?1:0;
|
||||
}
|
||||
@@ -88,7 +91,9 @@ DBG(printf("glMatrixMode(%s), list=%p\n", PrintEnum(mode), glstate->list.active)
|
||||
|
||||
void gl4es_glPushMatrix() {
|
||||
DBG(printf("glPushMatrix(), list=%p\n", glstate->list.active);)
|
||||
PUSH_IF_COMPILING(glPushMatrix);
|
||||
/*if (glstate->list.active && !(glstate->immediateMV && glstate->matrix_mode==GL_MODELVIEW))*/ {
|
||||
PUSH_IF_COMPILING(glPushMatrix);
|
||||
}
|
||||
// get matrix mode
|
||||
GLint matrix_mode = glstate->matrix_mode;
|
||||
noerrorShim();
|
||||
@@ -118,8 +123,9 @@ DBG(printf("glPushMatrix(), list=%p\n", glstate->list.active);)
|
||||
|
||||
void gl4es_glPopMatrix() {
|
||||
DBG(printf("glPopMatrix(), list=%p\n", glstate->list.active);)
|
||||
PUSH_IF_COMPILING(glPopMatrix);
|
||||
LOAD_GLES(glLoadMatrixf);
|
||||
/*if (glstate->list.active && !(glstate->immediateMV && glstate->matrix_mode==GL_MODELVIEW))*/ {
|
||||
PUSH_IF_COMPILING(glPopMatrix);
|
||||
}
|
||||
// get matrix mode
|
||||
GLint matrix_mode = glstate->matrix_mode;
|
||||
// go...
|
||||
@@ -128,7 +134,7 @@ DBG(printf("glPopMatrix(), list=%p\n", glstate->list.active);)
|
||||
#define P(A) if(glstate->A->top) { \
|
||||
--glstate->A->top; \
|
||||
glstate->A->identity = is_identity(update_current_mat()); \
|
||||
if (send_to_hardware()) gles_glLoadMatrixf(update_current_mat()); \
|
||||
if (send_to_hardware()) {LOAD_GLES(glLoadMatrixf); gles_glLoadMatrixf(update_current_mat()); } \
|
||||
} else errorShim(GL_STACK_UNDERFLOW)
|
||||
case GL_PROJECTION:
|
||||
P(projection_matrix);
|
||||
@@ -151,10 +157,8 @@ DBG(printf("glPopMatrix(), list=%p\n", glstate->list.active);)
|
||||
|
||||
void gl4es_glLoadMatrixf(const GLfloat * m) {
|
||||
DBG(printf("glLoadMatrix(%f, %f, %f, %f, %f, %f, %f...), list=%p\n", m[0], m[1], m[2], m[3], m[4], m[5], m[6], glstate->list.active);)
|
||||
LOAD_GLES(glLoadMatrixf);
|
||||
LOAD_GLES(glLoadIdentity);
|
||||
|
||||
if (glstate->list.active) {
|
||||
if (glstate->list.active && !(glstate->immediateMV && glstate->matrix_mode==GL_MODELVIEW)) {
|
||||
if(glstate->list.pending) flush();
|
||||
else {
|
||||
NewStage(glstate->list.active, STAGE_MATRIX);
|
||||
@@ -165,16 +169,17 @@ DBG(printf("glLoadMatrix(%f, %f, %f, %f, %f, %f, %f...), list=%p\n", m[0], m[1],
|
||||
}
|
||||
memcpy(update_current_mat(), m, 16*sizeof(GLfloat));
|
||||
const int id = update_current_identity(0);
|
||||
if(send_to_hardware())
|
||||
if(send_to_hardware()) {
|
||||
LOAD_GLES(glLoadMatrixf);
|
||||
LOAD_GLES(glLoadIdentity);
|
||||
if(id) gles_glLoadIdentity(); // in case the driver as some special optimisations
|
||||
else gles_glLoadMatrixf(m);
|
||||
}
|
||||
}
|
||||
|
||||
void gl4es_glMultMatrixf(const GLfloat * m) {
|
||||
DBG(printf("glMultMatrix(%f, %f, %f, %f, %f, %f, %f...), list=%p\n", m[0], m[1], m[2], m[3], m[4], m[5], m[6], glstate->list.active);)
|
||||
LOAD_GLES(glLoadMatrixf);
|
||||
LOAD_GLES(glLoadIdentity);
|
||||
if (glstate->list.active) {
|
||||
if (glstate->list.active && !(glstate->immediateMV && glstate->matrix_mode==GL_MODELVIEW)) {
|
||||
if(glstate->list.pending) flush();
|
||||
else {
|
||||
if(glstate->list.active->stage == STAGE_MATRIX) {
|
||||
@@ -191,15 +196,17 @@ DBG(printf("glMultMatrix(%f, %f, %f, %f, %f, %f, %f...), list=%p\n", m[0], m[1],
|
||||
GLfloat *current_mat = update_current_mat();
|
||||
matrix_mul(current_mat, m, current_mat);
|
||||
const int id = update_current_identity(0);
|
||||
if(send_to_hardware())
|
||||
if(send_to_hardware()) {
|
||||
LOAD_GLES(glLoadMatrixf);
|
||||
LOAD_GLES(glLoadIdentity);
|
||||
if(id) gles_glLoadIdentity(); // in case the driver as some special optimisations
|
||||
else gles_glLoadMatrixf(current_mat);
|
||||
}
|
||||
}
|
||||
|
||||
void gl4es_glLoadIdentity() {
|
||||
DBG(printf("glLoadIdentity(), list=%p\n", glstate->list.active);)
|
||||
LOAD_GLES(glLoadIdentity);
|
||||
if (glstate->list.active) {
|
||||
if (glstate->list.active && !(glstate->immediateMV && glstate->matrix_mode==GL_MODELVIEW)) {
|
||||
if(glstate->list.pending) flush();
|
||||
else {
|
||||
NewStage(glstate->list.active, STAGE_MATRIX);
|
||||
@@ -210,7 +217,10 @@ DBG(printf("glLoadIdentity(), list=%p\n", glstate->list.active);)
|
||||
}
|
||||
set_identity(update_current_mat());
|
||||
update_current_identity(1);
|
||||
if(send_to_hardware()) gles_glLoadIdentity();
|
||||
if(send_to_hardware()) {
|
||||
LOAD_GLES(glLoadIdentity);
|
||||
gles_glLoadIdentity();
|
||||
}
|
||||
}
|
||||
|
||||
void gl4es_glTranslatef(GLfloat x, GLfloat y, GLfloat z) {
|
||||
@@ -287,6 +297,42 @@ DBG(printf("glFrustumf(%f, %f, %f, %f, %f, %f) list=%p\n", left, right, top, bot
|
||||
gl4es_glMultMatrixf(tmp);
|
||||
}
|
||||
|
||||
void gl4es_immediateMVBegin() {
|
||||
if(glstate->immediateMV)
|
||||
return; // nothing to do...
|
||||
|
||||
glstate->immediateMV = 1;
|
||||
|
||||
// set MV matrix to identity
|
||||
if(!glstate->modelview_matrix->identity) {
|
||||
LOAD_GLES(glLoadIdentity);
|
||||
LOAD_GLES(glMatrixMode);
|
||||
if(glstate->matrix_mode!=GL_MODELVIEW)
|
||||
gles_glMatrixMode(GL_MODELVIEW);
|
||||
gles_glLoadIdentity();
|
||||
if(glstate->matrix_mode!=GL_MODELVIEW)
|
||||
gles_glMatrixMode(glstate->matrix_mode);
|
||||
}
|
||||
|
||||
}
|
||||
void gl4es_immediateMVEnd() {
|
||||
if(glstate->immediateMV==0)
|
||||
return; // nothing to do
|
||||
|
||||
glstate->immediateMV=0;
|
||||
|
||||
// send MV matrix back
|
||||
if(!glstate->modelview_matrix->identity) {
|
||||
LOAD_GLES(glLoadMatrixf);
|
||||
LOAD_GLES(glMatrixMode);
|
||||
if(glstate->matrix_mode!=GL_MODELVIEW)
|
||||
gles_glMatrixMode(GL_MODELVIEW);
|
||||
gles_glLoadMatrixf(getMVMat());
|
||||
if(glstate->matrix_mode!=GL_MODELVIEW)
|
||||
gles_glMatrixMode(glstate->matrix_mode);
|
||||
}
|
||||
}
|
||||
|
||||
void glMatrixMode(GLenum mode) AliasExport("gl4es_glMatrixMode");
|
||||
void glPushMatrix() AliasExport("gl4es_glPushMatrix");
|
||||
void glPopMatrix() AliasExport("gl4es_glPopMatrix");
|
||||
|
||||
@@ -18,4 +18,7 @@ static inline GLfloat* getTexMat(int tmu) {
|
||||
|
||||
static inline GLfloat* getMVMat() {
|
||||
return glstate->modelview_matrix->stack+glstate->modelview_matrix->top*16;
|
||||
}
|
||||
}
|
||||
|
||||
void gl4es_immediateMVBegin();
|
||||
void gl4es_immediateMVEnd();
|
||||
@@ -194,6 +194,7 @@ typedef struct {
|
||||
int shared_cnt;
|
||||
light_state_t light;
|
||||
material_state_t material;
|
||||
int immediateMV;
|
||||
} glstate_t;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
|
||||
#define MAJOR 0
|
||||
#define MINOR 9
|
||||
#define REVISION 4
|
||||
#define REVISION 5
|
||||
|
||||
#endif //_GL4ES_VERSION_H
|
||||
|
||||
@@ -7,7 +7,7 @@ LOCAL_MODULE_FILENAME := lib$(notdir $(LOCAL_PATH)).so.sdl.1 # It clashes with s
|
||||
|
||||
|
||||
ifneq (openssl,$(LOCAL_MODULE))
|
||||
ifneq ($(filter arm mips x86 arm64, $(TARGET_ARCH)),)
|
||||
ifneq ($(filter arm mips x86 arm64 x86_64, $(TARGET_ARCH)),)
|
||||
|
||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
|
||||
LOCAL_SRC_FILES := lib-$(TARGET_ARCH_ABI)/lib$(LOCAL_MODULE).so.sdl.1.so
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
ARCH_LIST="arm64-v8a x86 mips armeabi-v7a armeabi"
|
||||
ARCH_LIST="arm64-v8a x86_64 x86 mips armeabi-v7a armeabi"
|
||||
|
||||
mkdir -p build
|
||||
|
||||
@@ -21,7 +21,7 @@ build() {
|
||||
mkdir -p build/$ARCH
|
||||
cd build/$ARCH
|
||||
|
||||
tar -x -v -z -f ../../openssl-1.0.2h.tar.gz --strip=1
|
||||
tar -x -v -z -f ../../openssl-1.0.2k.tar.gz --strip=1
|
||||
#sed -i.old 's/-Wl,-soname=[$][$]SHLIB[$][$]SHLIB_SOVER[$][$]SHLIB_SUFFIX//g' Makefile.shared
|
||||
../../setCrossEnvironment-$ARCH.sh ./Configure shared zlib --prefix=`pwd`/dist $CONFIGURE_ARCH -fPIC || exit 1
|
||||
# OpenSSL build system disables parallel compilation, -j4 won't do anything
|
||||
|
||||
@@ -559,11 +559,11 @@ int BIO_read_filename(BIO *b, const char *name);
|
||||
# define BIO_get_ssl(b,sslp) BIO_ctrl(b,BIO_C_GET_SSL,0,(char *)sslp)
|
||||
# define BIO_set_ssl_mode(b,client) BIO_ctrl(b,BIO_C_SSL_MODE,client,NULL)
|
||||
# define BIO_set_ssl_renegotiate_bytes(b,num) \
|
||||
BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_BYTES,num,NULL);
|
||||
BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_BYTES,num,NULL)
|
||||
# define BIO_get_num_renegotiates(b) \
|
||||
BIO_ctrl(b,BIO_C_GET_SSL_NUM_RENEGOTIATES,0,NULL);
|
||||
BIO_ctrl(b,BIO_C_GET_SSL_NUM_RENEGOTIATES,0,NULL)
|
||||
# define BIO_set_ssl_renegotiate_timeout(b,seconds) \
|
||||
BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT,seconds,NULL);
|
||||
BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT,seconds,NULL)
|
||||
|
||||
/* defined in evp.h */
|
||||
/* #define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,1,(char *)md) */
|
||||
|
||||
@@ -842,6 +842,8 @@ int RAND_pseudo_bytes(unsigned char *buf, int num);
|
||||
if (*(ftl--)) break; \
|
||||
(a)->top = tmp_top; \
|
||||
} \
|
||||
if ((a)->top == 0) \
|
||||
(a)->neg = 0; \
|
||||
bn_pollute(a); \
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ extern "C" {
|
||||
|
||||
typedef struct comp_ctx_st COMP_CTX;
|
||||
|
||||
typedef struct comp_method_st {
|
||||
struct comp_method_st {
|
||||
int type; /* NID for compression library */
|
||||
const char *name; /* A text string to identify the library */
|
||||
int (*init) (COMP_CTX *ctx);
|
||||
@@ -30,7 +30,7 @@ typedef struct comp_method_st {
|
||||
*/
|
||||
long (*ctrl) (void);
|
||||
long (*callback_ctrl) (void);
|
||||
} COMP_METHOD;
|
||||
};
|
||||
|
||||
struct comp_ctx_st {
|
||||
COMP_METHOD *meth;
|
||||
|
||||
@@ -1370,6 +1370,7 @@ void EVP_add_alg_module(void);
|
||||
* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||
* made after this point may be overwritten when the script is next run.
|
||||
*/
|
||||
|
||||
void ERR_load_EVP_strings(void);
|
||||
|
||||
/* Error codes for the EVP functions. */
|
||||
@@ -1489,6 +1490,7 @@ void ERR_load_EVP_strings(void);
|
||||
# define EVP_R_INPUT_NOT_INITIALIZED 111
|
||||
# define EVP_R_INVALID_DIGEST 152
|
||||
# define EVP_R_INVALID_FIPS_MODE 168
|
||||
# define EVP_R_INVALID_KEY 171
|
||||
# define EVP_R_INVALID_KEY_LENGTH 130
|
||||
# define EVP_R_INVALID_OPERATION 148
|
||||
# define EVP_R_IV_TOO_LARGE 102
|
||||
@@ -1528,7 +1530,7 @@ void ERR_load_EVP_strings(void);
|
||||
# define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109
|
||||
# define EVP_R_WRONG_PUBLIC_KEY_TYPE 110
|
||||
|
||||
#ifdef __cplusplus
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@@ -30,11 +30,11 @@ extern "C" {
|
||||
* (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
|
||||
* major minor fix final patch/beta)
|
||||
*/
|
||||
# define OPENSSL_VERSION_NUMBER 0x1000208fL
|
||||
# define OPENSSL_VERSION_NUMBER 0x100020bfL
|
||||
# ifdef OPENSSL_FIPS
|
||||
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2h-fips 3 May 2016"
|
||||
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2k-fips 26 Jan 2017"
|
||||
# else
|
||||
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2h 3 May 2016"
|
||||
# define OPENSSL_VERSION_TEXT "OpenSSL 1.0.2k 26 Jan 2017"
|
||||
# endif
|
||||
# define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT
|
||||
|
||||
|
||||
@@ -178,6 +178,8 @@ typedef struct engine_st ENGINE;
|
||||
typedef struct ssl_st SSL;
|
||||
typedef struct ssl_ctx_st SSL_CTX;
|
||||
|
||||
typedef struct comp_method_st COMP_METHOD;
|
||||
|
||||
typedef struct X509_POLICY_NODE_st X509_POLICY_NODE;
|
||||
typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL;
|
||||
typedef struct X509_POLICY_TREE_st X509_POLICY_TREE;
|
||||
|
||||
@@ -531,6 +531,7 @@ int i2b_PVK_bio(BIO *out, EVP_PKEY *pk, int enclevel,
|
||||
* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||
* made after this point may be overwritten when the script is next run.
|
||||
*/
|
||||
|
||||
void ERR_load_PEM_strings(void);
|
||||
|
||||
/* Error codes for the PEM functions. */
|
||||
@@ -592,6 +593,7 @@ void ERR_load_PEM_strings(void);
|
||||
# define PEM_R_ERROR_CONVERTING_PRIVATE_KEY 115
|
||||
# define PEM_R_EXPECTING_PRIVATE_KEY_BLOB 119
|
||||
# define PEM_R_EXPECTING_PUBLIC_KEY_BLOB 120
|
||||
# define PEM_R_HEADER_TOO_LONG 128
|
||||
# define PEM_R_INCONSISTENT_HEADER 121
|
||||
# define PEM_R_KEYBLOB_HEADER_PARSE_ERROR 122
|
||||
# define PEM_R_KEYBLOB_TOO_SHORT 123
|
||||
@@ -609,7 +611,7 @@ void ERR_load_PEM_strings(void);
|
||||
# define PEM_R_UNSUPPORTED_ENCRYPTION 114
|
||||
# define PEM_R_UNSUPPORTED_KEY_COMPONENTS 126
|
||||
|
||||
#ifdef __cplusplus
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@@ -270,7 +270,7 @@ int i2d_PKCS12_bio(BIO *bp, PKCS12 *p12);
|
||||
int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12);
|
||||
PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12);
|
||||
PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12);
|
||||
int PKCS12_newpass(PKCS12 *p12, char *oldpass, char *newpass);
|
||||
int PKCS12_newpass(PKCS12 *p12, const char *oldpass, const char *newpass);
|
||||
|
||||
/* BEGIN ERROR CODES */
|
||||
/*
|
||||
|
||||
@@ -2532,7 +2532,6 @@ void SSL_set_tmp_ecdh_callback(SSL *ssl,
|
||||
int keylength));
|
||||
# endif
|
||||
|
||||
# ifndef OPENSSL_NO_COMP
|
||||
const COMP_METHOD *SSL_get_current_compression(SSL *s);
|
||||
const COMP_METHOD *SSL_get_current_expansion(SSL *s);
|
||||
const char *SSL_COMP_get_name(const COMP_METHOD *comp);
|
||||
@@ -2541,13 +2540,6 @@ STACK_OF(SSL_COMP) *SSL_COMP_set0_compression_methods(STACK_OF(SSL_COMP)
|
||||
*meths);
|
||||
void SSL_COMP_free_compression_methods(void);
|
||||
int SSL_COMP_add_compression_method(int id, COMP_METHOD *cm);
|
||||
# else
|
||||
const void *SSL_get_current_compression(SSL *s);
|
||||
const void *SSL_get_current_expansion(SSL *s);
|
||||
const char *SSL_COMP_get_name(const void *comp);
|
||||
void *SSL_COMP_get_compression_methods(void);
|
||||
int SSL_COMP_add_compression_method(int id, void *cm);
|
||||
# endif
|
||||
|
||||
const SSL_CIPHER *SSL_CIPHER_find(SSL *ssl, const unsigned char *ptr);
|
||||
|
||||
@@ -2623,6 +2615,7 @@ void ERR_load_SSL_strings(void);
|
||||
# define SSL_F_DTLS1_HEARTBEAT 305
|
||||
# define SSL_F_DTLS1_OUTPUT_CERT_CHAIN 255
|
||||
# define SSL_F_DTLS1_PREPROCESS_FRAGMENT 288
|
||||
# define SSL_F_DTLS1_PROCESS_BUFFERED_RECORDS 424
|
||||
# define SSL_F_DTLS1_PROCESS_OUT_OF_SEQ_MESSAGE 256
|
||||
# define SSL_F_DTLS1_PROCESS_RECORD 257
|
||||
# define SSL_F_DTLS1_READ_BYTES 258
|
||||
@@ -3114,6 +3107,7 @@ void ERR_load_SSL_strings(void);
|
||||
# define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST 157
|
||||
# define SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST 233
|
||||
# define SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG 234
|
||||
# define SSL_R_TOO_MANY_WARN_ALERTS 409
|
||||
# define SSL_R_TRIED_TO_USE_UNSUPPORTED_CIPHER 235
|
||||
# define SSL_R_UNABLE_TO_DECODE_DH_CERTS 236
|
||||
# define SSL_R_UNABLE_TO_DECODE_ECDH_CERTS 313
|
||||
|
||||
@@ -565,6 +565,9 @@ int TS_RESP_CTX_set_clock_precision_digits(TS_RESP_CTX *ctx,
|
||||
/* At most we accept usec precision. */
|
||||
# define TS_MAX_CLOCK_PRECISION_DIGITS 6
|
||||
|
||||
/* Maximum status message length */
|
||||
# define TS_MAX_STATUS_LENGTH (1024 * 1024)
|
||||
|
||||
/* No flags are set by default. */
|
||||
void TS_RESP_CTX_add_flags(TS_RESP_CTX *ctx, int flags);
|
||||
|
||||
|
||||
@@ -1234,6 +1234,7 @@ int X509_TRUST_get_trust(X509_TRUST *xp);
|
||||
* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||
* made after this point may be overwritten when the script is next run.
|
||||
*/
|
||||
|
||||
void ERR_load_X509_strings(void);
|
||||
|
||||
/* Error codes for the X509 functions. */
|
||||
@@ -1241,6 +1242,7 @@ void ERR_load_X509_strings(void);
|
||||
/* Function codes. */
|
||||
# define X509_F_ADD_CERT_DIR 100
|
||||
# define X509_F_BY_FILE_CTRL 101
|
||||
# define X509_F_CHECK_NAME_CONSTRAINTS 106
|
||||
# define X509_F_CHECK_POLICY 145
|
||||
# define X509_F_DIR_CTRL 102
|
||||
# define X509_F_GET_CERT_BY_SUBJECT 103
|
||||
@@ -1322,7 +1324,7 @@ void ERR_load_X509_strings(void);
|
||||
# define X509_R_WRONG_LOOKUP_TYPE 112
|
||||
# define X509_R_WRONG_TYPE 122
|
||||
|
||||
#ifdef __cplusplus
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@@ -368,6 +368,7 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth);
|
||||
# define X509_V_ERR_PERMITTED_VIOLATION 47
|
||||
# define X509_V_ERR_EXCLUDED_VIOLATION 48
|
||||
# define X509_V_ERR_SUBTREE_MINMAX 49
|
||||
# define X509_V_ERR_APPLICATION_VERIFICATION 50
|
||||
# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51
|
||||
# define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52
|
||||
# define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53
|
||||
@@ -386,8 +387,12 @@ void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth);
|
||||
# define X509_V_ERR_EMAIL_MISMATCH 63
|
||||
# define X509_V_ERR_IP_ADDRESS_MISMATCH 64
|
||||
|
||||
/* The application is not happy */
|
||||
# define X509_V_ERR_APPLICATION_VERIFICATION 50
|
||||
/* Caller error */
|
||||
# define X509_V_ERR_INVALID_CALL 65
|
||||
/* Issuer lookup error */
|
||||
# define X509_V_ERR_STORE_LOOKUP 66
|
||||
|
||||
# define X509_V_ERR_PROXY_SUBJECT_NAME_VIOLATION 67
|
||||
|
||||
/* Certificate verify flags */
|
||||
|
||||
|
||||
Binary file not shown.
11
project/jni/openssl/openssl-1.0.2k-android-x86_64.diff
Normal file
11
project/jni/openssl/openssl-1.0.2k-android-x86_64.diff
Normal file
@@ -0,0 +1,11 @@
|
||||
diff -Nru orig/openssl-1.0.2k/Configure openssl-1.0.2k/Configure
|
||||
--- orig/openssl-1.0.2k/Configure 2017-01-26 15:22:03.000000000 +0200
|
||||
+++ openssl-1.0.2k/Configure 2017-03-19 22:11:58.906136059 +0200
|
||||
@@ -475,6 +475,7 @@
|
||||
"android-x86","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:".eval{my $asm=${x86_elf_asm};$asm=~s/:elf/:android/;$asm}.":dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"android-armv7","gcc:-march=armv7-a -mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
"android-mips","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${mips32_asm}:o32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
+"android-x86_64","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
|
||||
#### *BSD [do see comment about ${BSDthreads} above!]
|
||||
"BSD-generic32","gcc:-O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||
BIN
project/jni/openssl/openssl-1.0.2k.tar.gz
Normal file
BIN
project/jni/openssl/openssl-1.0.2k.tar.gz
Normal file
Binary file not shown.
80
project/jni/openssl/setCrossEnvironment-x86_64.sh
Executable file
80
project/jni/openssl/setCrossEnvironment-x86_64.sh
Executable file
@@ -0,0 +1,80 @@
|
||||
#!/bin/sh
|
||||
|
||||
IFS='
|
||||
'
|
||||
|
||||
MYARCH=linux-x86_64
|
||||
if uname -s | grep -i "linux" > /dev/null ; then
|
||||
MYARCH=linux-x86_64
|
||||
fi
|
||||
if uname -s | grep -i "darwin" > /dev/null ; then
|
||||
MYARCH=darwin-x86_64
|
||||
fi
|
||||
if uname -s | grep -i "windows" > /dev/null ; then
|
||||
MYARCH=windows-x86_64
|
||||
fi
|
||||
|
||||
NDK=`which ndk-build`
|
||||
NDK=`dirname $NDK`
|
||||
NDK=`readlink -f $NDK`
|
||||
|
||||
[ -z "$NDK" ] && { echo "You need Andorid NDK r8 or newer installed to run this script" ; exit 1 ; }
|
||||
GCCPREFIX=x86_64-linux-android
|
||||
GCCVER=${GCCVER:-4.9}
|
||||
PLATFORMVER=${PLATFORMVER:-android-21}
|
||||
LOCAL_PATH=`dirname $0`
|
||||
if which realpath > /dev/null ; then
|
||||
LOCAL_PATH=`realpath $LOCAL_PATH`
|
||||
else
|
||||
LOCAL_PATH=`cd $LOCAL_PATH && pwd`
|
||||
fi
|
||||
ARCH=x86_64
|
||||
|
||||
CFLAGS="\
|
||||
-fpic -ffunction-sections -funwind-tables -no-canonical-prefixes \
|
||||
-fstack-protector -O2 -g -DNDEBUG \
|
||||
-fomit-frame-pointer -fstrict-aliasing -funswitch-loops \
|
||||
-finline-limit=300 \
|
||||
-DANDROID -Wall -Wno-unused -Wa,--noexecstack -Wformat -Werror=format-security \
|
||||
-isystem$NDK/platforms/$PLATFORMVER/arch-x86_64/usr/include \
|
||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/include \
|
||||
-isystem$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/libs/$ARCH/include \
|
||||
$CFLAGS"
|
||||
|
||||
UNRESOLVED="-Wl,--no-undefined"
|
||||
SHARED="-Wl,--gc-sections -Wl,-z,nocopyreloc"
|
||||
if [ -n "$BUILD_LIBRARY" ]; then
|
||||
[ -z "$SHARED_LIBRARY_NAME" ] && SHARED_LIBRARY_NAME=libapplication.so
|
||||
SHARED="-shared -Wl,-soname,$SHARED_LIBRARY_NAME"
|
||||
fi
|
||||
if [ -n "$ALLOW_UNRESOLVED_SYMBOLS" ]; then
|
||||
UNRESOLVED=
|
||||
fi
|
||||
|
||||
LDFLAGS="\
|
||||
$SHARED \
|
||||
--sysroot=$NDK/platforms/$PLATFORMVER/arch-x86_64 \
|
||||
-L$NDK/platforms/$PLATFORMVER/arch-x86_64/usr/lib64 \
|
||||
-lc -lm -ldl -lz \
|
||||
-L$NDK/sources/cxx-stl/gnu-libstdc++/$GCCVER/libs/$ARCH \
|
||||
-lgnustl_static \
|
||||
-no-canonical-prefixes $UNRESOLVED -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now \
|
||||
-lsupc++ \
|
||||
$LDFLAGS"
|
||||
|
||||
env PATH=$NDK/toolchains/$ARCH-$GCCVER/prebuilt/$MYARCH/bin:$LOCAL_PATH:$PATH \
|
||||
ANDROID_DEV=$NDK/platforms/$PLATFORMVER/arch-x86_64/usr \
|
||||
CFLAGS="$CFLAGS" \
|
||||
CXXFLAGS="$CXXFLAGS $CFLAGS" \
|
||||
LDFLAGS="$LDFLAGS" \
|
||||
CC="$NDK/toolchains/$ARCH-$GCCVER/prebuilt/$MYARCH/bin/$GCCPREFIX-gcc" \
|
||||
CXX="$NDK/toolchains/$ARCH-$GCCVER/prebuilt/$MYARCH/bin/$GCCPREFIX-g++" \
|
||||
RANLIB="$NDK/toolchains/$ARCH-$GCCVER/prebuilt/$MYARCH/bin/$GCCPREFIX-ranlib" \
|
||||
LD="$NDK/toolchains/$ARCH-$GCCVER/prebuilt/$MYARCH/bin/$GCCPREFIX-ld" \
|
||||
AR="$NDK/toolchains/$ARCH-$GCCVER/prebuilt/$MYARCH/bin/$GCCPREFIX-ar" \
|
||||
CPP="$NDK/toolchains/$ARCH-$GCCVER/prebuilt/$MYARCH/bin/$GCCPREFIX-cpp $CFLAGS" \
|
||||
CXXCPP="$NDK/toolchains/$ARCH-$GCCVER/prebuilt/$MYARCH/bin/$GCCPREFIX-cpp -x c++ $CFLAGS" \
|
||||
NM="$NDK/toolchains/$ARCH-$GCCVER/prebuilt/$MYARCH/bin/$GCCPREFIX-nm" \
|
||||
AS="$NDK/toolchains/$ARCH-$GCCVER/prebuilt/$MYARCH/bin/$GCCPREFIX-as" \
|
||||
STRIP="$NDK/toolchains/$ARCH-$GCCVER/prebuilt/$MYARCH/bin/$GCCPREFIX-strip" \
|
||||
"$@"
|
||||
@@ -130,7 +130,7 @@ int ANDROID_ToggleFullScreen(_THIS, int fullscreen)
|
||||
return 1;
|
||||
}
|
||||
|
||||
enum { SDL_NUMMODES = 60 };
|
||||
enum { SDL_NUMMODES = 61 };
|
||||
static SDL_Rect *SDL_modelist[SDL_NUMMODES+1];
|
||||
|
||||
//#define SDL_modelist (this->hidden->SDL_modelist)
|
||||
@@ -351,7 +351,8 @@ int ANDROID_VideoInit(_THIS, SDL_PixelFormat *vformat)
|
||||
SDL_modelist[57]->w = 960; SDL_modelist[57]->h = 540; // Virtual wide-screen mode
|
||||
SDL_modelist[58]->w = 720; SDL_modelist[58]->h = 400; // Virtual wide-screen mode
|
||||
SDL_modelist[59]->w = 480; SDL_modelist[59]->h = 272; // PSP
|
||||
SDL_modelist[60] = NULL;
|
||||
SDL_modelist[60]->w = 996; SDL_modelist[60]->h = 560; // For OpenTTD
|
||||
SDL_modelist[61] = NULL;
|
||||
// If you going to add another video mode, increase SDL_NUMMODES constant
|
||||
|
||||
SDL_VideoInit_1_3(NULL, 0);
|
||||
|
||||
Submodule project/jni/shmem updated: f6b49516cf...5375e8eeea
14
reinstall-apk.sh
Executable file
14
reinstall-apk.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ -z "$1" ] && { echo "Specify .apk file"; exit 1; }
|
||||
|
||||
LOG=/tmp/reinstall-apk-$$.log
|
||||
|
||||
adb install -r $1 | tee $LOG
|
||||
|
||||
grep '^Failure' $LOG && {
|
||||
adb uninstall `aapt dump badging $1 | grep 'package:' | sed "s/.*name='\([^']*\)'.*/\1/"`
|
||||
adb install -r $1
|
||||
}
|
||||
|
||||
rm -f $LOG
|
||||
Reference in New Issue
Block a user