RTI Connext DDS Micro  Version 2.4.11
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Building against FACE Conformance Libraries

This user guide explains how to build with the FACE conformance libraries.

Introduction to RTI Connext DDS Micro Support for FACE

This user-manual describes how to build RTI Connext DDS Micro using the FACE conformance test tools.

Requirements

Connext DDS Micro Source Code

The RTI Connext DDS Micro source code is available from RTI's support portal.

Conformance Tools

RTI does not distribute the FACE conformance tools.

CMake

The RTI Connext DDS Micro source is distributed with a CMakeList.txt project files. CMake is an easy to use tool that generates makefiles or project files for various build-tools, such has UNIX makefiles, Microsoft Visual Studio project files, and Xcode.

CMake can be downloaded from www.cmake.org

FACE Golden Libraries

The FACE conformance tools uses a set of golden libraries. There are different golden libraries for difference FACE services, languages and profiles. RTI Connext DDS Micro only confirms to the safetyExt and safety profile of OSS using the C language.

Building the libraries

The FACE conformance tools ships with its own set of tools to build the golden libraries. Please follow the instructions provided by FACE. In order to build the FACE golden libraries it is necessary to port to the required platform. RTI has only tested RTI Connext DDS Micro on Linux 2.6 with GCC 4.4.5. For completeness the comlete list of all the files modified by RTI are included below in source form.

Modified Files

FACEConformanceTestSuite-2.0.12_rti/compilerSpecific/C/allowedDefinitions/CompilerSpecific.c

#include "CompilerSpecific.h"
void __stack_chk_fail()
{}
/* Place any required function stubs for the compiler/linker used for test */
/* i.e. __main(),_start, etc... */
/* This is just a placeholder...please replace */
void no_required_functions()
{
}
#define POSSIBLY_NEEDED_ON_WINDOWS
#ifdef POSSIBLY_NEEDED_ON_WINDOWS
int __main(int argc, const char **argv)
{
}
int _main(void) { }
int _start() { }
int __stack_chk_fail_local()
{
}
#endif

FACEConformanceTestSuite-2.0.12_rti/compilerSpecific/C/allowedDefinitions/CompilerSpecific.h

#ifndef COMPILER_SPECIFIC_H
#define COMPILER_SPECIFIC_H
/* Place any required function definitions for the compiler/linker used for test */
/* i.e. __main(),_start, etc... */
/* This is just a placeholder...please replace */
void no_required_functions();
extern int __stack_chk_fail_local();
extern int _main(void);
extern int _start(void);
#endif /* COMPILER_SPECIFIC_H */

FACEConformanceTestSuite-2.0.12_rti/compilerSpecific/C/systemLibraryDefinitions/CONFORMANCE_TEST_FACE_EXACT_TYPES.h

typedef signed char FACE_int8_t; // signed 8-bit integer
typedef signed short FACE_int16_t; // signed 16-bit integer
typedef signed int FACE_int32_t; // signed 32-bit integer
typedef signed long long FACE_int64_t; // signed 64-bit integer
typedef unsigned char FACE_uint8_t; // unsigned 8-bit integer
typedef unsigned short FACE_uint16_t; // unsigned 16-bit integer
typedef unsigned int FACE_uint32_t; // unsigned 32-bit integer
typedef unsigned long long FACE_uint64_t; // unsigned 64-bit integer
typedef unsigned int FACE_size_t; // unsigned integer type of the result of sizeof()

FACEConformanceTestSuite-2.0.12_rti/compilerSpecific/C/systemLibraryDefinitions/CONFORMANCE_TEST_FACE_NULL.h

#define FACE_NULL 0 // define NULL here

FACEConformanceTestSuite-2.0.12_rti/goldStandardLibraries/C/include/face/FaceDefs.h

/*
FaceDefs.h
Created on: Jun 5, 2013
Author: dogburn
*/
#ifndef FACEDEFS_H_
#define FACEDEFS_H_
#include<stdbool.h>
#include<wchar.h>
typedef unsigned long FACE_unsigned_long;
typedef long FACE_long;
typedef bool FACE_boolean;
typedef long long int FACE_long_long;
typedef char FACE_char;
typedef unsigned long long FACE_unsigned_long_long;
typedef unsigned short FACE_unsigned_short;
typedef long double FACE_long_double;
typedef double FACE_double;
typedef wchar_t FACE_wchar;
typedef char FACE_octet;
typedef float FACE_float;
typedef short int FACE_short;
typedef unsigned int size_t;
#endif /* FACEDEFS_H_ */

FACEConformanceTestSuite-2.0.12_rti/goldStandardLibraries/C/Makefile.POSIX

include Makefile.env
# Values used from Makefile.env
CC = $(FACE_CC)
CFLAGS = $(FACE_CFLAGS) $(FACE_COMPILER_SPECIFIC_CFLAGS) $(FACE_POSIX_CFLAGS)
AR = $(FACE_AR)
AR_FLAGS = $(FACE_AR_FLAGS)
OBJECT_SUFFIX=$(FACE_OBJ_SUFFIX)
LANG_SUFFIX = $(FACE_LANG_SUFFIX)
GENERAL_GOLD_LIB= posixGeneralGoldLib.a
GENERAL_SRCS = $(wildcard src/OSS/POSIX/general/*$(LANG_SUFFIX)) $(wildcard src/OSS/POSIX/general/*/*$(LANG_SUFFIX))
GENERAL_OBJS = $(patsubst %$(LANG_SUFFIX),%$(OBJECT_SUFFIX),$(GENERAL_SRCS))
GENERAL_LIMITED_GOLD_LIB= posixGeneralLimitedGoldLib.a
GENERAL_LIMITED_SRCS = $(wildcard src/OSS/POSIX/general_limited/*$(LANG_SUFFIX)) $(wildcard src/OSS/POSIX/general_limited/*/*$(LANG_SUFFI
X))
GENERAL_LIMITED_OBJS = $(patsubst %$(LANG_SUFFIX),%$(OBJECT_SUFFIX),$(GENERAL_LIMITED_SRCS))
SAFETY_BASE_GOLD_LIB= posixSafetyBaseGoldLib.a
SAFETY_BASE_SRCS = $(wildcard src/OSS/POSIX/safetyBase/*$(LANG_SUFFIX)) $(wildcard src/OSS/POSIX/safetyBase/*/*$(LANG_SUFFIX))
SAFETY_BASE_OBJS = $(patsubst %$(LANG_SUFFIX),%$(OBJECT_SUFFIX),$(SAFETY_BASE_SRCS))
SAFETY_BASE_LIMITED_GOLD_LIB= posixSafetyBaseLimitedGoldLib.a
SAFETY_BASE_LIMITED_SRCS = $(wildcard src/OSS/POSIX/safetyBase_limited/*$(LANG_SUFFIX)) $(wildcard src/OSS/POSIX/safetyBase_limited/*/*$(L
ANG_SUFFIX))
SAFETY_BASE_LIMITED_OBJS = $(patsubst %$(LANG_SUFFIX),%$(OBJECT_SUFFIX),$(SAFETY_BASE_LIMITED_SRCS))
SAFETY_EXT_GOLD_LIB= posixSafetyExtGoldLib.a
SAFETY_EXT_SRCS = $(wildcard src/OSS/POSIX/safetyExt/*$(LANG_SUFFIX)) $(wildcard src/OSS/POSIX/safetyExt/*/*$(LANG_SUFFIX))
SAFETY_EXT_OBJS = $(patsubst %$(LANG_SUFFIX),%$(OBJECT_SUFFIX),$(SAFETY_EXT_SRCS))
SAFETY_EXT_LIMITED_GOLD_LIB= posixSafetyExtLimitedGoldLib.a
SAFETY_EXT_LIMITED_SRCS = $(wildcard src/OSS/POSIX/safetyExt_limited/*$(LANG_SUFFIX)) $(wildcard src/OSS/POSIX/safetyExt_limited/*/*$(LANG
_SUFFIX))
SAFETY_EXT_LIMITED_OBJS = $(patsubst %$(LANG_SUFFIX),%$(OBJECT_SUFFIX),$(SAFETY_EXT_LIMITED_SRCS))
SAFETY_EXT_NO_FORK_GOLD_LIB= posixSafetyExtNoForkGoldLib.a
SAFETY_EXT_NO_FORK_SRCS = $(wildcard src/OSS/POSIX/safetyExt_nofork/*$(LANG_SUFFIX)) $(wildcard src/OSS/POSIX/safetyExt_nofork/*/*$(LANG_S
UFFIX))
SAFETY_EXT_NO_FORK_OBJS = $(patsubst %$(LANG_SUFFIX),%$(OBJECT_SUFFIX),$(SAFETY_EXT_NO_FORK_SRCS))
SECURITY_GOLD_LIB= posixSecurityGoldLib.a
SECURITY_SRCS = $(wildcard src/OSS/POSIX/security/*$(LANG_SUFFIX)) $(wildcard src/OSS/POSIX/security/*/*$(LANG_SUFFIX))
SECURITY_OBJS = $(patsubst %$(LANG_SUFFIX),%$(OBJECT_SUFFIX),$(SECURITY_SRCS))
SECURITY_LIMITED_GOLD_LIB= posixSecurityLimitedGoldLib.a
SECURITY_LIMITED_SRCS = $(wildcard src/OSS/POSIX/security_limited/*$(LANG_SUFFIX)) $(wildcard src/OSS/POSIX/security_limited/*/*$(LANG_SUF
FIX))
SECURITY_LIMITED_OBJS = $(patsubst %$(LANG_SUFFIX),%$(OBJECT_SUFFIX),$(SECURITY_LIMITED_SRCS))
GOLD_LIBS = $(GENERAL_GOLD_LIB) $(SAFETY_BASE_GOLD_LIB) $(SAFETY_EXT_GOLD_LIB) $(SECURITY_GOLD_LIB) $(GENERAL_LIMITED_GOLD_LIB) $(SAFETY_B
ASE_LIMITED_GOLD_LIB) $(SAFETY_EXT_LIMITED_GOLD_LIB) $(SAFETY_EXT_NO_FORK_GOLD_LIB) $(SECURITY_LIMITED_GOLD_LIB)
OBJS = $(GENERAL_OBJS) $(SAFETY_BASE_OBJS) $(SAFETY_EXT_OBJS) $(SECURITY_OBJS) $(GENERAL_LIMITED_OBJS) $(SAFETY_BASE_LIMITED_OBJS) $(SAFET
Y_EXT_LIMITED_OBJS) $(SAFETY_EXT_NO_FORK_OBJS) $(SECURITY_LIMITED_OBJS)
.PHONY: all, general safetyBase safetyExt security general_limited safetyBase_limited safetyExt_limited security_limited safetyExt_nofork
all: $(GOLD_LIBS) $(OBJS)
general: $(GENERAL_GOLD_LIB) $(GENERAL_OBJS)
safetyBase: $(SAFETY_BASE_GOLD_LIB) $(SAFETY_BASE_OBJS)
safetyExt: $(SAFETY_EXT_GOLD_LIB) $(SAFETY_EXT_OBJS)
security: $(SECURITY_GOLD_LIB) $(SECURITY_OBJS)
general_limited: $(GENERAL_LIMITED_GOLD_LIB) $(GENERAL_LIMITED_OBJS)
safetyBase_limited: $(SAFETY_BASE_LIMITED_GOLD_LIB) $(SAFETY_BASE_LIMITED_OBJS)
safetyExt_limited: $(SAFETY_EXT_LIMITED_GOLD_LIB) $(SAFETY_EXT_LIMITED_OBJS)
safetyExt_nofork: $(SAFETY_EXT_NO_FORK_GOLD_LIB) $(SAFETY_EXT_NO_FORK_OBJS)
security_limited: $(SECURITY_LIMITED_GOLD_LIB) $(SECURITY_LIMITED_OBJS)
print-%:
@echo '$*=$($*)'
# Makefile.env is included on dependencies since everytime the environment changes we need to rebuild everything
%$(OBJECT_SUFFIX): %$(LANG_SUFFIX) Makefile.env
$(CC) $(CFLAGS) -I$(@D) -I$(@D)/.. -o $@ -c $<
$(GENERAL_GOLD_LIB): $(GENERAL_OBJS)
$(AR) cr $(AR_FLAGS) $@ $?
$(SAFETY_BASE_GOLD_LIB): $(SAFETY_BASE_OBJS)
$(AR) cr $(AR_FLAGS) $@ $?
$(SAFETY_EXT_GOLD_LIB): $(SAFETY_EXT_OBJS)
$(AR) cr $(AR_FLAGS) $@ $?
$(SECURITY_GOLD_LIB): $(SECURITY_OBJS)
$(AR) cr $(AR_FLAGS) $@ $?
$(GENERAL_LIMITED_GOLD_LIB): $(GENERAL_LIMITED_OBJS)
$(AR) cr $(AR_FLAGS) $@ $?
$(SAFETY_BASE_LIMITED_GOLD_LIB): $(SAFETY_BASE_LIMITED_OBJS)
$(AR) cr $(AR_FLAGS) $@ $?
$(SAFETY_EXT_LIMITED_GOLD_LIB): $(SAFETY_EXT_LIMITED_OBJS)
$(AR) cr $(AR_FLAGS) $@ $?
$(SAFETY_EXT_NO_FORK_GOLD_LIB): $(SAFETY_EXT_NO_FORK_OBJS)
$(AR) cr $(AR_FLAGS) $@ $?
$(SECURITY_LIMITED_GOLD_LIB): $(SECURITY_LIMITED_OBJS)
$(AR) cr $(AR_FLAGS) $@ $?
.PHONY: clean
clean:
rm $(GOLD_LIBS) $(OBJS)

FACEConformanceTestSuite-2.0.12_rti/goldStandardLibraries/C/src/OSS/POSIX/general/FACE_primtypes.h

/*
Autogenerated code developed by the Institute for Software Integrated
Systems at Vanderbilt University in conjunction with the Future Airborne
Capability Environment (FACE) Consortium. Used to determine conformance
to the FACE standard
*/
#ifndef __FACE_CONFORM__FACE_primtypes_h__
#define __FACE_CONFORM__FACE_primtypes_h__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* restrict is not a keyword in C++ so define it away. */
#ifdef __cplusplus
#define restrict
#endif
#define restrict
/* Exact size types from stdint.h must be defined by typedef in the
header below.
int8_t as FACE_int8_t
int16_t as FACE_int16_t
int32_t as FACE_int32_t
uint8_t as FACE_uint8_t
uint16_t as FACE_uint16_t
uint32_t as FACE_uint32_t
size_t as FACE_size_t
If your system provides 64-bit integer types, you must also define
the following two types. Define these types and
__FACE_CONFORMANCE_TEST_HAS_64_BIT if and only if your
system has 64-bit integer types.
int64_t as FACE_int64_t
uint64_t as FACE_uint64_t
*/
#include <CONFORMANCE_TEST_FACE_NULL.h>
/* Exact size types from stdint.h must be defined by typedef in the
header below.
int8_t as FACE_int8_t
int16_t as FACE_int16_t
int32_t as FACE_int32_t
uint8_t as FACE_uint8_t
uint16_t as FACE_uint16_t
uint32_t as FACE_uint32_t
size_t as FACE_size_t
If your system provides 64-bit integer types, you must also define
the following two types. Define these types and
__FACE_CONFORMANCE_TEST_HAS_64_BIT if and only if your
system has 64-bit integer types.
int64_t as FACE_int64_t
uint64_t as FACE_uint64_t
*/
/* Exact size types from stdint.h must be defined by typedef in the
header below.
int8_t as FACE_int8_t
int16_t as FACE_int16_t
int32_t as FACE_int32_t
uint8_t as FACE_uint8_t
uint16_t as FACE_uint16_t
uint32_t as FACE_uint32_t
size_t as FACE_size_t
If your system provides 64-bit integer types, you must also define
the following two types. Define these types and
__FACE_CONFORMANCE_TEST_HAS_64_BIT if and only if your
system has 64-bit integer types.
int64_t as FACE_int64_t
uint64_t as FACE_uint64_t
*/
#include <CONFORMANCE_TEST_FACE_NULL.h>
/* Exact size types from stdint.h must be defined by typedef in the
header below.
int8_t as FACE_int8_t
int16_t as FACE_int16_t
int32_t as FACE_int32_t
uint8_t as FACE_uint8_t
uint16_t as FACE_uint16_t
uint32_t as FACE_uint32_t
size_t as FACE_size_t
If your system provides 64-bit integer types, you must also define
the following two types. Define these types and
__FACE_CONFORMANCE_TEST_HAS_64_BIT if and only if your
system has 64-bit integer types.
int64_t as FACE_int64_t
uint64_t as FACE_uint64_t
*/
#include <CONFORMANCE_TEST_FACE_EXACT_TYPES.h>
/* NULL from stddef.h and cstddef et al is implementation
dependent. Define FACE_NULL as your compiler defines
NULL.
For example, if your compiler defines NULL like this:
#undef NULL
#if defined(__cplusplus)
#define NULL 0
#else
#define NULL ((void *)0)
#endif
Then add the following to the header below:
#undef FACE_NULL
#if defined(__cplusplus)
#define FACE_NULL 0
#else
#define FACE_NULL ((void *)0)
#endif
*/
#include <CONFORMANCE_TEST_FACE_NULL.h>
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __FACE_CONFORM__FACE_primtypes_h__ */

FACEConformanceTestSuite-2.0.12_rti/goldStandardLibraries/C/src/OSS/POSIX/general/stdarg.h

/*
Autogenerated code developed by the Institute for Software Integrated
Systems at Vanderbilt University in conjunction with the Future Airborne
Capability Environment (FACE) Consortium. Used to determine conformance
to the FACE standard
*/
#ifndef __FACE_CONFORM__stdarg_h__
#define __FACE_CONFORM__stdarg_h__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#include <FACE_primtypes.h>
#ifndef __FACE_CONFORM____VA_LIST__
#define __FACE_CONFORM____VA_LIST__
typedef struct {
int __0;
int __1;
} va_list;
#endif /* __FACE_CONFORM____VA_LIST__ */
#define va_start(ap, argN)
#define va_copy(dest, src)
#define va_arg(ap, t) (t)(0)
#define va_end(ap)
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __FACE_CONFORM__stdarg_h__ */

FACEConformanceTestSuite-2.0.12_rti/goldStandardLibraries/C/src/OSS/POSIX/general/string.h

/*
Autogenerated code developed by the Institute for Software Integrated
Systems at Vanderbilt University in conjunction with the Future Airborne
Capability Environment (FACE) Consortium. Used to determine conformance
to the FACE standard
*/
#ifndef __FACE_CONFORM__string_h__
#define __FACE_CONFORM__string_h__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#include <FACE_primtypes.h>
#include <stddef.h>
#ifndef __FACE_CONFORM___NULL
#define __FACE_CONFORM___NULL
#define NULL FACE_NULL
#endif
typedef unsigned int size_t;
#if 1 /* ifndef __FACE_CONFORM____SIZE_T__ */
#define __FACE_CONFORM____SIZE_T__
typedef FACE_size_t size_t;
#endif /* __FACE_CONFORM____SIZE_T__ */
#ifndef __FACE_CONFORM____LOCALE_T__
#define __FACE_CONFORM____LOCALE_T__
typedef struct {
int __0;
int __1;
} locale_t;
#endif /* __FACE_CONFORM____LOCALE_T__ */
void * memchr(const void *, int, size_t);
int memcmp(const void *, const void *, size_t);
void * memcpy(void *restrict, const void *restrict, size_t);
void * memmove(void *, const void *, size_t);
void * memset(void *, int, size_t);
char * strcat(char *restrict, const char *restrict);
char * strchr(const char *, int);
int strcmp(const char *, const char *);
int strcoll(const char *, const char *);
char * strcpy(char *restrict, const char *restrict);
size_t strcspn(const char *, const char *);
char * strerror(int);
int strerror_r(int, char *, size_t);
size_t strlen(const char *);
char * strncat(char *restrict, const char *restrict, size_t);
int strncmp(const char *, const char *, size_t);
char * strncpy(char *restrict, const char *restrict, size_t);
char * strpbrk(const char *, const char *);
char * strrchr(const char *, int);
size_t strspn(const char *, const char *);
char * strstr(const char *, const char *);
char * strtok(char *restrict, const char *restrict);
char * strtok_r(char *restrict, const char *restrict, char **restrict);
size_t strxfrm(char *restrict, const char *restrict, size_t);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __FACE_CONFORM__string_h__ */

FACEConformanceTestSuite-2.0.12_rti/goldStandardLibraries/C/src/OSS/POSIX/safetyBase/FACE_primtypes.h

/*
Autogenerated code developed by the Institute for Software Integrated
Systems at Vanderbilt University in conjunction with the Future Airborne
Capability Environment (FACE) Consortium. Used to determine conformance
to the FACE standard
*/
#ifndef __FACE_CONFORM__FACE_primtypes_h__
#define __FACE_CONFORM__FACE_primtypes_h__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* restrict is not a keyword in C++ so define it away. */
#ifdef __cplusplus
#define restrict
#endif
#define restrict
/* Exact size types from stdint.h must be defined by typedef in the
header below.
int8_t as FACE_int8_t
int16_t as FACE_int16_t
int32_t as FACE_int32_t
uint8_t as FACE_uint8_t
uint16_t as FACE_uint16_t
uint32_t as FACE_uint32_t
size_t as FACE_size_t
If your system provides 64-bit integer types, you must also define
the following two types. Define these types and
__FACE_CONFORMANCE_TEST_HAS_64_BIT if and only if your
system has 64-bit integer types.
int64_t as FACE_int64_t
uint64_t as FACE_uint64_t
*/
#include <CONFORMANCE_TEST_FACE_NULL.h>
/* Exact size types from stdint.h must be defined by typedef in the
header below.
int8_t as FACE_int8_t
int16_t as FACE_int16_t
int32_t as FACE_int32_t
uint8_t as FACE_uint8_t
uint16_t as FACE_uint16_t
uint32_t as FACE_uint32_t
size_t as FACE_size_t
If your system provides 64-bit integer types, you must also define
the following two types. Define these types and
__FACE_CONFORMANCE_TEST_HAS_64_BIT if and only if your
system has 64-bit integer types.
int64_t as FACE_int64_t
uint64_t as FACE_uint64_t
*/
/* Exact size types from stdint.h must be defined by typedef in the
header below.
int8_t as FACE_int8_t
int16_t as FACE_int16_t
int32_t as FACE_int32_t
uint8_t as FACE_uint8_t
uint16_t as FACE_uint16_t
uint32_t as FACE_uint32_t
size_t as FACE_size_t
If your system provides 64-bit integer types, you must also define
the following two types. Define these types and
__FACE_CONFORMANCE_TEST_HAS_64_BIT if and only if your
system has 64-bit integer types.
int64_t as FACE_int64_t
uint64_t as FACE_uint64_t
*/
#include <CONFORMANCE_TEST_FACE_NULL.h>
/* Exact size types from stdint.h must be defined by typedef in the
header below.
int8_t as FACE_int8_t
int16_t as FACE_int16_t
int32_t as FACE_int32_t
uint8_t as FACE_uint8_t
uint16_t as FACE_uint16_t
uint32_t as FACE_uint32_t
size_t as FACE_size_t
If your system provides 64-bit integer types, you must also define
the following two types. Define these types and
__FACE_CONFORMANCE_TEST_HAS_64_BIT if and only if your
system has 64-bit integer types.
int64_t as FACE_int64_t
uint64_t as FACE_uint64_t
*/
#include <CONFORMANCE_TEST_FACE_EXACT_TYPES.h>
/* NULL from stddef.h and cstddef et al is implementation
dependent. Define FACE_NULL as your compiler defines
NULL.
For example, if your compiler defines NULL like this:
#undef NULL
#if defined(__cplusplus)
#define NULL 0
#else
#define NULL ((void *)0)
#endif
Then add the following to the header below:
#undef FACE_NULL
#if defined(__cplusplus)
#define FACE_NULL 0
#else
#define FACE_NULL ((void *)0)
#endif
*/
#include <CONFORMANCE_TEST_FACE_NULL.h>
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __FACE_CONFORM__FACE_primtypes_h__ */

FACEConformanceTestSuite-2.0.12_rti/goldStandardLibraries/C/src/OSS/POSIX/safetyExt/FACE_primtypes.h

/*
Autogenerated code developed by the Institute for Software Integrated
Systems at Vanderbilt University in conjunction with the Future Airborne
Capability Environment (FACE) Consortium. Used to determine conformance
to the FACE standard
*/
#ifndef __FACE_CONFORM__FACE_primtypes_h__
#define __FACE_CONFORM__FACE_primtypes_h__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/* restrict is not a keyword in C++ so define it away. */
#ifdef __cplusplus
#define restrict
#endif
#define restrict
/* Exact size types from stdint.h must be defined by typedef in the
header below.
int8_t as FACE_int8_t
int16_t as FACE_int16_t
int32_t as FACE_int32_t
uint8_t as FACE_uint8_t
uint16_t as FACE_uint16_t
uint32_t as FACE_uint32_t
size_t as FACE_size_t
If your system provides 64-bit integer types, you must also define
the following two types. Define these types and
__FACE_CONFORMANCE_TEST_HAS_64_BIT if and only if your
system has 64-bit integer types.
int64_t as FACE_int64_t
uint64_t as FACE_uint64_t
*/
#include <CONFORMANCE_TEST_FACE_NULL.h>
/* Exact size types from stdint.h must be defined by typedef in the
header below.
int8_t as FACE_int8_t
int16_t as FACE_int16_t
int32_t as FACE_int32_t
uint8_t as FACE_uint8_t
uint16_t as FACE_uint16_t
uint32_t as FACE_uint32_t
size_t as FACE_size_t
If your system provides 64-bit integer types, you must also define
the following two types. Define these types and
__FACE_CONFORMANCE_TEST_HAS_64_BIT if and only if your
system has 64-bit integer types.
int64_t as FACE_int64_t
uint64_t as FACE_uint64_t
*/
/* Exact size types from stdint.h must be defined by typedef in the
header below.
int8_t as FACE_int8_t
int16_t as FACE_int16_t
int32_t as FACE_int32_t
uint8_t as FACE_uint8_t
uint16_t as FACE_uint16_t
uint32_t as FACE_uint32_t
size_t as FACE_size_t
If your system provides 64-bit integer types, you must also define
the following two types. Define these types and
__FACE_CONFORMANCE_TEST_HAS_64_BIT if and only if your
system has 64-bit integer types.
int64_t as FACE_int64_t
uint64_t as FACE_uint64_t
*/
#include <CONFORMANCE_TEST_FACE_NULL.h>
/* Exact size types from stdint.h must be defined by typedef in the
header below.
int8_t as FACE_int8_t
int16_t as FACE_int16_t
int32_t as FACE_int32_t
uint8_t as FACE_uint8_t
uint16_t as FACE_uint16_t
uint32_t as FACE_uint32_t
size_t as FACE_size_t
If your system provides 64-bit integer types, you must also define
the following two types. Define these types and
__FACE_CONFORMANCE_TEST_HAS_64_BIT if and only if your
system has 64-bit integer types.
int64_t as FACE_int64_t
uint64_t as FACE_uint64_t
*/
#include <CONFORMANCE_TEST_FACE_EXACT_TYPES.h>
/* NULL from stddef.h and cstddef et al is implementation
dependent. Define FACE_NULL as your compiler defines
NULL.
For example, if your compiler defines NULL like this:
#undef NULL
#if defined(__cplusplus)
#define NULL 0
#else
#define NULL ((void *)0)
#endif
Then add the following to the header below:
#undef FACE_NULL
#if defined(__cplusplus)
#define FACE_NULL 0
#else
#define FACE_NULL ((void *)0)
#endif
*/
#include <CONFORMANCE_TEST_FACE_NULL.h>
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __FACE_CONFORM__FACE_primtypes_h__ */

FACEConformanceTestSuite-2.0.12_rti/goldStandardLibraries/C/src/OSS/POSIX/safetyExt/stdarg.h

/*
Autogenerated code developed by the Institute for Software Integrated
Systems at Vanderbilt University in conjunction with the Future Airborne
Capability Environment (FACE) Consortium. Used to determine conformance
to the FACE standard
*/
#ifndef __FACE_CONFORM__stdarg_h__
#define __FACE_CONFORM__stdarg_h__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#include <FACE_primtypes.h>
#ifndef __FACE_CONFORM____VA_LIST__
#define __FACE_CONFORM____VA_LIST__
typedef struct {
int __0;
int __1;
} va_list;
#endif /* __FACE_CONFORM____VA_LIST__ */
#define va_start(ap, argN)
#define va_arg(ap, t) (t)(0)
#define va_end(ap)
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __FACE_CONFORM__stdarg_h__ */

FACEConformanceTestSuite-2.0.12_rti/compilerSpecific/C/Makefile.env

FACE_CC = gcc
FACE_MAKE = make
FACE_CFLAGS = -std=c99 -fno-builtin -nostdinc
FACE_LD = gcc
FACE_LD_FLAGS = -nodefaultlibs -nostartfiles
FACE_AR = ar
FACE_AR_FLAGS =
FACE_LOG_DIR = ../../logFiles
FACE_LANG_SUFFIX = .c
FACE_OBJ_SUFFIX = .o
FACE_EXEC_SUFFIX =
FACE_COMPILER_SPECIFIC_CFLAGS = -I../../compilerSpecific/C/systemLibraryDefinitions

FACEConformanceTestSuite-2.0.12_rti/conformanceInterfaceTests/C/OSS/POSIX/Makefile.env

FACE_CC = gcc
FACE_MAKE = make
FACE_CFLAGS = -std=c99 -fno-builtin -nostdinc -I/home/tron/test/FACEConformanceTestSuite-2.0.12/compilerSpecific/C/systemLibraryDefiniti
ons -I/home/tron/test/FACEConformanceTestSuite-2.0.12/goldStandardLibraries/C/src/OSS/POSIX/safetyBase
FACE_LD = gcc
FACE_LD_FLAGS = -nodefaultlibs -nostartfiles
FACE_AR = ar
FACE_AR_FLAGS =
FACE_LOG_DIR = /home/tron/test/FACEConformanceTestSuite-2.0.12/logFiles
FACE_LANG_SUFFIX = .c
FACE_OBJ_SUFFIX = .o
FACE_EXEC_SUFFIX =
FACE_GOLD_LIBS = ../../../../compilerSpecific/C/compilerSpecificGoldLib.a /home/tron/test/FACEConformanceTestSuite-2.0.12/goldStandardLibr
aries/C/posixSafetyBaseGoldLib.a
FACE_SEGMENT_OBJS =

FACEConformanceTestSuite-2.0.12_rti/goldStandardLibraries/C/Makefile.env

FACE_CC = gcc
FACE_MAKE = make
FACE_CFLAGS = -std=c99 -fno-builtin -nostdinc
FACE_LD = gcc
FACE_LD_FLAGS = -nodefaultlibs -nostartfiles
FACE_AR = ar
FACE_AR_FLAGS =
FACE_LOG_DIR = ../../logFiles
FACE_LANG_SUFFIX = .c
FACE_OBJ_SUFFIX = .o
FACE_EXEC_SUFFIX =
FACE_COMPILER_SPECIFIC_CFLAGS = -I../../compilerSpecific/C/systemLibraryDefinitions

Building the libraries

Change into the directory:

FACEConformanceTestSuite-2.0.12_rti/goldStandardLibraries/C

make -f Makefile.POSIX

This command will compile the golden OSS POSIX libraries (all profiles).

Building the RTI Connext DDS Micro Source

The following is step by step instructions on how to built the RTI Connext DDS Micro source:


RTI Connext DDS Micro Version 2.4.11 Copyright © Mon Jul 23 2018 Real-Time Innovations, Inc