File: configure.ac

package info (click to toggle)
emu8051 2.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 1,372 kB
  • sloc: ansic: 7,460; sh: 1,754; perl: 712; asm: 545; yacc: 234; makefile: 180; lex: 68
file content (132 lines) | stat: -rw-r--r-- 3,746 bytes parent folder | download
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
# configure.ac -- Process this file with autoconf to produce configure

dnl Initialization stuff.
AC_INIT([emu8051], [2.0.1], [hugo@hugovil.com], [emu8051],
	[http://www.hugovil.com/fr/emu8051/])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_SRCDIR(src/common/cpu8051.c)
AM_CONFIG_HEADER(config.h:config-h.in)
dnl Checking if the NEWS file has been updated to reflect the current version.
AM_INIT_AUTOMAKE(check-news -Wall std-options color-tests parallel-tests)
AM_SILENT_RULES([yes])

dnl Testing the C compiler.
AC_LANG_C

dnl Testing for libtool support.
AC_PROG_RANLIB
AM_PROG_AR

AC_ARG_WITH([readline],
            [AS_HELP_STRING([--without-readline], [disable support for readline])],
            [],
            [with_readline=yes])

LIBREADLINE=
    AS_IF([test "x$with_readline" != xno],
	  [AC_CHECK_LIB([readline], [main],
              [AC_SUBST([LIBREADLINE], ["-lreadline"])
               AC_DEFINE([HAVE_LIBREADLINE], [1],
                         [Define if you have libreadline])
              ],
              [AC_MSG_FAILURE(
                  [readline test failed (--without-readline to disable)])],
              []
)])

dnl Testing for Lex/Yacc
AC_PROG_LEX
AC_PROG_YACC

dnl Checking for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_PID_T
AC_TYPE_SIZE_T

dnl Basic warning CFLAGS values
WARNINGCFLAGS="-Wall -Wextra -Wformat -Wformat-security"

PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.26.0])
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)

dnl Checks for Gtk+-2.0
AC_ARG_ENABLE(gui,
	[  --enable-gui     Enable building the GUI (default=yes)],
	[ac_cv_enable_gui=$enableval], [ac_cv_enable_gui=yes])
AC_MSG_CHECKING([whether to build GUI])
if test x$ac_cv_enable_gui = xyes; then
	AC_MSG_RESULT(yes)
        PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.4.0, [], dnl
        ac_cv_enable_gui=no)

	if test x$ac_cv_enable_gui = xyes; then
	    AC_DEFINE([HAVE_GTK],1,[Set to 1 to enable GTK+ support for building GUI.])

	    GTK_CFLAGS="${GTK_CFLAGS} -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"

            AC_SUBST(GTK_CFLAGS)
            AC_SUBST(GTK_LIBS)
	fi
else
	AC_MSG_RESULT(no)
fi

AM_CONDITIONAL([USE_GTK], [test x${ac_cv_enable_gui} = xyes])

dnl Try to locate valid 8051 assembler to generate test files (.hex)
run_tests=no

AC_CHECK_PROG(AS504_CHECK,as504,yes)
if test x"$AS504_CHECK" = x"yes" ; then
    run_tests=yes

    dnl Check if as504 has been patched to support option -O:
    dnl See http://www.hugovil.com/repository/hvlinux/patches/as504-add-output-file-option.patch
    AS504HV_CHECK=no
    if as504 2>&1 | grep -q Ooutfile; then
        AS504HV_CHECK=yes
    fi
fi

AC_CHECK_PROG(ASEM51_CHECK,asem,yes)
if test x"$ASEM51_CHECK" = x"yes" ; then
    run_tests=yes
fi

if test x"$run_tests" != x"yes" ; then
    AC_MSG_WARN([Please install as504 (http://www.vanwal.nl/as504/) or ASEM-51 (http://plit.de/asem-51) to run test suite.])
fi

AM_CONDITIONAL([RUN_TESTS],[test x"$run_tests" = x"yes"])
AM_CONDITIONAL([USE_AS504HV],[test x"$AS504HV_CHECK" = x"yes"])
AM_CONDITIONAL([USE_AS504],[test x"$AS504_CHECK" = x"yes"])
AM_CONDITIONAL([USE_AS51],[test x"$ASEM51_CHECK" = x"yes"])

dnl zlib required for its crc32 function
ac_have_zlib=no

PKG_CHECK_MODULES([zlib], [zlib > 1.2.1],
		  [AC_CHECK_LIB([z], [crc32],
				[ac_have_zlib=yes],
				[ac_have_zlib=no])])

if test x"$ac_have_zlib" = x"yes" ; then
    ZLIB_LIBS='-lz'
    AC_SUBST(ZLIB_LIBS)
else
    AC_MSG_ERROR([Please install zlib and zlib-devel packages])
fi

AC_SUBST(WARNINGCFLAGS)
AC_SUBST(LIBS)
AC_SUBST(ac_aux_dir)

dnl Creating output file(s)
AC_OUTPUT(Makefile
    src/common/Makefile
    src/cli/Makefile
    src/gtk/Makefile
    data/Makefile
    doc/Makefile
    tests/Makefile)