summaryrefslogtreecommitdiff
path: root/scripts/iot-making-building-blocks-dll.post
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/iot-making-building-blocks-dll.post')
-rw-r--r--scripts/iot-making-building-blocks-dll.post44
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