gen_lump.sh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. echo '====================================================================='
  2. echo 'gen lump'
  3. echo '$HUATUO_IL2CPP_SOURCE_DIR='${HUATUO_IL2CPP_SOURCE_DIR} #/Applications/Unity/Unity.app/Contents/il2cpp/
  4. GEN_SOURCE_DIR=$1
  5. BASE_DIR=${HUATUO_IL2CPP_SOURCE_DIR}/libil2cpp
  6. echo base dir: ${BASE_DIR}
  7. echo " "
  8. #BASE_DIR=${HUATUO_IL2CPP_SOURCE_DIR}/libil2cpp
  9. function SearchCppFile()
  10. {
  11. for f in $(ls $1)
  12. do
  13. SUB_DIR=$1/$f
  14. if [ -d ${SUB_DIR} ]; then
  15. SearchCppFile ${SUB_DIR}
  16. fi
  17. done
  18. CPP_FILE_NUM=`ls -l $1/ | grep "\.cpp$"|wc -l`
  19. if (( ${CPP_FILE_NUM} > 0 ))
  20. then
  21. for f in $1/*.cpp
  22. do
  23. echo "#include \""$f"\"" >> ${OUTPUT_FILE_NAME}
  24. done
  25. fi
  26. MM_FILE_NUM=`ls -l $1/ | grep "\.mm$"|wc -l`
  27. if (( ${MM_FILE_NUM} > 0 ))
  28. then
  29. for f in $1/*.mm
  30. do
  31. echo "#include \""$f"\"" >> ${OBJECTIVE_FILE_NAME}
  32. done
  33. fi
  34. }
  35. rm -rf "${GEN_SOURCE_DIR}"/lump_cpp
  36. rm -rf "${GEN_SOURCE_DIR}"/lump_mm
  37. mkdir "${GEN_SOURCE_DIR}"/lump_cpp
  38. mkdir "${GEN_SOURCE_DIR}"/lump_mm
  39. OBJECTIVE_FILE_NAME=${GEN_SOURCE_DIR}/lump_mm/lump_libil2cpp_ojective.mm
  40. echo "#include \"${BASE_DIR}/il2cpp-config.h\"" > ${OBJECTIVE_FILE_NAME}
  41. echo gen file: ${OBJECTIVE_FILE_NAME}
  42. for FOLDER in hybridclr vm pch utils vm-utils codegen metadata os debugger mono gc icalls
  43. do
  44. OUTPUT_FILE_NAME=${GEN_SOURCE_DIR}/lump_cpp/lump_libil2cpp_${FOLDER}.cpp
  45. echo "#include \"${BASE_DIR}/il2cpp-config.h\"" > ${OUTPUT_FILE_NAME}
  46. if [ $FOLDER = hybridclr ] || [ $FOLDER = vm ]
  47. then
  48. echo "#include \"${BASE_DIR}/codegen/il2cpp-codegen.h\"" >> ${OUTPUT_FILE_NAME}
  49. fi
  50. SearchCppFile ${BASE_DIR}/${FOLDER}
  51. echo gen file: ${OUTPUT_FILE_NAME}
  52. done
  53. echo gen done.
  54. echo '====================================================================='
  55. echo " "