#!/bin/sh

# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Generates a header file with a system call table made up of "name",
# syscall_nr entries by including the build target <asm/unistd.h> and
# emitting the list of defines.  Use of the compiler is needed to
# dereference the actual provider of syscall definitions.
#   E.g., asm/unistd_32.h or asm/unistd_64.h, etc.

set -e

if [ $# -ne 2 ]; then
  echo "Usage: $(basename "$0") CC OUTFILE"
  exit 1
fi

CC="$1"
shift
OUTFILE="$1"

# sed expression which extracts system calls that are
# defined via asm/unistd.h.  It converts them from:
#  #define __NR_read foo
# to:
# #ifdef __NR_read
#  { "read", __NR_read },
# #endif
SED_MULTILINE='s/#define __(ARM_)?(NR_)([a-z0-9_]*) (.*)$/#ifdef __\1\2\3\
{ "\1\3", __\1\2\3 },\
#endif/g p;'

cat <<-EOF > "${OUTFILE}"
/* GENERATED BY MAKEFILE */
#include <stddef.h>
#include <asm/unistd.h>
#include "libsyscalls.h"
const struct syscall_entry syscall_table[] = {
$(echo '#include <asm/unistd.h>' | \
  ${CC} -dD - -E | sed -Ene "${SED_MULTILINE}")
  { NULL, -1 },
};
EOF
