make_asn1c_includes.sh 1.44 KB
Newer Older
laurent's avatar
laurent committed
1
#!/bin/bash
2
export ASN1C_PREFIX=$1
laurent's avatar
laurent committed
3
shift
4
options=$1
laurent's avatar
laurent committed
5
shift
6
GENERATED_FULL_DIR=$1
laurent's avatar
laurent committed
7
shift
8
ASN1_SOURCE_DIR=$*
laurent's avatar
laurent committed
9
done_flag="$GENERATED_FULL_DIR"/done
10 11 12 13 14 15 16
rebuild=0
for f in $ASN1_SOURCE_DIR ; do
   if [ "$done_flag" -ot "$f" ] ; then
      rebuild=1
   fi
done
if [ $rebuild -eq 1 ] ; then
laurent's avatar
laurent committed
17 18 19
   rm -f "$GENERATED_FULL_DIR"/${ASN1C_PREFIX}*.c "$GENERATED_FULL_DIR"/${ASN1C_PREFIX}*.h
   mkdir -p "$GENERATED_FULL_DIR"
   asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example $options -D $GENERATED_FULL_DIR $ASN1_SOURCE_DIR |& egrep -v "^Copied|^Compiled" | sort -u
20 21 22 23 24 25 26 27
  if [ "$ASN1C_PREFIX" = "X2AP_" ] ; then
    sed -i 's/18446744073709551615))/18446744073709551615U))/g' "$GENERATED_FULL_DIR"/${ASN1C_PREFIX}E-RABUsageReport-Item.c
    sed -i 's/18446744073709551615 }/18446744073709551615U }/g' "$GENERATED_FULL_DIR"/${ASN1C_PREFIX}E-RABUsageReport-Item.c
  fi
  if [ "$ASN1C_PREFIX" = "S1AP_" ] ; then
    sed -i 's/18446744073709551615))/18446744073709551615U))/g' "$GENERATED_FULL_DIR"/${ASN1C_PREFIX}E-RABUsageReportItem.c
    sed -i 's/18446744073709551615 }/18446744073709551615U }/g' "$GENERATED_FULL_DIR"/${ASN1C_PREFIX}E-RABUsageReportItem.c
  fi
zhenghuangkun's avatar
zhenghuangkun committed
28 29 30 31
  if [ "$ASN1C_PREFIX" = "NGAP_" ] ; then
    sed -i 's/18446744073709551615))/18446744073709551615U))/g' "$GENERATED_FULL_DIR"/${ASN1C_PREFIX}VolumeTimedReport-Item.c
    sed -i 's/18446744073709551615 }/18446744073709551615U }/g' "$GENERATED_FULL_DIR"/${ASN1C_PREFIX}VolumeTimedReport-Item.c
  fi
32

laurent's avatar
laurent committed
33
fi
34
touch $done_flag