mirror of https://github.com/axmolengine/axmol.git
117 lines
3.7 KiB
Batchfile
117 lines
3.7 KiB
Batchfile
@echo off
|
|
|
|
:: This script is used to generate jsbinding glue codes.
|
|
:: Android ndk version must be ndk-r9b.
|
|
|
|
setlocal
|
|
:: You should modify PYTHON_ROOT and NDK_ROOT to work under your environment.
|
|
:: or just uncomment the follow 2 lines and set them.
|
|
|
|
:: set PYTHON_ROOT=C:/Python27
|
|
:: set NDK_ROOT=G:/android/android-ndk-r9b
|
|
|
|
setlocal ENABLEEXTENSIONS
|
|
if %errorlevel% neq 0 (
|
|
echo Unable to enable extensions
|
|
exit /b 1
|
|
)
|
|
|
|
if defined PYTHON_ROOT (echo PYTHON_ROOT is defined.) else (
|
|
echo PYTHON_ROOT is NOT defined!
|
|
exit /b 1
|
|
)
|
|
|
|
if defined NDK_ROOT (echo NDK_ROOT is defined.) else (
|
|
echo NDK_ROOT is NOT defined!
|
|
exit /b 1
|
|
)
|
|
|
|
:: Check use 32-bit or 64-bit
|
|
:: Assume 64-bit
|
|
set TEMP=windows-x86_64
|
|
if not exist "%NDK_ROOT%/toolchains/llvm-3.3/prebuilt/%TEMP%" set TEMP=
|
|
:: Otherwise fall back to 32-bit make
|
|
if "%TEMP%"=="" set TEMP=windows
|
|
|
|
set NDK_LLVM_ROOT=%NDK_ROOT%/toolchains/llvm-3.3/prebuilt/%TEMP%
|
|
|
|
set COCOS2DX_ROOT=%cd%/../..
|
|
set "COCOS2DX_ROOT=%COCOS2DX_ROOT:\=/%"
|
|
set CXX_GENERATOR_ROOT=%COCOS2DX_ROOT%/tools/bindings-generator
|
|
set TO_JS_ROOT=%COCOS2DX_ROOT%/tools/tojs
|
|
set "CXX_GENERATOR_ROOT=%CXX_GENERATOR_ROOT:\=/%"
|
|
set OUTPUT_DIR=%COCOS2DX_ROOT%/cocos/scripting/auto-generated/js-bindings
|
|
set "OUTPUT_DIR=%OUTPUT_DIR:/=\%"
|
|
|
|
set PATH=%PATH%;%CXX_GENERATOR_ROOT%/libclang;%CXX_GENERATOR_ROOT%/tools/win32;%PYTHON_ROOT%
|
|
|
|
:: write userconf.ini
|
|
|
|
set _CONF_INI_FILE=%cd%\userconf.ini
|
|
if exist %_CONF_INI_FILE% del /Q %_CONF_INI_FILE%
|
|
|
|
|
|
echo
|
|
echo generating userconf.ini...
|
|
echo ---
|
|
echo [DEFAULT] > %_CONF_INI_FILE%
|
|
echo androidndkdir=%NDK_ROOT% >> %_CONF_INI_FILE%
|
|
echo clangllvmdir=%NDK_LLVM_ROOT% >> %_CONF_INI_FILE%
|
|
echo cocosdir=%COCOS2DX_ROOT% >> %_CONF_INI_FILE%
|
|
echo cxxgeneratordir=%CXX_GENERATOR_ROOT% >> %_CONF_INI_FILE%
|
|
:: fixme: to fix parse error, we must difine __WCHAR_MAX__ and undefine __MINGW32__ .
|
|
echo extra_flags=-D__WCHAR_MAX__=0x7fffffff -U__MINGW32__ >> %_CONF_INI_FILE%
|
|
echo ---
|
|
|
|
|
|
|
|
:: Generate bindings for cocos2dx
|
|
echo Generating bindings for cocos2dx...
|
|
python %CXX_GENERATOR_ROOT%/generator.py %TO_JS_ROOT%/cocos2dx.ini -s cocos2d-x -t spidermonkey -o %OUTPUT_DIR% -n js_cocos2dx_auto
|
|
if %errorlevel% neq 0 goto ERROR
|
|
|
|
echo "Generating bindings for cocos2dx_extension..."
|
|
python %CXX_GENERATOR_ROOT%/generator.py %TO_JS_ROOT%/cocos2dx_extension.ini -s cocos2dx_extension -t spidermonkey -o %OUTPUT_DIR% -n js_cocos2dx_extension_auto
|
|
if %errorlevel% neq 0 goto ERROR
|
|
|
|
echo "Generating bindings for cocos2dx_builder..."
|
|
python %CXX_GENERATOR_ROOT%/generator.py %TO_JS_ROOT%/cocos2dx_builder.ini -s cocos2dx_builder -t spidermonkey -o %OUTPUT_DIR% -n jsb_cocos2dx_builder_auto
|
|
if %errorlevel% neq 0 goto ERROR
|
|
|
|
echo "Generating bindings for cocos2dx_gui..."
|
|
python %CXX_GENERATOR_ROOT%/generator.py %TO_JS_ROOT%/cocos2dx_gui.ini -s cocos2dx_gui -t spidermonkey -o %OUTPUT_DIR% -n js_cocos2dx_gui_auto
|
|
if %errorlevel% neq 0 goto ERROR
|
|
|
|
|
|
echo "Generating bindings for cocos2dx_studio..."
|
|
python %CXX_GENERATOR_ROOT%/generator.py %TO_JS_ROOT%/cocos2dx_studio.ini -s cocos2dx_studio -t spidermonkey -o %OUTPUT_DIR% -n js_cocos2dx_studio_auto
|
|
if %errorlevel% neq 0 goto ERROR
|
|
|
|
|
|
echo "Generating bindings for cocos2dx_spine..."
|
|
python %CXX_GENERATOR_ROOT%/generator.py %TO_JS_ROOT%/cocos2dx_spine.ini -s cocos2dx_spine -t spidermonkey -o %OUTPUT_DIR% -n js_cocos2dx_spine_auto
|
|
if %errorlevel% neq 0 goto ERROR
|
|
|
|
|
|
:: Change the generated file format from DOS to UNIX.
|
|
pushd "%OUTPUT_DIR%"
|
|
dos2unix *
|
|
popd
|
|
|
|
goto PASS
|
|
|
|
:PASS
|
|
echo ---------------------------------
|
|
echo Generating bindings succeeds.
|
|
echo ---------------------------------
|
|
endlocal
|
|
exit /b 0
|
|
|
|
:ERROR
|
|
echo ---------------------------------
|
|
echo Generating bindings fails.
|
|
echo ---------------------------------
|
|
endlocal
|
|
exit /b 1
|
|
|