arm-trusted-firmware/tools/fiptool/fiptool_platform.h
Evan Lloyd a1ee383626 fiptool: Enable Visual Studio build
Updates are required to enable the fiptool utility to be built on a
Windows platform.  This change modifies the source files to enable
building with Visual Studio (detected via preprocessor settings).
The primary changes are:
  1.  Provide an implementation of the getopt_long function.  This does
      not exist in the Visual Studio CRT libraries because Windows
      commands normally use '/' not '-' as an option indicator.
  2.  Redirect some function names to match those supported by the
      Visual Studio libraries (when building with Visual Studio).
  2.  Modify a structure name (stat) to match that provided
      by the Visual Studio libraries (_stat).

Note - this change does not provide makefile updates.  It only modifies
       the sources to enable the fiptool to be built from a Visual
       Studio project.  In normal use the presence of FIPTOOL.EXE is
       enough to satisfy the make requirements.  A makefile change may
       be derived from the Visual Studio command line information at
       some point in the future.

Change-Id: I3ade77ea140246af3c030920b3f97c070087f111
Signed-off-by: Evan Lloyd <evan.lloyd@arm.com>
2017-10-17 12:14:20 +01:00

30 lines
594 B
C

/*
* Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
* Build platform specific handling.
* This allows for builds on non-Posix platforms
* e.g. Visual Studio on Windows
*/
#ifndef __FIPTOOL_PLATFORM_H__
# define __FIPTOOL_PLATFORM_H__
# ifndef _MSC_VER
/* Not Visual Studio, so include Posix Headers. */
# include <getopt.h>
# include <openssl/sha.h>
# include <unistd.h>
# define BLD_PLAT_STAT stat
# else
/* Visual Studio. */
# include "win_posix.h"
# endif
#endif /* __FIPTOOL_PLATFORM_H__ */