X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=configure.ac;h=0308b48f7004dbfca4b6d437b926423e94dc33fb;hb=HEAD;hp=218429210d4d63725c238d1c930d882985c3e89e;hpb=9cddfd237c6aff9a7a05c637ef7eac3b57580c31;p=emu8051.git diff --git a/configure.ac b/configure.ac index 2184292..0308b48 100644 --- a/configure.ac +++ b/configure.ac @@ -1,33 +1,56 @@ # configure.ac -- Process this file with autoconf to produce configure dnl Initialization stuff. -AC_INIT(emu8051, 1.1.2) -AC_CONFIG_AUX_DIR(config) -AC_CONFIG_SRCDIR(src/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) +AC_INIT([emu8051], [2.0.1], [hugo@hugovil.com], [emu8051], + [http://www.hugovil.com/emu8051/]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_SRCDIR(src/common/cpu8051.c) + +dnl -Wno-extra-portability: +dnl To get rid of message: +dnl linking libraries using a non-POSIX archiver requires 'AM_PROG_AR'... +dnl -Wall: +dnl Ask automake to turn on all warnings (not a gcc flag) +AM_INIT_AUTOMAKE([no-define gnits dist-bzip2 color-tests + -Wall -Wno-extra-portability]) AM_SILENT_RULES([yes]) +AM_CONFIG_HEADER(config.h:config-h.in) dnl Testing the C compiler. -AM_PROG_CC_C_O AC_LANG_C +dnl Testing for libtool support. +AM_PROG_LIBTOOL + +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 +AM_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 CFLAGS values -CFLAGS="${CFLAGS} -Wall" - -dnl Checks for '--enable-debug' option -HV_CHECK_FOR_DEBUG - -if test x"${debug_messages}" = x1; then -dnl -g is for GDB debugging - CFLAGS="${CFLAGS} -g -gdwarf-2 -g3" -fi +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) @@ -40,11 +63,14 @@ AC_ARG_ENABLE(gui, 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, CFLAGS="${CFLAGS} -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED", dnl + 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 @@ -54,37 +80,58 @@ fi AM_CONDITIONAL([USE_GTK], [test x${ac_cv_enable_gui} = xyes]) -AC_SUBST(CFLAGS) -AC_SUBST(LIBS) -AC_SUBST(ac_aux_dir) +dnl Try to locate valid 8051 assembler to generate test files (.hex) +run_tests=no -dnl Creating output file(s) -AC_OUTPUT(Makefile src/Makefile doc/Makefile) +AC_CHECK_PROG(AS504_CHECK,as504,yes) +if test x"$AS504_CHECK" = x"yes" ; then + run_tests=yes -echo \ -"--------------------------------------------------------------------------- -Configuration: + 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 - Install path: ${prefix} - Compiler: ${CC} - Compiler flags: ${CFLAGS} - Linker flags: ${LIBS}" +AC_CHECK_PROG(ASEM51_CHECK,asem,yes) +if test x"$ASEM51_CHECK" = x"yes" ; then + run_tests=yes +fi -echo -n " Build GUI: " -if test x"${ac_cv_enable_gui}" = xyes; then - echo "yes" -else - echo "no" +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 -echo -n " Debugging messages: " -if test x"${debug_messages}" = x1; then - echo "yes" +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 - echo "no" + AC_MSG_ERROR([Please install zlib and zlib-devel packages]) fi -echo \ -" - See config.h for further configuration information. ----------------------------------------------------------------------------" +AC_SUBST(WARNINGCFLAGS) +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)