This file is indexed.

/usr/bin/smpicxx is in libsimgrid-dev 3.11.1-10ubuntu1.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#! /bin/sh

# Copyright (c) 2014. The SimGrid Team.
# All rights reserved.

# This program is free software; you can redistribute it and/or modify it
# under the terms of the license (GNU LGPL) which comes with this package.

CC=/usr/bin/x86_64-linux-gnu-g++

INCLUDEARGS="-I/usr/include -I/usr/include/smpi"
CMAKE_LINKARGS="-L/usr/lib"

#!/bin/sh
#---- smpitools.sh --------------------------------------------------------#

# Copyright (c) 2013-2014. The SimGrid Team.
# All rights reserved.

# This program is free software; you can redistribute it and/or modify it
# under the terms of the license (GNU LGPL) which comes with this package.

SAVEIFS="$IFS"
LISTSEP="$(printf '\b')"

# Create a temporary file, with its name of the form $1_XXX$2, where XXX is
# replaced by an unique string.
# $1: prefix, $2: suffix
mymktemp () {
    tmp=$(mktemp --suffix="$2" "$1_XXXXXXXXXX" 2> /dev/null)
    if [ -z "$tmp" ]; then
        # mktemp failed (unsupported --suffix ?), try unsafe mode
        tmp=$(mktemp -u "$1_XXXXXXXXXX" 2> /dev/null)
        if [ -z "$tmp" ]; then
            # mktemp failed again (doesn't exist ?), try very unsafe mode
            if [ -z "${mymktemp_seq}" ]; then
                mymktemp_seq=$(date +%d%H%M%S)
            fi
            tmp="$1_$$x${mymktemp_seq}"
            mymktemp_seq=$((mymktemp_seq + 1))
        fi
        tmp="${tmp}$2"
        # create temp file, and exit if it existed before
        sh -C -c "true > \"${tmp}\"" || exit 1
    fi
    echo "${tmp}"
}

# Add a word to the end of a list (words separated by LISTSEP)
# $1: list, $2...: words to add
list_add () {
    local list content newcontent
    list="$1"
    shift
    if [ $# -gt 0 ]; then
        eval content=\"\${$list}\"
        IFS="$LISTSEP"
        newcontent="$*"
        IFS="$SAVEIFS"
        if [ -z "$content" ]; then
            content="$newcontent"
        else
            content="$content${LISTSEP}$newcontent"
        fi
        eval $list=\"\${content}\"
    fi
}

# Like list_add, but only if first word to add ($2) is not empty
list_add_not_empty () {
    if [ -n "$2" ]; then
        list_add "$@"
    fi
}

# Set contents of a list (words separated by LISTSEP)
# $1: list, $2...: words to set
list_set () {
    eval $1=""
    list_add "$@"
}

# Get the content of a list: positional parameters ($1, $2, ...) are set to the
# content of the list
# $1: list
# usage:  eval $(list_get list)
list_get () {
    printf 'IFS="$LISTSEP"; eval set -- \\$%s; IFS="$SAVEIFS"' "$1"
}

#---- end of smpitools.sh -------------------------------------------------#


list_set CFLAGS
list_set LINKARGS
if [ "" != "1" ]; then
    list_add CFLAGS "-Dmain=smpi_simulated_main_"
    list_add LINKARGS "-lsimgrid"
else
    list_add CFLAGS "-include" "/usr/include/smpi/smpi_main.h"
    list_add LINKARGS "/usr/lib\libsimgrid.dll"
fi

list_set CMDARGS
while [ $# -gt 0 ]; do
    ARG="$1"
    shift
    case "${ARG}" in
        -c)
            CMAKE_LINKARGS=""
            LINKARGS=""
            list_add CMDARGS "-c"
            ;;
        *.c)
            SRCFILE="$(readlink -f ${ARG} 2>/dev/null)"
            if [ -z "$SRCFILE" ] ; then
                SRCFILE="$ARG"
            fi
            list_add CMDARGS "${SRCFILE}"
            ;;
        *)
            list_add CMDARGS "${ARG}"
      ;;
  esac
done

list_set CMDLINE "${CC}"
list_add_not_empty CMDLINE "${CFLAGS}"
list_add_not_empty CMDLINE ${INCLUDEARGS}
list_add_not_empty CMDLINE ${CMAKE_LINKARGS}
list_add_not_empty CMDLINE "${CMDARGS}"
list_add_not_empty CMDLINE "${LINKARGS}"

eval $(list_get CMDLINE)
"$@"