diff options
| -rw-r--r-- | Jamrules.jam | 48 | 
1 files changed, 43 insertions, 5 deletions
| diff --git a/Jamrules.jam b/Jamrules.jam index 5532181..96e6367 100644 --- a/Jamrules.jam +++ b/Jamrules.jam @@ -6,6 +6,10 @@ if ( $(toolset:I=^mingw) || $(toolset:I=^gcc) || $(toolset:I=^bada) || $(toolset  	{  		GCCPATH = "" ;  	} +    else if ( $(toolset:I=^android) ) +    { +		GCCPATH = "%$(toolset)_PATH%\\toolchains\\arm-linux-androideabi-4.4.3\\prebuilt\\windows\\bin\\arm-linux-androideabi-" ; +    }      else if ( $(toolset:I=^bada) )      {  		GCCPATH = "%$(toolset)_PATH%\\Tools\\Toolchains\\ARM\\bin\\arm-bada-eabi-" ; @@ -14,10 +18,6 @@ if ( $(toolset:I=^mingw) || $(toolset:I=^gcc) || $(toolset:I=^bada) || $(toolset      {  		GCCPATH = "%$(toolset)_PATH%\\host\\win32\\x86\\usr\\bin\\ntoarmv7-" ;      } -    else if ( $(toolset:I=^android) ) -    { -		GCCPATH = "%$(toolset)_PATH%\\bin\\arm-linux-androideabi-" ; -    }  	else  	{  		GCCPATH = "%$(toolset)_PATH%\\bin\\" ; @@ -31,6 +31,25 @@ if ( $(toolset:I=^mingw) || $(toolset:I=^gcc) || $(toolset:I=^bada) || $(toolset          {              LDFLAGS += -lstdc++ -lsupc++-xnew -lc ;          } +        else if ( $(toolset:I=^android) ) +        { +            LDFLAGS += -nostdlib ; +            LDFLAGS += -L"%$(toolset)_PATH%\\platforms\\android-5\\arch-arm\\usr\\lib" ; + +            if ( $(toolset:I=stlport) ) +            { +                LDFLAGS += -L"%$(toolset)_PATH%\\sources\\cxx-stl\\stlport\\libs\\armeabi-v7a" ; +                LDFLAGS += -lstlport_static ; +            } +            else +            { +                LDFLAGS += -L"%$(toolset)_PATH%\\sources\\cxx-stl\\gnu-libstdc++\\libs\\armeabi-v7a" ; +                LDFLAGS += -lgnustl_static -lsupc++ ; +            } + +            LDFLAGS += "%$(toolset)_PATH%\\platforms\\android-5\\arch-arm\\usr\\lib\\crtbegin_dynamic.o" ; +            LDFLAGS += -lstdc++ -lc -lm -lgcc ; +        }          else if ( $(OS) = NT || $(OS) = FREEBSD )          {              LDFLAGS += -static-libgcc -static ; @@ -99,6 +118,25 @@ if ( $(toolset:I=^mingw) || $(toolset:I=^gcc) || $(toolset:I=^bada) || $(toolset  			RESULT += -fno-exceptions ;  		} +        if ( $(toolset:I=^android) ) +        { +            RESULT += -DANDROID ; +            RESULT += -mfloat-abi=softfp ; + +            if ( $(toolset:I=stlport) ) +            { +                RESULT += -isystem"%$(toolset)_path%/sources/cxx-stl/stlport/stlport" ; +                RESULT += -isystem"%$(toolset)_path%/sources/cxx-stl/system/include" ; +            } +            else +            { +                RESULT += -isystem"%$(toolset)_path%/sources/cxx-stl/gnu-libstdc++/include" ; +                RESULT += -isystem"%$(toolset)_path%/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include" ; +            } + +            RESULT += -isystem"%$(toolset)_path%/platforms/android-5/arch-arm/usr/include" ; +        } +  		RESULT += $(ARCH) ;  		return $(RESULT) ; @@ -721,7 +759,7 @@ if ( $(UNIX) )  }  else  { -	if ( $(toolset:I=(^xbox360|^ps3|wince|^bada|^blackberry$)) ) +	if ( $(toolset:I=(^xbox360|^ps3|wince|^android|^bada|^blackberry$)) )  	{          RUNRESULT = "skiprun" ; | 
