configure.ac 5.92 KB
Newer Older
1
AC_PREREQ(2.60)
2
AC_INIT(PolyORB-HI/C, 1.0w, taste-dev@lists.tuxfamily.org)
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
AC_CONFIG_SRCDIR(src)
AC_CONFIG_AUX_DIR(support)

AC_CANONICAL_HOST
AM_INIT_AUTOMAKE([1.9 tar-pax] foreign)
AM_CONFIG_HEADER(include/po_hi_config.h)

CFLAGS="-Wall -O"
AC_PROG_CC
AC_LANG_C
AC_PROG_INSTALL

## We need some external programs in order to build
## PolyORB-HI-C and its documentation.

AC_CHECK_PROG(MV, mv, mv)
AC_CHECK_PROG(RM, rm, rm)
AC_CHECK_PROG(CP, cp, cp)
AC_CHECK_PROG(GREP, grep, grep)
AC_CHECK_PROG(CHMOD, chmod, chmod)
AC_CHECK_PROG(TEX, tex, tex)
AC_CHECK_PROG(BIBTEX, bibtex, bibtex)

AC_HEADER_STDBOOL

AC_CHECK_SIZEOF(char)
AC_CHECK_SIZEOF(float)
AC_CHECK_SIZEOF(double)
AC_CHECK_SIZEOF(long double)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(unsigned int)
AC_CHECK_SIZEOF(long int)
AC_CHECK_SIZEOF(unsigned long int)
AC_CHECK_SIZEOF(short int)
AC_CHECK_SIZEOF(unsigned short int)

AC_CHECK_FUNC(clock_gettime, AC_DEFINE(HAVE_CLOCK_GETTIME, [], [Check if the system supports the clock_gettime function]),)

AC_C_BIGENDIAN

##################################################
# Set CFLAGS and LDFLAGS for the native platform #
##################################################

NATIVE_CFLAGS="-DPOSIX"
NATIVE_LDFLAGS=""
SIMULINK_LDFLAGS=""

case ${host_os} in
	*darwin*)
		NATIVE_CFLAGS="${NATIVE_CFLAGS} -DNEED_CLOCK_GETTIME"
		NATIVE_LDFLAGS="${NATIVE_LDFLAGS} -lpthread"
		;;
	*solaris*10*)
		NATIVE_LDFLAGS="${NATIVE_LDFLAGS} -lrt"
		;;
jdelange's avatar
jdelange committed
59 60 61 62 63
	*freebsd*)
		NATIVE_CFLAGS="${NATIVE_CFLAGS} -D_GNU_SOURCE"
		NATIVE_LDFLAGS="${NATIVE_LDFLAGS} -lpthread -lrt"
		SIMULINK_LDFLAGS="-lm"
		;;
64
	*)
65
		NATIVE_CFLAGS="${NATIVE_CFLAGS} -D_POSIX_SOURCE -D_GNU_SOURCE"
66 67 68 69 70 71
		NATIVE_LDFLAGS="${NATIVE_LDFLAGS} -lpthread -lrt"
		SIMULINK_LDFLAGS="-lm"
		;;
esac

AC_CHECK_LIB(socket, socket, [NATIVE_LDFLAGS="${NATIVE_LDFLAGS} -lsocket"])
72

73 74 75 76 77 78 79 80 81 82 83 84
AC_SUBST(NATIVE_CFLAGS)
AC_SUBST(NATIVE_LDFLAGS)
AC_SUBST(SIMULINK_LDFLAGS)

##########################################
# Check for Ocarina
##########################################

AM_PATH_OCARINA(1.1, ,AC_MSG_ERROR([Ocarina 1.1 or later is not installed on you
r system]))

AC_ARG_ENABLE(debug,
julien.delange's avatar
julien.delange committed
85 86 87 88 89 90 91 92
  [  --enable-debug[=level] specify debugging level.
                            Values are:
                             * critical - runtime errors that will imply a failure
                             * warning  - runtime errors that do not crash the system
                             * debug    - useful for debugging purpose
                             * info     - ALL informations about the system],
  [ case ${enableval} in
	info)
93
      AC_DEFINE_UNQUOTED(__PO_HI_DEBUG_LEVEL, 12, "Debug level - show ALL potential informations.")
julien.delange's avatar
julien.delange committed
94 95
		;;
	debug)
96
      AC_DEFINE_UNQUOTED(__PO_HI_DEBUG_LEVEL, 10, "Warning - information that can show errors but are not so important")
julien.delange's avatar
julien.delange committed
97 98
		;;
	warning)
jdelange's avatar
jdelange committed
99 100 101
      AC_DEFINE_UNQUOTED(__PO_HI_DEBUG_LEVEL, 6, "Warning - Errors that will imply a minor error at run-tine")
		;;
	critical)
julien.delange's avatar
julien.delange committed
102 103 104 105 106 107
      AC_DEFINE_UNQUOTED(__PO_HI_DEBUG_LEVEL, 4, "Critical - Errors that will imply a fault or a crash")
		;;
	*)
      AC_DEFINE_UNQUOTED(__PO_HI_DEBUG_LEVEL, 0, "None - Do not print anything")
		;;
   esac])
108 109 110 111 112

AC_ARG_ENABLE(giop,
  [  --enable-giop           Use the GIOP protocol],
  [ AC_DEFINE([__PO_HI_USE_GIOP], [], ["Enable the GIOP protocol"])])

jdelange's avatar
jdelange committed
113 114 115 116
AC_ARG_ENABLE(lua,
  [  --enable-lua            Use the LUA script engine],
  [ AC_DEFINE([__PO_HI_USE_LUA], [], ["Enable the LUA script engine"])])

117 118 119 120 121 122 123 124 125 126 127
############################################
# Set the value corresponding to cygpath -u
############################################

if test x"$CYGPATH_W" = x"echo"; then
   CYGPATH_U="echo"
else
   CYGPATH_U="cygpath -u"
fi
AC_SUBST(CYGPATH_U)

128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
##########################################
# Build documentation
##########################################

AC_CHECK_PROGS(TEXI2HTML, texi2html)

DOC_DIR=

AC_ARG_ENABLE(doc,
[  --enable-doc            Build documentation [default=no]],
[if [[ "$enableval" = "yes" ]]; then
        DOC_DIR=doc
fi],
[])

AC_SUBST(DOC_DIR)

145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
###############################################################
# Force the installation prefix to be equal to the Ocarina one
###############################################################

prefix='$(OCARINA_PREFIX)'

##########################################
# Output generated files
##########################################

dnl Important! One file per line, nothing before
dnl or after except whitespace! This section
dnl may, one day, be edited automatically to remove
dnl some entries.

AC_OUTPUT([
	Makefile 
	doc/Makefile 
	src/Makefile 
164
	src/drivers/Makefile 
165
	src/drivers/configuration/Makefile 
166
	include/Makefile 
167
	include/drivers/Makefile 
168
	include/drivers/configuration/Makefile 
169 170 171 172 173 174 175 176 177 178 179
	examples/Makefile
	examples/aadlv1/Makefile
	examples/aadlv1/d3.1.3-1/Makefile
	examples/aadlv1/ping/Makefile
	examples/aadlv1/flight-mgmt/Makefile
	examples/aadlv1/rma/Makefile
	examples/aadlv1/sunseeker/Makefile
	examples/aadlv2/Makefile
	examples/aadlv2/d3.1.3-1/Makefile
	examples/aadlv2/import/Makefile	
	examples/aadlv2/ping/Makefile
jdelange's avatar
jdelange committed
180
	examples/aadlv2/lua/Makefile
181 182
	examples/aadlv2/producer-consumer/Makefile
	examples/aadlv2/flight-mgmt/Makefile
jdelange's avatar
jdelange committed
183
	examples/aadlv2/monitor/Makefile
184
	examples/aadlv2/packet-store/Makefile
jdelange's avatar
jdelange committed
185
	examples/aadlv2/file-store/Makefile
186 187 188 189 190 191 192 193 194 195 196
	examples/aadlv2/rma/Makefile
	examples/aadlv2/some-types/Makefile
	examples/aadlv2/some-types-stdint/Makefile
	examples/aadlv2/sunseeker/Makefile
	tools/Makefile 
	tools/check-symbols/Makefile
	tools/check-symbols/examples/Makefile
	tools/check-symbols/examples/malloc/Makefile
	tools/check-symbols/examples/strings/Makefile
	tools/check-symbols/src/Makefile
	share/Makefile
197 198 199
	share/lua/Makefile
	share/lua/libs/Makefile
	share/lua/include/Makefile
200 201 202 203 204
	share/cheddar/Makefile
	share/models/Makefile
	share/ocarina/Makefile
	share/tsim/Makefile
	share/make/Makefile
205
	share/utils/Makefile
206 207 208 209
	share/make/Makefile.native
	share/config/Makefile
	share/config/spif-rtems/Makefile
	share/config/leon-rtems/Makefile
julien.delange's avatar
julien.delange committed
210
	share/config/nds-rtems/Makefile
julien.delange's avatar
julien.delange committed
211
	share/config/gumstix-rtems/Makefile
212 213 214 215
	support/Makefile
])