Fix Javascript build.

This commit is contained in:
V.VamsiKrishna 2015-03-19 10:31:36 +05:30
parent 9dd0d8277d
commit 1d45cd0ff1
3 changed files with 78 additions and 64 deletions

3
.gitignore vendored
View file

@ -23,6 +23,9 @@ tools/editor/editor_icons.cpp
make.bat make.bat
log.txt log.txt
# Javascript specific
*.bc
# Android specific # Android specific
platform/android/java/local.properties platform/android/java/local.properties
platform/android/java/project.properties platform/android/java/project.properties

View file

@ -24,6 +24,9 @@
namespace rg_etc1 namespace rg_etc1
{ {
inline long labs(long val) {
return val < 0 ? -val : val;
}
inline int intabs(int val) { inline int intabs(int val) {
@ -1915,7 +1918,11 @@ done:
int v = etc1_decode_value(diff, inten, selector, packed_c); int v = etc1_decode_value(diff, inten, selector, packed_c);
uint err = intabs(v - color); uint err = intabs(v - color);
//printf("err: %d - %u = %u\n",v,color,err); //printf("err: %d - %u = %u\n",v,color,err);
#ifdef JAVASCRIPT_ENABLED
if (err < best_error || best_error == cUINT32_MAX)
#else
if (err < best_error) if (err < best_error)
#endif
{ {
best_error = err; best_error = err;
best_packed_c = packed_c; best_packed_c = packed_c;

View file

@ -3,91 +3,95 @@ import sys
import string import string
def is_active(): def is_active():
return True return True
def get_name(): def get_name():
return "JavaScript" return "JavaScript"
def can_build(): def can_build():
import os import os
if (not os.environ.has_key("EMSCRIPTEN_ROOT")): if (not os.environ.has_key("EMSCRIPTEN_ROOT")):
return False return False
return True return True
def get_opts(): def get_opts():
return [ return [
['compress','Compress JS Executable','no'] ['compress','Compress JS Executable','no']
] ]
def get_flags(): def get_flags():
return [ return [
('lua', 'no'), ('lua', 'no'),
('tools', 'no'), ('tools', 'no'),
('nedmalloc', 'no'), ('nedmalloc', 'no'),
('theora', 'no'), ('theora', 'no'),
('tools', 'no'), ('tools', 'no'),
('nedmalloc', 'no'), ('nedmalloc', 'no'),
('vorbis', 'no'), ('vorbis', 'no'),
('musepack', 'no'), ('musepack', 'no'),
('squirrel', 'no'), ('squirrel', 'no'),
('squish', 'no'), ('squish', 'no'),
('speex', 'no'), ('speex', 'no'),
('old_scenes', 'no'), ('old_scenes', 'no'),
# ('default_gui_theme', 'no'), # ('default_gui_theme', 'no'),
#('builtin_zlib', 'no'), #('builtin_zlib', 'no'),
] ]
def configure(env): def configure(env):
env.Append(CPPPATH=['#platform/javascript'])
em_path=os.environ["EMSCRIPTEN_ROOT"]
env.Append(CPPPATH=['#platform/javascript']) env['ENV']['PATH'] = em_path+":"+env['ENV']['PATH']
em_path=os.environ["EMSCRIPTEN_ROOT"]
env['ENV']['PATH'] = em_path+":"+env['ENV']['PATH']
env['CC'] = em_path+'/emcc' env['CC'] = em_path+'/emcc'
env['CXX'] = em_path+'/emcc' env['CXX'] = em_path+'/emcc'
env['AR'] = em_path+"/emar" #env['AR'] = em_path+"/emar"
env['RANLIB'] = em_path+"/emranlib" env['AR'] = em_path+"/emcc"
env['ARFLAGS'] = "-o"
# env.Append(LIBS=['c','m','stdc++','log','GLESv1_CM','GLESv2']) # env['RANLIB'] = em_path+"/emranlib"
env['RANLIB'] = em_path + "/emcc"
env['OBJSUFFIX'] = '.bc'
env['LIBSUFFIX'] = '.bc'
env['CCCOM'] = "$CC -o $TARGET $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES"
env['CXXCOM'] = "$CC -o $TARGET $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES"
# env["LINKFLAGS"]= string.split(" -g --sysroot="+ld_sysroot+" -Wl,--no-undefined -Wl,-z,noexecstack ") # env.Append(LIBS=['c','m','stdc++','log','GLESv1_CM','GLESv2'])
if (env["target"]=="release"): # env["LINKFLAGS"]= string.split(" -g --sysroot="+ld_sysroot+" -Wl,--no-undefined -Wl,-z,noexecstack ")
env.Append(CCFLAGS=['-O2']) if (env["target"]=="release"):
env.Append(CCFLAGS=['-O2'])
elif (env["target"]=="release_debug"): elif (env["target"]=="release_debug"):
env.Append(CCFLAGS=['-O2','-DDEBUG_ENABLED'])
env.Append(CCFLAGS=['-O2','-DDEBUG_ENABLED']) elif (env["target"]=="debug"):
env.Append(CCFLAGS=['-D_DEBUG', '-Wall', '-O2', '-DDEBUG_ENABLED'])
elif (env["target"]=="debug"): #env.Append(CCFLAGS=['-D_DEBUG', '-Wall', '-g4', '-DDEBUG_ENABLED'])
env.Append(CCFLAGS=['-D_DEBUG', '-Wall', '-O2', '-DDEBUG_ENABLED']) env.Append(CPPFLAGS=['-DDEBUG_MEMORY_ALLOC'])
env.Append(CPPFLAGS=['-DDEBUG_MEMORY_ALLOC'])
env.Append(CPPFLAGS=["-fno-exceptions",'-DNO_SAFE_CAST','-fno-rtti'])
env.Append(CPPFLAGS=['-DJAVASCRIPT_ENABLED', '-DUNIX_ENABLED', '-DNO_FCNTL','-DMPC_FIXED_POINT','-DTYPED_METHOD_BIND','-DNO_THREADS'])
env.Append(CPPFLAGS=['-DGLES2_ENABLED'])
env.Append(CPPFLAGS=['-DGLES_NO_CLIENT_ARRAYS'])
env.Append(CPPFLAGS=['-s','ASM_JS=1'])
env.Append(CPPFLAGS=['-s','FULL_ES2=1'])
# env.Append(CPPFLAGS=['-DANDROID_ENABLED', '-DUNIX_ENABLED','-DMPC_FIXED_POINT'])
if (env["compress"]=="yes"):
lzma_binpath = em_path+"/third_party/lzma.js/lzma-native"
lzma_decoder = em_path+"/third_party/lzma.js/lzma-decoder.js"
lzma_dec = "LZMA.decompress"
env.Append(LINKFLAGS=['--compression',lzma_binpath+","+lzma_decoder+","+lzma_dec])
env.Append(LINKFLAGS=['-s','ASM_JS=1'])
env.Append(LINKFLAGS=['-O2'])
env.Append(CPPFLAGS=["-fno-exceptions",'-DNO_SAFE_CAST','-fno-rtti'])
env.Append(CPPFLAGS=['-DJAVASCRIPT_ENABLED', '-DUNIX_ENABLED', '-DNO_FCNTL','-DMPC_FIXED_POINT','-DTYPED_METHOD_BIND','-DNO_THREADS'])
env.Append(CPPFLAGS=['-DGLES2_ENABLED'])
env.Append(CPPFLAGS=['-DGLES_NO_CLIENT_ARRAYS'])
env.Append(CPPFLAGS=['-s','ASM_JS=1'])
env.Append(CPPFLAGS=['-s','FULL_ES2=1'])
# env.Append(CPPFLAGS=['-DANDROID_ENABLED', '-DUNIX_ENABLED','-DMPC_FIXED_POINT'])
if (env["compress"]=="yes"):
lzma_binpath = em_path+"/third_party/lzma.js/lzma-native"
lzma_decoder = em_path+"/third_party/lzma.js/lzma-decoder.js"
lzma_dec = "LZMA.decompress"
env.Append(LINKFLAGS=['--compression',lzma_binpath+","+lzma_decoder+","+lzma_dec])
env.Append(LINKFLAGS=['-s','ASM_JS=1'])
env.Append(LINKFLAGS=['-O2'])
#env.Append(LINKFLAGS=['-g4'])
#print "CCCOM is:", env.subst('$CCCOM')
#print "P: ", env['p'], " Platofrm: ", env['platform']