Move macro definition to top of file
[emu8051.git] / configure.ac
index 8b7ed65..6bd5d18 100644 (file)
@@ -1,10 +1,10 @@
 # configure.ac -- Process this file with autoconf to produce configure
 
 dnl Initialization stuff.
-AC_INIT([emu8051], [1.1.2], [hugo@hugovil.com], [emu8051],
+AC_INIT([emu8051], [2.0.0], [hugo@hugovil.com], [emu8051],
        [http://www.hugovil.com/fr/emu8051/])
 AC_CONFIG_AUX_DIR([build-aux])
-AC_CONFIG_SRCDIR(src/cpu8051.c)
+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)
@@ -13,13 +13,17 @@ AM_SILENT_RULES([yes])
 dnl Testing the C compiler.
 AC_LANG_C
 
+dnl Testing for libtool support.
+AC_PROG_RANLIB
+AM_PROG_AR
+
 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 Basic warning CFLAGS values
+WARNINGCFLAGS="-Wall -Wextra -Wformat -Wformat-security"
 
 PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.26.0])
 AC_SUBST(GLIB_CFLAGS)
@@ -78,9 +82,30 @@ 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"])
 
-AC_SUBST(CFLAGS)
+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/Makefile data/Makefile doc/Makefile tests/Makefile)
+AC_OUTPUT(Makefile
+    src/common/Makefile
+    src/cli/Makefile
+    src/gtk/Makefile
+    data/Makefile
+    doc/Makefile
+    tests/Makefile)