diff options
-rw-r--r-- | scripts/iot-making-building-blocks-dll.post | 44 |
1 files changed, 27 insertions, 17 deletions
diff --git a/scripts/iot-making-building-blocks-dll.post b/scripts/iot-making-building-blocks-dll.post index 3f67c7e..7903846 100644 --- a/scripts/iot-making-building-blocks-dll.post +++ b/scripts/iot-making-building-blocks-dll.post @@ -2,7 +2,10 @@ echo "############### iot-making-building-blocks-dll.post ################" -export IBCDATA_DIR=/usr/share/dotnet.tizen/ibcdata +export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 +export MIC_CROSSGEN2_ENABLED=1 + +DOTNET_MIC_DIR=/opt/usr/dotnet/mic if [ -f /opt/share/bb/make_tizenfx_from_bb.sh ] then @@ -12,25 +15,32 @@ then # remove previous native image dotnettool --ni-reset-system - dotnettool --ibc-dir $IBCDATA_DIR --ni-dll /usr/share/dotnet.tizen/netcoreapp/System.Private.CoreLib.dll - if [ -f /usr/share/dotnet.tizen/netcoreapp/System.Private.CoreLib.dll.Backup ] - then - # generate native image with ibcdata - dotnettool --ibc-dir $IBCDATA_DIR --ni-system - else - echo "The current ibcdata format does not match in Iot(aarch64) profile. So regenerate native image without ibcdata." - # regenerate native image without ibcdata - dotnettool --ni-system - fi - - # remove ibc data files - if [ -d $IBCDATA_DIR ] - then - rm -rf $IBCDATA_DIR - fi + chmod 755 /usr/bin/patchelf + chmod 755 $DOTNET_MIC_DIR/* + + # set the patchelf + /usr/bin/patchelf --set-interpreter $DOTNET_MIC_DIR/ld-linux-x86-64.so.2 $DOTNET_MIC_DIR/crossgen2 + /usr/bin/patchelf --set-rpath $DOTNET_MIC_DIR $DOTNET_MIC_DIR/crossgen2 + + for file in $( find $DOTNET_MIC_DIR -type f \( -name "*.so" -or -name "*.so.*" \) -not -name "*.dbg" -not -name "ld-*.so*" ) + do + /usr/bin/patchelf --set-rpath $DOTNET_MIC_DIR ${file} + done + + # generate native image for system + dotnettool --ni-system --inputbubble + + # generate native image for all app + dotnettool --ni-regen-all-app + dotnettool --tac-regen-all else echo "There is no execute file - /usr/bin/dotnettool" fi else echo "There is no script file - /opt/share/bb/make_tizenfx_from_bb.sh" fi + +# remove files and package related to dotnet used only in MIC +rm -rf $DOTNET_MIC_DIR +rpm -e patchelf +rpm -e crossgen2-mic |