- fix signed/unsigned build errors under win32. Thanks Zach Welch <zw@superlucidity...
[fw/openocd] / configure.in
index 79e546e8aebe49d590e228834bd0fa083950d217..039f7e0ba795a75553c82797d83ab637de3e3a71 100644 (file)
@@ -11,6 +11,7 @@ AC_CHECK_HEADERS(sys/param.h)
 AC_CHECK_HEADERS(sys/time.h)
 AC_CHECK_HEADERS(elf.h)
 AC_CHECK_HEADERS(strings.h)
+AC_CHECK_HEADERS(stdbool.h)
 
 AC_HEADER_TIME
 
@@ -27,6 +28,18 @@ build_bitq=no
 is_cygwin=no
 is_mingw=no
 is_win32=no
+build_release=yes
+
+AC_ARG_ENABLE(release,
+       AS_HELP_STRING([--enable-release], [Enable Release Build, default no]),
+       [build_release=$enableval], [build_release=no])
+
+if test $cross_compiling = no; then
+       if test $build_release = no; then
+               # check we can find guess-rev.sh
+               AC_CHECK_FILE("$srcdir/guess-rev.sh", build_release=no, build_release=yes)
+       fi
+fi
 
 # We are not *ALWAYS* being installed in the standard place.
 # We may be installed in a "tool-build" specific location.
@@ -67,7 +80,7 @@ AC_ARG_WITH(ftd2xx,
 # Option Given.
 cat << __EOF__
 
-The option: --with-ftd2xx=<PATH> has been removed replaced.
+The option: --with-ftd2xx=<PATH> has been removed.
 On Linux, the new option is:
   
   --with-ftd2xx-linux-tardir=/path/to/files
@@ -165,9 +178,18 @@ esac
 )
 
 AC_ARG_ENABLE(gccwarnings,
-       AS_HELP_STRING([--enable-gccwarnings], [Enable compiler warnings, default yes]),
+       AS_HELP_STRING([--disable-gccwarnings], [Disable compiler warnings]),
        [gcc_warnings=$enableval], [gcc_warnings=yes])
 
+AC_ARG_ENABLE(wextra,
+       AS_HELP_STRING([--disable-wextra], [Disable extra compiler warnings]),
+       [gcc_wextra=$enableval], [gcc_wextra=$gcc_warnings])
+
+AC_ARG_ENABLE(werror,
+       AS_HELP_STRING([--disable-werror], [Do not treat warnings as errors]),
+       [gcc_werror=$enableval], [gcc_werror=$gcc_warnings])
+
+
 AC_ARG_ENABLE(parport,
   AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]), 
   [build_parport=$enableval], [build_parport=no])
@@ -260,6 +282,10 @@ AC_ARG_ENABLE(rlink,
   AS_HELP_STRING([--enable-rlink], [Enable building support for the Raisonance RLink JTAG Programmer]),
   [build_rlink=$enableval], [build_rlink=no])
 
+AC_ARG_ENABLE(arm-jtag-ew,
+  AS_HELP_STRING([--enable-arm-jtag-ew], [Enable building support for the Olimex ARM-JTAG-EW Programmer]),
+  [build_armjtagew=$enableval], [build_armjtagew=no])
+
 case $host in 
   *-cygwin*) 
     is_win32=yes
@@ -435,6 +461,12 @@ else
   AC_DEFINE(BUILD_RLINK, 0, [0 if you don't want the RLink JTAG driver.])
 fi
 
+if test $build_armjtagew = yes; then
+  AC_DEFINE(BUILD_ARMJTAGEW, 1, [1 if you want the ARM-JTAG-EW JTAG driver.])
+else
+  AC_DEFINE(BUILD_ARMJTAGEW, 0, [0 if you don't want the ARM-JTAG-EW JTAG driver.])
+fi
+
 #-- Deal with MingW/Cygwin FTD2XX issues
 
 if test $is_win32 = yes; then
@@ -626,7 +658,9 @@ fi
 
 AM_CONFIG_HEADER(config.h)
 AM_INIT_AUTOMAKE(openocd, 1.0)
+AM_MAINTAINER_MODE
 
+AM_CONDITIONAL(RELEASE, test $build_release = yes)
 AM_CONDITIONAL(PARPORT, test $build_parport = yes)
 AM_CONDITIONAL(DUMMY, test $build_dummy = yes)
 AM_CONDITIONAL(GIVEIO, test $parport_use_giveio = yes)
@@ -647,6 +681,7 @@ AM_CONDITIONAL(OOCD_TRACE, test $build_oocd_trace = yes)
 AM_CONDITIONAL(JLINK, test $build_jlink = yes)
 AM_CONDITIONAL(VSLLINK, test $build_vsllink = yes)
 AM_CONDITIONAL(RLINK, test $build_rlink = yes)
+AM_CONDITIONAL(ARMJTAGEW, test $build_armjtagew = yes)
 AM_CONDITIONAL(IS_CYGWIN, test $is_cygwin = yes)
 AM_CONDITIONAL(IS_MINGW, test $is_mingw = yes)
 AM_CONDITIONAL(IS_WIN32, test $is_win32 = yes)
@@ -657,7 +692,13 @@ AC_PROG_CC
 AC_PROG_RANLIB
 
 # set default gcc warnings
-GCC_WARNINGS="-Wall -Wstrict-prototypes"
+GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security"
+if test "${gcc_wextra}" = yes; then
+       GCC_WARNINGS="${GCC_WARNINGS} -Wextra -Wno-unused-parameter"
+fi
+if test "${gcc_werror}" = yes; then
+       GCC_WARNINGS="${GCC_WARNINGS} -Werror"
+fi
 
 # overide default gcc cflags
 if test $gcc_warnings = yes; then