From 32b1579c8086d57e5bfcde4074c5c1d37c7e6f0c Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Fri, 20 Mar 2015 21:05:25 +0100 Subject: [PATCH 01/16] install the android NDK --- .travis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b595600e7..02b297fb4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,9 @@ branches: - master env: - matrix: + global: + - PV=r8e PLATF=linux-x86_64 NDK_HOME=${TRAVIS_BUILD_DIR}/android-ndk-${PV} PATH=${PATH}:${NDK_HOME} + matrix: - LINUX=1 TRAVIS_NO_EXPORT=YES - LINUX=1 TRAVIS_NO_EXPORT=NO - LINUX=1 TRAVIS_STATIC_BUILD=ON @@ -15,6 +17,7 @@ env: - WINDOWS=1 TRAVIS_NO_EXPORT=NO - WINDOWS=1 TRAVIS_STATIC_BUILD=ON - WINDOWS=1 TRAVIS_STATIC_BUILD=OFF + - ANDROID=1 language: cpp @@ -24,6 +27,7 @@ compiler: install: - if [ $WINDOWS ]; then travis_retry sudo apt-get install -q -y gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 binutils-mingw-w64-x86-64; fi + - if [ $ANDROID ]; then wget -c http://dl.google.com/android/ndk/android-ndk-${PV}-${PLATF}.tar.bz2 && tar xf android-ndk-${PV}-${PLATF}.tar.bz2 ; fi script: - cmake -G "Unix Makefiles" -DASSIMP_ENABLE_BOOST_WORKAROUND=YES -DASSIMP_NO_EXPORT=$TRAVIS_NO_EXPORT -STATIC_BUILD=$TRAVIS_STATIC_BUILD From 1ddcbf49da22713265897620c00e8dd08a120186 Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Fri, 20 Mar 2015 21:11:08 +0100 Subject: [PATCH 02/16] use ant to compile jassimp --- .travis.yml | 2 +- port/jassimp/build.xml | 92 +++++++++++++++++++++++------------------- 2 files changed, 51 insertions(+), 43 deletions(-) diff --git a/.travis.yml b/.travis.yml index 02b297fb4..596ceb811 100644 --- a/.travis.yml +++ b/.travis.yml @@ -42,4 +42,4 @@ script: - echo "==========================================================" - echo "REGRESSION TEST FAILS (results/run_regression_suite_failures.csv)" - cat ../results/run_regression_suite_failures.csv - + - if [ $ANDROID ]; then ant -v -Dbasedir=${TRAVIS_BUILD_DIR} -f port/jassimp/build.xml ndk-jni ; fi diff --git a/port/jassimp/build.xml b/port/jassimp/build.xml index d81d1958a..372440091 100644 --- a/port/jassimp/build.xml +++ b/port/jassimp/build.xml @@ -1,45 +1,53 @@ - - - - - - - - - + + + + + + + + - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 23797dc8ccc7ec3bf03fd6b25e6d3223ffc95623 Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Fri, 20 Mar 2015 21:15:57 +0100 Subject: [PATCH 03/16] for sure jassimp needs the assimp lib too --- workspaces/Android-NDK/jni/Android.mk | 129 ++++++++++++++++++++++ workspaces/Android-NDK/jni/Application.mk | 11 ++ 2 files changed, 140 insertions(+) create mode 100755 workspaces/Android-NDK/jni/Android.mk create mode 100755 workspaces/Android-NDK/jni/Application.mk diff --git a/workspaces/Android-NDK/jni/Android.mk b/workspaces/Android-NDK/jni/Android.mk new file mode 100755 index 000000000..764760e60 --- /dev/null +++ b/workspaces/Android-NDK/jni/Android.mk @@ -0,0 +1,129 @@ +LOCAL_PATH := $(call my-dir)/../../../ + +include $(CLEAR_VARS) +LOCAL_MODULE := assimp_static +ASSIMP_SRC_DIR = code +FILE_LIST := $(wildcard $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/*.cpp) + +IGNORE_LIST := $(wildcard $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/C4D*.cpp) +EXCLUDES := $(IGNORE_LIST:$(LOCAL_PATH)/%=%) +ALL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%) +LOCAL_SRC_FILES := $(filter-out $(EXCLUDES), $(ALL_SRC_FILES)) + +LOCAL_SRC_FILES += contrib/clipper/clipper.cpp \ + contrib/ConvertUTF/ConvertUTF.c \ + contrib/unzip/ioapi.c \ + contrib/unzip/unzip.c \ + contrib/irrXML/irrXML.cpp \ + contrib/poly2tri/poly2tri/sweep/advancing_front.cc \ + contrib/poly2tri/poly2tri/sweep/sweep_context.cc \ + contrib/poly2tri/poly2tri/sweep/sweep.cc \ + contrib/poly2tri/poly2tri/sweep/cdt.cc \ + contrib/poly2tri/poly2tri/common/shapes.cc + + +# enables -frtti and -fexceptions +LOCAL_CPP_FEATURES := exceptions + +# cant be disabled? rudamentary function? +# -DASSIMP_BUILD_NO_FLIPWINDING_PROCESS \ +# +DontBuildProcess = \ + -DASSIMP_BUILD_NO_FLIPUVS_PROCESS \ + -DASSIMP_BUILD_NO_MAKELEFTHANDED_PROCESS \ + -DASSIMP_BUILD_NO_CALCTANGENTS_PROCESS \ + -DASSIMP_BUILD_NO_DEBONE_PROCESS \ + -DASSIMP_BUILD_NO_FINDDEGENERATES_PROCESS \ + -DASSIMP_BUILD_NO_FINDINSTANCES_PROCESS \ + -DASSIMP_BUILD_NO_FINDINVALIDDATA_PROCESS \ + -DASSIMP_BUILD_NO_FIXINFACINGNORMALS_PROCESS \ + -DASSIMP_BUILD_NO_GENFACENORMALS_PROCESS \ + -DASSIMP_BUILD_NO_GENUVCOORDS_PROCESS \ + -DASSIMP_BUILD_NO_GENVERTEXNORMALS_PROCESS \ + -DASSIMP_BUILD_NO_IMPROVECACHELOCALITY_PROCESS \ + -DASSIMP_BUILD_NO_JOINVERTICES_PROCESS \ + -DASSIMP_BUILD_NO_LIMITBONEWEIGHTS_PROCESS \ + -DASSIMP_BUILD_NO_OPTIMIZEGRAPH_PROCESS \ + -DASSIMP_BUILD_NO_OPTIMIZEMESHES_PROCESS \ + -DASSIMP_BUILD_NO_PRETRANSFORMVERTICES_PROCESS \ + -DASSIMP_BUILD_NO_REMOVEVC_PROCESS \ + -DASSIMP_BUILD_NO_REMOVE_REDUNDANTMATERIALS_PROCESS \ + -DASSIMP_BUILD_NO_SORTBYPTYPE_PROCESS \ + -DASSIMP_BUILD_NO_SPLITBYBONECOUNT_PROCESS \ + -DASSIMP_BUILD_NO_SPLITLARGEMESHES_PROCESS \ + -DASSIMP_BUILD_NO_TRANSFORMTEXCOORDS_PROCESS \ + -DASSIMP_BUILD_NO_TRIANGULATE_PROCESS \ + -DASSIMP_BUILD_NO_VALIDATEDS_PROCESS + +DontBuildImporters = \ + -DASSIMP_BUILD_NO_X_IMPORTER \ + -DASSIMP_BUILD_NO_3DS_IMPORTER \ + -DASSIMP_BUILD_NO_MD3_IMPORTER \ + -DASSIMP_BUILD_NO_MDL_IMPORTER \ + -DASSIMP_BUILD_NO_MD2_IMPORTER \ + -DASSIMP_BUILD_NO_PLY_IMPORTER \ + -DASSIMP_BUILD_NO_ASE_IMPORTER \ + -DASSIMP_BUILD_NO_HMP_IMPORTER \ + -DASSIMP_BUILD_NO_SMD_IMPORTER \ + -DASSIMP_BUILD_NO_MDC_IMPORTER \ + -DASSIMP_BUILD_NO_MD5_IMPORTER \ + -DASSIMP_BUILD_NO_STL_IMPORTER \ + -DASSIMP_BUILD_NO_LWO_IMPORTER \ + -DASSIMP_BUILD_NO_DXF_IMPORTER \ + -DASSIMP_BUILD_NO_NFF_IMPORTER \ + -DASSIMP_BUILD_NO_RAW_IMPORTER \ + -DASSIMP_BUILD_NO_OFF_IMPORTER \ + -DASSIMP_BUILD_NO_AC_IMPORTER \ + -DASSIMP_BUILD_NO_BVH_IMPORTER \ + -DASSIMP_BUILD_NO_IRRMESH_IMPORTER \ + -DASSIMP_BUILD_NO_IRR_IMPORTER \ + -DASSIMP_BUILD_NO_Q3D_IMPORTER \ + -DASSIMP_BUILD_NO_B3D_IMPORTER \ + -DASSIMP_BUILD_NO_COLLADA_IMPORTER \ + -DASSIMP_BUILD_NO_TERRAGEN_IMPORTER \ + -DASSIMP_BUILD_NO_CSM_IMPORTER \ + -DASSIMP_BUILD_NO_3D_IMPORTER \ + -DASSIMP_BUILD_NO_LWS_IMPORTER \ + -DASSIMP_BUILD_NO_OGRE_IMPORTER \ + -DASSIMP_BUILD_NO_MS3D_IMPORTER \ + -DASSIMP_BUILD_NO_COB_IMPORTER \ + -DASSIMP_BUILD_NO_Q3BSP_IMPORTER \ + -DASSIMP_BUILD_NO_NDO_IMPORTER \ + -DASSIMP_BUILD_NO_IFC_IMPORTER \ + -DASSIMP_BUILD_NO_XGL_IMPORTER \ + -DASSIMP_BUILD_NO_FBX_IMPORTER \ + -DASSIMP_BUILD_NO_C4D_IMPORTER \ + -DASSIMP_BUILD_NO_OPENGEX_IMPORTER \ + -DASSIMP_BUILD_NO_ASSBIN_IMPORTER +# -DASSIMP_BUILD_NO_BLEND_IMPORTER \ +# -DASSIMP_BUILD_NO_GEO_IMPORTER +# -DASSIMP_BUILD_NO_OBJ_IMPORTER \ +# +#DontBuildImporters := -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER + +ASSIMP_FLAGS_3_0 = -DASSIMP_BUILD_DLL_EXPORT -DASSIMP_BUILD_NO_OWN_ZLIB -DASSIMP_BUILD_BOOST_WORKAROUND -Dassimp_EXPORTS -fPIC -fvisibility=hidden -Wall # $(DontBuildProcess) +ASSIMP_FLAGS_3_1 = $(ASSIMP_FLAGS_3_0) # -DASSIMP_BUILD_BLENDER_DEBUG # -DASSIMP_BUILD_NO_EXPORT + +LOCAL_CFLAGS += $(ASSIMP_FLAGS_3_1) $(DontBuildImporters) -DASSIMP_BUILD_NO_EXPORT +#LOCAL_CXXFLAGS += $(ASSIMP_FLAGS_3_1) # -funwind-tables + +LOCAL_C_INCLUDES += $(LOCAL_PATH)/include $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/BoostWorkaround ./ +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/BoostWorkaround + +include $(BUILD_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := assimp + +LOCAL_CFLAGS += -UASSIMP_BUILD_DLL_EXPORT +LOCAL_WHOLE_STATIC_LIBRARIES = assimp_static + +LOCAL_LDLIBS := -lz + +LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/BoostWorkaround +include $(BUILD_SHARED_LIBRARY) + +-include $(LOCAL_PATH)/assimp_cmd.mk + +# let it on original place +include $(LOCAL_PATH)/port/jassimp/jassimp-native/Android.mk diff --git a/workspaces/Android-NDK/jni/Application.mk b/workspaces/Android-NDK/jni/Application.mk new file mode 100755 index 000000000..1e357dcbf --- /dev/null +++ b/workspaces/Android-NDK/jni/Application.mk @@ -0,0 +1,11 @@ +# NDK_TOOLCHAIN_VERSION=clang # fails on IFCBoolean.cpp and GEOColorTable.h ??? +#NDK_TOOLCHAIN_VERSION=4.8 +#NDK_TOOLCHAIN_VERSION=4.7 +#NDK_TOOLCHAIN_VERSION=4.6 + +APP_ABI := all +APP_ABI := x86 + +APP_STL := stlport_static + +#NDK_APP_OUT := /home/Video-HD/C-Backups/arris69_assimp.git/JassimpLibrary From f63607e94588cce0d98782e129675e7a62ad7ae3 Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Fri, 20 Mar 2015 21:34:12 +0100 Subject: [PATCH 04/16] build don't starts? --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 596ceb811..554949030 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,9 @@ before_install: - sudo apt-get install cmake python3 -branches: - only: - - master +#branches: +# only: +# - master env: global: From 2dda345bdb8cd230e14d6ceca38c54304f710f00 Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Fri, 20 Mar 2015 21:41:23 +0100 Subject: [PATCH 05/16] build don't starts? (reverted branch setting) --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 554949030..596ceb811 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,9 @@ before_install: - sudo apt-get install cmake python3 -#branches: -# only: -# - master +branches: + only: + - master env: global: From 448ce916c2742870f08b7308f8d1e741efbeb0b4 Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Fri, 20 Mar 2015 22:06:03 +0100 Subject: [PATCH 06/16] build don't starts? (reverted branch setting) --- .travis.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index 596ceb811..ba1227d3e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,22 +1,22 @@ before_install: - sudo apt-get install cmake python3 -branches: - only: - - master +#branches: +# only: +# - master env: global: - PV=r8e PLATF=linux-x86_64 NDK_HOME=${TRAVIS_BUILD_DIR}/android-ndk-${PV} PATH=${PATH}:${NDK_HOME} matrix: - - LINUX=1 TRAVIS_NO_EXPORT=YES - - LINUX=1 TRAVIS_NO_EXPORT=NO - - LINUX=1 TRAVIS_STATIC_BUILD=ON - - LINUX=1 TRAVIS_STATIC_BUILD=OFF - - WINDOWS=1 TRAVIS_NO_EXPORT=YES - - WINDOWS=1 TRAVIS_NO_EXPORT=NO - - WINDOWS=1 TRAVIS_STATIC_BUILD=ON - - WINDOWS=1 TRAVIS_STATIC_BUILD=OFF +# - LINUX=1 TRAVIS_NO_EXPORT=YES +# - LINUX=1 TRAVIS_NO_EXPORT=NO +# - LINUX=1 TRAVIS_STATIC_BUILD=ON +# - LINUX=1 TRAVIS_STATIC_BUILD=OFF +# - WINDOWS=1 TRAVIS_NO_EXPORT=YES +# - WINDOWS=1 TRAVIS_NO_EXPORT=NO +# - WINDOWS=1 TRAVIS_STATIC_BUILD=ON +# - WINDOWS=1 TRAVIS_STATIC_BUILD=OFF - ANDROID=1 language: cpp @@ -42,4 +42,4 @@ script: - echo "==========================================================" - echo "REGRESSION TEST FAILS (results/run_regression_suite_failures.csv)" - cat ../results/run_regression_suite_failures.csv - - if [ $ANDROID ]; then ant -v -Dbasedir=${TRAVIS_BUILD_DIR} -f port/jassimp/build.xml ndk-jni ; fi + - if [ $ANDROID ]; then ant -v -Dbasedir=${TRAVIS_BUILD_DIR} -f ${TRAVIS_BUILD_DIR}/port/jassimp/build.xml ndk-jni ; fi From 54dcc64d339da3c743c8e9b6a216055903c59ebf Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Fri, 20 Mar 2015 22:36:57 +0100 Subject: [PATCH 07/16] enable some importers, skip otherbuild for test/discuss --- .travis.yml | 29 ++++++++++++++------------- workspaces/Android-NDK/jni/Android.mk | 2 +- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/.travis.yml b/.travis.yml index ba1227d3e..01e14246d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,10 @@ before_install: - sudo apt-get install cmake python3 + - echo -e "#ifndef A_R_H_INC\n#define A_R_H_INC\n#define GitVersion ${TRAVIS_JOB_ID}\n#define GitBranch \"${TRAVIS_BRANCH}\"\n#endif // A_R_H_INC" > revision.h -#branches: -# only: -# - master +branches: + only: + - master env: global: @@ -30,16 +31,16 @@ install: - if [ $ANDROID ]; then wget -c http://dl.google.com/android/ndk/android-ndk-${PV}-${PLATF}.tar.bz2 && tar xf android-ndk-${PV}-${PLATF}.tar.bz2 ; fi script: - - cmake -G "Unix Makefiles" -DASSIMP_ENABLE_BOOST_WORKAROUND=YES -DASSIMP_NO_EXPORT=$TRAVIS_NO_EXPORT -STATIC_BUILD=$TRAVIS_STATIC_BUILD - - make - - sudo make install - - sudo ldconfig - - cd test/unit - - ../../bin/unit - - cd ../regression - - chmod 755 run.py - - ./run.py +# - cmake -G "Unix Makefiles" -DASSIMP_ENABLE_BOOST_WORKAROUND=YES -DASSIMP_NO_EXPORT=$TRAVIS_NO_EXPORT -STATIC_BUILD=$TRAVIS_STATIC_BUILD +# - make +# - sudo make install +# - sudo ldconfig +# - cd test/unit +# - ../../bin/unit +# - cd ../regression +# - chmod 755 run.py +# - ./run.py - echo "==========================================================" - - echo "REGRESSION TEST FAILS (results/run_regression_suite_failures.csv)" - - cat ../results/run_regression_suite_failures.csv +# - echo "REGRESSION TEST FAILS (results/run_regression_suite_failures.csv)" +# - cat ../results/run_regression_suite_failures.csv - if [ $ANDROID ]; then ant -v -Dbasedir=${TRAVIS_BUILD_DIR} -f ${TRAVIS_BUILD_DIR}/port/jassimp/build.xml ndk-jni ; fi diff --git a/workspaces/Android-NDK/jni/Android.mk b/workspaces/Android-NDK/jni/Android.mk index 764760e60..09f8eeb84 100755 --- a/workspaces/Android-NDK/jni/Android.mk +++ b/workspaces/Android-NDK/jni/Android.mk @@ -99,7 +99,7 @@ DontBuildImporters = \ # -DASSIMP_BUILD_NO_GEO_IMPORTER # -DASSIMP_BUILD_NO_OBJ_IMPORTER \ # -#DontBuildImporters := -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER +DontBuildImporters := -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER ASSIMP_FLAGS_3_0 = -DASSIMP_BUILD_DLL_EXPORT -DASSIMP_BUILD_NO_OWN_ZLIB -DASSIMP_BUILD_BOOST_WORKAROUND -Dassimp_EXPORTS -fPIC -fvisibility=hidden -Wall # $(DontBuildProcess) ASSIMP_FLAGS_3_1 = $(ASSIMP_FLAGS_3_0) # -DASSIMP_BUILD_BLENDER_DEBUG # -DASSIMP_BUILD_NO_EXPORT From f3ed79ab41ec5ae4caba5e36518dacf6c078d320 Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Sat, 21 Mar 2015 10:32:15 +0100 Subject: [PATCH 08/16] make use of travis languages, build java jar too. https://github.com/assimp/assimp/pull/505#issuecomment-84198261 --- .travis.yml | 2 +- port/jassimp/build.xml | 5 +++-- workspaces/Android-NDK/jni/Application.mk | 13 +++++-------- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index 01e14246d..4254cef73 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,4 +43,4 @@ script: - echo "==========================================================" # - echo "REGRESSION TEST FAILS (results/run_regression_suite_failures.csv)" # - cat ../results/run_regression_suite_failures.csv - - if [ $ANDROID ]; then ant -v -Dbasedir=${TRAVIS_BUILD_DIR} -f ${TRAVIS_BUILD_DIR}/port/jassimp/build.xml ndk-jni ; fi + - if [ $ANDROID ]; then ant -v -Dmy.dir=${TRAVIS_BUILD_DIR} -f ${TRAVIS_BUILD_DIR}/port/jassimp/build.xml ndk-jni ; fi diff --git a/port/jassimp/build.xml b/port/jassimp/build.xml index 372440091..1352e3ffa 100644 --- a/port/jassimp/build.xml +++ b/port/jassimp/build.xml @@ -7,6 +7,7 @@ + @@ -29,9 +30,9 @@ - + - + diff --git a/workspaces/Android-NDK/jni/Application.mk b/workspaces/Android-NDK/jni/Application.mk index 1e357dcbf..89b7f5e6a 100755 --- a/workspaces/Android-NDK/jni/Application.mk +++ b/workspaces/Android-NDK/jni/Application.mk @@ -1,11 +1,8 @@ -# NDK_TOOLCHAIN_VERSION=clang # fails on IFCBoolean.cpp and GEOColorTable.h ??? -#NDK_TOOLCHAIN_VERSION=4.8 -#NDK_TOOLCHAIN_VERSION=4.7 -#NDK_TOOLCHAIN_VERSION=4.6 +ifeq ($(TRAVIS_LANGUAGE),clang) + NDK_TOOLCHAIN_VERSION := $(TRAVIS_LANGUAGE) + $(info "Use llvm Compiler") +endif -APP_ABI := all -APP_ABI := x86 +APP_ABI := armeabi-v7a APP_STL := stlport_static - -#NDK_APP_OUT := /home/Video-HD/C-Backups/arris69_assimp.git/JassimpLibrary From 3e6043de70d4e2f941a303b6ddb19f236fde7c56 Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Sat, 21 Mar 2015 10:54:46 +0100 Subject: [PATCH 09/16] use correct variable for compiler selection... --- workspaces/Android-NDK/jni/Application.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workspaces/Android-NDK/jni/Application.mk b/workspaces/Android-NDK/jni/Application.mk index 89b7f5e6a..3d264db1b 100755 --- a/workspaces/Android-NDK/jni/Application.mk +++ b/workspaces/Android-NDK/jni/Application.mk @@ -1,5 +1,5 @@ -ifeq ($(TRAVIS_LANGUAGE),clang) - NDK_TOOLCHAIN_VERSION := $(TRAVIS_LANGUAGE) +ifeq ($(CC),clang) + NDK_TOOLCHAIN_VERSION := $(CC) $(info "Use llvm Compiler") endif From 3bd1a791c0e2f86968329329eccaacd054151ac3 Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Sat, 21 Mar 2015 11:08:06 +0100 Subject: [PATCH 10/16] gcc_struct, old fish, but reinterprated: https://github.com/assimp/assimp/commit/92f4c84488a11d863d2019093f01123d7688ff4b --- include/assimp/Compiler/pushpack1.h | 92 ++++++++++++++--------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/include/assimp/Compiler/pushpack1.h b/include/assimp/Compiler/pushpack1.h index 8bdb71293..e55202665 100644 --- a/include/assimp/Compiler/pushpack1.h +++ b/include/assimp/Compiler/pushpack1.h @@ -1,46 +1,46 @@ - - -// =============================================================================== -// May be included multiple times - sets structure packing to 1 -// for all supported compilers. #include reverts the changes. -// -// Currently this works on the following compilers: -// MSVC 7,8,9 -// GCC -// BORLAND (complains about 'pack state changed but not reverted', but works) -// Clang -// -// -// USAGE: -// -// struct StructToBePacked { -// } PACK_STRUCT; -// -// =============================================================================== - -#ifdef AI_PUSHPACK_IS_DEFINED -# error poppack1.h must be included after pushpack1.h -#endif - -#if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__) -# pragma pack(push,1) -# define PACK_STRUCT -#elif defined( __GNUC__ ) -# if defined(__clang__) -# define PACK_STRUCT __attribute__((__packed__)) -# else -# define PACK_STRUCT __attribute__((gcc_struct, __packed__)) -# endif -#else -# error Compiler not supported -#endif - -#if defined(_MSC_VER) - -// C4103: Packing was changed after the inclusion of the header, propably missing #pragma pop -# pragma warning (disable : 4103) -#endif - -#define AI_PUSHPACK_IS_DEFINED - - + + +// =============================================================================== +// May be included multiple times - sets structure packing to 1 +// for all supported compilers. #include reverts the changes. +// +// Currently this works on the following compilers: +// MSVC 7,8,9 +// GCC +// BORLAND (complains about 'pack state changed but not reverted', but works) +// Clang +// +// +// USAGE: +// +// struct StructToBePacked { +// } PACK_STRUCT; +// +// =============================================================================== + +#ifdef AI_PUSHPACK_IS_DEFINED +# error poppack1.h must be included after pushpack1.h +#endif + +#if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__) +# pragma pack(push,1) +# define PACK_STRUCT +#elif defined( __GNUC__ ) +# if !defined(HOST_MINGW) +# define PACK_STRUCT __attribute__((__packed__)) +# else +# define PACK_STRUCT __attribute__((gcc_struct, __packed__)) +# endif +#else +# error Compiler not supported +#endif + +#if defined(_MSC_VER) + +// C4103: Packing was changed after the inclusion of the header, propably missing #pragma pop +# pragma warning (disable : 4103) +#endif + +#define AI_PUSHPACK_IS_DEFINED + + From a7e4babd9d9694ca232a77439a226ce2c0830919 Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Sat, 21 Mar 2015 11:08:06 +0100 Subject: [PATCH 11/16] gcc_struct, old fish, but reinterpreted: https://github.com/assimp/assimp/commit/92f4c84488a11d863d2019093f01123d7688ff4b --- include/assimp/Compiler/pushpack1.h | 92 ++++++++++++++--------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/include/assimp/Compiler/pushpack1.h b/include/assimp/Compiler/pushpack1.h index 8bdb71293..e55202665 100644 --- a/include/assimp/Compiler/pushpack1.h +++ b/include/assimp/Compiler/pushpack1.h @@ -1,46 +1,46 @@ - - -// =============================================================================== -// May be included multiple times - sets structure packing to 1 -// for all supported compilers. #include reverts the changes. -// -// Currently this works on the following compilers: -// MSVC 7,8,9 -// GCC -// BORLAND (complains about 'pack state changed but not reverted', but works) -// Clang -// -// -// USAGE: -// -// struct StructToBePacked { -// } PACK_STRUCT; -// -// =============================================================================== - -#ifdef AI_PUSHPACK_IS_DEFINED -# error poppack1.h must be included after pushpack1.h -#endif - -#if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__) -# pragma pack(push,1) -# define PACK_STRUCT -#elif defined( __GNUC__ ) -# if defined(__clang__) -# define PACK_STRUCT __attribute__((__packed__)) -# else -# define PACK_STRUCT __attribute__((gcc_struct, __packed__)) -# endif -#else -# error Compiler not supported -#endif - -#if defined(_MSC_VER) - -// C4103: Packing was changed after the inclusion of the header, propably missing #pragma pop -# pragma warning (disable : 4103) -#endif - -#define AI_PUSHPACK_IS_DEFINED - - + + +// =============================================================================== +// May be included multiple times - sets structure packing to 1 +// for all supported compilers. #include reverts the changes. +// +// Currently this works on the following compilers: +// MSVC 7,8,9 +// GCC +// BORLAND (complains about 'pack state changed but not reverted', but works) +// Clang +// +// +// USAGE: +// +// struct StructToBePacked { +// } PACK_STRUCT; +// +// =============================================================================== + +#ifdef AI_PUSHPACK_IS_DEFINED +# error poppack1.h must be included after pushpack1.h +#endif + +#if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__) +# pragma pack(push,1) +# define PACK_STRUCT +#elif defined( __GNUC__ ) +# if !defined(HOST_MINGW) +# define PACK_STRUCT __attribute__((__packed__)) +# else +# define PACK_STRUCT __attribute__((gcc_struct, __packed__)) +# endif +#else +# error Compiler not supported +#endif + +#if defined(_MSC_VER) + +// C4103: Packing was changed after the inclusion of the header, propably missing #pragma pop +# pragma warning (disable : 4103) +#endif + +#define AI_PUSHPACK_IS_DEFINED + + From 527bf8c255e04bb1806c53a887c27bb0845eef83 Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Sat, 21 Mar 2015 12:35:29 +0100 Subject: [PATCH 12/16] bit cleanup and wait untip issue #506 is fixed --- workspaces/Android-NDK/jni/Android.mk | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/workspaces/Android-NDK/jni/Android.mk b/workspaces/Android-NDK/jni/Android.mk index 09f8eeb84..08a16bd55 100755 --- a/workspaces/Android-NDK/jni/Android.mk +++ b/workspaces/Android-NDK/jni/Android.mk @@ -24,6 +24,9 @@ LOCAL_SRC_FILES += contrib/clipper/clipper.cpp \ # enables -frtti and -fexceptions LOCAL_CPP_FEATURES := exceptions +# identifier 'nullptr' will become a keyword in C++0x [-Wc++0x-compat] +# but next breaks blender and other importer +# LOCAL_CFLAGS += -std=c++11 # cant be disabled? rudamentary function? # -DASSIMP_BUILD_NO_FLIPWINDING_PROCESS \ @@ -99,15 +102,14 @@ DontBuildImporters = \ # -DASSIMP_BUILD_NO_GEO_IMPORTER # -DASSIMP_BUILD_NO_OBJ_IMPORTER \ # -DontBuildImporters := -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_OPENGEX_IMPORTER +DontBuildImporters := -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_IMPORTER -DASSIMP_BUILD_NO_IRR_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -ASSIMP_FLAGS_3_0 = -DASSIMP_BUILD_DLL_EXPORT -DASSIMP_BUILD_NO_OWN_ZLIB -DASSIMP_BUILD_BOOST_WORKAROUND -Dassimp_EXPORTS -fPIC -fvisibility=hidden -Wall # $(DontBuildProcess) -ASSIMP_FLAGS_3_1 = $(ASSIMP_FLAGS_3_0) # -DASSIMP_BUILD_BLENDER_DEBUG # -DASSIMP_BUILD_NO_EXPORT +ASSIMP_FLAGS_3_0 = -DASSIMP_BUILD_DLL_EXPORT -DASSIMP_BUILD_NO_OWN_ZLIB -DASSIMP_BUILD_BOOST_WORKAROUND -Dassimp_EXPORTS -fPIC -fvisibility=hidden -Wall +ASSIMP_FLAGS_3_1 = $(ASSIMP_FLAGS_3_0) # -DASSIMP_BUILD_BLENDER_DEBUG -LOCAL_CFLAGS += $(ASSIMP_FLAGS_3_1) $(DontBuildImporters) -DASSIMP_BUILD_NO_EXPORT -#LOCAL_CXXFLAGS += $(ASSIMP_FLAGS_3_1) # -funwind-tables +LOCAL_CFLAGS += $(ASSIMP_FLAGS_3_1) -DASSIMP_BUILD_NO_EXPORT $(DontBuildImporters) # $(DontBuildProcess) -LOCAL_C_INCLUDES += $(LOCAL_PATH)/include $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/BoostWorkaround ./ +LOCAL_C_INCLUDES += $(LOCAL_PATH)/include $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/BoostWorkaround $(LOCAL_PATH)/contrib/openddlparser/include ./ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/BoostWorkaround include $(BUILD_STATIC_LIBRARY) From e2c91f3d234c1b42ec319ade5c79e890912aa883 Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Sat, 21 Mar 2015 16:56:42 +0100 Subject: [PATCH 13/16] closes #506 --- workspaces/Android-NDK/jni/Android.mk | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/workspaces/Android-NDK/jni/Android.mk b/workspaces/Android-NDK/jni/Android.mk index 08a16bd55..a0255f85c 100755 --- a/workspaces/Android-NDK/jni/Android.mk +++ b/workspaces/Android-NDK/jni/Android.mk @@ -21,6 +21,9 @@ LOCAL_SRC_FILES += contrib/clipper/clipper.cpp \ contrib/poly2tri/poly2tri/sweep/cdt.cc \ contrib/poly2tri/poly2tri/common/shapes.cc +LOCAL_SRC_FILES += contrib/openddlparser/code/OpenDDLParser.cpp \ + contrib/openddlparser/code/DDLNode.cpp \ + contrib/openddlparser/code/Value.cpp # enables -frtti and -fexceptions LOCAL_CPP_FEATURES := exceptions @@ -107,7 +110,7 @@ DontBuildImporters := -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_I ASSIMP_FLAGS_3_0 = -DASSIMP_BUILD_DLL_EXPORT -DASSIMP_BUILD_NO_OWN_ZLIB -DASSIMP_BUILD_BOOST_WORKAROUND -Dassimp_EXPORTS -fPIC -fvisibility=hidden -Wall ASSIMP_FLAGS_3_1 = $(ASSIMP_FLAGS_3_0) # -DASSIMP_BUILD_BLENDER_DEBUG -LOCAL_CFLAGS += $(ASSIMP_FLAGS_3_1) -DASSIMP_BUILD_NO_EXPORT $(DontBuildImporters) # $(DontBuildProcess) +LOCAL_CFLAGS += $(ASSIMP_FLAGS_3_1) -DASSIMP_BUILD_NO_EXPORT -DOPENDDL_NO_USE_CPP11 $(DontBuildImporters) # $(DontBuildProcess) LOCAL_C_INCLUDES += $(LOCAL_PATH)/include $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/BoostWorkaround $(LOCAL_PATH)/contrib/openddlparser/include ./ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/BoostWorkaround From db7f9fc54da178dffad2505cf3fe1029fc297fba Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Sat, 21 Mar 2015 16:56:42 +0100 Subject: [PATCH 14/16] closes assimp/assimp#506 --- workspaces/Android-NDK/jni/Android.mk | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/workspaces/Android-NDK/jni/Android.mk b/workspaces/Android-NDK/jni/Android.mk index 08a16bd55..a0255f85c 100755 --- a/workspaces/Android-NDK/jni/Android.mk +++ b/workspaces/Android-NDK/jni/Android.mk @@ -21,6 +21,9 @@ LOCAL_SRC_FILES += contrib/clipper/clipper.cpp \ contrib/poly2tri/poly2tri/sweep/cdt.cc \ contrib/poly2tri/poly2tri/common/shapes.cc +LOCAL_SRC_FILES += contrib/openddlparser/code/OpenDDLParser.cpp \ + contrib/openddlparser/code/DDLNode.cpp \ + contrib/openddlparser/code/Value.cpp # enables -frtti and -fexceptions LOCAL_CPP_FEATURES := exceptions @@ -107,7 +110,7 @@ DontBuildImporters := -DASSIMP_BUILD_NO_IFC_IMPORTER -DASSIMP_BUILD_NO_IRRMESH_I ASSIMP_FLAGS_3_0 = -DASSIMP_BUILD_DLL_EXPORT -DASSIMP_BUILD_NO_OWN_ZLIB -DASSIMP_BUILD_BOOST_WORKAROUND -Dassimp_EXPORTS -fPIC -fvisibility=hidden -Wall ASSIMP_FLAGS_3_1 = $(ASSIMP_FLAGS_3_0) # -DASSIMP_BUILD_BLENDER_DEBUG -LOCAL_CFLAGS += $(ASSIMP_FLAGS_3_1) -DASSIMP_BUILD_NO_EXPORT $(DontBuildImporters) # $(DontBuildProcess) +LOCAL_CFLAGS += $(ASSIMP_FLAGS_3_1) -DASSIMP_BUILD_NO_EXPORT -DOPENDDL_NO_USE_CPP11 $(DontBuildImporters) # $(DontBuildProcess) LOCAL_C_INCLUDES += $(LOCAL_PATH)/include $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/BoostWorkaround $(LOCAL_PATH)/contrib/openddlparser/include ./ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/BoostWorkaround From 2b7ceb301e21a47009728cca9a32777d3ab9f380 Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Sat, 21 Mar 2015 17:09:17 +0100 Subject: [PATCH 15/16] work finished, feel free to commit/cherry-pick --- .travis.yml | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4254cef73..3310b881b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,14 +10,14 @@ env: global: - PV=r8e PLATF=linux-x86_64 NDK_HOME=${TRAVIS_BUILD_DIR}/android-ndk-${PV} PATH=${PATH}:${NDK_HOME} matrix: -# - LINUX=1 TRAVIS_NO_EXPORT=YES -# - LINUX=1 TRAVIS_NO_EXPORT=NO -# - LINUX=1 TRAVIS_STATIC_BUILD=ON -# - LINUX=1 TRAVIS_STATIC_BUILD=OFF -# - WINDOWS=1 TRAVIS_NO_EXPORT=YES -# - WINDOWS=1 TRAVIS_NO_EXPORT=NO -# - WINDOWS=1 TRAVIS_STATIC_BUILD=ON -# - WINDOWS=1 TRAVIS_STATIC_BUILD=OFF + - LINUX=1 TRAVIS_NO_EXPORT=YES + - LINUX=1 TRAVIS_NO_EXPORT=NO + - LINUX=1 TRAVIS_STATIC_BUILD=ON + - LINUX=1 TRAVIS_STATIC_BUILD=OFF + - WINDOWS=1 TRAVIS_NO_EXPORT=YES + - WINDOWS=1 TRAVIS_NO_EXPORT=NO + - WINDOWS=1 TRAVIS_STATIC_BUILD=ON + - WINDOWS=1 TRAVIS_STATIC_BUILD=OFF - ANDROID=1 language: cpp @@ -31,16 +31,16 @@ install: - if [ $ANDROID ]; then wget -c http://dl.google.com/android/ndk/android-ndk-${PV}-${PLATF}.tar.bz2 && tar xf android-ndk-${PV}-${PLATF}.tar.bz2 ; fi script: -# - cmake -G "Unix Makefiles" -DASSIMP_ENABLE_BOOST_WORKAROUND=YES -DASSIMP_NO_EXPORT=$TRAVIS_NO_EXPORT -STATIC_BUILD=$TRAVIS_STATIC_BUILD -# - make -# - sudo make install -# - sudo ldconfig -# - cd test/unit -# - ../../bin/unit -# - cd ../regression -# - chmod 755 run.py -# - ./run.py - - echo "==========================================================" -# - echo "REGRESSION TEST FAILS (results/run_regression_suite_failures.csv)" -# - cat ../results/run_regression_suite_failures.csv - if [ $ANDROID ]; then ant -v -Dmy.dir=${TRAVIS_BUILD_DIR} -f ${TRAVIS_BUILD_DIR}/port/jassimp/build.xml ndk-jni ; fi + - cmake -G "Unix Makefiles" -DASSIMP_ENABLE_BOOST_WORKAROUND=YES -DASSIMP_NO_EXPORT=$TRAVIS_NO_EXPORT -STATIC_BUILD=$TRAVIS_STATIC_BUILD + - make + - sudo make install + - sudo ldconfig + - cd test/unit + - ../../bin/unit + - cd ../regression + - chmod 755 run.py + - ./run.py + - echo "==========================================================" + - echo "REGRESSION TEST FAILS (results/run_regression_suite_failures.csv)" + - cat ../results/run_regression_suite_failures.csv From 947429152f6bbbc12f639770128484c3c976a93b Mon Sep 17 00:00:00 2001 From: Ser Lev Arris Date: Sun, 22 Mar 2015 18:27:06 +0100 Subject: [PATCH 16/16] finishing. also skip filtering C4D importer due fixed in https://github.com/assimp/assimp/commit/14324c60cf7aa092250ed71e23387cffa4a15aa6 --- workspaces/Android-NDK/jni/Android.mk | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/workspaces/Android-NDK/jni/Android.mk b/workspaces/Android-NDK/jni/Android.mk index a0255f85c..0d9f4981d 100755 --- a/workspaces/Android-NDK/jni/Android.mk +++ b/workspaces/Android-NDK/jni/Android.mk @@ -3,27 +3,17 @@ LOCAL_PATH := $(call my-dir)/../../../ include $(CLEAR_VARS) LOCAL_MODULE := assimp_static ASSIMP_SRC_DIR = code -FILE_LIST := $(wildcard $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/*.cpp) -IGNORE_LIST := $(wildcard $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/C4D*.cpp) -EXCLUDES := $(IGNORE_LIST:$(LOCAL_PATH)/%=%) -ALL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%) -LOCAL_SRC_FILES := $(filter-out $(EXCLUDES), $(ALL_SRC_FILES)) +FILE_LIST := $(wildcard $(LOCAL_PATH)/$(ASSIMP_SRC_DIR)/*.cpp) +FILE_LIST += $(wildcard $(LOCAL_PATH)/contrib/openddlparser/code/*.cpp) +FILE_LIST += $(wildcard $(LOCAL_PATH)/contrib/unzip/*.c) +FILE_LIST += $(wildcard $(LOCAL_PATH)/contrib/poly2tri/poly2tri/*/*.cc) + +LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%) LOCAL_SRC_FILES += contrib/clipper/clipper.cpp \ contrib/ConvertUTF/ConvertUTF.c \ - contrib/unzip/ioapi.c \ - contrib/unzip/unzip.c \ - contrib/irrXML/irrXML.cpp \ - contrib/poly2tri/poly2tri/sweep/advancing_front.cc \ - contrib/poly2tri/poly2tri/sweep/sweep_context.cc \ - contrib/poly2tri/poly2tri/sweep/sweep.cc \ - contrib/poly2tri/poly2tri/sweep/cdt.cc \ - contrib/poly2tri/poly2tri/common/shapes.cc - -LOCAL_SRC_FILES += contrib/openddlparser/code/OpenDDLParser.cpp \ - contrib/openddlparser/code/DDLNode.cpp \ - contrib/openddlparser/code/Value.cpp + contrib/irrXML/irrXML.cpp # enables -frtti and -fexceptions LOCAL_CPP_FEATURES := exceptions