dl-fldigi/m4/build.m4

146 wiersze
5.6 KiB
Plaintext

2009-04-17 18:17:56 +00:00
AC_DEFUN([AC_FLDIGI_SH_DQ], [
ac_sh_dq="\"`$1 | sed 's/"/\\\\"/g'`\""
])
AC_DEFUN([AC_FLDIGI_BUILD_INFO], [
# Define build flags and substitute in Makefile.in
# CPPFLAGS
UTF-8 overhaul * Refactor get_tx_char() * Reset to stock version, call byte_at() The class Fl_Text_Buffer_mod (borrowed from FLTK) contained a modified version of the method char_at() that effectively made it behave as byte_at(). Silently modifying a library-provided method not only disables the access to a certain functionality of the library, but can also cause other unforeseen consequences. The method was thus reverted to the stock version and the code that previously called the modified version was changed to call byte_at() instead. * Remove unneeded code in FTextTX::nextChar() * Libtiniconv - Added libtiniconv (charset conversion library) - Library Version 1.0.1 fetched from http://tiniconv.sf.net A small fix made to change a misspelled macro name. Build system adapted to fit into the fldigi build model. * Added CharsetDistiller class - Sanitize input data and convert it into UTF-8 - CharsetDistiller receives input data one byte at a time and converts this data stream from a particular character set into UTF-8. Invalid input data is treated as if it was encoded in CP1252. Character set conversion is performed as soon as possible, i.e., when enough input is received to constitute a valid character in the input character set, this character is immediatly converted into UTF-8 and made available at the output. * Make put_rx_char_flmain() use charsetDistiller * Make put_echo_char() use CharsetDistiller * Make pskBrowser use CharsetDistiller * Added OutputEncoder class - Used for encoding transmitted data - OutputEncoder accepts UTF-8 strings at input, converts them to the selected encoding and outputs them one byte at a time. * TX character set conversion using OutputEncoder * Fix backspace for >2byte UTF-8 characters * Cleanup modem UTF-8 code - PSK, Olivia, MT63 and MFSK modems: cleanup of unneeded UTF-8 handling code - Everything that deals with output character set conversion and data sequencing is now done using OutputEncoder, so the modems can become completely agnostic about the character set used. As far as they are concerned, everything is just byte-sized data. * Added an array of character set names and identifiers * UTF-8 code cleanup - Cleanup of unneeded UTF-8 handling code in add_rxtx_char() and family * Character set selection menu - Add menu button to select the active TX/RX charset to the colors-fonts configure dialog. The setting defaults to UTF-8 (selected at program startup). The selection is saved to the program defaults configuration file when "Config/Save" is executed.
2012-10-29 17:24:49 +00:00
FLDIGI_BUILD_CPPFLAGS="-I\$(srcdir) -I\$(srcdir)/include \
-I\$(srcdir)/irrxml \
-I\$(srcdir)/libtiniconv \
-I\$(srcdir)/fileselector"
if test "x$ac_cv_flxmlrpc" != "xyes"; then
FLDIGI_BUILD_CPPFLAGS="$FLDIGI_BUILD_CPPFLAGS -I\$(srcdir)/xmlrpcpp"
fi
# CXXFLAGS
FLDIGI_BUILD_CXXFLAGS="$PORTAUDIO_CFLAGS $FLTK_CFLAGS $X_CFLAGS $SNDFILE_CFLAGS $SAMPLERATE_CFLAGS \
2015-05-14 13:32:46 +00:00
$PULSEAUDIO_CFLAGS $HAMLIB_CFLAGS $PNG_CFLAGS $CURL_CFLAGS $XMLRPC_CFLAGS $MAC_UNIVERSAL_CFLAGS \
$INTL_CFLAGS $PTW32_CFLAGS $BFD_CFLAGS -pipe -Wall -fexceptions $OPT_CFLAGS $DEBUG_CFLAGS $SSL_CFLAGS"
if test "x$target_mingw32" = "xyes"; then
FLDIGI_BUILD_CXXFLAGS="-mthreads $FLDIGI_BUILD_CXXFLAGS"
fi
if test "x$ac_cv_flxmlrpc" != "xyes"; then
FLDIGI_BUILD_CXXFLAGS="$FLDIGI_BUILD_CXXFLAGS -I\$(srcdir)/xmlrpcpp"
fi
# LDFLAGS
FLDIGI_BUILD_LDFLAGS="$MAC_UNIVERSAL_LDFLAGS"
if test "x$target_mingw32" = "xyes"; then
FLDIGI_BUILD_LDFLAGS="-mthreads $FLDIGI_BUILD_LDFLAGS"
fi
# LDADD
FLDIGI_BUILD_LDADD="$PORTAUDIO_LIBS $FLTK_LIBS $X_LIBS $SNDFILE_LIBS $SAMPLERATE_LIBS \
$PULSEAUDIO_LIBS $HAMLIB_LIBS $PNG_LIBS $XMLRPC_LIBS $INTL_LIBS $PTW32_LIBS $BFD_LIBS \
2015-05-14 13:32:46 +00:00
$EXTRA_LIBS $FLXMLRPC_LIBS $CURL_LIBS $SSL_LIBS"
# CPPFLAGS
FLARQ_BUILD_CPPFLAGS="-I\$(srcdir) -I\$(srcdir)/include -I\$(srcdir)/fileselector \
2009-09-03 23:21:47 +00:00
-I\$(srcdir)/flarq-src -I\$(srcdir)/flarq-src/include"
if test "x$ac_cv_flxmlrpc" != "xyes"; then
FLARQ_BUILD_CPPFLAGS="$FLARQ_BUILD_CPPFLAGS -I\$(srcdir)/xmlrpcpp"
fi
# CXXFLAGS
FLARQ_BUILD_CXXFLAGS="$FLTK_CFLAGS $X_CFLAGS $MAC_UNIVERSAL_CFLAGS $INTL_CFLAGS $PTW32_CFLAGS \
$BFD_CFLAGS -pipe -Wall -fexceptions $OPT_CFLAGS $DEBUG_CFLAGS"
if test "x$target_mingw32" = "xyes"; then
FLARQ_BUILD_CXXFLAGS="-mthreads $FLARQ_BUILD_CXXFLAGS"
fi
if test "x$ac_cv_flxmlrpc" != "xyes"; then
FLARQ_BUILD_CXXFLAGS="$FLARQ_BUILD_CXXFLAGS -I\$(srcdir)/xmlrpcpp"
fi
# LDFLAGS
FLARQ_BUILD_LDFLAGS="$MAC_UNIVERSAL_LDFLAGS"
if test "x$target_mingw32" = "xyes"; then
FLARQ_BUILD_LDFLAGS="-mthreads $FLARQ_BUILD_LDFLAGS"
fi
# LDADD
FLARQ_BUILD_LDADD="$FLTK_LIBS $X_LIBS $INTL_LIBS $PTW32_LIBS $BFD_LIBS $EXTRA_LIBS $FLXMLRPC_LIBS"
if test "x$ac_cv_debug" = "xyes"; then
FLDIGI_BUILD_CXXFLAGS="$FLDIGI_BUILD_CXXFLAGS -UNDEBUG"
FLDIGI_BUILD_LDFLAGS="$FLDIGI_BUILD_LDFLAGS $RDYNAMIC"
FLARQ_BUILD_CXXFLAGS="$FLARQ_BUILD_CXXFLAGS -UNDEBUG"
FLARQ_BUILD_LDFLAGS="$FLARQ_BUILD_LDFLAGS $RDYNAMIC"
2009-04-17 18:17:56 +00:00
else
FLDIGI_BUILD_CXXFLAGS="$FLDIGI_BUILD_CXXFLAGS -DNDEBUG"
FLARQ_BUILD_CXXFLAGS="$FLARQ_BUILD_CXXFLAGS -DNDEBUG"
2009-04-17 18:17:56 +00:00
fi
AC_SUBST([FLDIGI_BUILD_CPPFLAGS])
AC_SUBST([FLDIGI_BUILD_CXXFLAGS])
AC_SUBST([FLDIGI_BUILD_LDFLAGS])
AC_SUBST([FLDIGI_BUILD_LDADD])
AC_SUBST([FLARQ_BUILD_CPPFLAGS])
AC_SUBST([FLARQ_BUILD_CXXFLAGS])
AC_SUBST([FLARQ_BUILD_LDFLAGS])
AC_SUBST([FLARQ_BUILD_LDADD])
2009-04-17 18:17:56 +00:00
#define build variables for config.h
AC_DEFINE_UNQUOTED([BUILD_BUILD_PLATFORM], ["$build"], [Build platform])
AC_DEFINE_UNQUOTED([BUILD_HOST_PLATFORM], ["$host"], [Host platform])
AC_DEFINE_UNQUOTED([BUILD_TARGET_PLATFORM], ["$target"], [Target platform])
test "x$LC_ALL" != "x" && LC_ALL_saved="$LC_ALL"
LC_ALL=C
export LC_ALL
AC_FLDIGI_SH_DQ([echo $ac_configure_args])
AC_DEFINE_UNQUOTED([BUILD_CONFIGURE_ARGS], [$ac_sh_dq], [Configure arguments])
# Allow BUILD_DATE, BUILD_USER, BUILD_HOST to be externally overridden by
# environment variables.
ac_sh_dq="\"$BUILD_DATE\""
test "x$BUILD_DATE" = "x" && AC_FLDIGI_SH_DQ([date])
2009-04-17 18:17:56 +00:00
AC_DEFINE_UNQUOTED([BUILD_DATE], [$ac_sh_dq], [Build date])
ac_sh_dq="\"$BUILD_USER\""
test "x$BUILD_USER" = "x" && AC_FLDIGI_SH_DQ([whoami])
2009-04-17 18:17:56 +00:00
AC_DEFINE_UNQUOTED([BUILD_USER], [$ac_sh_dq], [Build user])
ac_sh_dq="\"$BUILD_HOST\""
test "x$BUILD_HOST" = "x" && AC_FLDIGI_SH_DQ([hostname])
2009-04-17 18:17:56 +00:00
AC_DEFINE_UNQUOTED([BUILD_HOST], [$ac_sh_dq], [Build host])
AC_FLDIGI_SH_DQ([$CXX -v 2>&1 | tail -1])
AC_DEFINE_UNQUOTED([BUILD_COMPILER], [$ac_sh_dq], [Compiler])
AC_FLDIGI_SH_DQ([echo $FLDIGI_BUILD_CPPFLAGS $FLDIGI_BUILD_CXXFLAGS])
AC_DEFINE_UNQUOTED([FLDIGI_BUILD_CXXFLAGS], [$ac_sh_dq], [Fldigi compiler flags])
AC_FLDIGI_SH_DQ([echo $FLDIGI_BUILD_LDFLAGS $FLDIGI_BUILD_LDADD])
AC_DEFINE_UNQUOTED([FLDIGI_BUILD_LDFLAGS], [$ac_sh_dq], [Fldigi linker flags])
2009-04-17 18:17:56 +00:00
AC_FLDIGI_SH_DQ([echo $FLARQ_BUILD_CPPFLAGS $FLARQ_BUILD_CXXFLAGS])
AC_DEFINE_UNQUOTED([FLARQ_BUILD_CXXFLAGS], [$ac_sh_dq], [Flarq compiler flags])
AC_FLDIGI_SH_DQ([echo $FLARQ_BUILD_LDFLAGS $FLARQ_BUILD_LDADD])
AC_DEFINE_UNQUOTED([FLARQ_BUILD_LDFLAGS], [$ac_sh_dq], [Flarq linker flags])
2009-04-17 18:17:56 +00:00
if test "x$LC_ALL_saved" != "x"; then
LC_ALL="$LC_ALL_saved"
export LC_ALL
fi
])
# This macro defines SILENT_CMDS, which is @expanded@ in
# {src,doc}/Makefile.am to define a function that generates custom build
# command output depending on the values of the variables
# $(AM_DEFAULT_VERBOSITY) and $(V). These variables affect the custom
# command output in the same way as they do for automake's build rules.
AC_DEFUN([AC_FLDIGI_BUILD_RULES_SILENT], [
m4_ifdef([AM_SUBST_NOTMAKE], [AM_SUBST_NOTMAKE([SILENT_CMDS])])
AC_SUBST([SILENT_CMDS],
['silent_cmd = @echo " $(1)" $(2);
ifeq ($(AM_DEFAULT_VERBOSITY),0)
silent = $(if $(subst 0,,$(V)),,$(silent_cmd))
else
ifeq ($(V),0)
silent = $(silent_cmd)
endif
endif'])
])
AC_DEFUN([AC_FLDIGI_BUILD_RULES],
[m4_ifdef([AM_SILENT_RULES], [AC_FLDIGI_BUILD_RULES_SILENT],
[AC_SUBST([SILENT_CMDS], [])])])