From 1c639de5118e28ab87c4b11721bc40a709046c0f Mon Sep 17 00:00:00 2001 From: Lymia Aluysia Date: Wed, 18 Jan 2017 06:43:35 -0600 Subject: [PATCH] Fix linking on MingW32 --- .gitignore | 4 + MakeAM.sh | 4 +- Makefile.am | 6 +- Makefile.in | 58 ++++++------ aclocal.m4 | 122 +++++++++++++++++++++++++ configure | 249 +++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 2 + 7 files changed, 412 insertions(+), 33 deletions(-) diff --git a/.gitignore b/.gitignore index 18cc571a..b7d80e91 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,10 @@ warnings.log docwarnings.log packages +/data +/resource +/*.dll + /old /test-files diff --git a/MakeAM.sh b/MakeAM.sh index 2abc921b..f95bf565 100755 --- a/MakeAM.sh +++ b/MakeAM.sh @@ -13,7 +13,7 @@ AUTOMAKE_OPTIONS = subdir-objects bin_PROGRAMS = magicseteditor AM_CXXFLAGS = @WX_CXXFLAGS@ $(BOOST_CXXFLAGS) -I. -Wall -AM_LDFLAGS = $(BOOST_LDFLAGS) -lboost_system +AM_LDFLAGS = $(BOOST_LDFLAGS) .hpp.gch: target=`echo $@ | sed "s|.gch$$|.hpp|"`;\ @@ -24,7 +24,7 @@ AM_LDFLAGS = $(BOOST_LDFLAGS) -lboost_system .gch.o: gcc -x c - -c -o $@ <<<"" -magicseteditor_LDADD = @WX_LIBS@ $(BOOST_REGEX_LIB) +magicseteditor_LDADD = @WX_LIBS@ $(BOOST_REGEX_LIB) $(BOOST_SYSTEM_LIB) magicseteditor_CXXFLAGS = $(AM_CXXFLAGS) magicseteditor_SOURCES = diff --git a/Makefile.am b/Makefile.am index c1f88a71..91e74d74 100644 --- a/Makefile.am +++ b/Makefile.am @@ -12,7 +12,7 @@ AUTOMAKE_OPTIONS = subdir-objects bin_PROGRAMS = magicseteditor AM_CXXFLAGS = @WX_CXXFLAGS@ $(BOOST_CXXFLAGS) -I. -Wall -AM_LDFLAGS = $(BOOST_LDFLAGS) -lboost_system +AM_LDFLAGS = $(BOOST_LDFLAGS) .hpp.gch: target=`echo $@ | sed "s|.gch$$|.hpp|"`;\ @@ -23,7 +23,7 @@ AM_LDFLAGS = $(BOOST_LDFLAGS) -lboost_system .gch.o: gcc -x c - -c -o $@ <<<"" -magicseteditor_LDADD = @WX_LIBS@ $(BOOST_REGEX_LIB) +magicseteditor_LDADD = @WX_LIBS@ $(BOOST_REGEX_LIB) $(BOOST_SYSTEM_LIB) magicseteditor_CXXFLAGS = $(AM_CXXFLAGS) magicseteditor_SOURCES = @@ -187,6 +187,7 @@ magicseteditor_SOURCES += ./src/script/script.cpp magicseteditor_SOURCES += ./src/script/script_manager.cpp magicseteditor_SOURCES += ./src/script/scriptable.cpp magicseteditor_SOURCES += ./src/script/value.cpp +magicseteditor_SOURCES += ./src/util/spell_checker.cpp magicseteditor_SOURCES += ./src/util/io/get_member.cpp magicseteditor_SOURCES += ./src/util/io/package.cpp magicseteditor_SOURCES += ./src/util/io/package_manager.cpp @@ -194,7 +195,6 @@ magicseteditor_SOURCES += ./src/util/io/reader.cpp magicseteditor_SOURCES += ./src/util/io/writer.cpp magicseteditor_SOURCES += ./src/util/vcs/subversion.cpp magicseteditor_SOURCES += ./src/util/spec_sort.cpp -magicseteditor_SOURCES += ./src/util/spell_checker.cpp magicseteditor_SOURCES += ./src/util/string.cpp magicseteditor_SOURCES += ./src/util/tagged_string.cpp magicseteditor_SOURCES += ./src/util/vcs.cpp diff --git a/Makefile.in b/Makefile.in index 6f4132bf..341f2069 100644 --- a/Makefile.in +++ b/Makefile.in @@ -210,10 +210,10 @@ am__magicseteditor_SOURCES_DIST = ./src/util/prec.gch \ ./src/script/parser.cpp ./src/script/profiler.cpp \ ./src/script/script.cpp ./src/script/script_manager.cpp \ ./src/script/scriptable.cpp ./src/script/value.cpp \ - ./src/util/io/get_member.cpp ./src/util/io/package.cpp \ - ./src/util/io/package_manager.cpp ./src/util/io/reader.cpp \ - ./src/util/io/writer.cpp ./src/util/vcs/subversion.cpp \ - ./src/util/spec_sort.cpp ./src/util/spell_checker.cpp \ + ./src/util/spell_checker.cpp ./src/util/io/get_member.cpp \ + ./src/util/io/package.cpp ./src/util/io/package_manager.cpp \ + ./src/util/io/reader.cpp ./src/util/io/writer.cpp \ + ./src/util/vcs/subversion.cpp ./src/util/spec_sort.cpp \ ./src/util/string.cpp ./src/util/tagged_string.cpp \ ./src/util/vcs.cpp ./src/util/version.cpp \ ./src/util/action_stack.cpp ./src/util/age.cpp \ @@ -373,6 +373,7 @@ am_magicseteditor_OBJECTS = $(am__objects_1) \ ./src/script/magicseteditor-script_manager.$(OBJEXT) \ ./src/script/magicseteditor-scriptable.$(OBJEXT) \ ./src/script/magicseteditor-value.$(OBJEXT) \ + ./src/util/magicseteditor-spell_checker.$(OBJEXT) \ ./src/util/io/magicseteditor-get_member.$(OBJEXT) \ ./src/util/io/magicseteditor-package.$(OBJEXT) \ ./src/util/io/magicseteditor-package_manager.$(OBJEXT) \ @@ -380,7 +381,6 @@ am_magicseteditor_OBJECTS = $(am__objects_1) \ ./src/util/io/magicseteditor-writer.$(OBJEXT) \ ./src/util/vcs/magicseteditor-subversion.$(OBJEXT) \ ./src/util/magicseteditor-spec_sort.$(OBJEXT) \ - ./src/util/magicseteditor-spell_checker.$(OBJEXT) \ ./src/util/magicseteditor-string.$(OBJEXT) \ ./src/util/magicseteditor-tagged_string.$(OBJEXT) \ ./src/util/magicseteditor-vcs.$(OBJEXT) \ @@ -396,7 +396,8 @@ am_magicseteditor_OBJECTS = $(am__objects_1) \ ./src/magicseteditor-main.$(OBJEXT) magicseteditor_OBJECTS = $(am_magicseteditor_OBJECTS) am__DEPENDENCIES_1 = -magicseteditor_DEPENDENCIES = $(am__DEPENDENCIES_1) +magicseteditor_DEPENDENCIES = $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) magicseteditor_LINK = $(CXXLD) $(magicseteditor_CXXFLAGS) $(CXXFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) @@ -490,6 +491,7 @@ AWK = @AWK@ BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ BOOST_LDFLAGS = @BOOST_LDFLAGS@ BOOST_REGEX_LIB = @BOOST_REGEX_LIB@ +BOOST_SYSTEM_LIB = @BOOST_SYSTEM_LIB@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ @@ -600,8 +602,8 @@ top_srcdir = @top_srcdir@ # This flag allows us to use subdirectories: AUTOMAKE_OPTIONS = subdir-objects AM_CXXFLAGS = @WX_CXXFLAGS@ $(BOOST_CXXFLAGS) -I. -Wall -AM_LDFLAGS = $(BOOST_LDFLAGS) -lboost_system -magicseteditor_LDADD = @WX_LIBS@ $(BOOST_REGEX_LIB) +AM_LDFLAGS = $(BOOST_LDFLAGS) +magicseteditor_LDADD = @WX_LIBS@ $(BOOST_REGEX_LIB) $(BOOST_SYSTEM_LIB) magicseteditor_CXXFLAGS = $(AM_CXXFLAGS) $(am__append_2) # The script used to generate is MakeAM.sh @@ -699,10 +701,10 @@ magicseteditor_SOURCES = $(am__append_1) ./src/cli/cli_main.cpp \ ./src/script/parser.cpp ./src/script/profiler.cpp \ ./src/script/script.cpp ./src/script/script_manager.cpp \ ./src/script/scriptable.cpp ./src/script/value.cpp \ - ./src/util/io/get_member.cpp ./src/util/io/package.cpp \ - ./src/util/io/package_manager.cpp ./src/util/io/reader.cpp \ - ./src/util/io/writer.cpp ./src/util/vcs/subversion.cpp \ - ./src/util/spec_sort.cpp ./src/util/spell_checker.cpp \ + ./src/util/spell_checker.cpp ./src/util/io/get_member.cpp \ + ./src/util/io/package.cpp ./src/util/io/package_manager.cpp \ + ./src/util/io/reader.cpp ./src/util/io/writer.cpp \ + ./src/util/vcs/subversion.cpp ./src/util/spec_sort.cpp \ ./src/util/string.cpp ./src/util/tagged_string.cpp \ ./src/util/vcs.cpp ./src/util/version.cpp \ ./src/util/action_stack.cpp ./src/util/age.cpp \ @@ -1314,6 +1316,8 @@ src/script/$(DEPDIR)/$(am__dirstamp): ./src/script/magicseteditor-value.$(OBJEXT): \ src/script/$(am__dirstamp) \ src/script/$(DEPDIR)/$(am__dirstamp) +./src/util/magicseteditor-spell_checker.$(OBJEXT): \ + src/util/$(am__dirstamp) src/util/$(DEPDIR)/$(am__dirstamp) src/util/io/$(am__dirstamp): @$(MKDIR_P) ./src/util/io @: > src/util/io/$(am__dirstamp) @@ -1346,8 +1350,6 @@ src/util/vcs/$(DEPDIR)/$(am__dirstamp): src/util/vcs/$(DEPDIR)/$(am__dirstamp) ./src/util/magicseteditor-spec_sort.$(OBJEXT): \ src/util/$(am__dirstamp) src/util/$(DEPDIR)/$(am__dirstamp) -./src/util/magicseteditor-spell_checker.$(OBJEXT): \ - src/util/$(am__dirstamp) src/util/$(DEPDIR)/$(am__dirstamp) ./src/util/magicseteditor-string.$(OBJEXT): src/util/$(am__dirstamp) \ src/util/$(DEPDIR)/$(am__dirstamp) ./src/util/magicseteditor-tagged_string.$(OBJEXT): \ @@ -3700,6 +3702,20 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(magicseteditor_CXXFLAGS) $(CXXFLAGS) -c -o ./src/script/magicseteditor-value.obj `if test -f './src/script/value.cpp'; then $(CYGPATH_W) './src/script/value.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/script/value.cpp'; fi` +./src/util/magicseteditor-spell_checker.o: ./src/util/spell_checker.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(magicseteditor_CXXFLAGS) $(CXXFLAGS) -MT ./src/util/magicseteditor-spell_checker.o -MD -MP -MF ./src/util/$(DEPDIR)/magicseteditor-spell_checker.Tpo -c -o ./src/util/magicseteditor-spell_checker.o `test -f './src/util/spell_checker.cpp' || echo '$(srcdir)/'`./src/util/spell_checker.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) ./src/util/$(DEPDIR)/magicseteditor-spell_checker.Tpo ./src/util/$(DEPDIR)/magicseteditor-spell_checker.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/util/spell_checker.cpp' object='./src/util/magicseteditor-spell_checker.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(magicseteditor_CXXFLAGS) $(CXXFLAGS) -c -o ./src/util/magicseteditor-spell_checker.o `test -f './src/util/spell_checker.cpp' || echo '$(srcdir)/'`./src/util/spell_checker.cpp + +./src/util/magicseteditor-spell_checker.obj: ./src/util/spell_checker.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(magicseteditor_CXXFLAGS) $(CXXFLAGS) -MT ./src/util/magicseteditor-spell_checker.obj -MD -MP -MF ./src/util/$(DEPDIR)/magicseteditor-spell_checker.Tpo -c -o ./src/util/magicseteditor-spell_checker.obj `if test -f './src/util/spell_checker.cpp'; then $(CYGPATH_W) './src/util/spell_checker.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/util/spell_checker.cpp'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) ./src/util/$(DEPDIR)/magicseteditor-spell_checker.Tpo ./src/util/$(DEPDIR)/magicseteditor-spell_checker.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/util/spell_checker.cpp' object='./src/util/magicseteditor-spell_checker.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(magicseteditor_CXXFLAGS) $(CXXFLAGS) -c -o ./src/util/magicseteditor-spell_checker.obj `if test -f './src/util/spell_checker.cpp'; then $(CYGPATH_W) './src/util/spell_checker.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/util/spell_checker.cpp'; fi` + ./src/util/io/magicseteditor-get_member.o: ./src/util/io/get_member.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(magicseteditor_CXXFLAGS) $(CXXFLAGS) -MT ./src/util/io/magicseteditor-get_member.o -MD -MP -MF ./src/util/io/$(DEPDIR)/magicseteditor-get_member.Tpo -c -o ./src/util/io/magicseteditor-get_member.o `test -f './src/util/io/get_member.cpp' || echo '$(srcdir)/'`./src/util/io/get_member.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) ./src/util/io/$(DEPDIR)/magicseteditor-get_member.Tpo ./src/util/io/$(DEPDIR)/magicseteditor-get_member.Po @@ -3798,20 +3814,6 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(magicseteditor_CXXFLAGS) $(CXXFLAGS) -c -o ./src/util/magicseteditor-spec_sort.obj `if test -f './src/util/spec_sort.cpp'; then $(CYGPATH_W) './src/util/spec_sort.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/util/spec_sort.cpp'; fi` -./src/util/magicseteditor-spell_checker.o: ./src/util/spell_checker.cpp -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(magicseteditor_CXXFLAGS) $(CXXFLAGS) -MT ./src/util/magicseteditor-spell_checker.o -MD -MP -MF ./src/util/$(DEPDIR)/magicseteditor-spell_checker.Tpo -c -o ./src/util/magicseteditor-spell_checker.o `test -f './src/util/spell_checker.cpp' || echo '$(srcdir)/'`./src/util/spell_checker.cpp -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) ./src/util/$(DEPDIR)/magicseteditor-spell_checker.Tpo ./src/util/$(DEPDIR)/magicseteditor-spell_checker.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/util/spell_checker.cpp' object='./src/util/magicseteditor-spell_checker.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(magicseteditor_CXXFLAGS) $(CXXFLAGS) -c -o ./src/util/magicseteditor-spell_checker.o `test -f './src/util/spell_checker.cpp' || echo '$(srcdir)/'`./src/util/spell_checker.cpp - -./src/util/magicseteditor-spell_checker.obj: ./src/util/spell_checker.cpp -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(magicseteditor_CXXFLAGS) $(CXXFLAGS) -MT ./src/util/magicseteditor-spell_checker.obj -MD -MP -MF ./src/util/$(DEPDIR)/magicseteditor-spell_checker.Tpo -c -o ./src/util/magicseteditor-spell_checker.obj `if test -f './src/util/spell_checker.cpp'; then $(CYGPATH_W) './src/util/spell_checker.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/util/spell_checker.cpp'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) ./src/util/$(DEPDIR)/magicseteditor-spell_checker.Tpo ./src/util/$(DEPDIR)/magicseteditor-spell_checker.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='./src/util/spell_checker.cpp' object='./src/util/magicseteditor-spell_checker.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(magicseteditor_CXXFLAGS) $(CXXFLAGS) -c -o ./src/util/magicseteditor-spell_checker.obj `if test -f './src/util/spell_checker.cpp'; then $(CYGPATH_W) './src/util/spell_checker.cpp'; else $(CYGPATH_W) '$(srcdir)/./src/util/spell_checker.cpp'; fi` - ./src/util/magicseteditor-string.o: ./src/util/string.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(magicseteditor_CXXFLAGS) $(CXXFLAGS) -MT ./src/util/magicseteditor-string.o -MD -MP -MF ./src/util/$(DEPDIR)/magicseteditor-string.Tpo -c -o ./src/util/magicseteditor-string.o `test -f './src/util/string.cpp' || echo '$(srcdir)/'`./src/util/string.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) ./src/util/$(DEPDIR)/magicseteditor-string.Tpo ./src/util/$(DEPDIR)/magicseteditor-string.Po diff --git a/aclocal.m4 b/aclocal.m4 index 74454aeb..94386c59 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -418,6 +418,128 @@ AC_DEFUN([AX_BOOST_REGEX], fi ]) +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_boost_system.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_SYSTEM +# +# DESCRIPTION +# +# Test for System library from the Boost C++ libraries. The macro requires +# a preceding call to AX_BOOST_BASE. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_SYSTEM_LIB) +# +# And sets: +# +# HAVE_BOOST_SYSTEM +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2008 Michael Tindal +# Copyright (c) 2008 Daniel Casimiro +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 18 + +AC_DEFUN([AX_BOOST_SYSTEM], +[ + AC_ARG_WITH([boost-system], + AS_HELP_STRING([--with-boost-system@<:@=special-lib@:>@], + [use the System library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-system=boost_system-gcc-mt ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_system_lib="" + else + want_boost="yes" + ax_boost_user_system_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_BUILD]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::System library is available, + ax_cv_boost_system, + [AC_LANG_PUSH([C++]) + CXXFLAGS_SAVE=$CXXFLAGS + CXXFLAGS= + + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[boost::system::error_category *a = 0;]])], + ax_cv_boost_system=yes, ax_cv_boost_system=no) + CXXFLAGS=$CXXFLAGS_SAVE + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_system" = "xyes"; then + AC_SUBST(BOOST_CPPFLAGS) + + AC_DEFINE(HAVE_BOOST_SYSTEM,,[define if the Boost::System library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + LDFLAGS_SAVE=$LDFLAGS + if test "x$ax_boost_user_system_lib" = "x"; then + for libextension in `ls -r $BOOSTLIBDIR/libboost_system* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], + [link_system="no"]) + done + if test "x$link_system" != "xyes"; then + for libextension in `ls -r $BOOSTLIBDIR/boost_system* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], + [link_system="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_system_lib boost_system-$ax_boost_user_system_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], + [link_system="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the library!) + fi + if test "x$link_system" = "xno"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) + dnl --------------------------------------------------------------------------- dnl Macros for wxWidgets detection. Typically used in configure.in as: dnl diff --git a/configure b/configure index b987e7ee..5dab0af4 100755 --- a/configure +++ b/configure @@ -641,6 +641,7 @@ WX_CXXFLAGS WX_CFLAGS WX_CPPFLAGS WX_CONFIG_PATH +BOOST_SYSTEM_LIB BOOST_REGEX_LIB BOOST_LDFLAGS BOOST_CPPFLAGS @@ -753,6 +754,7 @@ enable_debug with_boost with_boost_libdir with_boost_regex +with_boost_system with_wxdir with_wx_config with_wx_prefix @@ -1418,6 +1420,10 @@ Optional Packages: use the Regex library from boost - it is possible to specify a certain library for the linker e.g. --with-boost-regex=boost_regex-gcc-mt-d-1_33_1 + --with-boost-system[=special-lib] + use the System library from boost - it is possible + to specify a certain library for the linker e.g. + --with-boost-system=boost_system-gcc-mt --with-wxdir=PATH Use uninstalled version of wxWidgets in PATH --with-wx-config=CONFIG wx-config script to use (optional) --with-wx-prefix=PREFIX Prefix where wxWidgets is installed (optional) @@ -3751,6 +3757,7 @@ else DEFAULT_CXXFLAGS="-O2" WXCONFIG_FLAGS="" fi +DEFAULT_CXXFLAGS="$DEFAULT_CXXFLAGS -std=gnu++98" if test X$user_set_cxxflags != Xyes; then CXXFLAGS=${DEFAULT_CXXFLAGS} @@ -5048,6 +5055,248 @@ fi fi + +# Check whether --with-boost-system was given. +if test "${with_boost_system+set}" = set; then : + withval=$with_boost_system; + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_system_lib="" + else + want_boost="yes" + ax_boost_user_system_lib="$withval" + fi + +else + want_boost="yes" + +fi + + + if test "x$want_boost" = "xyes"; then + + + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Boost::System library is available" >&5 +$as_echo_n "checking whether the Boost::System library is available... " >&6; } +if ${ax_cv_boost_system+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + CXXFLAGS_SAVE=$CXXFLAGS + CXXFLAGS= + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +boost::system::error_category *a = 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ax_cv_boost_system=yes +else + ax_cv_boost_system=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS=$CXXFLAGS_SAVE + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_boost_system" >&5 +$as_echo "$ax_cv_boost_system" >&6; } + if test "x$ax_cv_boost_system" = "xyes"; then + + + +$as_echo "#define HAVE_BOOST_SYSTEM /**/" >>confdefs.h + + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/[^\/]*//'` + + LDFLAGS_SAVE=$LDFLAGS + if test "x$ax_boost_user_system_lib" = "x"; then + for libextension in `ls -r $BOOSTLIBDIR/libboost_system* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do + ax_lib=${libextension} + as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5 +$as_echo_n "checking for exit in -l$ax_lib... " >&6; } +if eval \${$as_ac_Lib+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-l$ax_lib $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char exit (); +int +main () +{ +return exit (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$as_ac_Lib=yes" +else + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : + BOOST_SYSTEM_LIB="-l$ax_lib"; link_system="yes"; break +else + link_system="no" +fi + + done + if test "x$link_system" != "xyes"; then + for libextension in `ls -r $BOOSTLIBDIR/boost_system* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do + ax_lib=${libextension} + as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5 +$as_echo_n "checking for exit in -l$ax_lib... " >&6; } +if eval \${$as_ac_Lib+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-l$ax_lib $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char exit (); +int +main () +{ +return exit (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$as_ac_Lib=yes" +else + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : + BOOST_SYSTEM_LIB="-l$ax_lib"; link_system="yes"; break +else + link_system="no" +fi + + done + fi + + else + for ax_lib in $ax_boost_user_system_lib boost_system-$ax_boost_user_system_lib; do + as_ac_Lib=`$as_echo "ac_cv_lib_$ax_lib''_exit" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for exit in -l$ax_lib" >&5 +$as_echo_n "checking for exit in -l$ax_lib... " >&6; } +if eval \${$as_ac_Lib+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-l$ax_lib $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char exit (); +int +main () +{ +return exit (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$as_ac_Lib=yes" +else + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : + BOOST_SYSTEM_LIB="-l$ax_lib"; link_system="yes"; break +else + link_system="no" +fi + + done + + fi + if test "x$ax_lib" = "x"; then + as_fn_error $? "Could not find a version of the library!" "$LINENO" 5 + fi + if test "x$link_system" = "xno"; then + as_fn_error $? "Could not link against $ax_lib !" "$LINENO" 5 + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi + + # Check for wxWidgets diff --git a/configure.ac b/configure.ac index 6d4a8071..7a73f287 100644 --- a/configure.ac +++ b/configure.ac @@ -29,6 +29,7 @@ else DEFAULT_CXXFLAGS="-O2" WXCONFIG_FLAGS="" fi +DEFAULT_CXXFLAGS="$DEFAULT_CXXFLAGS -std=gnu++98" if test X$user_set_cxxflags != Xyes; then CXXFLAGS=${DEFAULT_CXXFLAGS} @@ -40,6 +41,7 @@ AC_CHECK_LIB([hunspell],[Hunspell_create]) # Check for Boost AX_BOOST_BASE([1.37.0]) AX_BOOST_REGEX +AX_BOOST_SYSTEM # Check for wxWidgets AM_OPTIONS_WXCONFIG